// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateDomainConfig`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`domain_name(impl Into<String>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::domain_name) / [`set_domain_name(Option<String>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_domain_name):<br>required: **true**<br><p>The name of the domain that you're updating.</p><br>
/// - [`cluster_config(ClusterConfig)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::cluster_config) / [`set_cluster_config(Option<ClusterConfig>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_cluster_config):<br>required: **false**<br><p>Changes that you want to make to the cluster configuration, such as the instance type and number of EC2 instances.</p><br>
/// - [`ebs_options(EbsOptions)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::ebs_options) / [`set_ebs_options(Option<EbsOptions>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_ebs_options):<br>required: **false**<br><p>The type and size of the EBS volume to attach to instances in the domain.</p><br>
/// - [`snapshot_options(SnapshotOptions)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::snapshot_options) / [`set_snapshot_options(Option<SnapshotOptions>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_snapshot_options):<br>required: **false**<br><p>Option to set the time, in UTC format, for the daily automated snapshot. Default value is <code>0</code> hours. </p><br>
/// - [`vpc_options(VpcOptions)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::vpc_options) / [`set_vpc_options(Option<VpcOptions>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_vpc_options):<br>required: **false**<br><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><br>
/// - [`cognito_options(CognitoOptions)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::cognito_options) / [`set_cognito_options(Option<CognitoOptions>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_cognito_options):<br>required: **false**<br><p>Key-value pairs to configure Amazon Cognito authentication for OpenSearch Dashboards.</p><br>
/// - [`advanced_options(impl Into<String>, impl Into<String>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::advanced_options) / [`set_advanced_options(Option<HashMap::<String, String>>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_advanced_options):<br>required: **false**<br><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> </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><br>
/// - [`access_policies(impl Into<String>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::access_policies) / [`set_access_policies(Option<String>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_access_policies):<br>required: **false**<br><p>Identity and Access Management (IAM) access policy as a JSON-formatted string.</p><br>
/// - [`ip_address_type(IpAddressType)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::ip_address_type) / [`set_ip_address_type(Option<IpAddressType>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_ip_address_type):<br>required: **false**<br><p>The type of IP addresses supported by the endpoint for the domain.</p><br>
/// - [`log_publishing_options(LogType, LogPublishingOption)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::log_publishing_options) / [`set_log_publishing_options(Option<HashMap::<LogType, LogPublishingOption>>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_log_publishing_options):<br>required: **false**<br><p>Options to publish OpenSearch logs to Amazon CloudWatch Logs.</p><br>
/// - [`encryption_at_rest_options(EncryptionAtRestOptions)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::encryption_at_rest_options) / [`set_encryption_at_rest_options(Option<EncryptionAtRestOptions>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_encryption_at_rest_options):<br>required: **false**<br><p>Encryption at rest options for the domain.</p><br>
/// - [`domain_endpoint_options(DomainEndpointOptions)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::domain_endpoint_options) / [`set_domain_endpoint_options(Option<DomainEndpointOptions>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_domain_endpoint_options):<br>required: **false**<br><p>Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.</p><br>
/// - [`node_to_node_encryption_options(NodeToNodeEncryptionOptions)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::node_to_node_encryption_options) / [`set_node_to_node_encryption_options(Option<NodeToNodeEncryptionOptions>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_node_to_node_encryption_options):<br>required: **false**<br><p>Node-to-node encryption options for the domain.</p><br>
/// - [`advanced_security_options(AdvancedSecurityOptionsInput)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::advanced_security_options) / [`set_advanced_security_options(Option<AdvancedSecurityOptionsInput>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_advanced_security_options):<br>required: **false**<br><p>Options for fine-grained access control.</p><br>
/// - [`auto_tune_options(AutoTuneOptions)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::auto_tune_options) / [`set_auto_tune_options(Option<AutoTuneOptions>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_auto_tune_options):<br>required: **false**<br><p>Options for Auto-Tune.</p><br>
/// - [`dry_run(bool)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_dry_run):<br>required: **false**<br><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><br>
/// - [`dry_run_mode(DryRunMode)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::dry_run_mode) / [`set_dry_run_mode(Option<DryRunMode>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_dry_run_mode):<br>required: **false**<br><p>The type of dry run to perform.</p> <ul> <li> <p> <code>Basic</code> only returns the type of deployment (blue/green or dynamic) that the update will cause.</p> </li> <li> <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> </ul><br>
/// - [`off_peak_window_options(OffPeakWindowOptions)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::off_peak_window_options) / [`set_off_peak_window_options(Option<OffPeakWindowOptions>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_off_peak_window_options):<br>required: **false**<br><p>Off-peak window options for the domain.</p><br>
/// - [`software_update_options(SoftwareUpdateOptions)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::software_update_options) / [`set_software_update_options(Option<SoftwareUpdateOptions>)`](crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::set_software_update_options):<br>required: **false**<br><p>Service software update options for the domain.</p><br>
/// - On success, responds with [`UpdateDomainConfigOutput`](crate::operation::update_domain_config::UpdateDomainConfigOutput) with field(s):
/// - [`domain_config(Option<DomainConfig>)`](crate::operation::update_domain_config::UpdateDomainConfigOutput::domain_config): <p>The status of the updated domain.</p>
/// - [`dry_run_results(Option<DryRunResults>)`](crate::operation::update_domain_config::UpdateDomainConfigOutput::dry_run_results): <p>Results of the dry run performed in the update domain request.</p>
/// - [`dry_run_progress_status(Option<DryRunProgressStatus>)`](crate::operation::update_domain_config::UpdateDomainConfigOutput::dry_run_progress_status): <p>The status of the dry run being performed on the domain, if any.</p>
/// - On failure, responds with [`SdkError<UpdateDomainConfigError>`](crate::operation::update_domain_config::UpdateDomainConfigError)
pub fn update_domain_config(&self) -> crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder {
crate::operation::update_domain_config::builders::UpdateDomainConfigFluentBuilder::new(self.handle.clone())
}
}