describeElasticsearchInstanceTypeLimits method

Future<DescribeElasticsearchInstanceTypeLimitsResponse> describeElasticsearchInstanceTypeLimits({
  1. required String elasticsearchVersion,
  2. required ESPartitionInstanceType instanceType,
  3. String? domainName,
})

Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion. When modifying existing Domain, specify the DomainName to know what Limits are supported for modifying.

May throw BaseException. May throw InternalException. May throw InvalidTypeException. May throw LimitExceededException. May throw ResourceNotFoundException. May throw ValidationException.

Parameter elasticsearchVersion : Version of Elasticsearch for which Limits are needed.

Parameter instanceType : The instance type for an Elasticsearch cluster for which Elasticsearch Limits are needed.

Parameter domainName : DomainName represents the name of the Domain that we are trying to modify. This should be present only if we are querying for Elasticsearch Limits for existing domain.

Implementation

Future<DescribeElasticsearchInstanceTypeLimitsResponse>
    describeElasticsearchInstanceTypeLimits({
  required String elasticsearchVersion,
  required ESPartitionInstanceType instanceType,
  String? domainName,
}) async {
  ArgumentError.checkNotNull(elasticsearchVersion, 'elasticsearchVersion');
  ArgumentError.checkNotNull(instanceType, 'instanceType');
  _s.validateStringLength(
    'domainName',
    domainName,
    3,
    28,
  );
  final $query = <String, List<String>>{
    if (domainName != null) 'domainName': [domainName],
  };
  final response = await _protocol.send(
    payload: null,
    method: 'GET',
    requestUri:
        '/2015-01-01/es/instanceTypeLimits/${Uri.encodeComponent(elasticsearchVersion)}/${Uri.encodeComponent(instanceType.toValue())}',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  return DescribeElasticsearchInstanceTypeLimitsResponse.fromJson(response);
}