aws_sdk_opensearch/operation/create_domain/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_domain::_create_domain_output::CreateDomainOutputBuilder;
3
4pub use crate::operation::create_domain::_create_domain_input::CreateDomainInputBuilder;
5
6impl crate::operation::create_domain::builders::CreateDomainInputBuilder {
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::create_domain::CreateDomainOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::create_domain::CreateDomainError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.create_domain();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CreateDomain`.
24///
25/// <p>Creates an Amazon OpenSearch Service domain. For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html">Creating and managing Amazon OpenSearch Service domains</a>.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateDomainFluentBuilder {
28 handle: ::std::sync::Arc<crate::client::Handle>,
29 inner: crate::operation::create_domain::builders::CreateDomainInputBuilder,
30 config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33 crate::client::customize::internal::CustomizableSend<
34 crate::operation::create_domain::CreateDomainOutput,
35 crate::operation::create_domain::CreateDomainError,
36 > for CreateDomainFluentBuilder
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::create_domain::CreateDomainOutput,
44 crate::operation::create_domain::CreateDomainError,
45 >,
46 > {
47 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48 }
49}
50impl CreateDomainFluentBuilder {
51 /// Creates a new `CreateDomainFluentBuilder`.
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 CreateDomain as a reference.
60 pub fn as_input(&self) -> &crate::operation::create_domain::builders::CreateDomainInputBuilder {
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::create_domain::CreateDomainOutput,
75 ::aws_smithy_runtime_api::client::result::SdkError<
76 crate::operation::create_domain::CreateDomainError,
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::create_domain::CreateDomain::operation_runtime_plugins(
85 self.handle.runtime_plugins.clone(),
86 &self.handle.conf,
87 self.config_override,
88 );
89 crate::operation::create_domain::CreateDomain::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::create_domain::CreateDomainOutput,
97 crate::operation::create_domain::CreateDomainError,
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>Name of the OpenSearch Service domain to create. Domain names are unique across the domains owned by an account within an Amazon Web Services Region.</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>Name of the OpenSearch Service domain to create. Domain names are unique across the domains owned by an account within an Amazon Web Services Region.</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>Name of the OpenSearch Service domain to create. Domain names are unique across the domains owned by an account within an Amazon Web Services Region.</p>
122 pub fn get_domain_name(&self) -> &::std::option::Option<::std::string::String> {
123 self.inner.get_domain_name()
124 }
125 /// <p>String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the OpenSearch Service domain. For example, <code>OpenSearch_1.0</code> or <code>Elasticsearch_7.9</code>. For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains">Creating and managing Amazon OpenSearch Service domains</a>.</p>
126 pub fn engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127 self.inner = self.inner.engine_version(input.into());
128 self
129 }
130 /// <p>String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the OpenSearch Service domain. For example, <code>OpenSearch_1.0</code> or <code>Elasticsearch_7.9</code>. For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains">Creating and managing Amazon OpenSearch Service domains</a>.</p>
131 pub fn set_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132 self.inner = self.inner.set_engine_version(input);
133 self
134 }
135 /// <p>String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the OpenSearch Service domain. For example, <code>OpenSearch_1.0</code> or <code>Elasticsearch_7.9</code>. For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains">Creating and managing Amazon OpenSearch Service domains</a>.</p>
136 pub fn get_engine_version(&self) -> &::std::option::Option<::std::string::String> {
137 self.inner.get_engine_version()
138 }
139 /// <p>Container for the cluster configuration of a domain.</p>
140 pub fn cluster_config(mut self, input: crate::types::ClusterConfig) -> Self {
141 self.inner = self.inner.cluster_config(input);
142 self
143 }
144 /// <p>Container for the cluster configuration of a domain.</p>
145 pub fn set_cluster_config(mut self, input: ::std::option::Option<crate::types::ClusterConfig>) -> Self {
146 self.inner = self.inner.set_cluster_config(input);
147 self
148 }
149 /// <p>Container for the cluster configuration of a domain.</p>
150 pub fn get_cluster_config(&self) -> &::std::option::Option<crate::types::ClusterConfig> {
151 self.inner.get_cluster_config()
152 }
153 /// <p>Container for the parameters required to enable EBS-based storage for an OpenSearch Service domain.</p>
154 pub fn ebs_options(mut self, input: crate::types::EbsOptions) -> Self {
155 self.inner = self.inner.ebs_options(input);
156 self
157 }
158 /// <p>Container for the parameters required to enable EBS-based storage for an OpenSearch Service domain.</p>
159 pub fn set_ebs_options(mut self, input: ::std::option::Option<crate::types::EbsOptions>) -> Self {
160 self.inner = self.inner.set_ebs_options(input);
161 self
162 }
163 /// <p>Container for the parameters required to enable EBS-based storage for an OpenSearch Service domain.</p>
164 pub fn get_ebs_options(&self) -> &::std::option::Option<crate::types::EbsOptions> {
165 self.inner.get_ebs_options()
166 }
167 /// <p>Identity and Access Management (IAM) policy document specifying the access policies for the new domain.</p>
168 pub fn access_policies(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
169 self.inner = self.inner.access_policies(input.into());
170 self
171 }
172 /// <p>Identity and Access Management (IAM) policy document specifying the access policies for the new domain.</p>
173 pub fn set_access_policies(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
174 self.inner = self.inner.set_access_policies(input);
175 self
176 }
177 /// <p>Identity and Access Management (IAM) policy document specifying the access policies for the new domain.</p>
178 pub fn get_access_policies(&self) -> &::std::option::Option<::std::string::String> {
179 self.inner.get_access_policies()
180 }
181 /// <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 you set your IP address type to dual stack, you can't change your address type later.</p>
182 pub fn ip_address_type(mut self, input: crate::types::IpAddressType) -> Self {
183 self.inner = self.inner.ip_address_type(input);
184 self
185 }
186 /// <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 you set your IP address type to dual stack, you can't change your address type later.</p>
187 pub fn set_ip_address_type(mut self, input: ::std::option::Option<crate::types::IpAddressType>) -> Self {
188 self.inner = self.inner.set_ip_address_type(input);
189 self
190 }
191 /// <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 you set your IP address type to dual stack, you can't change your address type later.</p>
192 pub fn get_ip_address_type(&self) -> &::std::option::Option<crate::types::IpAddressType> {
193 self.inner.get_ip_address_type()
194 }
195 /// <p>DEPRECATED. Container for the parameters required to configure automated snapshots of domain indexes.</p>
196 pub fn snapshot_options(mut self, input: crate::types::SnapshotOptions) -> Self {
197 self.inner = self.inner.snapshot_options(input);
198 self
199 }
200 /// <p>DEPRECATED. Container for the parameters required to configure automated snapshots of domain indexes.</p>
201 pub fn set_snapshot_options(mut self, input: ::std::option::Option<crate::types::SnapshotOptions>) -> Self {
202 self.inner = self.inner.set_snapshot_options(input);
203 self
204 }
205 /// <p>DEPRECATED. Container for the parameters required to configure automated snapshots of domain indexes.</p>
206 pub fn get_snapshot_options(&self) -> &::std::option::Option<crate::types::SnapshotOptions> {
207 self.inner.get_snapshot_options()
208 }
209 /// <p>Container for the values required to configure VPC access domains. If you don't specify these values, OpenSearch Service creates the domain with a public 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>
210 pub fn vpc_options(mut self, input: crate::types::VpcOptions) -> Self {
211 self.inner = self.inner.vpc_options(input);
212 self
213 }
214 /// <p>Container for the values required to configure VPC access domains. If you don't specify these values, OpenSearch Service creates the domain with a public 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>
215 pub fn set_vpc_options(mut self, input: ::std::option::Option<crate::types::VpcOptions>) -> Self {
216 self.inner = self.inner.set_vpc_options(input);
217 self
218 }
219 /// <p>Container for the values required to configure VPC access domains. If you don't specify these values, OpenSearch Service creates the domain with a public 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>
220 pub fn get_vpc_options(&self) -> &::std::option::Option<crate::types::VpcOptions> {
221 self.inner.get_vpc_options()
222 }
223 /// <p>Key-value pairs to configure Amazon Cognito authentication. For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html">Configuring Amazon Cognito authentication for OpenSearch Dashboards</a>.</p>
224 pub fn cognito_options(mut self, input: crate::types::CognitoOptions) -> Self {
225 self.inner = self.inner.cognito_options(input);
226 self
227 }
228 /// <p>Key-value pairs to configure Amazon Cognito authentication. For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html">Configuring Amazon Cognito authentication for OpenSearch Dashboards</a>.</p>
229 pub fn set_cognito_options(mut self, input: ::std::option::Option<crate::types::CognitoOptions>) -> Self {
230 self.inner = self.inner.set_cognito_options(input);
231 self
232 }
233 /// <p>Key-value pairs to configure Amazon Cognito authentication. For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html">Configuring Amazon Cognito authentication for OpenSearch Dashboards</a>.</p>
234 pub fn get_cognito_options(&self) -> &::std::option::Option<crate::types::CognitoOptions> {
235 self.inner.get_cognito_options()
236 }
237 /// <p>Key-value pairs to enable encryption at rest.</p>
238 pub fn encryption_at_rest_options(mut self, input: crate::types::EncryptionAtRestOptions) -> Self {
239 self.inner = self.inner.encryption_at_rest_options(input);
240 self
241 }
242 /// <p>Key-value pairs to enable encryption at rest.</p>
243 pub fn set_encryption_at_rest_options(mut self, input: ::std::option::Option<crate::types::EncryptionAtRestOptions>) -> Self {
244 self.inner = self.inner.set_encryption_at_rest_options(input);
245 self
246 }
247 /// <p>Key-value pairs to enable encryption at rest.</p>
248 pub fn get_encryption_at_rest_options(&self) -> &::std::option::Option<crate::types::EncryptionAtRestOptions> {
249 self.inner.get_encryption_at_rest_options()
250 }
251 /// <p>Enables node-to-node encryption.</p>
252 pub fn node_to_node_encryption_options(mut self, input: crate::types::NodeToNodeEncryptionOptions) -> Self {
253 self.inner = self.inner.node_to_node_encryption_options(input);
254 self
255 }
256 /// <p>Enables node-to-node encryption.</p>
257 pub fn set_node_to_node_encryption_options(mut self, input: ::std::option::Option<crate::types::NodeToNodeEncryptionOptions>) -> Self {
258 self.inner = self.inner.set_node_to_node_encryption_options(input);
259 self
260 }
261 /// <p>Enables node-to-node encryption.</p>
262 pub fn get_node_to_node_encryption_options(&self) -> &::std::option::Option<crate::types::NodeToNodeEncryptionOptions> {
263 self.inner.get_node_to_node_encryption_options()
264 }
265 ///
266 /// Adds a key-value pair to `AdvancedOptions`.
267 ///
268 /// To override the contents of this collection use [`set_advanced_options`](Self::set_advanced_options).
269 ///
270 /// <p>Key-value pairs to specify advanced configuration options. The following key-value pairs are supported:</p>
271 /// <ul>
272 /// <li>
273 /// <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>
274 /// <li>
275 /// <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>
276 /// <li>
277 /// <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>
278 /// <li>
279 /// <p><code>"override_main_response_version": "true" | "false"</code> - Note the use of a string rather than a boolean. Specifies whether the domain reports its version as 7.10 to allow Elasticsearch OSS clients and plugins to continue working with it. Default is false when creating a domain and true when upgrading a domain.</p></li>
280 /// </ul>
281 /// <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>
282 pub fn advanced_options(
283 mut self,
284 k: impl ::std::convert::Into<::std::string::String>,
285 v: impl ::std::convert::Into<::std::string::String>,
286 ) -> Self {
287 self.inner = self.inner.advanced_options(k.into(), v.into());
288 self
289 }
290 /// <p>Key-value pairs to specify advanced configuration options. The following key-value pairs are supported:</p>
291 /// <ul>
292 /// <li>
293 /// <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>
294 /// <li>
295 /// <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>
296 /// <li>
297 /// <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>
298 /// <li>
299 /// <p><code>"override_main_response_version": "true" | "false"</code> - Note the use of a string rather than a boolean. Specifies whether the domain reports its version as 7.10 to allow Elasticsearch OSS clients and plugins to continue working with it. Default is false when creating a domain and true when upgrading a domain.</p></li>
300 /// </ul>
301 /// <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>
302 pub fn set_advanced_options(
303 mut self,
304 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
305 ) -> Self {
306 self.inner = self.inner.set_advanced_options(input);
307 self
308 }
309 /// <p>Key-value pairs to specify advanced configuration options. The following key-value pairs are supported:</p>
310 /// <ul>
311 /// <li>
312 /// <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>
313 /// <li>
314 /// <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>
315 /// <li>
316 /// <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>
317 /// <li>
318 /// <p><code>"override_main_response_version": "true" | "false"</code> - Note the use of a string rather than a boolean. Specifies whether the domain reports its version as 7.10 to allow Elasticsearch OSS clients and plugins to continue working with it. Default is false when creating a domain and true when upgrading a domain.</p></li>
319 /// </ul>
320 /// <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>
321 pub fn get_advanced_options(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
322 self.inner.get_advanced_options()
323 }
324 ///
325 /// Adds a key-value pair to `LogPublishingOptions`.
326 ///
327 /// To override the contents of this collection use [`set_log_publishing_options`](Self::set_log_publishing_options).
328 ///
329 /// <p>Key-value pairs to configure log publishing.</p>
330 pub fn log_publishing_options(mut self, k: crate::types::LogType, v: crate::types::LogPublishingOption) -> Self {
331 self.inner = self.inner.log_publishing_options(k, v);
332 self
333 }
334 /// <p>Key-value pairs to configure log publishing.</p>
335 pub fn set_log_publishing_options(
336 mut self,
337 input: ::std::option::Option<::std::collections::HashMap<crate::types::LogType, crate::types::LogPublishingOption>>,
338 ) -> Self {
339 self.inner = self.inner.set_log_publishing_options(input);
340 self
341 }
342 /// <p>Key-value pairs to configure log publishing.</p>
343 pub fn get_log_publishing_options(
344 &self,
345 ) -> &::std::option::Option<::std::collections::HashMap<crate::types::LogType, crate::types::LogPublishingOption>> {
346 self.inner.get_log_publishing_options()
347 }
348 /// <p>Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.</p>
349 pub fn domain_endpoint_options(mut self, input: crate::types::DomainEndpointOptions) -> Self {
350 self.inner = self.inner.domain_endpoint_options(input);
351 self
352 }
353 /// <p>Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.</p>
354 pub fn set_domain_endpoint_options(mut self, input: ::std::option::Option<crate::types::DomainEndpointOptions>) -> Self {
355 self.inner = self.inner.set_domain_endpoint_options(input);
356 self
357 }
358 /// <p>Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.</p>
359 pub fn get_domain_endpoint_options(&self) -> &::std::option::Option<crate::types::DomainEndpointOptions> {
360 self.inner.get_domain_endpoint_options()
361 }
362 /// <p>Options for fine-grained access control.</p>
363 pub fn advanced_security_options(mut self, input: crate::types::AdvancedSecurityOptionsInput) -> Self {
364 self.inner = self.inner.advanced_security_options(input);
365 self
366 }
367 /// <p>Options for fine-grained access control.</p>
368 pub fn set_advanced_security_options(mut self, input: ::std::option::Option<crate::types::AdvancedSecurityOptionsInput>) -> Self {
369 self.inner = self.inner.set_advanced_security_options(input);
370 self
371 }
372 /// <p>Options for fine-grained access control.</p>
373 pub fn get_advanced_security_options(&self) -> &::std::option::Option<crate::types::AdvancedSecurityOptionsInput> {
374 self.inner.get_advanced_security_options()
375 }
376 /// <p>Configuration options for enabling and managing IAM Identity Center integration within a domain.</p>
377 pub fn identity_center_options(mut self, input: crate::types::IdentityCenterOptionsInput) -> Self {
378 self.inner = self.inner.identity_center_options(input);
379 self
380 }
381 /// <p>Configuration options for enabling and managing IAM Identity Center integration within a domain.</p>
382 pub fn set_identity_center_options(mut self, input: ::std::option::Option<crate::types::IdentityCenterOptionsInput>) -> Self {
383 self.inner = self.inner.set_identity_center_options(input);
384 self
385 }
386 /// <p>Configuration options for enabling and managing IAM Identity Center integration within a domain.</p>
387 pub fn get_identity_center_options(&self) -> &::std::option::Option<crate::types::IdentityCenterOptionsInput> {
388 self.inner.get_identity_center_options()
389 }
390 ///
391 /// Appends an item to `TagList`.
392 ///
393 /// To override the contents of this collection use [`set_tag_list`](Self::set_tag_list).
394 ///
395 /// <p>List of tags to add to the domain upon creation.</p>
396 pub fn tag_list(mut self, input: crate::types::Tag) -> Self {
397 self.inner = self.inner.tag_list(input);
398 self
399 }
400 /// <p>List of tags to add to the domain upon creation.</p>
401 pub fn set_tag_list(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
402 self.inner = self.inner.set_tag_list(input);
403 self
404 }
405 /// <p>List of tags to add to the domain upon creation.</p>
406 pub fn get_tag_list(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
407 self.inner.get_tag_list()
408 }
409 /// <p>Options for Auto-Tune.</p>
410 pub fn auto_tune_options(mut self, input: crate::types::AutoTuneOptionsInput) -> Self {
411 self.inner = self.inner.auto_tune_options(input);
412 self
413 }
414 /// <p>Options for Auto-Tune.</p>
415 pub fn set_auto_tune_options(mut self, input: ::std::option::Option<crate::types::AutoTuneOptionsInput>) -> Self {
416 self.inner = self.inner.set_auto_tune_options(input);
417 self
418 }
419 /// <p>Options for Auto-Tune.</p>
420 pub fn get_auto_tune_options(&self) -> &::std::option::Option<crate::types::AutoTuneOptionsInput> {
421 self.inner.get_auto_tune_options()
422 }
423 /// <p>Specifies a daily 10-hour time block during which OpenSearch Service can perform configuration changes on the domain, including service software updates and Auto-Tune enhancements that require a blue/green deployment. If no options are specified, the default start time of 10:00 P.M. local time (for the Region that the domain is created in) is used.</p>
424 pub fn off_peak_window_options(mut self, input: crate::types::OffPeakWindowOptions) -> Self {
425 self.inner = self.inner.off_peak_window_options(input);
426 self
427 }
428 /// <p>Specifies a daily 10-hour time block during which OpenSearch Service can perform configuration changes on the domain, including service software updates and Auto-Tune enhancements that require a blue/green deployment. If no options are specified, the default start time of 10:00 P.M. local time (for the Region that the domain is created in) is used.</p>
429 pub fn set_off_peak_window_options(mut self, input: ::std::option::Option<crate::types::OffPeakWindowOptions>) -> Self {
430 self.inner = self.inner.set_off_peak_window_options(input);
431 self
432 }
433 /// <p>Specifies a daily 10-hour time block during which OpenSearch Service can perform configuration changes on the domain, including service software updates and Auto-Tune enhancements that require a blue/green deployment. If no options are specified, the default start time of 10:00 P.M. local time (for the Region that the domain is created in) is used.</p>
434 pub fn get_off_peak_window_options(&self) -> &::std::option::Option<crate::types::OffPeakWindowOptions> {
435 self.inner.get_off_peak_window_options()
436 }
437 /// <p>Software update options for the domain.</p>
438 pub fn software_update_options(mut self, input: crate::types::SoftwareUpdateOptions) -> Self {
439 self.inner = self.inner.software_update_options(input);
440 self
441 }
442 /// <p>Software update options for the domain.</p>
443 pub fn set_software_update_options(mut self, input: ::std::option::Option<crate::types::SoftwareUpdateOptions>) -> Self {
444 self.inner = self.inner.set_software_update_options(input);
445 self
446 }
447 /// <p>Software update options for the domain.</p>
448 pub fn get_software_update_options(&self) -> &::std::option::Option<crate::types::SoftwareUpdateOptions> {
449 self.inner.get_software_update_options()
450 }
451 /// <p>Options for all machine learning features for the specified domain.</p>
452 pub fn aiml_options(mut self, input: crate::types::AimlOptionsInput) -> Self {
453 self.inner = self.inner.aiml_options(input);
454 self
455 }
456 /// <p>Options for all machine learning features for the specified domain.</p>
457 pub fn set_aiml_options(mut self, input: ::std::option::Option<crate::types::AimlOptionsInput>) -> Self {
458 self.inner = self.inner.set_aiml_options(input);
459 self
460 }
461 /// <p>Options for all machine learning features for the specified domain.</p>
462 pub fn get_aiml_options(&self) -> &::std::option::Option<crate::types::AimlOptionsInput> {
463 self.inner.get_aiml_options()
464 }
465}