aws_sdk_opensearch/operation/update_domain_config/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_domain_config::_update_domain_config_output::UpdateDomainConfigOutputBuilder;
3
4pub use crate::operation::update_domain_config::_update_domain_config_input::UpdateDomainConfigInputBuilder;
5
6impl crate::operation::update_domain_config::builders::UpdateDomainConfigInputBuilder {
7 /// Sends a request with this input using the given client.
8 pub async fn send_with(
9 self,
10 client: &crate::Client,
11 ) -> ::std::result::Result<
12 crate::operation::update_domain_config::UpdateDomainConfigOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::update_domain_config::UpdateDomainConfigError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.update_domain_config();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `UpdateDomainConfig`.
24///
25/// <p>Modifies the cluster configuration of the specified Amazon OpenSearch Service domain.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct UpdateDomainConfigFluentBuilder {
28 handle: ::std::sync::Arc<crate::client::Handle>,
29 inner: crate::operation::update_domain_config::builders::UpdateDomainConfigInputBuilder,
30 config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33 crate::client::customize::internal::CustomizableSend<
34 crate::operation::update_domain_config::UpdateDomainConfigOutput,
35 crate::operation::update_domain_config::UpdateDomainConfigError,
36 > for UpdateDomainConfigFluentBuilder
37{
38 fn send(
39 self,
40 config_override: crate::config::Builder,
41 ) -> crate::client::customize::internal::BoxFuture<
42 crate::client::customize::internal::SendResult<
43 crate::operation::update_domain_config::UpdateDomainConfigOutput,
44 crate::operation::update_domain_config::UpdateDomainConfigError,
45 >,
46 > {
47 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48 }
49}
50impl UpdateDomainConfigFluentBuilder {
51 /// Creates a new `UpdateDomainConfigFluentBuilder`.
52 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53 Self {
54 handle,
55 inner: ::std::default::Default::default(),
56 config_override: ::std::option::Option::None,
57 }
58 }
59 /// Access the UpdateDomainConfig as a reference.
60 pub fn as_input(&self) -> &crate::operation::update_domain_config::builders::UpdateDomainConfigInputBuilder {
61 &self.inner
62 }
63 /// Sends the request and returns the response.
64 ///
65 /// If an error occurs, an `SdkError` will be returned with additional details that
66 /// can be matched against.
67 ///
68 /// By default, any retryable failures will be retried twice. Retry behavior
69 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70 /// set when configuring the client.
71 pub async fn send(
72 self,
73 ) -> ::std::result::Result<
74 crate::operation::update_domain_config::UpdateDomainConfigOutput,
75 ::aws_smithy_runtime_api::client::result::SdkError<
76 crate::operation::update_domain_config::UpdateDomainConfigError,
77 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78 >,
79 > {
80 let input = self
81 .inner
82 .build()
83 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84 let runtime_plugins = crate::operation::update_domain_config::UpdateDomainConfig::operation_runtime_plugins(
85 self.handle.runtime_plugins.clone(),
86 &self.handle.conf,
87 self.config_override,
88 );
89 crate::operation::update_domain_config::UpdateDomainConfig::orchestrate(&runtime_plugins, input).await
90 }
91
92 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93 pub fn customize(
94 self,
95 ) -> crate::client::customize::CustomizableOperation<
96 crate::operation::update_domain_config::UpdateDomainConfigOutput,
97 crate::operation::update_domain_config::UpdateDomainConfigError,
98 Self,
99 > {
100 crate::client::customize::CustomizableOperation::new(self)
101 }
102 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103 self.set_config_override(::std::option::Option::Some(config_override.into()));
104 self
105 }
106
107 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108 self.config_override = config_override;
109 self
110 }
111 /// <p>The name of the domain that you're updating.</p>
112 pub fn domain_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113 self.inner = self.inner.domain_name(input.into());
114 self
115 }
116 /// <p>The name of the domain that you're updating.</p>
117 pub fn set_domain_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118 self.inner = self.inner.set_domain_name(input);
119 self
120 }
121 /// <p>The name of the domain that you're updating.</p>
122 pub fn get_domain_name(&self) -> &::std::option::Option<::std::string::String> {
123 self.inner.get_domain_name()
124 }
125 /// <p>Changes that you want to make to the cluster configuration, such as the instance type and number of EC2 instances.</p>
126 pub fn cluster_config(mut self, input: crate::types::ClusterConfig) -> Self {
127 self.inner = self.inner.cluster_config(input);
128 self
129 }
130 /// <p>Changes that you want to make to the cluster configuration, such as the instance type and number of EC2 instances.</p>
131 pub fn set_cluster_config(mut self, input: ::std::option::Option<crate::types::ClusterConfig>) -> Self {
132 self.inner = self.inner.set_cluster_config(input);
133 self
134 }
135 /// <p>Changes that you want to make to the cluster configuration, such as the instance type and number of EC2 instances.</p>
136 pub fn get_cluster_config(&self) -> &::std::option::Option<crate::types::ClusterConfig> {
137 self.inner.get_cluster_config()
138 }
139 /// <p>The type and size of the EBS volume to attach to instances in the domain.</p>
140 pub fn ebs_options(mut self, input: crate::types::EbsOptions) -> Self {
141 self.inner = self.inner.ebs_options(input);
142 self
143 }
144 /// <p>The type and size of the EBS volume to attach to instances in the domain.</p>
145 pub fn set_ebs_options(mut self, input: ::std::option::Option<crate::types::EbsOptions>) -> Self {
146 self.inner = self.inner.set_ebs_options(input);
147 self
148 }
149 /// <p>The type and size of the EBS volume to attach to instances in the domain.</p>
150 pub fn get_ebs_options(&self) -> &::std::option::Option<crate::types::EbsOptions> {
151 self.inner.get_ebs_options()
152 }
153 /// <p>Option to set the time, in UTC format, for the daily automated snapshot. Default value is <code>0</code> hours.</p>
154 pub fn snapshot_options(mut self, input: crate::types::SnapshotOptions) -> Self {
155 self.inner = self.inner.snapshot_options(input);
156 self
157 }
158 /// <p>Option to set the time, in UTC format, for the daily automated snapshot. Default value is <code>0</code> hours.</p>
159 pub fn set_snapshot_options(mut self, input: ::std::option::Option<crate::types::SnapshotOptions>) -> Self {
160 self.inner = self.inner.set_snapshot_options(input);
161 self
162 }
163 /// <p>Option to set the time, in UTC format, for the daily automated snapshot. Default value is <code>0</code> hours.</p>
164 pub fn get_snapshot_options(&self) -> &::std::option::Option<crate::types::SnapshotOptions> {
165 self.inner.get_snapshot_options()
166 }
167 /// <p>Options to specify the subnets and security groups for a VPC endpoint. For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html">Launching your Amazon OpenSearch Service domains using a VPC</a>.</p>
168 pub fn vpc_options(mut self, input: crate::types::VpcOptions) -> Self {
169 self.inner = self.inner.vpc_options(input);
170 self
171 }
172 /// <p>Options to specify the subnets and security groups for a VPC endpoint. For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html">Launching your Amazon OpenSearch Service domains using a VPC</a>.</p>
173 pub fn set_vpc_options(mut self, input: ::std::option::Option<crate::types::VpcOptions>) -> Self {
174 self.inner = self.inner.set_vpc_options(input);
175 self
176 }
177 /// <p>Options to specify the subnets and security groups for a VPC endpoint. For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html">Launching your Amazon OpenSearch Service domains using a VPC</a>.</p>
178 pub fn get_vpc_options(&self) -> &::std::option::Option<crate::types::VpcOptions> {
179 self.inner.get_vpc_options()
180 }
181 /// <p>Key-value pairs to configure Amazon Cognito authentication for OpenSearch Dashboards.</p>
182 pub fn cognito_options(mut self, input: crate::types::CognitoOptions) -> Self {
183 self.inner = self.inner.cognito_options(input);
184 self
185 }
186 /// <p>Key-value pairs to configure Amazon Cognito authentication for OpenSearch Dashboards.</p>
187 pub fn set_cognito_options(mut self, input: ::std::option::Option<crate::types::CognitoOptions>) -> Self {
188 self.inner = self.inner.set_cognito_options(input);
189 self
190 }
191 /// <p>Key-value pairs to configure Amazon Cognito authentication for OpenSearch Dashboards.</p>
192 pub fn get_cognito_options(&self) -> &::std::option::Option<crate::types::CognitoOptions> {
193 self.inner.get_cognito_options()
194 }
195 ///
196 /// Adds a key-value pair to `AdvancedOptions`.
197 ///
198 /// To override the contents of this collection use [`set_advanced_options`](Self::set_advanced_options).
199 ///
200 /// <p>Key-value pairs to specify advanced configuration options. The following key-value pairs are supported:</p>
201 /// <ul>
202 /// <li>
203 /// <p><code>"rest.action.multi.allow_explicit_index": "true" | "false"</code> - Note the use of a string rather than a boolean. Specifies whether explicit references to indexes are allowed inside the body of HTTP requests. If you want to configure access policies for domain sub-resources, such as specific indexes and domain APIs, you must disable this property. Default is true.</p></li>
204 /// <li>
205 /// <p><code>"indices.fielddata.cache.size": "80" </code> - Note the use of a string rather than a boolean. Specifies the percentage of heap space allocated to field data. Default is unbounded.</p></li>
206 /// <li>
207 /// <p><code>"indices.query.bool.max_clause_count": "1024"</code> - Note the use of a string rather than a boolean. Specifies the maximum number of clauses allowed in a Lucene boolean query. Default is 1,024. Queries with more than the permitted number of clauses result in a <code>TooManyClauses</code> error.</p></li>
208 /// </ul>
209 /// <p>For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options">Advanced cluster parameters</a>.</p>
210 pub fn advanced_options(
211 mut self,
212 k: impl ::std::convert::Into<::std::string::String>,
213 v: impl ::std::convert::Into<::std::string::String>,
214 ) -> Self {
215 self.inner = self.inner.advanced_options(k.into(), v.into());
216 self
217 }
218 /// <p>Key-value pairs to specify advanced configuration options. The following key-value pairs are supported:</p>
219 /// <ul>
220 /// <li>
221 /// <p><code>"rest.action.multi.allow_explicit_index": "true" | "false"</code> - Note the use of a string rather than a boolean. Specifies whether explicit references to indexes are allowed inside the body of HTTP requests. If you want to configure access policies for domain sub-resources, such as specific indexes and domain APIs, you must disable this property. Default is true.</p></li>
222 /// <li>
223 /// <p><code>"indices.fielddata.cache.size": "80" </code> - Note the use of a string rather than a boolean. Specifies the percentage of heap space allocated to field data. Default is unbounded.</p></li>
224 /// <li>
225 /// <p><code>"indices.query.bool.max_clause_count": "1024"</code> - Note the use of a string rather than a boolean. Specifies the maximum number of clauses allowed in a Lucene boolean query. Default is 1,024. Queries with more than the permitted number of clauses result in a <code>TooManyClauses</code> error.</p></li>
226 /// </ul>
227 /// <p>For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options">Advanced cluster parameters</a>.</p>
228 pub fn set_advanced_options(
229 mut self,
230 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
231 ) -> Self {
232 self.inner = self.inner.set_advanced_options(input);
233 self
234 }
235 /// <p>Key-value pairs to specify advanced configuration options. The following key-value pairs are supported:</p>
236 /// <ul>
237 /// <li>
238 /// <p><code>"rest.action.multi.allow_explicit_index": "true" | "false"</code> - Note the use of a string rather than a boolean. Specifies whether explicit references to indexes are allowed inside the body of HTTP requests. If you want to configure access policies for domain sub-resources, such as specific indexes and domain APIs, you must disable this property. Default is true.</p></li>
239 /// <li>
240 /// <p><code>"indices.fielddata.cache.size": "80" </code> - Note the use of a string rather than a boolean. Specifies the percentage of heap space allocated to field data. Default is unbounded.</p></li>
241 /// <li>
242 /// <p><code>"indices.query.bool.max_clause_count": "1024"</code> - Note the use of a string rather than a boolean. Specifies the maximum number of clauses allowed in a Lucene boolean query. Default is 1,024. Queries with more than the permitted number of clauses result in a <code>TooManyClauses</code> error.</p></li>
243 /// </ul>
244 /// <p>For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options">Advanced cluster parameters</a>.</p>
245 pub fn get_advanced_options(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
246 self.inner.get_advanced_options()
247 }
248 /// <p>Identity and Access Management (IAM) access policy as a JSON-formatted string.</p>
249 pub fn access_policies(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
250 self.inner = self.inner.access_policies(input.into());
251 self
252 }
253 /// <p>Identity and Access Management (IAM) access policy as a JSON-formatted string.</p>
254 pub fn set_access_policies(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
255 self.inner = self.inner.set_access_policies(input);
256 self
257 }
258 /// <p>Identity and Access Management (IAM) access policy as a JSON-formatted string.</p>
259 pub fn get_access_policies(&self) -> &::std::option::Option<::std::string::String> {
260 self.inner.get_access_policies()
261 }
262 /// <p>Specify either dual stack or IPv4 as your IP address type. Dual stack allows you to share domain resources across IPv4 and IPv6 address types, and is the recommended option. If your IP address type is currently set to dual stack, you can't change it.</p>
263 pub fn ip_address_type(mut self, input: crate::types::IpAddressType) -> Self {
264 self.inner = self.inner.ip_address_type(input);
265 self
266 }
267 /// <p>Specify either dual stack or IPv4 as your IP address type. Dual stack allows you to share domain resources across IPv4 and IPv6 address types, and is the recommended option. If your IP address type is currently set to dual stack, you can't change it.</p>
268 pub fn set_ip_address_type(mut self, input: ::std::option::Option<crate::types::IpAddressType>) -> Self {
269 self.inner = self.inner.set_ip_address_type(input);
270 self
271 }
272 /// <p>Specify either dual stack or IPv4 as your IP address type. Dual stack allows you to share domain resources across IPv4 and IPv6 address types, and is the recommended option. If your IP address type is currently set to dual stack, you can't change it.</p>
273 pub fn get_ip_address_type(&self) -> &::std::option::Option<crate::types::IpAddressType> {
274 self.inner.get_ip_address_type()
275 }
276 ///
277 /// Adds a key-value pair to `LogPublishingOptions`.
278 ///
279 /// To override the contents of this collection use [`set_log_publishing_options`](Self::set_log_publishing_options).
280 ///
281 /// <p>Options to publish OpenSearch logs to Amazon CloudWatch Logs.</p>
282 pub fn log_publishing_options(mut self, k: crate::types::LogType, v: crate::types::LogPublishingOption) -> Self {
283 self.inner = self.inner.log_publishing_options(k, v);
284 self
285 }
286 /// <p>Options to publish OpenSearch logs to Amazon CloudWatch Logs.</p>
287 pub fn set_log_publishing_options(
288 mut self,
289 input: ::std::option::Option<::std::collections::HashMap<crate::types::LogType, crate::types::LogPublishingOption>>,
290 ) -> Self {
291 self.inner = self.inner.set_log_publishing_options(input);
292 self
293 }
294 /// <p>Options to publish OpenSearch logs to Amazon CloudWatch Logs.</p>
295 pub fn get_log_publishing_options(
296 &self,
297 ) -> &::std::option::Option<::std::collections::HashMap<crate::types::LogType, crate::types::LogPublishingOption>> {
298 self.inner.get_log_publishing_options()
299 }
300 /// <p>Encryption at rest options for the domain.</p>
301 pub fn encryption_at_rest_options(mut self, input: crate::types::EncryptionAtRestOptions) -> Self {
302 self.inner = self.inner.encryption_at_rest_options(input);
303 self
304 }
305 /// <p>Encryption at rest options for the domain.</p>
306 pub fn set_encryption_at_rest_options(mut self, input: ::std::option::Option<crate::types::EncryptionAtRestOptions>) -> Self {
307 self.inner = self.inner.set_encryption_at_rest_options(input);
308 self
309 }
310 /// <p>Encryption at rest options for the domain.</p>
311 pub fn get_encryption_at_rest_options(&self) -> &::std::option::Option<crate::types::EncryptionAtRestOptions> {
312 self.inner.get_encryption_at_rest_options()
313 }
314 /// <p>Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.</p>
315 pub fn domain_endpoint_options(mut self, input: crate::types::DomainEndpointOptions) -> Self {
316 self.inner = self.inner.domain_endpoint_options(input);
317 self
318 }
319 /// <p>Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.</p>
320 pub fn set_domain_endpoint_options(mut self, input: ::std::option::Option<crate::types::DomainEndpointOptions>) -> Self {
321 self.inner = self.inner.set_domain_endpoint_options(input);
322 self
323 }
324 /// <p>Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.</p>
325 pub fn get_domain_endpoint_options(&self) -> &::std::option::Option<crate::types::DomainEndpointOptions> {
326 self.inner.get_domain_endpoint_options()
327 }
328 /// <p>Node-to-node encryption options for the domain.</p>
329 pub fn node_to_node_encryption_options(mut self, input: crate::types::NodeToNodeEncryptionOptions) -> Self {
330 self.inner = self.inner.node_to_node_encryption_options(input);
331 self
332 }
333 /// <p>Node-to-node encryption options for the domain.</p>
334 pub fn set_node_to_node_encryption_options(mut self, input: ::std::option::Option<crate::types::NodeToNodeEncryptionOptions>) -> Self {
335 self.inner = self.inner.set_node_to_node_encryption_options(input);
336 self
337 }
338 /// <p>Node-to-node encryption options for the domain.</p>
339 pub fn get_node_to_node_encryption_options(&self) -> &::std::option::Option<crate::types::NodeToNodeEncryptionOptions> {
340 self.inner.get_node_to_node_encryption_options()
341 }
342 /// <p>Options for fine-grained access control.</p>
343 pub fn advanced_security_options(mut self, input: crate::types::AdvancedSecurityOptionsInput) -> Self {
344 self.inner = self.inner.advanced_security_options(input);
345 self
346 }
347 /// <p>Options for fine-grained access control.</p>
348 pub fn set_advanced_security_options(mut self, input: ::std::option::Option<crate::types::AdvancedSecurityOptionsInput>) -> Self {
349 self.inner = self.inner.set_advanced_security_options(input);
350 self
351 }
352 /// <p>Options for fine-grained access control.</p>
353 pub fn get_advanced_security_options(&self) -> &::std::option::Option<crate::types::AdvancedSecurityOptionsInput> {
354 self.inner.get_advanced_security_options()
355 }
356 /// <p>Configuration settings for enabling and managing IAM Identity Center.</p>
357 pub fn identity_center_options(mut self, input: crate::types::IdentityCenterOptionsInput) -> Self {
358 self.inner = self.inner.identity_center_options(input);
359 self
360 }
361 /// <p>Configuration settings for enabling and managing IAM Identity Center.</p>
362 pub fn set_identity_center_options(mut self, input: ::std::option::Option<crate::types::IdentityCenterOptionsInput>) -> Self {
363 self.inner = self.inner.set_identity_center_options(input);
364 self
365 }
366 /// <p>Configuration settings for enabling and managing IAM Identity Center.</p>
367 pub fn get_identity_center_options(&self) -> &::std::option::Option<crate::types::IdentityCenterOptionsInput> {
368 self.inner.get_identity_center_options()
369 }
370 /// <p>Options for Auto-Tune.</p>
371 pub fn auto_tune_options(mut self, input: crate::types::AutoTuneOptions) -> Self {
372 self.inner = self.inner.auto_tune_options(input);
373 self
374 }
375 /// <p>Options for Auto-Tune.</p>
376 pub fn set_auto_tune_options(mut self, input: ::std::option::Option<crate::types::AutoTuneOptions>) -> Self {
377 self.inner = self.inner.set_auto_tune_options(input);
378 self
379 }
380 /// <p>Options for Auto-Tune.</p>
381 pub fn get_auto_tune_options(&self) -> &::std::option::Option<crate::types::AutoTuneOptions> {
382 self.inner.get_auto_tune_options()
383 }
384 /// <p>This flag, when set to True, specifies whether the <code>UpdateDomain</code> request should return the results of a dry run analysis without actually applying the change. A dry run determines what type of deployment the update will cause.</p>
385 pub fn dry_run(mut self, input: bool) -> Self {
386 self.inner = self.inner.dry_run(input);
387 self
388 }
389 /// <p>This flag, when set to True, specifies whether the <code>UpdateDomain</code> request should return the results of a dry run analysis without actually applying the change. A dry run determines what type of deployment the update will cause.</p>
390 pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
391 self.inner = self.inner.set_dry_run(input);
392 self
393 }
394 /// <p>This flag, when set to True, specifies whether the <code>UpdateDomain</code> request should return the results of a dry run analysis without actually applying the change. A dry run determines what type of deployment the update will cause.</p>
395 pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
396 self.inner.get_dry_run()
397 }
398 /// <p>The type of dry run to perform.</p>
399 /// <ul>
400 /// <li>
401 /// <p><code>Basic</code> only returns the type of deployment (blue/green or dynamic) that the update will cause.</p></li>
402 /// <li>
403 /// <p><code>Verbose</code> runs an additional check to validate the changes you're making. For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-configuration-changes#validation-check">Validating a domain update</a>.</p></li>
404 /// </ul>
405 pub fn dry_run_mode(mut self, input: crate::types::DryRunMode) -> Self {
406 self.inner = self.inner.dry_run_mode(input);
407 self
408 }
409 /// <p>The type of dry run to perform.</p>
410 /// <ul>
411 /// <li>
412 /// <p><code>Basic</code> only returns the type of deployment (blue/green or dynamic) that the update will cause.</p></li>
413 /// <li>
414 /// <p><code>Verbose</code> runs an additional check to validate the changes you're making. For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-configuration-changes#validation-check">Validating a domain update</a>.</p></li>
415 /// </ul>
416 pub fn set_dry_run_mode(mut self, input: ::std::option::Option<crate::types::DryRunMode>) -> Self {
417 self.inner = self.inner.set_dry_run_mode(input);
418 self
419 }
420 /// <p>The type of dry run to perform.</p>
421 /// <ul>
422 /// <li>
423 /// <p><code>Basic</code> only returns the type of deployment (blue/green or dynamic) that the update will cause.</p></li>
424 /// <li>
425 /// <p><code>Verbose</code> runs an additional check to validate the changes you're making. For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-configuration-changes#validation-check">Validating a domain update</a>.</p></li>
426 /// </ul>
427 pub fn get_dry_run_mode(&self) -> &::std::option::Option<crate::types::DryRunMode> {
428 self.inner.get_dry_run_mode()
429 }
430 /// <p>Off-peak window options for the domain.</p>
431 pub fn off_peak_window_options(mut self, input: crate::types::OffPeakWindowOptions) -> Self {
432 self.inner = self.inner.off_peak_window_options(input);
433 self
434 }
435 /// <p>Off-peak window options for the domain.</p>
436 pub fn set_off_peak_window_options(mut self, input: ::std::option::Option<crate::types::OffPeakWindowOptions>) -> Self {
437 self.inner = self.inner.set_off_peak_window_options(input);
438 self
439 }
440 /// <p>Off-peak window options for the domain.</p>
441 pub fn get_off_peak_window_options(&self) -> &::std::option::Option<crate::types::OffPeakWindowOptions> {
442 self.inner.get_off_peak_window_options()
443 }
444 /// <p>Service software update options for the domain.</p>
445 pub fn software_update_options(mut self, input: crate::types::SoftwareUpdateOptions) -> Self {
446 self.inner = self.inner.software_update_options(input);
447 self
448 }
449 /// <p>Service software update options for the domain.</p>
450 pub fn set_software_update_options(mut self, input: ::std::option::Option<crate::types::SoftwareUpdateOptions>) -> Self {
451 self.inner = self.inner.set_software_update_options(input);
452 self
453 }
454 /// <p>Service software update options for the domain.</p>
455 pub fn get_software_update_options(&self) -> &::std::option::Option<crate::types::SoftwareUpdateOptions> {
456 self.inner.get_software_update_options()
457 }
458 /// <p>Options for all machine learning features for the specified domain.</p>
459 pub fn aiml_options(mut self, input: crate::types::AimlOptionsInput) -> Self {
460 self.inner = self.inner.aiml_options(input);
461 self
462 }
463 /// <p>Options for all machine learning features for the specified domain.</p>
464 pub fn set_aiml_options(mut self, input: ::std::option::Option<crate::types::AimlOptionsInput>) -> Self {
465 self.inner = self.inner.set_aiml_options(input);
466 self
467 }
468 /// <p>Options for all machine learning features for the specified domain.</p>
469 pub fn get_aiml_options(&self) -> &::std::option::Option<crate::types::AimlOptionsInput> {
470 self.inner.get_aiml_options()
471 }
472}