/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Athena { namespace Model { /** *

The location in Amazon S3 where query results are stored and the encryption * option, if any, used for query results. These are known as "client-side * settings". If workgroup settings override client-side settings, then the query * uses the workgroup settings.

See Also:

AWS * API Reference

*/ class AWS_ATHENA_API ResultConfiguration { public: ResultConfiguration(); ResultConfiguration(Aws::Utils::Json::JsonView jsonValue); ResultConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

The location in Amazon S3 where your query results are stored, such as * s3://path/to/query/bucket/. To run the query, you must specify the * query results location using one of the ways: either for individual queries * using either this setting (client-side), or in the workgroup, using * WorkGroupConfiguration. If none of them is set, Athena issues an error * that no output location is provided. For more information, see Query * Results. If workgroup settings override client-side settings, then the query * uses the settings specified for the workgroup. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration.

*/ inline const Aws::String& GetOutputLocation() const{ return m_outputLocation; } /** *

The location in Amazon S3 where your query results are stored, such as * s3://path/to/query/bucket/. To run the query, you must specify the * query results location using one of the ways: either for individual queries * using either this setting (client-side), or in the workgroup, using * WorkGroupConfiguration. If none of them is set, Athena issues an error * that no output location is provided. For more information, see Query * Results. If workgroup settings override client-side settings, then the query * uses the settings specified for the workgroup. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration.

*/ inline bool OutputLocationHasBeenSet() const { return m_outputLocationHasBeenSet; } /** *

The location in Amazon S3 where your query results are stored, such as * s3://path/to/query/bucket/. To run the query, you must specify the * query results location using one of the ways: either for individual queries * using either this setting (client-side), or in the workgroup, using * WorkGroupConfiguration. If none of them is set, Athena issues an error * that no output location is provided. For more information, see Query * Results. If workgroup settings override client-side settings, then the query * uses the settings specified for the workgroup. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration.

*/ inline void SetOutputLocation(const Aws::String& value) { m_outputLocationHasBeenSet = true; m_outputLocation = value; } /** *

The location in Amazon S3 where your query results are stored, such as * s3://path/to/query/bucket/. To run the query, you must specify the * query results location using one of the ways: either for individual queries * using either this setting (client-side), or in the workgroup, using * WorkGroupConfiguration. If none of them is set, Athena issues an error * that no output location is provided. For more information, see Query * Results. If workgroup settings override client-side settings, then the query * uses the settings specified for the workgroup. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration.

*/ inline void SetOutputLocation(Aws::String&& value) { m_outputLocationHasBeenSet = true; m_outputLocation = std::move(value); } /** *

The location in Amazon S3 where your query results are stored, such as * s3://path/to/query/bucket/. To run the query, you must specify the * query results location using one of the ways: either for individual queries * using either this setting (client-side), or in the workgroup, using * WorkGroupConfiguration. If none of them is set, Athena issues an error * that no output location is provided. For more information, see Query * Results. If workgroup settings override client-side settings, then the query * uses the settings specified for the workgroup. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration.

*/ inline void SetOutputLocation(const char* value) { m_outputLocationHasBeenSet = true; m_outputLocation.assign(value); } /** *

The location in Amazon S3 where your query results are stored, such as * s3://path/to/query/bucket/. To run the query, you must specify the * query results location using one of the ways: either for individual queries * using either this setting (client-side), or in the workgroup, using * WorkGroupConfiguration. If none of them is set, Athena issues an error * that no output location is provided. For more information, see Query * Results. If workgroup settings override client-side settings, then the query * uses the settings specified for the workgroup. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration.

*/ inline ResultConfiguration& WithOutputLocation(const Aws::String& value) { SetOutputLocation(value); return *this;} /** *

The location in Amazon S3 where your query results are stored, such as * s3://path/to/query/bucket/. To run the query, you must specify the * query results location using one of the ways: either for individual queries * using either this setting (client-side), or in the workgroup, using * WorkGroupConfiguration. If none of them is set, Athena issues an error * that no output location is provided. For more information, see Query * Results. If workgroup settings override client-side settings, then the query * uses the settings specified for the workgroup. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration.

*/ inline ResultConfiguration& WithOutputLocation(Aws::String&& value) { SetOutputLocation(std::move(value)); return *this;} /** *

The location in Amazon S3 where your query results are stored, such as * s3://path/to/query/bucket/. To run the query, you must specify the * query results location using one of the ways: either for individual queries * using either this setting (client-side), or in the workgroup, using * WorkGroupConfiguration. If none of them is set, Athena issues an error * that no output location is provided. For more information, see Query * Results. If workgroup settings override client-side settings, then the query * uses the settings specified for the workgroup. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration.

*/ inline ResultConfiguration& WithOutputLocation(const char* value) { SetOutputLocation(value); return *this;} /** *

If query results are encrypted in Amazon S3, indicates the encryption option * used (for example, SSE-KMS or CSE-KMS) and key * information. This is a client-side setting. If workgroup settings override * client-side settings, then the query uses the encryption configuration that is * specified for the workgroup, and also uses the location for storing query * results specified in the workgroup. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup * Settings Override Client-Side Settings.

*/ inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } /** *

If query results are encrypted in Amazon S3, indicates the encryption option * used (for example, SSE-KMS or CSE-KMS) and key * information. This is a client-side setting. If workgroup settings override * client-side settings, then the query uses the encryption configuration that is * specified for the workgroup, and also uses the location for storing query * results specified in the workgroup. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup * Settings Override Client-Side Settings.

*/ inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } /** *

If query results are encrypted in Amazon S3, indicates the encryption option * used (for example, SSE-KMS or CSE-KMS) and key * information. This is a client-side setting. If workgroup settings override * client-side settings, then the query uses the encryption configuration that is * specified for the workgroup, and also uses the location for storing query * results specified in the workgroup. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup * Settings Override Client-Side Settings.

*/ inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } /** *

If query results are encrypted in Amazon S3, indicates the encryption option * used (for example, SSE-KMS or CSE-KMS) and key * information. This is a client-side setting. If workgroup settings override * client-side settings, then the query uses the encryption configuration that is * specified for the workgroup, and also uses the location for storing query * results specified in the workgroup. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup * Settings Override Client-Side Settings.

*/ inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } /** *

If query results are encrypted in Amazon S3, indicates the encryption option * used (for example, SSE-KMS or CSE-KMS) and key * information. This is a client-side setting. If workgroup settings override * client-side settings, then the query uses the encryption configuration that is * specified for the workgroup, and also uses the location for storing query * results specified in the workgroup. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup * Settings Override Client-Side Settings.

*/ inline ResultConfiguration& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} /** *

If query results are encrypted in Amazon S3, indicates the encryption option * used (for example, SSE-KMS or CSE-KMS) and key * information. This is a client-side setting. If workgroup settings override * client-side settings, then the query uses the encryption configuration that is * specified for the workgroup, and also uses the location for storing query * results specified in the workgroup. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup * Settings Override Client-Side Settings.

*/ inline ResultConfiguration& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} private: Aws::String m_outputLocation; bool m_outputLocationHasBeenSet; EncryptionConfiguration m_encryptionConfiguration; bool m_encryptionConfigurationHasBeenSet; }; } // namespace Model } // namespace Athena } // namespace Aws