:doc:`EC2 <../../ec2>` / Paginator / DescribeInstanceTopology

************************
DescribeInstanceTopology
************************



.. py:class:: EC2.Paginator.DescribeInstanceTopology

  ::

    
    paginator = client.get_paginator('describe_instance_topology')

  
  

  .. py:method:: paginate(**kwargs)

    Creates an iterator that will paginate through responses from :py:meth:`EC2.Client.describe_instance_topology`.

    See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTopology>`_    


    **Request Syntax**
    ::

      response_iterator = paginator.paginate(
          DryRun=True|False,
          InstanceIds=[
              'string',
          ],
          GroupNames=[
              'string',
          ],
          Filters=[
              {
                  'Name': 'string',
                  'Values': [
                      'string',
                  ]
              },
          ],
          PaginationConfig={
              'MaxItems': 123,
              'PageSize': 123,
              'StartingToken': 'string'
          }
      )
      
    :type DryRun: boolean
    :param DryRun: 

      Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is ``DryRunOperation``. Otherwise, it is ``UnauthorizedOperation``.

      

    
    :type InstanceIds: list
    :param InstanceIds: 

      The instance IDs.

       

      Default: Describes all your instances.

       

      Constraints: Maximum 100 explicitly specified instance IDs.

      

    
      - *(string) --* 

      
  
    :type GroupNames: list
    :param GroupNames: 

      The name of the placement group that each instance is in.

       

      Constraints: Maximum 100 explicitly specified placement group names.

      

    
      - *(string) --* 

      
  
    :type Filters: list
    :param Filters: 

      The filters.

       

      
      * ``availability-zone`` - The name of the Availability Zone (for example, ``us-west-2a``) or Local Zone (for example, ``us-west-2-lax-1b``) that the instance is in.
       
      * ``instance-type`` - The instance type (for example, ``p4d.24xlarge``) or instance family (for example, ``p4d*``). You can use the ``*`` wildcard to match zero or more characters, or the ``?`` wildcard to match zero or one character.
       
      * ``zone-id`` - The ID of the Availability Zone (for example, ``usw2-az2``) or Local Zone (for example, ``usw2-lax1-az1``) that the instance is in.
      

      

    
      - *(dict) --* 

        A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

         

        If you specify multiple filters, the filters are joined with an ``AND``, and the request returns only results that match all of the specified filters.

         

        For more information, see `List and filter using the CLI and API <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html#Filtering_Resources_CLI>`__ in the *Amazon EC2 User Guide*.

        

      
        - **Name** *(string) --* 

          The name of the filter. Filter names are case-sensitive.

          

        
        - **Values** *(list) --* 

          The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an ``OR``, and the request returns all results that match any of the specified values.

          

        
          - *(string) --* 

          
      
      
  
    :type PaginationConfig: dict
    :param PaginationConfig: 

      A dictionary that provides parameters to control pagination.

      

    
      - **MaxItems** *(integer) --* 

        The total number of items to return. If the total number of items available is more than the value specified in max-items then a ``NextToken`` will be provided in the output that you can use to resume pagination.

        

      
      - **PageSize** *(integer) --* 

        The size of each page.

        

      
      - **StartingToken** *(string) --* 

        A token to specify where to start paginating. This is the ``NextToken`` from a previous response.

        

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

      
      ::

        {
            'Instances': [
                {
                    'InstanceId': 'string',
                    'InstanceType': 'string',
                    'GroupName': 'string',
                    'NetworkNodes': [
                        'string',
                    ],
                    'AvailabilityZone': 'string',
                    'ZoneId': 'string',
                    'CapacityBlockId': 'string'
                },
            ],
            
        }
        
      **Response Structure**

      

      - *(dict) --* 
        

        - **Instances** *(list) --* 

          Information about the topology of each instance.

          
          

          - *(dict) --* 

            Information about the instance topology.

            
            

            - **InstanceId** *(string) --* 

              The instance ID.

              
            

            - **InstanceType** *(string) --* 

              The instance type.

              
            

            - **GroupName** *(string) --* 

              The name of the placement group that the instance is in.

              
            

            - **NetworkNodes** *(list) --* 

              The network nodes. The nodes are hashed based on your account. Instances from different accounts running under the same server will return a different hashed list of strings.

               

              The value is ``null`` or empty if:

               

              
              * The instance type is not supported.
               
              * The instance is in a state other than ``running``.
              

              
              

              - *(string) --* 
          
            

            - **AvailabilityZone** *(string) --* 

              The name of the Availability Zone or Local Zone that the instance is in.

              
            

            - **ZoneId** *(string) --* 

              The ID of the Availability Zone or Local Zone that the instance is in.

              
            

            - **CapacityBlockId** *(string) --* 

              The ID of the Capacity Block. This parameter is only supported for UltraServer instances and identifies instances within the UltraServer domain.

              
        
      
    