UpdateDomainConfig - Amazon OpenSearch Service

UpdateDomainConfig

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

Request Syntax

POST /2021-01-01/opensearch/domain/DomainName/config HTTP/1.1 Content-type: application/json { "AccessPolicies": "string", "AdvancedOptions": { "string" : "string" }, "AdvancedSecurityOptions": { "AnonymousAuthEnabled": boolean, "Enabled": boolean, "InternalUserDatabaseEnabled": boolean, "JWTOptions": { "Enabled": boolean, "PublicKey": "string", "RolesKey": "string", "SubjectKey": "string" }, "MasterUserOptions": { "MasterUserARN": "string", "MasterUserName": "string", "MasterUserPassword": "string" }, "SAMLOptions": { "Enabled": boolean, "Idp": { "EntityId": "string", "MetadataContent": "string" }, "MasterBackendRole": "string", "MasterUserName": "string", "RolesKey": "string", "SessionTimeoutMinutes": number, "SubjectKey": "string" } }, "AIMLOptions": { "NaturalLanguageQueryGenerationOptions": { "DesiredState": "string" } }, "AutoTuneOptions": { "DesiredState": "string", "MaintenanceSchedules": [ { "CronExpressionForRecurrence": "string", "Duration": { "Unit": "string", "Value": number }, "StartAt": number } ], "RollbackOnDisable": "string", "UseOffPeakWindow": boolean }, "ClusterConfig": { "ColdStorageOptions": { "Enabled": boolean }, "DedicatedMasterCount": number, "DedicatedMasterEnabled": boolean, "DedicatedMasterType": "string", "InstanceCount": number, "InstanceType": "string", "MultiAZWithStandbyEnabled": boolean, "NodeOptions": [ { "NodeConfig": { "Count": number, "Enabled": boolean, "Type": "string" }, "NodeType": "string" } ], "WarmCount": number, "WarmEnabled": boolean, "WarmType": "string", "ZoneAwarenessConfig": { "AvailabilityZoneCount": number }, "ZoneAwarenessEnabled": boolean }, "CognitoOptions": { "Enabled": boolean, "IdentityPoolId": "string", "RoleArn": "string", "UserPoolId": "string" }, "DomainEndpointOptions": { "CustomEndpoint": "string", "CustomEndpointCertificateArn": "string", "CustomEndpointEnabled": boolean, "EnforceHTTPS": boolean, "TLSSecurityPolicy": "string" }, "DryRun": boolean, "DryRunMode": "string", "EBSOptions": { "EBSEnabled": boolean, "Iops": number, "Throughput": number, "VolumeSize": number, "VolumeType": "string" }, "EncryptionAtRestOptions": { "Enabled": boolean, "KmsKeyId": "string" }, "IdentityCenterOptions": { "EnabledAPIAccess": boolean, "IdentityCenterInstanceARN": "string", "RolesKey": "string", "SubjectKey": "string" }, "IPAddressType": "string", "LogPublishingOptions": { "string" : { "CloudWatchLogsLogGroupArn": "string", "Enabled": boolean } }, "NodeToNodeEncryptionOptions": { "Enabled": boolean }, "OffPeakWindowOptions": { "Enabled": boolean, "OffPeakWindow": { "WindowStartTime": { "Hours": number, "Minutes": number } } }, "SnapshotOptions": { "AutomatedSnapshotStartHour": number }, "SoftwareUpdateOptions": { "AutoSoftwareUpdateEnabled": boolean }, "VPCOptions": { "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ] } }

URI Request Parameters

The request uses the following URI parameters.

DomainName

The name of the domain that you're updating.

Length Constraints: Minimum length of 3. Maximum length of 28.

Pattern: [a-z][a-z0-9\-]+

Required: Yes

Request Body

The request accepts the following data in JSON format.

AccessPolicies

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

Type: String

Length Constraints: Minimum length of 0. Maximum length of 102400.

Pattern: .*

Required: No

AdvancedOptions

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.

Type: String to string map

Required: No

AdvancedSecurityOptions

Options for fine-grained access control.

Type: AdvancedSecurityOptionsInput object

Required: No

AIMLOptions

Options for all machine learning features for the specified domain.

Type: AIMLOptionsInput object

Required: No

AutoTuneOptions

Options for Auto-Tune.

Type: AutoTuneOptions object

Required: No

ClusterConfig

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

Type: ClusterConfig object

Required: No

CognitoOptions

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

Type: CognitoOptions object

Required: No

DomainEndpointOptions

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

Type: DomainEndpointOptions object

Required: No

DryRun

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.

Type: Boolean

Required: No

DryRunMode

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.

Type: String

Valid Values: Basic | Verbose

Required: No

EBSOptions

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

Type: EBSOptions object

Required: No

EncryptionAtRestOptions

Encryption at rest options for the domain.

Type: EncryptionAtRestOptions object

Required: No

IdentityCenterOptions

Container for IAM Identity Center Options settings.

Type: IdentityCenterOptionsInput object

Required: No

IPAddressType

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.

Type: String

Valid Values: ipv4 | dualstack

Required: No

LogPublishingOptions

Options to publish OpenSearch logs to Amazon CloudWatch Logs.

Type: String to LogPublishingOption object map

Valid Keys: INDEX_SLOW_LOGS | SEARCH_SLOW_LOGS | ES_APPLICATION_LOGS | AUDIT_LOGS

Required: No

NodeToNodeEncryptionOptions

Node-to-node encryption options for the domain.

Type: NodeToNodeEncryptionOptions object

Required: No

OffPeakWindowOptions

Off-peak window options for the domain.

Type: OffPeakWindowOptions object

Required: No

SnapshotOptions

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

Type: SnapshotOptions object

Required: No

SoftwareUpdateOptions

Service software update options for the domain.

Type: SoftwareUpdateOptions object

Required: No

VPCOptions

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.

Type: VPCOptions object

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "DomainConfig": { "AccessPolicies": { "Options": "string", "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "AdvancedOptions": { "Options": { "string" : "string" }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "AdvancedSecurityOptions": { "Options": { "AnonymousAuthDisableDate": number, "AnonymousAuthEnabled": boolean, "Enabled": boolean, "InternalUserDatabaseEnabled": boolean, "JWTOptions": { "Enabled": boolean, "PublicKey": "string", "RolesKey": "string", "SubjectKey": "string" }, "SAMLOptions": { "Enabled": boolean, "Idp": { "EntityId": "string", "MetadataContent": "string" }, "RolesKey": "string", "SessionTimeoutMinutes": number, "SubjectKey": "string" } }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "AIMLOptions": { "Options": { "NaturalLanguageQueryGenerationOptions": { "CurrentState": "string", "DesiredState": "string" } }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "AutoTuneOptions": { "Options": { "DesiredState": "string", "MaintenanceSchedules": [ { "CronExpressionForRecurrence": "string", "Duration": { "Unit": "string", "Value": number }, "StartAt": number } ], "RollbackOnDisable": "string", "UseOffPeakWindow": boolean }, "Status": { "CreationDate": number, "ErrorMessage": "string", "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "ChangeProgressDetails": { "ChangeId": "string", "ConfigChangeStatus": "string", "InitiatedBy": "string", "LastUpdatedTime": number, "Message": "string", "StartTime": number }, "ClusterConfig": { "Options": { "ColdStorageOptions": { "Enabled": boolean }, "DedicatedMasterCount": number, "DedicatedMasterEnabled": boolean, "DedicatedMasterType": "string", "InstanceCount": number, "InstanceType": "string", "MultiAZWithStandbyEnabled": boolean, "NodeOptions": [ { "NodeConfig": { "Count": number, "Enabled": boolean, "Type": "string" }, "NodeType": "string" } ], "WarmCount": number, "WarmEnabled": boolean, "WarmType": "string", "ZoneAwarenessConfig": { "AvailabilityZoneCount": number }, "ZoneAwarenessEnabled": boolean }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "CognitoOptions": { "Options": { "Enabled": boolean, "IdentityPoolId": "string", "RoleArn": "string", "UserPoolId": "string" }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "DomainEndpointOptions": { "Options": { "CustomEndpoint": "string", "CustomEndpointCertificateArn": "string", "CustomEndpointEnabled": boolean, "EnforceHTTPS": boolean, "TLSSecurityPolicy": "string" }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "EBSOptions": { "Options": { "EBSEnabled": boolean, "Iops": number, "Throughput": number, "VolumeSize": number, "VolumeType": "string" }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "EncryptionAtRestOptions": { "Options": { "Enabled": boolean, "KmsKeyId": "string" }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "EngineVersion": { "Options": "string", "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "IdentityCenterOptions": { "Options": { "EnabledAPIAccess": boolean, "IdentityCenterApplicationARN": "string", "IdentityCenterInstanceARN": "string", "IdentityStoreId": "string", "RolesKey": "string", "SubjectKey": "string" }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "IPAddressType": { "Options": "string", "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "LogPublishingOptions": { "Options": { "string" : { "CloudWatchLogsLogGroupArn": "string", "Enabled": boolean } }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "ModifyingProperties": [ { "ActiveValue": "string", "Name": "string", "PendingValue": "string", "ValueType": "string" } ], "NodeToNodeEncryptionOptions": { "Options": { "Enabled": boolean }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "OffPeakWindowOptions": { "Options": { "Enabled": boolean, "OffPeakWindow": { "WindowStartTime": { "Hours": number, "Minutes": number } } }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "SnapshotOptions": { "Options": { "AutomatedSnapshotStartHour": number }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "SoftwareUpdateOptions": { "Options": { "AutoSoftwareUpdateEnabled": boolean }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } }, "VPCOptions": { "Options": { "AvailabilityZones": [ "string" ], "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ], "VPCId": "string" }, "Status": { "CreationDate": number, "PendingDeletion": boolean, "State": "string", "UpdateDate": number, "UpdateVersion": number } } }, "DryRunProgressStatus": { "CreationDate": "string", "DryRunId": "string", "DryRunStatus": "string", "UpdateDate": "string", "ValidationFailures": [ { "Code": "string", "Message": "string" } ] }, "DryRunResults": { "DeploymentType": "string", "Message": "string" } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

DomainConfig

The status of the updated domain.

Type: DomainConfig object

DryRunProgressStatus

The status of the dry run being performed on the domain, if any.

Type: DryRunProgressStatus object

DryRunResults

Results of the dry run performed in the update domain request.

Type: DryRunResults object

Errors

For information about the errors that are common to all actions, see Common Errors.

BaseException

An error occurred while processing the request.

HTTP Status Code: 400

InternalException

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

HTTP Status Code: 500

InvalidTypeException

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

HTTP Status Code: 409

LimitExceededException

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

HTTP Status Code: 409

ResourceNotFoundException

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

HTTP Status Code: 409

ValidationException

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

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: