Skip to content

update_domain_config

update_domain_config(
    domain_name: DomainName,
    *,
    config_overrides: Optional[OpenSearchClientConfig] = None,
    cluster_config: Optional[ClusterConfig] = None,
    ebs_options: Optional[EBSOptions] = None,
    snapshot_options: Optional[SnapshotOptions] = None,
    vpc_options: Optional[VPCOptions] = None,
    cognito_options: Optional[CognitoOptions] = None,
    advanced_options: Optional[AdvancedOptions] = None,
    access_policies: Optional[PolicyDocument] = None,
    ip_address_type: Optional[IPAddressType] = None,
    log_publishing_options: Optional[LogPublishingOptions] = None,
    encryption_at_rest_options: Optional[EncryptionAtRestOptions] = None,
    domain_endpoint_options: Optional[DomainEndpointOptions] = None,
    node_to_node_encryption_options: Optional[NodeToNodeEncryptionOptions] = None,
    advanced_security_options: Optional[AdvancedSecurityOptionsInput] = None,
    identity_center_options: Optional[IdentityCenterOptionsInput] = None,
    auto_tune_options: Optional[AutoTuneOptions] = None,
    dry_run: Optional[DryRun] = None,
    dry_run_mode: Optional[DryRunMode] = None,
    off_peak_window_options: Optional[OffPeakWindowOptions] = None,
    software_update_options: Optional[SoftwareUpdateOptions] = None,
    aiml_options: Optional[AIMLOptionsInput] = None,
    deployment_strategy_options: Optional[DeploymentStrategyOptions] = None,
    automated_snapshot_pause_options: Optional[
        AutomatedSnapshotPauseRequestOptions
    ] = None,
    use_case: Optional[DomainUseCase] = None,
    engine_mode: Optional[EngineMode] = None,
    accepted_warnings: Optional[AcceptedWarningsList] = None,
) -> UpdateDomainConfigResponse

Modifies the cluster configuration of the specified Amazon OpenSearch Service domain.

Parameters:

  • domain_name (DomainName) –

    The name of the domain that you're updating.

  • cluster_config (Optional[ClusterConfig], default: None ) –

    Changes that you want to make to the cluster configuration, such as the instance type and number of EC2 instances.

  • ebs_options (Optional[EBSOptions], default: None ) –

    The type and size of the EBS volume to attach to instances in the domain.

  • snapshot_options (Optional[SnapshotOptions], default: None ) –

    Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0 hours.

  • vpc_options (Optional[VPCOptions], default: None ) –

    Options to specify the subnets and security groups for a VPC endpoint. For more information, see Launching your Amazon OpenSearch Service domains using a VPC.

  • cognito_options (Optional[CognitoOptions], default: None ) –

    Key-value pairs to configure Amazon Cognito authentication for OpenSearch Dashboards.

  • advanced_options (Optional[AdvancedOptions], default: None ) –

    Key-value pairs to specify advanced configuration options. The following key-value pairs are supported:

    • "rest.action.multi.allow_explicit_index": "true" | "false" - 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.

    • "indices.fielddata.cache.size": "80" - Note the use of a string rather than a boolean. Specifies the percentage of heap space allocated to field data. Default is unbounded.

    • "indices.query.bool.max_clause_count": "1024" - 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 TooManyClauses error.

    For more information, see Advanced cluster parameters.

  • access_policies (Optional[PolicyDocument], default: None ) –

    Identity and Access Management (IAM) access policy as a JSON-formatted string.

  • ip_address_type (Optional[IPAddressType], default: None ) –

    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.

  • log_publishing_options (Optional[LogPublishingOptions], default: None ) –

    Options to publish OpenSearch logs to Amazon CloudWatch Logs.

  • encryption_at_rest_options (Optional[EncryptionAtRestOptions], default: None ) –

    Encryption at rest options for the domain.

  • domain_endpoint_options (Optional[DomainEndpointOptions], default: None ) –

    Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.

  • node_to_node_encryption_options (Optional[NodeToNodeEncryptionOptions], default: None ) –

    Node-to-node encryption options for the domain.

  • advanced_security_options (Optional[AdvancedSecurityOptionsInput], default: None ) –

    Options for fine-grained access control.

  • auto_tune_options (Optional[AutoTuneOptions], default: None ) –

    Options for Auto-Tune.

  • dry_run (Optional[DryRun], default: None ) –

    This flag, when set to True, specifies whether the UpdateDomain 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.

  • dry_run_mode (Optional[DryRunMode], default: None ) –

    The type of dry run to perform.

    • Basic only returns the type of deployment (blue/green or dynamic) that the update will cause.

    • Verbose runs an additional check to validate the changes you're making. For more information, see Validating a domain update.

  • off_peak_window_options (Optional[OffPeakWindowOptions], default: None ) –

    Off-peak window options for the domain.

  • software_update_options (Optional[SoftwareUpdateOptions], default: None ) –

    Service software update options for the domain.

  • aiml_options (Optional[AIMLOptionsInput], default: None ) –

    Options for all machine learning features for the specified domain.

  • deployment_strategy_options (Optional[DeploymentStrategyOptions], default: None ) –

    Specifies the deployment strategy options for the domain.

  • automated_snapshot_pause_options (Optional[AutomatedSnapshotPauseRequestOptions], default: None ) –

    Specifies the automated snapshot pause options for the domain.

    Suspending snapshots reduces data protection. You cannot restore your domain to points in time when snapshots are suspended. Use this feature only for short-term operational needs such as migrations or maintenance windows.

    Maximum suspension duration: 3 days.

  • use_case (Optional[DomainUseCase], default: None ) –

    The primary use case for the domain. For valid values, see DomainUseCase.

  • engine_mode (Optional[EngineMode], default: None ) –

    The engine mode for the domain. The engine mode can't be changed after the domain is created. For valid values, see EngineMode.

  • accepted_warnings (Optional[AcceptedWarningsList], default: None ) –

    A list of advisory warning codes to accept for this configuration change. By default, any advisory warning blocks the change. Include the code of each warning you want to accept so the change can proceed. You can find warning codes in the ValidationFailures list returned by DescribeDomainChangeProgress and DescribeDryRunProgress. Critical validation failures cannot be accepted and always block the change. If you omit this parameter or pass an empty list, all warnings block the change. For more information, see Validating a domain update.

Raises:

  • BaseException –

    An error occurred while processing the request.

  • InternalException –

    Request processing failed because of an unknown error, exception, or internal failure.

  • InvalidTypeException –

    An exception for trying to create or access a sub-resource that's either invalid or not supported.

  • LimitExceededException –

    An exception for trying to create more than the allowed number of resources or sub-resources.

  • ResourceNotFoundException –

    An exception for accessing or deleting a resource that doesn't exist.

  • ValidationException –

    An exception for accessing or deleting a resource that doesn't exist.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_opensearch/_services/open_search.py
def update_domain_config(
    self,
    domain_name: "capo_opensearch.types.domain_name.DomainName",
    *,
    config_overrides: Optional[OpenSearchClientConfig] = None,
    cluster_config: Optional[
        "capo_opensearch.types.cluster_config.ClusterConfig"
    ] = None,
    ebs_options: Optional["capo_opensearch.types.ebs_options.EBSOptions"] = None,
    snapshot_options: Optional[
        "capo_opensearch.types.snapshot_options.SnapshotOptions"
    ] = None,
    vpc_options: Optional["capo_opensearch.types.vpc_options.VPCOptions"] = None,
    cognito_options: Optional[
        "capo_opensearch.types.cognito_options.CognitoOptions"
    ] = None,
    advanced_options: Optional[
        "capo_opensearch.types.advanced_options.AdvancedOptions"
    ] = None,
    access_policies: Optional[
        "capo_opensearch.types.policy_document.PolicyDocument"
    ] = None,
    ip_address_type: Optional[
        "capo_opensearch.types.ip_address_type.IPAddressType"
    ] = None,
    log_publishing_options: Optional[
        "capo_opensearch.types.log_publishing_options.LogPublishingOptions"
    ] = None,
    encryption_at_rest_options: Optional[
        "capo_opensearch.types.encryption_at_rest_options.EncryptionAtRestOptions"
    ] = None,
    domain_endpoint_options: Optional[
        "capo_opensearch.types.domain_endpoint_options.DomainEndpointOptions"
    ] = None,
    node_to_node_encryption_options: Optional[
        "capo_opensearch.types.node_to_node_encryption_options.NodeToNodeEncryptionOptions"
    ] = None,
    advanced_security_options: Optional[
        "capo_opensearch.types.advanced_security_options_input.AdvancedSecurityOptionsInput"
    ] = None,
    identity_center_options: Optional[
        "capo_opensearch.types.identity_center_options_input.IdentityCenterOptionsInput"
    ] = None,
    auto_tune_options: Optional[
        "capo_opensearch.types.auto_tune_options.AutoTuneOptions"
    ] = None,
    dry_run: Optional["capo_opensearch.types.dry_run.DryRun"] = None,
    dry_run_mode: Optional["capo_opensearch.types.dry_run_mode.DryRunMode"] = None,
    off_peak_window_options: Optional[
        "capo_opensearch.types.off_peak_window_options.OffPeakWindowOptions"
    ] = None,
    software_update_options: Optional[
        "capo_opensearch.types.software_update_options.SoftwareUpdateOptions"
    ] = None,
    aiml_options: Optional[
        "capo_opensearch.types.aiml_options_input.AIMLOptionsInput"
    ] = None,
    deployment_strategy_options: Optional[
        "capo_opensearch.types.deployment_strategy_options.DeploymentStrategyOptions"
    ] = None,
    automated_snapshot_pause_options: Optional[
        "capo_opensearch.types.automated_snapshot_pause_request_options.AutomatedSnapshotPauseRequestOptions"
    ] = None,
    use_case: Optional[
        "capo_opensearch.types.domain_use_case.DomainUseCase"
    ] = None,
    engine_mode: Optional["capo_opensearch.types.engine_mode.EngineMode"] = None,
    accepted_warnings: Optional[
        "capo_opensearch.types.accepted_warnings_list.AcceptedWarningsList"
    ] = None,
) -> (
    "capo_opensearch.types.update_domain_config_response.UpdateDomainConfigResponse"
):
    """<p>Modifies the cluster configuration of the specified Amazon OpenSearch Service domain.</p>

    Args:
        domain_name: <p>The name of the domain that you're updating.</p>
        cluster_config: <p>Changes that you want to make to the cluster configuration, such as the instance type and number of EC2 instances.</p>
        ebs_options: <p>The type and size of the EBS volume to attach to instances in the domain.</p>
        snapshot_options: <p>Option to set the time, in UTC format, for the daily automated snapshot. Default value is <code>0</code> hours. </p>
        vpc_options: <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>
        cognito_options: <p>Key-value pairs to configure Amazon Cognito authentication for OpenSearch Dashboards.</p>
        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> </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>
        access_policies: <p>Identity and Access Management (IAM) access policy as a JSON-formatted string.</p>
        ip_address_type: <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>
        log_publishing_options: <p>Options to publish OpenSearch logs to Amazon CloudWatch Logs.</p>
        encryption_at_rest_options: <p>Encryption at rest options for the domain.</p>
        domain_endpoint_options: <p>Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.</p>
        node_to_node_encryption_options: <p>Node-to-node encryption options for the domain.</p>
        advanced_security_options: <p>Options for fine-grained access control.</p>
        auto_tune_options: <p>Options for Auto-Tune.</p>
        dry_run: <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>
        dry_run_mode: <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>
        off_peak_window_options: <p>Off-peak window options for the domain.</p>
        software_update_options: <p>Service software update options for the domain.</p>
        aiml_options: <p>Options for all machine learning features for the specified domain.</p>
        deployment_strategy_options: <p>Specifies the deployment strategy options for the domain.</p>
        automated_snapshot_pause_options: <p>Specifies the automated snapshot pause options for the domain.</p> <important> <p>Suspending snapshots reduces data protection. You cannot restore your domain to points in time when snapshots are suspended. Use this feature only for short-term operational needs such as migrations or maintenance windows.</p> </important> <p>Maximum suspension duration: 3 days.</p>
        use_case: <p>The primary use case for the domain. For valid values, see <code>DomainUseCase</code>.</p>
        engine_mode: <p>The engine mode for the domain. The engine mode can't be changed after the domain is created. For valid values, see <code>EngineMode</code>.</p>
        accepted_warnings: <p>A list of advisory warning codes to accept for this configuration change. By default, any advisory warning blocks the change. Include the code of each warning you want to accept so the change can proceed. You can find warning codes in the <code>ValidationFailures</code> list returned by <code>DescribeDomainChangeProgress</code> and <code>DescribeDryRunProgress</code>. Critical validation failures cannot be accepted and always block the change. If you omit this parameter or pass an empty list, all warnings block the change. 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>

    Raises:
        capo_opensearch.errors.base_exception.BaseException: <p>An error occurred while processing the request.</p>
        capo_opensearch.errors.internal_exception.InternalException: <p>Request processing failed because of an unknown error, exception, or internal failure.</p>
        capo_opensearch.errors.invalid_type_exception.InvalidTypeException: <p>An exception for trying to create or access a sub-resource that's either invalid or not supported.</p>
        capo_opensearch.errors.limit_exceeded_exception.LimitExceededException: <p>An exception for trying to create more than the allowed number of resources or sub-resources.</p>
        capo_opensearch.errors.resource_not_found_exception.ResourceNotFoundException: <p>An exception for accessing or deleting a resource that doesn't exist.</p>
        capo_opensearch.errors.validation_exception.ValidationException: <p>An exception for accessing or deleting a resource that doesn't exist.</p>
        capo_opensearch.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_opensearch.types.update_domain_config_request.UpdateDomainConfigRequest]",
    ) -> OperationResponse[
        "capo_opensearch.types.update_domain_config_response.UpdateDomainConfigResponse"
    ]:
        import capo_opensearch._operations.amazon_open_search_service.update_domain_config

        output, http_response = (
            capo_opensearch._operations.amazon_open_search_service.update_domain_config.update_domain_config(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_opensearch.types.update_domain_config_request.UpdateDomainConfigRequest",
    ) -> dict[str, Any]:
        import capo_opensearch.types.update_domain_config_request

        return capo_opensearch.types.update_domain_config_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("UpdateDomainConfig", redact_input=_redact_input),
    )
    input_: capo_opensearch.types.update_domain_config_request.UpdateDomainConfigRequest = {
        "domain_name": domain_name
    }
    if cluster_config is not None:
        input_["cluster_config"] = cluster_config
    if ebs_options is not None:
        input_["ebs_options"] = ebs_options
    if snapshot_options is not None:
        input_["snapshot_options"] = snapshot_options
    if vpc_options is not None:
        input_["vpc_options"] = vpc_options
    if cognito_options is not None:
        input_["cognito_options"] = cognito_options
    if advanced_options is not None:
        input_["advanced_options"] = advanced_options
    if access_policies is not None:
        input_["access_policies"] = access_policies
    if ip_address_type is not None:
        input_["ip_address_type"] = ip_address_type
    if log_publishing_options is not None:
        input_["log_publishing_options"] = log_publishing_options
    if encryption_at_rest_options is not None:
        input_["encryption_at_rest_options"] = encryption_at_rest_options
    if domain_endpoint_options is not None:
        input_["domain_endpoint_options"] = domain_endpoint_options
    if node_to_node_encryption_options is not None:
        input_["node_to_node_encryption_options"] = node_to_node_encryption_options
    if advanced_security_options is not None:
        input_["advanced_security_options"] = advanced_security_options
    if identity_center_options is not None:
        input_["identity_center_options"] = identity_center_options
    if auto_tune_options is not None:
        input_["auto_tune_options"] = auto_tune_options
    if dry_run is not None:
        input_["dry_run"] = dry_run
    if dry_run_mode is not None:
        input_["dry_run_mode"] = dry_run_mode
    if off_peak_window_options is not None:
        input_["off_peak_window_options"] = off_peak_window_options
    if software_update_options is not None:
        input_["software_update_options"] = software_update_options
    if aiml_options is not None:
        input_["aiml_options"] = aiml_options
    if deployment_strategy_options is not None:
        input_["deployment_strategy_options"] = deployment_strategy_options
    if automated_snapshot_pause_options is not None:
        input_["automated_snapshot_pause_options"] = (
            automated_snapshot_pause_options
        )
    if use_case is not None:
        input_["use_case"] = use_case
    if engine_mode is not None:
        input_["engine_mode"] = engine_mode
    if accepted_warnings is not None:
        input_["accepted_warnings"] = accepted_warnings

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output