Amazon Opensearch Service Structure
Schema defining the structure of an Amazon OpenSearch Service domain resource, including cluster configuration, storage options, access policies, encryption settings, and VPC configuration.
Amazon OpenSearch Service Domain Definition is a JSON Structure definition published by Amazon OpenSearch Service, describing 20 properties, of which 1 is required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
Properties
Meta-schema: https://json-structure.org/meta/core/v0/#
JSON Structure
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://schemas.apievangelist.com/amazon-opensearch-service/domain-definition",
"name": "Amazon OpenSearch Service Domain Definition",
"description": "Schema defining the structure of an Amazon OpenSearch Service domain resource, including cluster configuration, storage options, access policies, encryption settings, and VPC configuration.",
"type": "object",
"required": [
"DomainName"
],
"properties": {
"DomainId": {
"type": "string",
"description": "The unique identifier for the OpenSearch domain."
},
"DomainName": {
"type": "string",
"description": "The name of the OpenSearch domain.",
"minLength": 3,
"maxLength": 28,
"pattern": "^[a-z][a-z0-9-]+$"
},
"ARN": {
"type": "string",
"description": "The Amazon Resource Name of the domain."
},
"Created": {
"type": "boolean",
"description": "Whether the domain creation is complete."
},
"Deleted": {
"type": "boolean",
"description": "Whether the domain is being deleted."
},
"Endpoint": {
"type": "string",
"description": "The domain endpoint used to submit index, search, and data upload requests."
},
"Endpoints": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Map of VPC endpoints for the domain."
},
"EngineVersion": {
"type": "string",
"description": "The version of OpenSearch or Elasticsearch running on the domain."
},
"ClusterConfig": {
"$ref": "#/$defs/ClusterConfig"
},
"EBSOptions": {
"$ref": "#/$defs/EBSOptions"
},
"AccessPolicies": {
"type": "string",
"description": "IAM access policy as a JSON-formatted string."
},
"SnapshotOptions": {
"type": "object",
"properties": {
"AutomatedSnapshotStartHour": {
"type": "int32",
"minimum": 0,
"maximum": 23,
"description": "The time in UTC format when the service takes a daily automated snapshot."
}
}
},
"VPCOptions": {
"$ref": "#/$defs/VPCOptions"
},
"EncryptionAtRestOptions": {
"type": "object",
"properties": {
"Enabled": {
"type": "boolean",
"description": "Whether encryption at rest is enabled."
},
"KmsKeyId": {
"type": "string",
"description": "The KMS key ID for encryption at rest."
}
}
},
"NodeToNodeEncryptionOptions": {
"type": "object",
"properties": {
"Enabled": {
"type": "boolean",
"description": "Whether node-to-node encryption is enabled."
}
}
},
"AdvancedOptions": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Key-value pairs for advanced configuration options."
},
"LogPublishingOptions": {
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/LogPublishingOption"
},
"description": "Log publishing options for the domain."
},
"DomainEndpointOptions": {
"type": "object",
"properties": {
"EnforceHTTPS": {
"type": "boolean",
"description": "Whether to require HTTPS for all traffic to the domain."
},
"TLSSecurityPolicy": {
"type": "string",
"enum": [
"Policy-Min-TLS-1-0-2019-07",
"Policy-Min-TLS-1-2-2019-07",
"Policy-Min-TLS-1-2-PFS-2023-10"
],
"description": "The minimum TLS security policy."
},
"CustomEndpointEnabled": {
"type": "boolean"
},
"CustomEndpoint": {
"type": "string"
},
"CustomEndpointCertificateArn": {
"type": "string"
}
}
},
"AutoTuneOptions": {
"type": "object",
"properties": {
"State": {
"type": "string",
"enum": [
"ENABLED",
"DISABLED",
"ENABLE_IN_PROGRESS",
"DISABLE_IN_PROGRESS",
"DISABLED_AND_ROLLBACK_SCHEDULED",
"DISABLED_AND_ROLLBACK_IN_PROGRESS",
"DISABLED_AND_ROLLBACK_COMPLETE",
"DISABLED_AND_ROLLBACK_ERROR",
"ERROR"
]
},
"DesiredState": {
"type": "string",
"enum": [
"ENABLED",
"DISABLED"
]
}
}
},
"tags": {
"type": "array",
"items": {
"$ref": "#/$defs/Tag"
},
"description": "Tags associated with the domain."
}
},
"definitions": {
"ClusterConfig": {
"type": "object",
"description": "Container for the cluster configuration of an OpenSearch domain.",
"properties": {
"InstanceType": {
"type": "string",
"description": "The instance type for data nodes."
},
"InstanceCount": {
"type": "int32",
"minimum": 1,
"description": "The number of data nodes in the cluster."
},
"DedicatedMasterEnabled": {
"type": "boolean",
"description": "Whether dedicated master nodes are enabled."
},
"DedicatedMasterType": {
"type": "string",
"description": "The instance type for dedicated master nodes."
},
"DedicatedMasterCount": {
"type": "int32",
"description": "The number of dedicated master nodes."
},
"ZoneAwarenessEnabled": {
"type": "boolean",
"description": "Whether zone awareness is enabled."
},
"WarmEnabled": {
"type": "boolean",
"description": "Whether UltraWarm storage is enabled."
},
"WarmType": {
"type": "string",
"description": "The instance type for UltraWarm nodes."
},
"WarmCount": {
"type": "int32",
"description": "The number of UltraWarm nodes."
},
"ColdStorageOptions": {
"type": "object",
"properties": {
"Enabled": {
"type": "boolean"
}
}
}
},
"name": "ClusterConfig"
},
"EBSOptions": {
"type": "object",
"description": "Container for EBS-based storage configuration.",
"properties": {
"EBSEnabled": {
"type": "boolean",
"description": "Whether EBS-based storage is enabled."
},
"VolumeType": {
"type": "string",
"enum": [
"standard",
"gp2",
"gp3",
"io1"
],
"description": "The type of EBS volume."
},
"VolumeSize": {
"type": "int32",
"description": "The size of the EBS volume in GiB."
},
"Iops": {
"type": "int32",
"description": "The baseline I/O performance for the EBS volume."
},
"Throughput": {
"type": "int32",
"description": "The throughput for gp3 volumes in MiB/s."
}
},
"name": "EBSOptions"
},
"VPCOptions": {
"type": "object",
"description": "Container for VPC configuration options.",
"properties": {
"SubnetIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of subnet IDs for VPC endpoints."
},
"SecurityGroupIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of security group IDs for VPC endpoints."
}
},
"name": "VPCOptions"
},
"LogPublishingOption": {
"type": "object",
"properties": {
"CloudWatchLogsLogGroupArn": {
"type": "string",
"description": "The ARN of the CloudWatch Logs group."
},
"Enabled": {
"type": "boolean",
"description": "Whether log publishing is enabled."
}
},
"name": "LogPublishingOption"
},
"Tag": {
"type": "object",
"required": [
"Key",
"Value"
],
"properties": {
"Key": {
"type": "string",
"description": "The tag key.",
"minLength": 1,
"maxLength": 128
},
"Value": {
"type": "string",
"description": "The tag value.",
"maxLength": 256
}
},
"name": "Tag"
}
}
}
Work with this as data
Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for json structure
4 MCP tools reach this
find_json_structuresBrowse and filter every JSON Structure in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-structures/amazon-opensearch-service-structure"
curl "https://apis.io/api/v1/json-structures?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.