/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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
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.
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.
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.
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.
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.
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.
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.
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.
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