AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
WorkGroupConfiguration.h
1
6#pragma once
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>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Json {
23class JsonValue;
24class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace Athena {
28namespace Model {
29
45 public:
46 AWS_ATHENA_API WorkGroupConfiguration() = default;
49 AWS_ATHENA_API Aws::Utils::Json::JsonValue Jsonize() const;
50
52
61 inline const ResultConfiguration& GetResultConfiguration() const { return m_resultConfiguration; }
62 inline bool ResultConfigurationHasBeenSet() const { return m_resultConfigurationHasBeenSet; }
63 template <typename ResultConfigurationT = ResultConfiguration>
64 void SetResultConfiguration(ResultConfigurationT&& value) {
65 m_resultConfigurationHasBeenSet = true;
66 m_resultConfiguration = std::forward<ResultConfigurationT>(value);
67 }
68 template <typename ResultConfigurationT = ResultConfiguration>
69 WorkGroupConfiguration& WithResultConfiguration(ResultConfigurationT&& value) {
70 SetResultConfiguration(std::forward<ResultConfigurationT>(value));
71 return *this;
72 }
74
76
81 inline const ManagedQueryResultsConfiguration& GetManagedQueryResultsConfiguration() const { return m_managedQueryResultsConfiguration; }
82 inline bool ManagedQueryResultsConfigurationHasBeenSet() const { return m_managedQueryResultsConfigurationHasBeenSet; }
83 template <typename ManagedQueryResultsConfigurationT = ManagedQueryResultsConfiguration>
84 void SetManagedQueryResultsConfiguration(ManagedQueryResultsConfigurationT&& value) {
85 m_managedQueryResultsConfigurationHasBeenSet = true;
86 m_managedQueryResultsConfiguration = std::forward<ManagedQueryResultsConfigurationT>(value);
87 }
88 template <typename ManagedQueryResultsConfigurationT = ManagedQueryResultsConfiguration>
89 WorkGroupConfiguration& WithManagedQueryResultsConfiguration(ManagedQueryResultsConfigurationT&& value) {
90 SetManagedQueryResultsConfiguration(std::forward<ManagedQueryResultsConfigurationT>(value));
91 return *this;
92 }
94
96
103 inline bool GetEnforceWorkGroupConfiguration() const { return m_enforceWorkGroupConfiguration; }
104 inline bool EnforceWorkGroupConfigurationHasBeenSet() const { return m_enforceWorkGroupConfigurationHasBeenSet; }
105 inline void SetEnforceWorkGroupConfiguration(bool value) {
106 m_enforceWorkGroupConfigurationHasBeenSet = true;
107 m_enforceWorkGroupConfiguration = value;
108 }
111 return *this;
112 }
114
116
120 inline bool GetPublishCloudWatchMetricsEnabled() const { return m_publishCloudWatchMetricsEnabled; }
121 inline bool PublishCloudWatchMetricsEnabledHasBeenSet() const { return m_publishCloudWatchMetricsEnabledHasBeenSet; }
122 inline void SetPublishCloudWatchMetricsEnabled(bool value) {
123 m_publishCloudWatchMetricsEnabledHasBeenSet = true;
124 m_publishCloudWatchMetricsEnabled = value;
125 }
128 return *this;
129 }
131
133
137 inline long long GetBytesScannedCutoffPerQuery() const { return m_bytesScannedCutoffPerQuery; }
138 inline bool BytesScannedCutoffPerQueryHasBeenSet() const { return m_bytesScannedCutoffPerQueryHasBeenSet; }
139 inline void SetBytesScannedCutoffPerQuery(long long value) {
140 m_bytesScannedCutoffPerQueryHasBeenSet = true;
141 m_bytesScannedCutoffPerQuery = value;
142 }
145 return *this;
146 }
148
150
161 inline bool GetRequesterPaysEnabled() const { return m_requesterPaysEnabled; }
162 inline bool RequesterPaysEnabledHasBeenSet() const { return m_requesterPaysEnabledHasBeenSet; }
163 inline void SetRequesterPaysEnabled(bool value) {
164 m_requesterPaysEnabledHasBeenSet = true;
165 m_requesterPaysEnabled = value;
166 }
169 return *this;
170 }
172
174
179 inline const EngineVersion& GetEngineVersion() const { return m_engineVersion; }
180 inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; }
181 template <typename EngineVersionT = EngineVersion>
182 void SetEngineVersion(EngineVersionT&& value) {
183 m_engineVersionHasBeenSet = true;
184 m_engineVersion = std::forward<EngineVersionT>(value);
185 }
186 template <typename EngineVersionT = EngineVersion>
187 WorkGroupConfiguration& WithEngineVersion(EngineVersionT&& value) {
188 SetEngineVersion(std::forward<EngineVersionT>(value));
189 return *this;
190 }
192
194
198 inline const Aws::String& GetAdditionalConfiguration() const { return m_additionalConfiguration; }
199 inline bool AdditionalConfigurationHasBeenSet() const { return m_additionalConfigurationHasBeenSet; }
200 template <typename AdditionalConfigurationT = Aws::String>
201 void SetAdditionalConfiguration(AdditionalConfigurationT&& value) {
202 m_additionalConfigurationHasBeenSet = true;
203 m_additionalConfiguration = std::forward<AdditionalConfigurationT>(value);
204 }
205 template <typename AdditionalConfigurationT = Aws::String>
206 WorkGroupConfiguration& WithAdditionalConfiguration(AdditionalConfigurationT&& value) {
207 SetAdditionalConfiguration(std::forward<AdditionalConfigurationT>(value));
208 return *this;
209 }
211
213
219 inline const Aws::String& GetExecutionRole() const { return m_executionRole; }
220 inline bool ExecutionRoleHasBeenSet() const { return m_executionRoleHasBeenSet; }
221 template <typename ExecutionRoleT = Aws::String>
222 void SetExecutionRole(ExecutionRoleT&& value) {
223 m_executionRoleHasBeenSet = true;
224 m_executionRole = std::forward<ExecutionRoleT>(value);
225 }
226 template <typename ExecutionRoleT = Aws::String>
227 WorkGroupConfiguration& WithExecutionRole(ExecutionRoleT&& value) {
228 SetExecutionRole(std::forward<ExecutionRoleT>(value));
229 return *this;
230 }
232
234
238 inline const MonitoringConfiguration& GetMonitoringConfiguration() const { return m_monitoringConfiguration; }
239 inline bool MonitoringConfigurationHasBeenSet() const { return m_monitoringConfigurationHasBeenSet; }
240 template <typename MonitoringConfigurationT = MonitoringConfiguration>
241 void SetMonitoringConfiguration(MonitoringConfigurationT&& value) {
242 m_monitoringConfigurationHasBeenSet = true;
243 m_monitoringConfiguration = std::forward<MonitoringConfigurationT>(value);
244 }
245 template <typename MonitoringConfigurationT = MonitoringConfiguration>
246 WorkGroupConfiguration& WithMonitoringConfiguration(MonitoringConfigurationT&& value) {
247 SetMonitoringConfiguration(std::forward<MonitoringConfigurationT>(value));
248 return *this;
249 }
251
253
254 inline const EngineConfiguration& GetEngineConfiguration() const { return m_engineConfiguration; }
255 inline bool EngineConfigurationHasBeenSet() const { return m_engineConfigurationHasBeenSet; }
256 template <typename EngineConfigurationT = EngineConfiguration>
257 void SetEngineConfiguration(EngineConfigurationT&& value) {
258 m_engineConfigurationHasBeenSet = true;
259 m_engineConfiguration = std::forward<EngineConfigurationT>(value);
260 }
261 template <typename EngineConfigurationT = EngineConfiguration>
262 WorkGroupConfiguration& WithEngineConfiguration(EngineConfigurationT&& value) {
263 SetEngineConfiguration(std::forward<EngineConfigurationT>(value));
264 return *this;
265 }
267
269
274 return m_customerContentEncryptionConfiguration;
275 }
276 inline bool CustomerContentEncryptionConfigurationHasBeenSet() const { return m_customerContentEncryptionConfigurationHasBeenSet; }
277 template <typename CustomerContentEncryptionConfigurationT = CustomerContentEncryptionConfiguration>
278 void SetCustomerContentEncryptionConfiguration(CustomerContentEncryptionConfigurationT&& value) {
279 m_customerContentEncryptionConfigurationHasBeenSet = true;
280 m_customerContentEncryptionConfiguration = std::forward<CustomerContentEncryptionConfigurationT>(value);
281 }
282 template <typename CustomerContentEncryptionConfigurationT = CustomerContentEncryptionConfiguration>
283 WorkGroupConfiguration& WithCustomerContentEncryptionConfiguration(CustomerContentEncryptionConfigurationT&& value) {
284 SetCustomerContentEncryptionConfiguration(std::forward<CustomerContentEncryptionConfigurationT>(value));
285 return *this;
286 }
288
290
301 inline bool GetEnableMinimumEncryptionConfiguration() const { return m_enableMinimumEncryptionConfiguration; }
302 inline bool EnableMinimumEncryptionConfigurationHasBeenSet() const { return m_enableMinimumEncryptionConfigurationHasBeenSet; }
304 m_enableMinimumEncryptionConfigurationHasBeenSet = true;
305 m_enableMinimumEncryptionConfiguration = value;
306 }
309 return *this;
310 }
312
314
317 inline const IdentityCenterConfiguration& GetIdentityCenterConfiguration() const { return m_identityCenterConfiguration; }
318 inline bool IdentityCenterConfigurationHasBeenSet() const { return m_identityCenterConfigurationHasBeenSet; }
319 template <typename IdentityCenterConfigurationT = IdentityCenterConfiguration>
320 void SetIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) {
321 m_identityCenterConfigurationHasBeenSet = true;
322 m_identityCenterConfiguration = std::forward<IdentityCenterConfigurationT>(value);
323 }
324 template <typename IdentityCenterConfigurationT = IdentityCenterConfiguration>
325 WorkGroupConfiguration& WithIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) {
326 SetIdentityCenterConfiguration(std::forward<IdentityCenterConfigurationT>(value));
327 return *this;
328 }
330
332
336 return m_queryResultsS3AccessGrantsConfiguration;
337 }
338 inline bool QueryResultsS3AccessGrantsConfigurationHasBeenSet() const { return m_queryResultsS3AccessGrantsConfigurationHasBeenSet; }
339 template <typename QueryResultsS3AccessGrantsConfigurationT = QueryResultsS3AccessGrantsConfiguration>
340 void SetQueryResultsS3AccessGrantsConfiguration(QueryResultsS3AccessGrantsConfigurationT&& value) {
341 m_queryResultsS3AccessGrantsConfigurationHasBeenSet = true;
342 m_queryResultsS3AccessGrantsConfiguration = std::forward<QueryResultsS3AccessGrantsConfigurationT>(value);
343 }
344 template <typename QueryResultsS3AccessGrantsConfigurationT = QueryResultsS3AccessGrantsConfiguration>
345 WorkGroupConfiguration& WithQueryResultsS3AccessGrantsConfiguration(QueryResultsS3AccessGrantsConfigurationT&& value) {
346 SetQueryResultsS3AccessGrantsConfiguration(std::forward<QueryResultsS3AccessGrantsConfigurationT>(value));
347 return *this;
348 }
350 private:
351 ResultConfiguration m_resultConfiguration;
352
353 ManagedQueryResultsConfiguration m_managedQueryResultsConfiguration;
354
355 bool m_enforceWorkGroupConfiguration{false};
356
357 bool m_publishCloudWatchMetricsEnabled{false};
358
359 long long m_bytesScannedCutoffPerQuery{0};
360
361 bool m_requesterPaysEnabled{false};
362
363 EngineVersion m_engineVersion;
364
365 Aws::String m_additionalConfiguration;
366
367 Aws::String m_executionRole;
368
369 MonitoringConfiguration m_monitoringConfiguration;
370
371 EngineConfiguration m_engineConfiguration;
372
373 CustomerContentEncryptionConfiguration m_customerContentEncryptionConfiguration;
374
375 bool m_enableMinimumEncryptionConfiguration{false};
376
377 IdentityCenterConfiguration m_identityCenterConfiguration;
378
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;
395};
396
397} // namespace Model
398} // namespace Athena
399} // namespace Aws
void SetMonitoringConfiguration(MonitoringConfigurationT &&value)
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)
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)
void SetIdentityCenterConfiguration(IdentityCenterConfigurationT &&value)
const CustomerContentEncryptionConfiguration & GetCustomerContentEncryptionConfiguration() const
WorkGroupConfiguration & WithQueryResultsS3AccessGrantsConfiguration(QueryResultsS3AccessGrantsConfigurationT &&value)
WorkGroupConfiguration & WithExecutionRole(ExecutionRoleT &&value)
WorkGroupConfiguration & WithRequesterPaysEnabled(bool value)
const IdentityCenterConfiguration & GetIdentityCenterConfiguration() const
const ResultConfiguration & GetResultConfiguration() const
WorkGroupConfiguration & WithEngineConfiguration(EngineConfigurationT &&value)
AWS_ATHENA_API WorkGroupConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetEngineConfiguration(EngineConfigurationT &&value)
void SetManagedQueryResultsConfiguration(ManagedQueryResultsConfigurationT &&value)
void SetQueryResultsS3AccessGrantsConfiguration(QueryResultsS3AccessGrantsConfigurationT &&value)
WorkGroupConfiguration & WithEngineVersion(EngineVersionT &&value)
void SetResultConfiguration(ResultConfigurationT &&value)
WorkGroupConfiguration & WithBytesScannedCutoffPerQuery(long long value)
WorkGroupConfiguration & WithEnableMinimumEncryptionConfiguration(bool value)
WorkGroupConfiguration & WithPublishCloudWatchMetricsEnabled(bool value)
WorkGroupConfiguration & WithCustomerContentEncryptionConfiguration(CustomerContentEncryptionConfigurationT &&value)
void SetCustomerContentEncryptionConfiguration(CustomerContentEncryptionConfigurationT &&value)
WorkGroupConfiguration & WithAdditionalConfiguration(AdditionalConfigurationT &&value)
const QueryResultsS3AccessGrantsConfiguration & GetQueryResultsS3AccessGrantsConfiguration() const
void SetAdditionalConfiguration(AdditionalConfigurationT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue