DescribeInstanceTypeLimits
Describes the instance count, storage, and master node limits for a given OpenSearch or Elasticsearch version and instance type.
Request Syntax
GET /2021-01-01/opensearch/instanceTypeLimits/EngineVersion
/InstanceType
?domainName=DomainName
HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
- DomainName
-
The name of the domain. Only specify if you need the limits for an existing domain.
Length Constraints: Minimum length of 3. Maximum length of 28.
Pattern:
[a-z][a-z0-9\-]+
- EngineVersion
-
Version of OpenSearch or Elasticsearch, in the format Elasticsearch_X.Y or OpenSearch_X.Y. Defaults to the latest version of OpenSearch.
Length Constraints: Minimum length of 14. Maximum length of 18.
Pattern:
^Elasticsearch_[0-9]{1}\.[0-9]{1,2}$|^OpenSearch_[0-9]{1,2}\.[0-9]{1,2}$
Required: Yes
- InstanceType
-
The OpenSearch Service instance type for which you need limit information.
Valid Values:
m3.medium.search | m3.large.search | m3.xlarge.search | m3.2xlarge.search | m4.large.search | m4.xlarge.search | m4.2xlarge.search | m4.4xlarge.search | m4.10xlarge.search | m5.large.search | m5.xlarge.search | m5.2xlarge.search | m5.4xlarge.search | m5.12xlarge.search | m5.24xlarge.search | r5.large.search | r5.xlarge.search | r5.2xlarge.search | r5.4xlarge.search | r5.12xlarge.search | r5.24xlarge.search | c5.large.search | c5.xlarge.search | c5.2xlarge.search | c5.4xlarge.search | c5.9xlarge.search | c5.18xlarge.search | t3.nano.search | t3.micro.search | t3.small.search | t3.medium.search | t3.large.search | t3.xlarge.search | t3.2xlarge.search | or1.medium.search | or1.large.search | or1.xlarge.search | or1.2xlarge.search | or1.4xlarge.search | or1.8xlarge.search | or1.12xlarge.search | or1.16xlarge.search | ultrawarm1.medium.search | ultrawarm1.large.search | ultrawarm1.xlarge.search | t2.micro.search | t2.small.search | t2.medium.search | r3.large.search | r3.xlarge.search | r3.2xlarge.search | r3.4xlarge.search | r3.8xlarge.search | i2.xlarge.search | i2.2xlarge.search | d2.xlarge.search | d2.2xlarge.search | d2.4xlarge.search | d2.8xlarge.search | c4.large.search | c4.xlarge.search | c4.2xlarge.search | c4.4xlarge.search | c4.8xlarge.search | r4.large.search | r4.xlarge.search | r4.2xlarge.search | r4.4xlarge.search | r4.8xlarge.search | r4.16xlarge.search | i3.large.search | i3.xlarge.search | i3.2xlarge.search | i3.4xlarge.search | i3.8xlarge.search | i3.16xlarge.search | r6g.large.search | r6g.xlarge.search | r6g.2xlarge.search | r6g.4xlarge.search | r6g.8xlarge.search | r6g.12xlarge.search | m6g.large.search | m6g.xlarge.search | m6g.2xlarge.search | m6g.4xlarge.search | m6g.8xlarge.search | m6g.12xlarge.search | c6g.large.search | c6g.xlarge.search | c6g.2xlarge.search | c6g.4xlarge.search | c6g.8xlarge.search | c6g.12xlarge.search | r6gd.large.search | r6gd.xlarge.search | r6gd.2xlarge.search | r6gd.4xlarge.search | r6gd.8xlarge.search | r6gd.12xlarge.search | r6gd.16xlarge.search | t4g.small.search | t4g.medium.search
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"LimitsByRole": {
"string" : {
"AdditionalLimits": [
{
"LimitName": "string",
"LimitValues": [ "string" ]
}
],
"InstanceLimits": {
"InstanceCountLimits": {
"MaximumInstanceCount": number,
"MinimumInstanceCount": number
}
},
"StorageTypes": [
{
"StorageSubTypeName": "string",
"StorageTypeLimits": [
{
"LimitName": "string",
"LimitValues": [ "string" ]
}
],
"StorageTypeName": "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.
- LimitsByRole
-
Map that contains all applicable instance type limits.
data
refers to data nodes.master
refers to dedicated master nodes.Type: String to Limits object map
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
Examples
Example
This example illustrates one usage of DescribeInstanceTypeLimits.
Sample Request
GET /2021-01-01/opensearch/instanceTypeLimits/OpenSearch_1.0/c5.large.search?domainName=mydomain HTTP/1.1
Host: es.us-east-1.amazonaws.com
Accept-Encoding: identity
User-Agent: aws-cli/2.15.0 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/opensearch.describe-instance-type-limits
X-Amz-Date: 20240118T183818Z
X-Amz-Security-Token: IQoJb3JpZ2luX2VjEI3wEaCXVz==
Authorization: AWS4-HMAC-SHA256 Credential=ASIAU/20240118/us-east-1/es/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=b8e8474eba198ee0a30b422c5196860943c1ed944a599160aa070268db1c17fa
Sample Response
{
"LimitsByRole": {
"data": {
"AdditionalLimits": [{
"LimitName": "MaximumNumberOfDataNodesWithoutMasterNode",
"LimitValues": ["10"]
}],
"InstanceLimits": {
"InstanceCountLimits": {
"MaximumInstanceCount": 80,
"MinimumInstanceCount": 1
}
},
"StorageTypes": [{
"StorageSubTypeName": "standard",
"StorageTypeLimits": [{
"LimitName": "MaximumVolumeSize",
"LimitValues": ["100"]
}, {
"LimitName": "MinimumVolumeSize",
"LimitValues": ["10"]
}],
"StorageTypeName": "ebs"
}, {
"StorageSubTypeName": "io1",
"StorageTypeLimits": [{
"LimitName": "MaximumVolumeSize",
"LimitValues": ["256"]
}, {
"LimitName": "MinimumVolumeSize",
"LimitValues": ["35"]
}, {
"LimitName": "MaximumIops",
"LimitValues": ["16000"]
}, {
"LimitName": "MinimumIops",
"LimitValues": ["1000"]
}],
"StorageTypeName": "ebs"
}, {
"StorageSubTypeName": "gp2",
"StorageTypeLimits": [{
"LimitName": "MaximumVolumeSize",
"LimitValues": ["256"]
}, {
"LimitName": "MinimumVolumeSize",
"LimitValues": ["10"]
}],
"StorageTypeName": "ebs"
}, {
"StorageSubTypeName": "gp3",
"StorageTypeLimits": [{
"LimitName": "MaximumVolumeSize",
"LimitValues": ["256"]
}, {
"LimitName": "MinimumVolumeSize",
"LimitValues": ["10"]
}, {
"LimitName": "MaximumIops",
"LimitValues": ["20000"]
}, {
"LimitName": "MinimumIops",
"LimitValues": ["3000"]
}, {
"LimitName": "MaximumThroughput",
"LimitValues": ["593"]
}, {
"LimitName": "MinimumThroughput",
"LimitValues": ["125"]
}],
"StorageTypeName": "ebs"
}]
},
"master": {
"AdditionalLimits": [{
"LimitName": "MaximumNumberOfDataNodesSupported",
"LimitValues": ["200"]
}],
"InstanceLimits": {
"InstanceCountLimits": {
"MaximumInstanceCount": 5,
"MinimumInstanceCount": 2
}
},
"StorageTypes": null
}
}
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: