aws_sdk_athena/types/_work_group_configuration_updates.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>The configuration information that will be updated for this workgroup, which includes the location in Amazon S3 where query and calculation results are stored, the encryption option, if any, used for query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, whether the workgroup settings override the client-side settings, and the data usage limit for the amount of bytes scanned per query, if it is specified.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct WorkGroupConfigurationUpdates {
7 /// <p>If set to "true", the settings for the workgroup override client-side settings. If set to "false" client-side settings are used. For more information, see <a href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup Settings Override Client-Side Settings</a>.</p>
8 pub enforce_work_group_configuration: ::std::option::Option<bool>,
9 /// <p>The result configuration information about the queries in this workgroup that will be updated. Includes the updated results location and an updated option for encrypting query results.</p>
10 pub result_configuration_updates: ::std::option::Option<crate::types::ResultConfigurationUpdates>,
11 /// <p>Updates configuration information for managed query results in the workgroup.</p>
12 pub managed_query_results_configuration_updates: ::std::option::Option<crate::types::ManagedQueryResultsConfigurationUpdates>,
13 /// <p>Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch.</p>
14 pub publish_cloud_watch_metrics_enabled: ::std::option::Option<bool>,
15 /// <p>The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan.</p>
16 pub bytes_scanned_cutoff_per_query: ::std::option::Option<i64>,
17 /// <p>Indicates that the data usage control limit per query is removed. <code>WorkGroupConfiguration$BytesScannedCutoffPerQuery</code></p>
18 pub remove_bytes_scanned_cutoff_per_query: ::std::option::Option<bool>,
19 /// <p>If set to <code>true</code>, allows members assigned to a workgroup to specify Amazon S3 Requester Pays buckets in queries. If set to <code>false</code>, workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is <code>false</code>. For more information about Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester Pays Buckets</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p>
20 pub requester_pays_enabled: ::std::option::Option<bool>,
21 /// <p>The engine version requested when a workgroup is updated. After the update, all queries on the workgroup run on the requested engine version. If no value was previously set, the default is Auto. Queries on the <code>AmazonAthenaPreviewFunctionality</code> workgroup run on the preview engine regardless of this setting.</p>
22 pub engine_version: ::std::option::Option<crate::types::EngineVersion>,
23 /// <p>Removes content encryption configuration from an Apache Spark-enabled Athena workgroup.</p>
24 pub remove_customer_content_encryption_configuration: ::std::option::Option<bool>,
25 /// <p>Contains a user defined string in JSON format for a Spark-enabled workgroup.</p>
26 pub additional_configuration: ::std::option::Option<::std::string::String>,
27 /// <p>The ARN of the execution role used to access user resources for Spark sessions and Identity Center enabled workgroups. This property applies only to Spark enabled workgroups and Identity Center enabled workgroups.</p>
28 pub execution_role: ::std::option::Option<::std::string::String>,
29 /// <p>Specifies the customer managed KMS key that is used to encrypt the user's data stores in Athena. When an Amazon Web Services managed key is used, this value is null. This setting does not apply to Athena SQL workgroups.</p>
30 pub customer_content_encryption_configuration: ::std::option::Option<crate::types::CustomerContentEncryptionConfiguration>,
31 /// <p>Enforces a minimal level of encryption for the workgroup for query and calculation results that are written to Amazon S3. When enabled, workgroup users can set encryption only to the minimum level set by the administrator or higher when they submit queries. This setting does not apply to Spark-enabled workgroups.</p>
32 /// <p>The <code>EnforceWorkGroupConfiguration</code> setting takes precedence over the <code>EnableMinimumEncryptionConfiguration</code> flag. This means that if <code>EnforceWorkGroupConfiguration</code> is true, the <code>EnableMinimumEncryptionConfiguration</code> flag is ignored, and the workgroup configuration for encryption is used.</p>
33 pub enable_minimum_encryption_configuration: ::std::option::Option<bool>,
34 /// <p>Specifies whether Amazon S3 access grants are enabled for query results.</p>
35 pub query_results_s3_access_grants_configuration: ::std::option::Option<crate::types::QueryResultsS3AccessGrantsConfiguration>,
36 /// <p>Contains the configuration settings for managed log persistence, delivering logs to Amazon S3 buckets, Amazon CloudWatch log groups etc.</p>
37 pub monitoring_configuration: ::std::option::Option<crate::types::MonitoringConfiguration>,
38 /// <p>Contains data processing unit (DPU) configuration settings and parameter mappings for a notebook engine.</p>
39 pub engine_configuration: ::std::option::Option<crate::types::EngineConfiguration>,
40}
41impl WorkGroupConfigurationUpdates {
42 /// <p>If set to "true", the settings for the workgroup override client-side settings. If set to "false" client-side settings are used. For more information, see <a href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup Settings Override Client-Side Settings</a>.</p>
43 pub fn enforce_work_group_configuration(&self) -> ::std::option::Option<bool> {
44 self.enforce_work_group_configuration
45 }
46 /// <p>The result configuration information about the queries in this workgroup that will be updated. Includes the updated results location and an updated option for encrypting query results.</p>
47 pub fn result_configuration_updates(&self) -> ::std::option::Option<&crate::types::ResultConfigurationUpdates> {
48 self.result_configuration_updates.as_ref()
49 }
50 /// <p>Updates configuration information for managed query results in the workgroup.</p>
51 pub fn managed_query_results_configuration_updates(&self) -> ::std::option::Option<&crate::types::ManagedQueryResultsConfigurationUpdates> {
52 self.managed_query_results_configuration_updates.as_ref()
53 }
54 /// <p>Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch.</p>
55 pub fn publish_cloud_watch_metrics_enabled(&self) -> ::std::option::Option<bool> {
56 self.publish_cloud_watch_metrics_enabled
57 }
58 /// <p>The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan.</p>
59 pub fn bytes_scanned_cutoff_per_query(&self) -> ::std::option::Option<i64> {
60 self.bytes_scanned_cutoff_per_query
61 }
62 /// <p>Indicates that the data usage control limit per query is removed. <code>WorkGroupConfiguration$BytesScannedCutoffPerQuery</code></p>
63 pub fn remove_bytes_scanned_cutoff_per_query(&self) -> ::std::option::Option<bool> {
64 self.remove_bytes_scanned_cutoff_per_query
65 }
66 /// <p>If set to <code>true</code>, allows members assigned to a workgroup to specify Amazon S3 Requester Pays buckets in queries. If set to <code>false</code>, workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is <code>false</code>. For more information about Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester Pays Buckets</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p>
67 pub fn requester_pays_enabled(&self) -> ::std::option::Option<bool> {
68 self.requester_pays_enabled
69 }
70 /// <p>The engine version requested when a workgroup is updated. After the update, all queries on the workgroup run on the requested engine version. If no value was previously set, the default is Auto. Queries on the <code>AmazonAthenaPreviewFunctionality</code> workgroup run on the preview engine regardless of this setting.</p>
71 pub fn engine_version(&self) -> ::std::option::Option<&crate::types::EngineVersion> {
72 self.engine_version.as_ref()
73 }
74 /// <p>Removes content encryption configuration from an Apache Spark-enabled Athena workgroup.</p>
75 pub fn remove_customer_content_encryption_configuration(&self) -> ::std::option::Option<bool> {
76 self.remove_customer_content_encryption_configuration
77 }
78 /// <p>Contains a user defined string in JSON format for a Spark-enabled workgroup.</p>
79 pub fn additional_configuration(&self) -> ::std::option::Option<&str> {
80 self.additional_configuration.as_deref()
81 }
82 /// <p>The ARN of the execution role used to access user resources for Spark sessions and Identity Center enabled workgroups. This property applies only to Spark enabled workgroups and Identity Center enabled workgroups.</p>
83 pub fn execution_role(&self) -> ::std::option::Option<&str> {
84 self.execution_role.as_deref()
85 }
86 /// <p>Specifies the customer managed KMS key that is used to encrypt the user's data stores in Athena. When an Amazon Web Services managed key is used, this value is null. This setting does not apply to Athena SQL workgroups.</p>
87 pub fn customer_content_encryption_configuration(&self) -> ::std::option::Option<&crate::types::CustomerContentEncryptionConfiguration> {
88 self.customer_content_encryption_configuration.as_ref()
89 }
90 /// <p>Enforces a minimal level of encryption for the workgroup for query and calculation results that are written to Amazon S3. When enabled, workgroup users can set encryption only to the minimum level set by the administrator or higher when they submit queries. This setting does not apply to Spark-enabled workgroups.</p>
91 /// <p>The <code>EnforceWorkGroupConfiguration</code> setting takes precedence over the <code>EnableMinimumEncryptionConfiguration</code> flag. This means that if <code>EnforceWorkGroupConfiguration</code> is true, the <code>EnableMinimumEncryptionConfiguration</code> flag is ignored, and the workgroup configuration for encryption is used.</p>
92 pub fn enable_minimum_encryption_configuration(&self) -> ::std::option::Option<bool> {
93 self.enable_minimum_encryption_configuration
94 }
95 /// <p>Specifies whether Amazon S3 access grants are enabled for query results.</p>
96 pub fn query_results_s3_access_grants_configuration(&self) -> ::std::option::Option<&crate::types::QueryResultsS3AccessGrantsConfiguration> {
97 self.query_results_s3_access_grants_configuration.as_ref()
98 }
99 /// <p>Contains the configuration settings for managed log persistence, delivering logs to Amazon S3 buckets, Amazon CloudWatch log groups etc.</p>
100 pub fn monitoring_configuration(&self) -> ::std::option::Option<&crate::types::MonitoringConfiguration> {
101 self.monitoring_configuration.as_ref()
102 }
103 /// <p>Contains data processing unit (DPU) configuration settings and parameter mappings for a notebook engine.</p>
104 pub fn engine_configuration(&self) -> ::std::option::Option<&crate::types::EngineConfiguration> {
105 self.engine_configuration.as_ref()
106 }
107}
108impl WorkGroupConfigurationUpdates {
109 /// Creates a new builder-style object to manufacture [`WorkGroupConfigurationUpdates`](crate::types::WorkGroupConfigurationUpdates).
110 pub fn builder() -> crate::types::builders::WorkGroupConfigurationUpdatesBuilder {
111 crate::types::builders::WorkGroupConfigurationUpdatesBuilder::default()
112 }
113}
114
115/// A builder for [`WorkGroupConfigurationUpdates`](crate::types::WorkGroupConfigurationUpdates).
116#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
117#[non_exhaustive]
118pub struct WorkGroupConfigurationUpdatesBuilder {
119 pub(crate) enforce_work_group_configuration: ::std::option::Option<bool>,
120 pub(crate) result_configuration_updates: ::std::option::Option<crate::types::ResultConfigurationUpdates>,
121 pub(crate) managed_query_results_configuration_updates: ::std::option::Option<crate::types::ManagedQueryResultsConfigurationUpdates>,
122 pub(crate) publish_cloud_watch_metrics_enabled: ::std::option::Option<bool>,
123 pub(crate) bytes_scanned_cutoff_per_query: ::std::option::Option<i64>,
124 pub(crate) remove_bytes_scanned_cutoff_per_query: ::std::option::Option<bool>,
125 pub(crate) requester_pays_enabled: ::std::option::Option<bool>,
126 pub(crate) engine_version: ::std::option::Option<crate::types::EngineVersion>,
127 pub(crate) remove_customer_content_encryption_configuration: ::std::option::Option<bool>,
128 pub(crate) additional_configuration: ::std::option::Option<::std::string::String>,
129 pub(crate) execution_role: ::std::option::Option<::std::string::String>,
130 pub(crate) customer_content_encryption_configuration: ::std::option::Option<crate::types::CustomerContentEncryptionConfiguration>,
131 pub(crate) enable_minimum_encryption_configuration: ::std::option::Option<bool>,
132 pub(crate) query_results_s3_access_grants_configuration: ::std::option::Option<crate::types::QueryResultsS3AccessGrantsConfiguration>,
133 pub(crate) monitoring_configuration: ::std::option::Option<crate::types::MonitoringConfiguration>,
134 pub(crate) engine_configuration: ::std::option::Option<crate::types::EngineConfiguration>,
135}
136impl WorkGroupConfigurationUpdatesBuilder {
137 /// <p>If set to "true", the settings for the workgroup override client-side settings. If set to "false" client-side settings are used. For more information, see <a href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup Settings Override Client-Side Settings</a>.</p>
138 pub fn enforce_work_group_configuration(mut self, input: bool) -> Self {
139 self.enforce_work_group_configuration = ::std::option::Option::Some(input);
140 self
141 }
142 /// <p>If set to "true", the settings for the workgroup override client-side settings. If set to "false" client-side settings are used. For more information, see <a href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup Settings Override Client-Side Settings</a>.</p>
143 pub fn set_enforce_work_group_configuration(mut self, input: ::std::option::Option<bool>) -> Self {
144 self.enforce_work_group_configuration = input;
145 self
146 }
147 /// <p>If set to "true", the settings for the workgroup override client-side settings. If set to "false" client-side settings are used. For more information, see <a href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup Settings Override Client-Side Settings</a>.</p>
148 pub fn get_enforce_work_group_configuration(&self) -> &::std::option::Option<bool> {
149 &self.enforce_work_group_configuration
150 }
151 /// <p>The result configuration information about the queries in this workgroup that will be updated. Includes the updated results location and an updated option for encrypting query results.</p>
152 pub fn result_configuration_updates(mut self, input: crate::types::ResultConfigurationUpdates) -> Self {
153 self.result_configuration_updates = ::std::option::Option::Some(input);
154 self
155 }
156 /// <p>The result configuration information about the queries in this workgroup that will be updated. Includes the updated results location and an updated option for encrypting query results.</p>
157 pub fn set_result_configuration_updates(mut self, input: ::std::option::Option<crate::types::ResultConfigurationUpdates>) -> Self {
158 self.result_configuration_updates = input;
159 self
160 }
161 /// <p>The result configuration information about the queries in this workgroup that will be updated. Includes the updated results location and an updated option for encrypting query results.</p>
162 pub fn get_result_configuration_updates(&self) -> &::std::option::Option<crate::types::ResultConfigurationUpdates> {
163 &self.result_configuration_updates
164 }
165 /// <p>Updates configuration information for managed query results in the workgroup.</p>
166 pub fn managed_query_results_configuration_updates(mut self, input: crate::types::ManagedQueryResultsConfigurationUpdates) -> Self {
167 self.managed_query_results_configuration_updates = ::std::option::Option::Some(input);
168 self
169 }
170 /// <p>Updates configuration information for managed query results in the workgroup.</p>
171 pub fn set_managed_query_results_configuration_updates(
172 mut self,
173 input: ::std::option::Option<crate::types::ManagedQueryResultsConfigurationUpdates>,
174 ) -> Self {
175 self.managed_query_results_configuration_updates = input;
176 self
177 }
178 /// <p>Updates configuration information for managed query results in the workgroup.</p>
179 pub fn get_managed_query_results_configuration_updates(&self) -> &::std::option::Option<crate::types::ManagedQueryResultsConfigurationUpdates> {
180 &self.managed_query_results_configuration_updates
181 }
182 /// <p>Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch.</p>
183 pub fn publish_cloud_watch_metrics_enabled(mut self, input: bool) -> Self {
184 self.publish_cloud_watch_metrics_enabled = ::std::option::Option::Some(input);
185 self
186 }
187 /// <p>Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch.</p>
188 pub fn set_publish_cloud_watch_metrics_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
189 self.publish_cloud_watch_metrics_enabled = input;
190 self
191 }
192 /// <p>Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch.</p>
193 pub fn get_publish_cloud_watch_metrics_enabled(&self) -> &::std::option::Option<bool> {
194 &self.publish_cloud_watch_metrics_enabled
195 }
196 /// <p>The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan.</p>
197 pub fn bytes_scanned_cutoff_per_query(mut self, input: i64) -> Self {
198 self.bytes_scanned_cutoff_per_query = ::std::option::Option::Some(input);
199 self
200 }
201 /// <p>The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan.</p>
202 pub fn set_bytes_scanned_cutoff_per_query(mut self, input: ::std::option::Option<i64>) -> Self {
203 self.bytes_scanned_cutoff_per_query = input;
204 self
205 }
206 /// <p>The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan.</p>
207 pub fn get_bytes_scanned_cutoff_per_query(&self) -> &::std::option::Option<i64> {
208 &self.bytes_scanned_cutoff_per_query
209 }
210 /// <p>Indicates that the data usage control limit per query is removed. <code>WorkGroupConfiguration$BytesScannedCutoffPerQuery</code></p>
211 pub fn remove_bytes_scanned_cutoff_per_query(mut self, input: bool) -> Self {
212 self.remove_bytes_scanned_cutoff_per_query = ::std::option::Option::Some(input);
213 self
214 }
215 /// <p>Indicates that the data usage control limit per query is removed. <code>WorkGroupConfiguration$BytesScannedCutoffPerQuery</code></p>
216 pub fn set_remove_bytes_scanned_cutoff_per_query(mut self, input: ::std::option::Option<bool>) -> Self {
217 self.remove_bytes_scanned_cutoff_per_query = input;
218 self
219 }
220 /// <p>Indicates that the data usage control limit per query is removed. <code>WorkGroupConfiguration$BytesScannedCutoffPerQuery</code></p>
221 pub fn get_remove_bytes_scanned_cutoff_per_query(&self) -> &::std::option::Option<bool> {
222 &self.remove_bytes_scanned_cutoff_per_query
223 }
224 /// <p>If set to <code>true</code>, allows members assigned to a workgroup to specify Amazon S3 Requester Pays buckets in queries. If set to <code>false</code>, workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is <code>false</code>. For more information about Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester Pays Buckets</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p>
225 pub fn requester_pays_enabled(mut self, input: bool) -> Self {
226 self.requester_pays_enabled = ::std::option::Option::Some(input);
227 self
228 }
229 /// <p>If set to <code>true</code>, allows members assigned to a workgroup to specify Amazon S3 Requester Pays buckets in queries. If set to <code>false</code>, workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is <code>false</code>. For more information about Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester Pays Buckets</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p>
230 pub fn set_requester_pays_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
231 self.requester_pays_enabled = input;
232 self
233 }
234 /// <p>If set to <code>true</code>, allows members assigned to a workgroup to specify Amazon S3 Requester Pays buckets in queries. If set to <code>false</code>, workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is <code>false</code>. For more information about Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester Pays Buckets</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p>
235 pub fn get_requester_pays_enabled(&self) -> &::std::option::Option<bool> {
236 &self.requester_pays_enabled
237 }
238 /// <p>The engine version requested when a workgroup is updated. After the update, all queries on the workgroup run on the requested engine version. If no value was previously set, the default is Auto. Queries on the <code>AmazonAthenaPreviewFunctionality</code> workgroup run on the preview engine regardless of this setting.</p>
239 pub fn engine_version(mut self, input: crate::types::EngineVersion) -> Self {
240 self.engine_version = ::std::option::Option::Some(input);
241 self
242 }
243 /// <p>The engine version requested when a workgroup is updated. After the update, all queries on the workgroup run on the requested engine version. If no value was previously set, the default is Auto. Queries on the <code>AmazonAthenaPreviewFunctionality</code> workgroup run on the preview engine regardless of this setting.</p>
244 pub fn set_engine_version(mut self, input: ::std::option::Option<crate::types::EngineVersion>) -> Self {
245 self.engine_version = input;
246 self
247 }
248 /// <p>The engine version requested when a workgroup is updated. After the update, all queries on the workgroup run on the requested engine version. If no value was previously set, the default is Auto. Queries on the <code>AmazonAthenaPreviewFunctionality</code> workgroup run on the preview engine regardless of this setting.</p>
249 pub fn get_engine_version(&self) -> &::std::option::Option<crate::types::EngineVersion> {
250 &self.engine_version
251 }
252 /// <p>Removes content encryption configuration from an Apache Spark-enabled Athena workgroup.</p>
253 pub fn remove_customer_content_encryption_configuration(mut self, input: bool) -> Self {
254 self.remove_customer_content_encryption_configuration = ::std::option::Option::Some(input);
255 self
256 }
257 /// <p>Removes content encryption configuration from an Apache Spark-enabled Athena workgroup.</p>
258 pub fn set_remove_customer_content_encryption_configuration(mut self, input: ::std::option::Option<bool>) -> Self {
259 self.remove_customer_content_encryption_configuration = input;
260 self
261 }
262 /// <p>Removes content encryption configuration from an Apache Spark-enabled Athena workgroup.</p>
263 pub fn get_remove_customer_content_encryption_configuration(&self) -> &::std::option::Option<bool> {
264 &self.remove_customer_content_encryption_configuration
265 }
266 /// <p>Contains a user defined string in JSON format for a Spark-enabled workgroup.</p>
267 pub fn additional_configuration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
268 self.additional_configuration = ::std::option::Option::Some(input.into());
269 self
270 }
271 /// <p>Contains a user defined string in JSON format for a Spark-enabled workgroup.</p>
272 pub fn set_additional_configuration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
273 self.additional_configuration = input;
274 self
275 }
276 /// <p>Contains a user defined string in JSON format for a Spark-enabled workgroup.</p>
277 pub fn get_additional_configuration(&self) -> &::std::option::Option<::std::string::String> {
278 &self.additional_configuration
279 }
280 /// <p>The ARN of the execution role used to access user resources for Spark sessions and Identity Center enabled workgroups. This property applies only to Spark enabled workgroups and Identity Center enabled workgroups.</p>
281 pub fn execution_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
282 self.execution_role = ::std::option::Option::Some(input.into());
283 self
284 }
285 /// <p>The ARN of the execution role used to access user resources for Spark sessions and Identity Center enabled workgroups. This property applies only to Spark enabled workgroups and Identity Center enabled workgroups.</p>
286 pub fn set_execution_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
287 self.execution_role = input;
288 self
289 }
290 /// <p>The ARN of the execution role used to access user resources for Spark sessions and Identity Center enabled workgroups. This property applies only to Spark enabled workgroups and Identity Center enabled workgroups.</p>
291 pub fn get_execution_role(&self) -> &::std::option::Option<::std::string::String> {
292 &self.execution_role
293 }
294 /// <p>Specifies the customer managed KMS key that is used to encrypt the user's data stores in Athena. When an Amazon Web Services managed key is used, this value is null. This setting does not apply to Athena SQL workgroups.</p>
295 pub fn customer_content_encryption_configuration(mut self, input: crate::types::CustomerContentEncryptionConfiguration) -> Self {
296 self.customer_content_encryption_configuration = ::std::option::Option::Some(input);
297 self
298 }
299 /// <p>Specifies the customer managed KMS key that is used to encrypt the user's data stores in Athena. When an Amazon Web Services managed key is used, this value is null. This setting does not apply to Athena SQL workgroups.</p>
300 pub fn set_customer_content_encryption_configuration(
301 mut self,
302 input: ::std::option::Option<crate::types::CustomerContentEncryptionConfiguration>,
303 ) -> Self {
304 self.customer_content_encryption_configuration = input;
305 self
306 }
307 /// <p>Specifies the customer managed KMS key that is used to encrypt the user's data stores in Athena. When an Amazon Web Services managed key is used, this value is null. This setting does not apply to Athena SQL workgroups.</p>
308 pub fn get_customer_content_encryption_configuration(&self) -> &::std::option::Option<crate::types::CustomerContentEncryptionConfiguration> {
309 &self.customer_content_encryption_configuration
310 }
311 /// <p>Enforces a minimal level of encryption for the workgroup for query and calculation results that are written to Amazon S3. When enabled, workgroup users can set encryption only to the minimum level set by the administrator or higher when they submit queries. This setting does not apply to Spark-enabled workgroups.</p>
312 /// <p>The <code>EnforceWorkGroupConfiguration</code> setting takes precedence over the <code>EnableMinimumEncryptionConfiguration</code> flag. This means that if <code>EnforceWorkGroupConfiguration</code> is true, the <code>EnableMinimumEncryptionConfiguration</code> flag is ignored, and the workgroup configuration for encryption is used.</p>
313 pub fn enable_minimum_encryption_configuration(mut self, input: bool) -> Self {
314 self.enable_minimum_encryption_configuration = ::std::option::Option::Some(input);
315 self
316 }
317 /// <p>Enforces a minimal level of encryption for the workgroup for query and calculation results that are written to Amazon S3. When enabled, workgroup users can set encryption only to the minimum level set by the administrator or higher when they submit queries. This setting does not apply to Spark-enabled workgroups.</p>
318 /// <p>The <code>EnforceWorkGroupConfiguration</code> setting takes precedence over the <code>EnableMinimumEncryptionConfiguration</code> flag. This means that if <code>EnforceWorkGroupConfiguration</code> is true, the <code>EnableMinimumEncryptionConfiguration</code> flag is ignored, and the workgroup configuration for encryption is used.</p>
319 pub fn set_enable_minimum_encryption_configuration(mut self, input: ::std::option::Option<bool>) -> Self {
320 self.enable_minimum_encryption_configuration = input;
321 self
322 }
323 /// <p>Enforces a minimal level of encryption for the workgroup for query and calculation results that are written to Amazon S3. When enabled, workgroup users can set encryption only to the minimum level set by the administrator or higher when they submit queries. This setting does not apply to Spark-enabled workgroups.</p>
324 /// <p>The <code>EnforceWorkGroupConfiguration</code> setting takes precedence over the <code>EnableMinimumEncryptionConfiguration</code> flag. This means that if <code>EnforceWorkGroupConfiguration</code> is true, the <code>EnableMinimumEncryptionConfiguration</code> flag is ignored, and the workgroup configuration for encryption is used.</p>
325 pub fn get_enable_minimum_encryption_configuration(&self) -> &::std::option::Option<bool> {
326 &self.enable_minimum_encryption_configuration
327 }
328 /// <p>Specifies whether Amazon S3 access grants are enabled for query results.</p>
329 pub fn query_results_s3_access_grants_configuration(mut self, input: crate::types::QueryResultsS3AccessGrantsConfiguration) -> Self {
330 self.query_results_s3_access_grants_configuration = ::std::option::Option::Some(input);
331 self
332 }
333 /// <p>Specifies whether Amazon S3 access grants are enabled for query results.</p>
334 pub fn set_query_results_s3_access_grants_configuration(
335 mut self,
336 input: ::std::option::Option<crate::types::QueryResultsS3AccessGrantsConfiguration>,
337 ) -> Self {
338 self.query_results_s3_access_grants_configuration = input;
339 self
340 }
341 /// <p>Specifies whether Amazon S3 access grants are enabled for query results.</p>
342 pub fn get_query_results_s3_access_grants_configuration(&self) -> &::std::option::Option<crate::types::QueryResultsS3AccessGrantsConfiguration> {
343 &self.query_results_s3_access_grants_configuration
344 }
345 /// <p>Contains the configuration settings for managed log persistence, delivering logs to Amazon S3 buckets, Amazon CloudWatch log groups etc.</p>
346 pub fn monitoring_configuration(mut self, input: crate::types::MonitoringConfiguration) -> Self {
347 self.monitoring_configuration = ::std::option::Option::Some(input);
348 self
349 }
350 /// <p>Contains the configuration settings for managed log persistence, delivering logs to Amazon S3 buckets, Amazon CloudWatch log groups etc.</p>
351 pub fn set_monitoring_configuration(mut self, input: ::std::option::Option<crate::types::MonitoringConfiguration>) -> Self {
352 self.monitoring_configuration = input;
353 self
354 }
355 /// <p>Contains the configuration settings for managed log persistence, delivering logs to Amazon S3 buckets, Amazon CloudWatch log groups etc.</p>
356 pub fn get_monitoring_configuration(&self) -> &::std::option::Option<crate::types::MonitoringConfiguration> {
357 &self.monitoring_configuration
358 }
359 /// <p>Contains data processing unit (DPU) configuration settings and parameter mappings for a notebook engine.</p>
360 pub fn engine_configuration(mut self, input: crate::types::EngineConfiguration) -> Self {
361 self.engine_configuration = ::std::option::Option::Some(input);
362 self
363 }
364 /// <p>Contains data processing unit (DPU) configuration settings and parameter mappings for a notebook engine.</p>
365 pub fn set_engine_configuration(mut self, input: ::std::option::Option<crate::types::EngineConfiguration>) -> Self {
366 self.engine_configuration = input;
367 self
368 }
369 /// <p>Contains data processing unit (DPU) configuration settings and parameter mappings for a notebook engine.</p>
370 pub fn get_engine_configuration(&self) -> &::std::option::Option<crate::types::EngineConfiguration> {
371 &self.engine_configuration
372 }
373 /// Consumes the builder and constructs a [`WorkGroupConfigurationUpdates`](crate::types::WorkGroupConfigurationUpdates).
374 pub fn build(self) -> crate::types::WorkGroupConfigurationUpdates {
375 crate::types::WorkGroupConfigurationUpdates {
376 enforce_work_group_configuration: self.enforce_work_group_configuration,
377 result_configuration_updates: self.result_configuration_updates,
378 managed_query_results_configuration_updates: self.managed_query_results_configuration_updates,
379 publish_cloud_watch_metrics_enabled: self.publish_cloud_watch_metrics_enabled,
380 bytes_scanned_cutoff_per_query: self.bytes_scanned_cutoff_per_query,
381 remove_bytes_scanned_cutoff_per_query: self.remove_bytes_scanned_cutoff_per_query,
382 requester_pays_enabled: self.requester_pays_enabled,
383 engine_version: self.engine_version,
384 remove_customer_content_encryption_configuration: self.remove_customer_content_encryption_configuration,
385 additional_configuration: self.additional_configuration,
386 execution_role: self.execution_role,
387 customer_content_encryption_configuration: self.customer_content_encryption_configuration,
388 enable_minimum_encryption_configuration: self.enable_minimum_encryption_configuration,
389 query_results_s3_access_grants_configuration: self.query_results_s3_access_grants_configuration,
390 monitoring_configuration: self.monitoring_configuration,
391 engine_configuration: self.engine_configuration,
392 }
393 }
394}