7#include <aws/athena/Athena_EXPORTS.h>
8#include <aws/athena/model/CustomerContentEncryptionConfiguration.h>
9#include <aws/athena/model/EngineConfiguration.h>
10#include <aws/athena/model/EngineVersion.h>
11#include <aws/athena/model/IdentityCenterConfiguration.h>
12#include <aws/athena/model/ManagedQueryResultsConfiguration.h>
13#include <aws/athena/model/MonitoringConfiguration.h>
14#include <aws/athena/model/QueryResultsS3AccessGrantsConfiguration.h>
15#include <aws/athena/model/ResultConfiguration.h>
16#include <aws/core/utils/memory/stl/AWSString.h>
63 template <
typename ResultConfigurationT = ResultConfiguration>
65 m_resultConfigurationHasBeenSet =
true;
66 m_resultConfiguration = std::forward<ResultConfigurationT>(value);
68 template <
typename ResultConfigurationT = ResultConfiguration>
83 template <
typename ManagedQueryResultsConfigurationT = ManagedQueryResultsConfiguration>
85 m_managedQueryResultsConfigurationHasBeenSet =
true;
86 m_managedQueryResultsConfiguration = std::forward<ManagedQueryResultsConfigurationT>(value);
88 template <
typename ManagedQueryResultsConfigurationT = ManagedQueryResultsConfiguration>
106 m_enforceWorkGroupConfigurationHasBeenSet =
true;
107 m_enforceWorkGroupConfiguration = value;
123 m_publishCloudWatchMetricsEnabledHasBeenSet =
true;
124 m_publishCloudWatchMetricsEnabled = value;
140 m_bytesScannedCutoffPerQueryHasBeenSet =
true;
141 m_bytesScannedCutoffPerQuery = value;
164 m_requesterPaysEnabledHasBeenSet =
true;
165 m_requesterPaysEnabled = value;
181 template <
typename EngineVersionT = EngineVersion>
183 m_engineVersionHasBeenSet =
true;
184 m_engineVersion = std::forward<EngineVersionT>(value);
186 template <
typename EngineVersionT = EngineVersion>
200 template <
typename AdditionalConfigurationT = Aws::String>
202 m_additionalConfigurationHasBeenSet =
true;
203 m_additionalConfiguration = std::forward<AdditionalConfigurationT>(value);
205 template <
typename AdditionalConfigurationT = Aws::String>
221 template <
typename ExecutionRoleT = Aws::String>
223 m_executionRoleHasBeenSet =
true;
224 m_executionRole = std::forward<ExecutionRoleT>(value);
226 template <
typename ExecutionRoleT = Aws::String>
240 template <
typename MonitoringConfigurationT = MonitoringConfiguration>
242 m_monitoringConfigurationHasBeenSet =
true;
243 m_monitoringConfiguration = std::forward<MonitoringConfigurationT>(value);
245 template <
typename MonitoringConfigurationT = MonitoringConfiguration>
256 template <
typename EngineConfigurationT = EngineConfiguration>
258 m_engineConfigurationHasBeenSet =
true;
259 m_engineConfiguration = std::forward<EngineConfigurationT>(value);
261 template <
typename EngineConfigurationT = EngineConfiguration>
274 return m_customerContentEncryptionConfiguration;
277 template <
typename CustomerContentEncryptionConfigurationT = CustomerContentEncryptionConfiguration>
279 m_customerContentEncryptionConfigurationHasBeenSet =
true;
280 m_customerContentEncryptionConfiguration = std::forward<CustomerContentEncryptionConfigurationT>(value);
282 template <
typename CustomerContentEncryptionConfigurationT = CustomerContentEncryptionConfiguration>
304 m_enableMinimumEncryptionConfigurationHasBeenSet =
true;
305 m_enableMinimumEncryptionConfiguration = value;
319 template <
typename IdentityCenterConfigurationT = IdentityCenterConfiguration>
321 m_identityCenterConfigurationHasBeenSet =
true;
322 m_identityCenterConfiguration = std::forward<IdentityCenterConfigurationT>(value);
324 template <
typename IdentityCenterConfigurationT = IdentityCenterConfiguration>
336 return m_queryResultsS3AccessGrantsConfiguration;
339 template <
typename QueryResultsS3AccessGrantsConfigurationT = QueryResultsS3AccessGrantsConfiguration>
341 m_queryResultsS3AccessGrantsConfigurationHasBeenSet =
true;
342 m_queryResultsS3AccessGrantsConfiguration = std::forward<QueryResultsS3AccessGrantsConfigurationT>(value);
344 template <
typename QueryResultsS3AccessGrantsConfigurationT = QueryResultsS3AccessGrantsConfiguration>
355 bool m_enforceWorkGroupConfiguration{
false};
357 bool m_publishCloudWatchMetricsEnabled{
false};
359 long long m_bytesScannedCutoffPerQuery{0};
361 bool m_requesterPaysEnabled{
false};
363 EngineVersion m_engineVersion;
369 MonitoringConfiguration m_monitoringConfiguration;
371 EngineConfiguration m_engineConfiguration;
373 CustomerContentEncryptionConfiguration m_customerContentEncryptionConfiguration;
375 bool m_enableMinimumEncryptionConfiguration{
false};
377 IdentityCenterConfiguration m_identityCenterConfiguration;
379 QueryResultsS3AccessGrantsConfiguration m_queryResultsS3AccessGrantsConfiguration;
380 bool m_resultConfigurationHasBeenSet =
false;
381 bool m_managedQueryResultsConfigurationHasBeenSet =
false;
382 bool m_enforceWorkGroupConfigurationHasBeenSet =
false;
383 bool m_publishCloudWatchMetricsEnabledHasBeenSet =
false;
384 bool m_bytesScannedCutoffPerQueryHasBeenSet =
false;
385 bool m_requesterPaysEnabledHasBeenSet =
false;
386 bool m_engineVersionHasBeenSet =
false;
387 bool m_additionalConfigurationHasBeenSet =
false;
388 bool m_executionRoleHasBeenSet =
false;
389 bool m_monitoringConfigurationHasBeenSet =
false;
390 bool m_engineConfigurationHasBeenSet =
false;
391 bool m_customerContentEncryptionConfigurationHasBeenSet =
false;
392 bool m_enableMinimumEncryptionConfigurationHasBeenSet =
false;
393 bool m_identityCenterConfigurationHasBeenSet =
false;
394 bool m_queryResultsS3AccessGrantsConfigurationHasBeenSet =
false;
bool IdentityCenterConfigurationHasBeenSet() const
void SetMonitoringConfiguration(MonitoringConfigurationT &&value)
bool ExecutionRoleHasBeenSet() const
WorkGroupConfiguration & WithMonitoringConfiguration(MonitoringConfigurationT &&value)
WorkGroupConfiguration & WithManagedQueryResultsConfiguration(ManagedQueryResultsConfigurationT &&value)
const ManagedQueryResultsConfiguration & GetManagedQueryResultsConfiguration() const
AWS_ATHENA_API Aws::Utils::Json::JsonValue Jsonize() const
WorkGroupConfiguration & WithIdentityCenterConfiguration(IdentityCenterConfigurationT &&value)
const Aws::String & GetAdditionalConfiguration() const
AWS_ATHENA_API WorkGroupConfiguration()=default
AWS_ATHENA_API WorkGroupConfiguration(Aws::Utils::Json::JsonView jsonValue)
WorkGroupConfiguration & WithResultConfiguration(ResultConfigurationT &&value)
const MonitoringConfiguration & GetMonitoringConfiguration() const
const EngineConfiguration & GetEngineConfiguration() const
WorkGroupConfiguration & WithEnforceWorkGroupConfiguration(bool value)
bool BytesScannedCutoffPerQueryHasBeenSet() const
void SetIdentityCenterConfiguration(IdentityCenterConfigurationT &&value)
const Aws::String & GetExecutionRole() const
void SetEnableMinimumEncryptionConfiguration(bool value)
bool GetEnableMinimumEncryptionConfiguration() const
bool EngineConfigurationHasBeenSet() const
void SetRequesterPaysEnabled(bool value)
void SetEnforceWorkGroupConfiguration(bool value)
bool AdditionalConfigurationHasBeenSet() const
void SetExecutionRole(ExecutionRoleT &&value)
const CustomerContentEncryptionConfiguration & GetCustomerContentEncryptionConfiguration() const
WorkGroupConfiguration & WithQueryResultsS3AccessGrantsConfiguration(QueryResultsS3AccessGrantsConfigurationT &&value)
WorkGroupConfiguration & WithExecutionRole(ExecutionRoleT &&value)
bool RequesterPaysEnabledHasBeenSet() const
WorkGroupConfiguration & WithRequesterPaysEnabled(bool value)
void SetEngineVersion(EngineVersionT &&value)
bool EngineVersionHasBeenSet() const
bool ManagedQueryResultsConfigurationHasBeenSet() const
const IdentityCenterConfiguration & GetIdentityCenterConfiguration() const
const ResultConfiguration & GetResultConfiguration() const
bool MonitoringConfigurationHasBeenSet() const
bool QueryResultsS3AccessGrantsConfigurationHasBeenSet() const
WorkGroupConfiguration & WithEngineConfiguration(EngineConfigurationT &&value)
AWS_ATHENA_API WorkGroupConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetPublishCloudWatchMetricsEnabled(bool value)
void SetEngineConfiguration(EngineConfigurationT &&value)
const EngineVersion & GetEngineVersion() const
void SetManagedQueryResultsConfiguration(ManagedQueryResultsConfigurationT &&value)
void SetQueryResultsS3AccessGrantsConfiguration(QueryResultsS3AccessGrantsConfigurationT &&value)
bool GetRequesterPaysEnabled() const
bool EnableMinimumEncryptionConfigurationHasBeenSet() const
bool PublishCloudWatchMetricsEnabledHasBeenSet() const
WorkGroupConfiguration & WithEngineVersion(EngineVersionT &&value)
void SetResultConfiguration(ResultConfigurationT &&value)
WorkGroupConfiguration & WithBytesScannedCutoffPerQuery(long long value)
WorkGroupConfiguration & WithEnableMinimumEncryptionConfiguration(bool value)
bool GetPublishCloudWatchMetricsEnabled() const
WorkGroupConfiguration & WithPublishCloudWatchMetricsEnabled(bool value)
WorkGroupConfiguration & WithCustomerContentEncryptionConfiguration(CustomerContentEncryptionConfigurationT &&value)
void SetBytesScannedCutoffPerQuery(long long value)
bool ResultConfigurationHasBeenSet() const
bool GetEnforceWorkGroupConfiguration() const
void SetCustomerContentEncryptionConfiguration(CustomerContentEncryptionConfigurationT &&value)
bool EnforceWorkGroupConfigurationHasBeenSet() const
WorkGroupConfiguration & WithAdditionalConfiguration(AdditionalConfigurationT &&value)
const QueryResultsS3AccessGrantsConfiguration & GetQueryResultsS3AccessGrantsConfiguration() const
bool CustomerContentEncryptionConfigurationHasBeenSet() const
void SetAdditionalConfiguration(AdditionalConfigurationT &&value)
long long GetBytesScannedCutoffPerQuery() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue