/** * 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 information about the updates in the query results, such as output * location and encryption configuration for the query results.

See * Also:

AWS * API Reference

*/ class AWS_ATHENA_API ResultConfigurationUpdates { public: ResultConfigurationUpdates(); ResultConfigurationUpdates(Aws::Utils::Json::JsonView jsonValue); ResultConfigurationUpdates& 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/. For more information, see Query * Results If workgroup settings override client-side settings, then the query * uses the location for the query results and the encryption configuration that * are specified for the workgroup. The "workgroup settings override" is specified * in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. 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/. For more information, see Query * Results If workgroup settings override client-side settings, then the query * uses the location for the query results and the encryption configuration that * are specified for the workgroup. The "workgroup settings override" is specified * in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. 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/. For more information, see Query * Results If workgroup settings override client-side settings, then the query * uses the location for the query results and the encryption configuration that * are specified for the workgroup. The "workgroup settings override" is specified * in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. 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/. For more information, see Query * Results If workgroup settings override client-side settings, then the query * uses the location for the query results and the encryption configuration that * are specified for the workgroup. The "workgroup settings override" is specified * in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. 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/. For more information, see Query * Results If workgroup settings override client-side settings, then the query * uses the location for the query results and the encryption configuration that * are specified for the workgroup. The "workgroup settings override" is specified * in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. 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/. For more information, see Query * Results If workgroup settings override client-side settings, then the query * uses the location for the query results and the encryption configuration that * are specified for the workgroup. The "workgroup settings override" is specified * in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration.

*/ inline ResultConfigurationUpdates& 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/. For more information, see Query * Results If workgroup settings override client-side settings, then the query * uses the location for the query results and the encryption configuration that * are specified for the workgroup. The "workgroup settings override" is specified * in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration.

*/ inline ResultConfigurationUpdates& 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/. For more information, see Query * Results If workgroup settings override client-side settings, then the query * uses the location for the query results and the encryption configuration that * are specified for the workgroup. The "workgroup settings override" is specified * in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See * WorkGroupConfiguration$EnforceWorkGroupConfiguration.

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

If set to "true", indicates that the previously-specified query results * location (also known as a client-side setting) for queries in this workgroup * should be ignored and set to null. If set to "false" or not set, and a value is * present in the OutputLocation in ResultConfigurationUpdates (the client-side * setting), the OutputLocation in the workgroup's ResultConfiguration will be * updated with the new value. For more information, see Workgroup * Settings Override Client-Side Settings.

*/ inline bool GetRemoveOutputLocation() const{ return m_removeOutputLocation; } /** *

If set to "true", indicates that the previously-specified query results * location (also known as a client-side setting) for queries in this workgroup * should be ignored and set to null. If set to "false" or not set, and a value is * present in the OutputLocation in ResultConfigurationUpdates (the client-side * setting), the OutputLocation in the workgroup's ResultConfiguration will be * updated with the new value. For more information, see Workgroup * Settings Override Client-Side Settings.

*/ inline bool RemoveOutputLocationHasBeenSet() const { return m_removeOutputLocationHasBeenSet; } /** *

If set to "true", indicates that the previously-specified query results * location (also known as a client-side setting) for queries in this workgroup * should be ignored and set to null. If set to "false" or not set, and a value is * present in the OutputLocation in ResultConfigurationUpdates (the client-side * setting), the OutputLocation in the workgroup's ResultConfiguration will be * updated with the new value. For more information, see Workgroup * Settings Override Client-Side Settings.

*/ inline void SetRemoveOutputLocation(bool value) { m_removeOutputLocationHasBeenSet = true; m_removeOutputLocation = value; } /** *

If set to "true", indicates that the previously-specified query results * location (also known as a client-side setting) for queries in this workgroup * should be ignored and set to null. If set to "false" or not set, and a value is * present in the OutputLocation in ResultConfigurationUpdates (the client-side * setting), the OutputLocation in the workgroup's ResultConfiguration will be * updated with the new value. For more information, see Workgroup * Settings Override Client-Side Settings.

*/ inline ResultConfigurationUpdates& WithRemoveOutputLocation(bool value) { SetRemoveOutputLocation(value); return *this;} /** *

The encryption configuration for the query results.

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

The encryption configuration for the query results.

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

The encryption configuration for the query results.

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

The encryption configuration for the query results.

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

The encryption configuration for the query results.

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

The encryption configuration for the query results.

*/ inline ResultConfigurationUpdates& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} /** *

If set to "true", indicates that the previously-specified encryption * configuration (also known as the client-side setting) for queries in this * workgroup should be ignored and set to null. If set to "false" or not set, and a * value is present in the EncryptionConfiguration in ResultConfigurationUpdates * (the client-side setting), the EncryptionConfiguration in the workgroup's * ResultConfiguration will be updated with the new value. For more information, * see Workgroup * Settings Override Client-Side Settings.

*/ inline bool GetRemoveEncryptionConfiguration() const{ return m_removeEncryptionConfiguration; } /** *

If set to "true", indicates that the previously-specified encryption * configuration (also known as the client-side setting) for queries in this * workgroup should be ignored and set to null. If set to "false" or not set, and a * value is present in the EncryptionConfiguration in ResultConfigurationUpdates * (the client-side setting), the EncryptionConfiguration in the workgroup's * ResultConfiguration will be updated with the new value. For more information, * see Workgroup * Settings Override Client-Side Settings.

*/ inline bool RemoveEncryptionConfigurationHasBeenSet() const { return m_removeEncryptionConfigurationHasBeenSet; } /** *

If set to "true", indicates that the previously-specified encryption * configuration (also known as the client-side setting) for queries in this * workgroup should be ignored and set to null. If set to "false" or not set, and a * value is present in the EncryptionConfiguration in ResultConfigurationUpdates * (the client-side setting), the EncryptionConfiguration in the workgroup's * ResultConfiguration will be updated with the new value. For more information, * see Workgroup * Settings Override Client-Side Settings.

*/ inline void SetRemoveEncryptionConfiguration(bool value) { m_removeEncryptionConfigurationHasBeenSet = true; m_removeEncryptionConfiguration = value; } /** *

If set to "true", indicates that the previously-specified encryption * configuration (also known as the client-side setting) for queries in this * workgroup should be ignored and set to null. If set to "false" or not set, and a * value is present in the EncryptionConfiguration in ResultConfigurationUpdates * (the client-side setting), the EncryptionConfiguration in the workgroup's * ResultConfiguration will be updated with the new value. For more information, * see Workgroup * Settings Override Client-Side Settings.

*/ inline ResultConfigurationUpdates& WithRemoveEncryptionConfiguration(bool value) { SetRemoveEncryptionConfiguration(value); return *this;} private: Aws::String m_outputLocation; bool m_outputLocationHasBeenSet; bool m_removeOutputLocation; bool m_removeOutputLocationHasBeenSet; EncryptionConfiguration m_encryptionConfiguration; bool m_encryptionConfigurationHasBeenSet; bool m_removeEncryptionConfiguration; bool m_removeEncryptionConfigurationHasBeenSet; }; } // namespace Model } // namespace Athena } // namespace Aws