// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateDomain`](crate::operation::create_domain::builders::CreateDomainFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`domain_name(impl ::std::convert::Into<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::domain_name) / [`set_domain_name(Option<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_domain_name): <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>
/// - [`engine_version(impl ::std::convert::Into<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::engine_version) / [`set_engine_version(Option<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_engine_version): <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>
/// - [`cluster_config(ClusterConfig)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::cluster_config) / [`set_cluster_config(Option<ClusterConfig>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_cluster_config): <p>Container for the cluster configuration of a domain.</p>
/// - [`ebs_options(EbsOptions)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::ebs_options) / [`set_ebs_options(Option<EbsOptions>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_ebs_options): <p>Container for the parameters required to enable EBS-based storage for an OpenSearch Service domain.</p>
/// - [`access_policies(impl ::std::convert::Into<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::access_policies) / [`set_access_policies(Option<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_access_policies): <p>Identity and Access Management (IAM) policy document specifying the access policies for the new domain.</p>
/// - [`snapshot_options(SnapshotOptions)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::snapshot_options) / [`set_snapshot_options(Option<SnapshotOptions>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_snapshot_options): <p>DEPRECATED. Container for the parameters required to configure automated snapshots of domain indexes.</p>
/// - [`vpc_options(VpcOptions)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::vpc_options) / [`set_vpc_options(Option<VpcOptions>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_vpc_options): <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>
/// - [`cognito_options(CognitoOptions)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::cognito_options) / [`set_cognito_options(Option<CognitoOptions>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_cognito_options): <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>
/// - [`encryption_at_rest_options(EncryptionAtRestOptions)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::encryption_at_rest_options) / [`set_encryption_at_rest_options(Option<EncryptionAtRestOptions>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_encryption_at_rest_options): <p>Key-value pairs to enable encryption at rest.</p>
/// - [`node_to_node_encryption_options(NodeToNodeEncryptionOptions)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::node_to_node_encryption_options) / [`set_node_to_node_encryption_options(Option<NodeToNodeEncryptionOptions>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_node_to_node_encryption_options): <p>Enables node-to-node encryption.</p>
/// - [`advanced_options(HashMap<String, String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::advanced_options) / [`set_advanced_options(Option<HashMap<String, String>>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_advanced_options): <p>Key-value pairs to specify advanced configuration options. The following key-value pairs are supported:</p> <ul> <li> <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> <li> <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> <li> <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> <li> <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> </ul> <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>
/// - [`log_publishing_options(HashMap<LogType, LogPublishingOption>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::log_publishing_options) / [`set_log_publishing_options(Option<HashMap<LogType, LogPublishingOption>>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_log_publishing_options): <p>Key-value pairs to configure log publishing.</p>
/// - [`domain_endpoint_options(DomainEndpointOptions)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::domain_endpoint_options) / [`set_domain_endpoint_options(Option<DomainEndpointOptions>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_domain_endpoint_options): <p>Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.</p>
/// - [`advanced_security_options(AdvancedSecurityOptionsInput)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::advanced_security_options) / [`set_advanced_security_options(Option<AdvancedSecurityOptionsInput>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_advanced_security_options): <p>Options for fine-grained access control.</p>
/// - [`tag_list(Vec<Tag>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::tag_list) / [`set_tag_list(Option<Vec<Tag>>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_tag_list): <p>List of tags to add to the domain upon creation.</p>
/// - [`auto_tune_options(AutoTuneOptionsInput)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::auto_tune_options) / [`set_auto_tune_options(Option<AutoTuneOptionsInput>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_auto_tune_options): <p>Options for Auto-Tune.</p>
/// - [`off_peak_window_options(OffPeakWindowOptions)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::off_peak_window_options) / [`set_off_peak_window_options(Option<OffPeakWindowOptions>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_off_peak_window_options): <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>
/// - [`software_update_options(SoftwareUpdateOptions)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::software_update_options) / [`set_software_update_options(Option<SoftwareUpdateOptions>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_software_update_options): <p>Software update options for the domain.</p>
/// - On success, responds with [`CreateDomainOutput`](crate::operation::create_domain::CreateDomainOutput) with field(s):
/// - [`domain_status(Option<DomainStatus>)`](crate::operation::create_domain::CreateDomainOutput::domain_status): <p>The status of the newly created domain.</p>
/// - On failure, responds with [`SdkError<CreateDomainError>`](crate::operation::create_domain::CreateDomainError)
pub fn create_domain(&self) -> crate::operation::create_domain::builders::CreateDomainFluentBuilder {
crate::operation::create_domain::builders::CreateDomainFluentBuilder::new(self.handle.clone())
}
}