:doc:`OpenSearchService <../../opensearch>` / Client / describe_instance_type_limits

*****************************
describe_instance_type_limits
*****************************



.. py:method:: OpenSearchService.Client.describe_instance_type_limits(**kwargs)

  

  Describes the instance count, storage, and master node limits for a given OpenSearch or Elasticsearch version and instance type.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeInstanceTypeLimits>`_  


  **Request Syntax**
  ::

    response = client.describe_instance_type_limits(
        DomainName='string',
        InstanceType='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',
        EngineVersion='string'
    )
    
  :type DomainName: string
  :param DomainName: 

    The name of the domain. Only specify if you need the limits for an existing domain.

    

  
  :type InstanceType: string
  :param InstanceType: **[REQUIRED]** 

    The OpenSearch Service instance type for which you need limit information.

    

  
  :type EngineVersion: string
  :param EngineVersion: **[REQUIRED]** 

    Version of OpenSearch or Elasticsearch, in the format Elasticsearch_X.Y or OpenSearch_X.Y. Defaults to the latest version of OpenSearch.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'LimitsByRole': {
              'string': {
                  'StorageTypes': [
                      {
                          'StorageTypeName': 'string',
                          'StorageSubTypeName': 'string',
                          'StorageTypeLimits': [
                              {
                                  'LimitName': 'string',
                                  'LimitValues': [
                                      'string',
                                  ]
                              },
                          ]
                      },
                  ],
                  'InstanceLimits': {
                      'InstanceCountLimits': {
                          'MinimumInstanceCount': 123,
                          'MaximumInstanceCount': 123
                      }
                  },
                  'AdditionalLimits': [
                      {
                          'LimitName': 'string',
                          'LimitValues': [
                              'string',
                          ]
                      },
                  ]
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Container for the parameters received from the ``DescribeInstanceTypeLimits`` operation.

      
      

      - **LimitsByRole** *(dict) --* 

        Map that contains all applicable instance type limits. ``data`` refers to data nodes. ``master`` refers to dedicated master nodes.

        
        

        - *(string) --* 
          

          - *(dict) --* 

            Limits for a given instance type and for each of its roles.

            
            

            - **StorageTypes** *(list) --* 

              Storage-related attributes that are available for a given instance type.

              
              

              - *(dict) --* 

                A list of storage types for an Amazon OpenSearch Service domain that are available for a given intance type.

                
                

                - **StorageTypeName** *(string) --* 

                  The name of the storage type.

                  
                

                - **StorageSubTypeName** *(string) --* 

                  The storage sub-type, such as ``gp3`` or ``io1``.

                  
                

                - **StorageTypeLimits** *(list) --* 

                  Limits that are applicable for the given storage type.

                  
                  

                  - *(dict) --* 

                    Limits that are applicable for the given Amazon OpenSearch Service storage type.

                    
                    

                    - **LimitName** *(string) --* 

                      Name of storage limits that are applicable for the given storage type. If ``StorageType`` is ``ebs``, the following options are available:

                       

                      
                      * **MinimumVolumeSize** - Minimum volume size that is available for the given storage type. Can be empty if not applicable.
                       
                      * **MaximumVolumeSize** - Maximum volume size that is available for the given storage type. Can be empty if not applicable.
                       
                      * **MaximumIops** - Maximum amount of IOPS that is available for the given the storage type. Can be empty if not applicable.
                       
                      * **MinimumIops** - Minimum amount of IOPS that is available for the given the storage type. Can be empty if not applicable.
                       
                      * **MaximumThroughput** - Maximum amount of throughput that is available for the given the storage type. Can be empty if not applicable.
                       
                      * **MinimumThroughput** - Minimum amount of throughput that is available for the given the storage type. Can be empty if not applicable.
                      

                      
                    

                    - **LimitValues** *(list) --* 

                      The limit values.

                      
                      

                      - *(string) --* 
                  
                
              
            
          
            

            - **InstanceLimits** *(dict) --* 

              The limits for a given instance type.

              
              

              - **InstanceCountLimits** *(dict) --* 

                Limits on the number of instances that can be created for a given instance type.

                
                

                - **MinimumInstanceCount** *(integer) --* 

                  The maximum allowed number of instances.

                  
                

                - **MaximumInstanceCount** *(integer) --* 

                  The minimum allowed number of instances.

                  
            
          
            

            - **AdditionalLimits** *(list) --* 

              List of additional limits that are specific to a given instance type for each of its instance roles.

              
              

              - *(dict) --* 

                List of limits that are specific to a given instance type.

                
                

                - **LimitName** *(string) --* 

                  
                  * ``MaximumNumberOfDataNodesSupported`` - This attribute only applies to master nodes and specifies the maximum number of data nodes of a given instance type a master node can support.
                   
                  * ``MaximumNumberOfDataNodesWithoutMasterNode`` - This attribute only applies to data nodes and specifies the maximum number of data nodes of a given instance type can exist without a master node governing them.
                  

                  
                

                - **LimitValues** *(list) --* 

                  The values of the additional instance type limits.

                  
                  

                  - *(string) --* 
              
            
          
        
    
  
  
  **Exceptions**
  
  *   :py:class:`OpenSearchService.Client.exceptions.BaseException`

  
  *   :py:class:`OpenSearchService.Client.exceptions.InternalException`

  
  *   :py:class:`OpenSearchService.Client.exceptions.InvalidTypeException`

  
  *   :py:class:`OpenSearchService.Client.exceptions.LimitExceededException`

  
  *   :py:class:`OpenSearchService.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`OpenSearchService.Client.exceptions.ValidationException`

  