:doc:`EC2 <../../ec2>` / Client / describe_transit_gateways

*************************
describe_transit_gateways
*************************



.. py:method:: EC2.Client.describe_transit_gateways(**kwargs)

  

  Describes one or more transit gateways. By default, all transit gateways are described. Alternatively, you can filter the results.

  

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


  **Request Syntax**
  ::

    response = client.describe_transit_gateways(
        TransitGatewayIds=[
            'string',
        ],
        Filters=[
            {
                'Name': 'string',
                'Values': [
                    'string',
                ]
            },
        ],
        MaxResults=123,
        NextToken='string',
        DryRun=True|False
    )
    
  :type TransitGatewayIds: list
  :param TransitGatewayIds: 

    The IDs of the transit gateways.

    

  
    - *(string) --* 

    

  :type Filters: list
  :param Filters: 

    One or more filters. The possible values are:

     

    
    * ``options.propagation-default-route-table-id`` - The ID of the default propagation route table.
     
    * ``options.amazon-side-asn`` - The private ASN for the Amazon side of a BGP session.
     
    * ``options.association-default-route-table-id`` - The ID of the default association route table.
     
    * ``options.auto-accept-shared-attachments`` - Indicates whether there is automatic acceptance of attachment requests ( ``enable`` | ``disable``).
     
    * ``options.default-route-table-association`` - Indicates whether resource attachments are automatically associated with the default association route table ( ``enable`` | ``disable``).
     
    * ``options.default-route-table-propagation`` - Indicates whether resource attachments automatically propagate routes to the default propagation route table ( ``enable`` | ``disable``).
     
    * ``options.dns-support`` - Indicates whether DNS support is enabled ( ``enable`` | ``disable``).
     
    * ``options.vpn-ecmp-support`` - Indicates whether Equal Cost Multipath Protocol support is enabled ( ``enable`` | ``disable``).
     
    * ``owner-id`` - The ID of the Amazon Web Services account that owns the transit gateway.
     
    * ``state`` - The state of the transit gateway ( ``available`` | ``deleted`` | ``deleting`` | ``modifying`` | ``pending``).
     
    * ``transit-gateway-id`` - The ID of the transit gateway.
     
    * ``tag-key ``- The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key ``Owner`` and the value ``TeamA``, specify ``tag:Owner`` for the filter name and ``TeamA`` for the filter value.
    

    

  
    - *(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 MaxResults: integer
  :param MaxResults: 

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned ``nextToken`` value.

    

  
  :type NextToken: string
  :param NextToken: 

    The token for the next page of results.

    

  
  :type DryRun: boolean
  :param DryRun: 

    Checks whether you have the required permissions for the action, 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``.

    

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

    
    ::

      {
          'TransitGateways': [
              {
                  'TransitGatewayId': 'string',
                  'TransitGatewayArn': 'string',
                  'State': 'pending'|'available'|'modifying'|'deleting'|'deleted',
                  'OwnerId': 'string',
                  'Description': 'string',
                  'CreationTime': datetime(2015, 1, 1),
                  'Options': {
                      'AmazonSideAsn': 123,
                      'TransitGatewayCidrBlocks': [
                          'string',
                      ],
                      'AutoAcceptSharedAttachments': 'enable'|'disable',
                      'DefaultRouteTableAssociation': 'enable'|'disable',
                      'AssociationDefaultRouteTableId': 'string',
                      'DefaultRouteTablePropagation': 'enable'|'disable',
                      'PropagationDefaultRouteTableId': 'string',
                      'VpnEcmpSupport': 'enable'|'disable',
                      'DnsSupport': 'enable'|'disable',
                      'SecurityGroupReferencingSupport': 'enable'|'disable',
                      'MulticastSupport': 'enable'|'disable',
                      'EncryptionSupport': {
                          'EncryptionState': 'enabling'|'enabled'|'disabling'|'disabled',
                          'StateMessage': 'string'
                      }
                  },
                  'Tags': [
                      {
                          'Key': 'string',
                          'Value': 'string'
                      },
                  ]
              },
          ],
          'NextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **TransitGateways** *(list) --* 

        Information about the transit gateways.

        
        

        - *(dict) --* 

          Describes a transit gateway.

          
          

          - **TransitGatewayId** *(string) --* 

            The ID of the transit gateway.

            
          

          - **TransitGatewayArn** *(string) --* 

            The Amazon Resource Name (ARN) of the transit gateway.

            
          

          - **State** *(string) --* 

            The state of the transit gateway.

            
          

          - **OwnerId** *(string) --* 

            The ID of the Amazon Web Services account that owns the transit gateway.

            
          

          - **Description** *(string) --* 

            The description of the transit gateway.

            
          

          - **CreationTime** *(datetime) --* 

            The creation time.

            
          

          - **Options** *(dict) --* 

            The transit gateway options.

            
            

            - **AmazonSideAsn** *(integer) --* 

              A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.

              
            

            - **TransitGatewayCidrBlocks** *(list) --* 

              The transit gateway CIDR blocks.

              
              

              - *(string) --* 
          
            

            - **AutoAcceptSharedAttachments** *(string) --* 

              Indicates whether attachment requests are automatically accepted.

              
            

            - **DefaultRouteTableAssociation** *(string) --* 

              Indicates whether resource attachments are automatically associated with the default association route table. Enabled by default. Either ``defaultRouteTableAssociation`` or ``defaultRouteTablePropagation`` must be set to ``enable`` for Amazon Web Services Transit Gateway to create the default transit gateway route table.

              
            

            - **AssociationDefaultRouteTableId** *(string) --* 

              The ID of the default association route table.

              
            

            - **DefaultRouteTablePropagation** *(string) --* 

              Indicates whether resource attachments automatically propagate routes to the default propagation route table. Enabled by default. If ``defaultRouteTablePropagation`` is set to ``enable``, Amazon Web Services Transit Gateway creates the default transit gateway route table.

              
            

            - **PropagationDefaultRouteTableId** *(string) --* 

              The ID of the default propagation route table.

              
            

            - **VpnEcmpSupport** *(string) --* 

              Indicates whether Equal Cost Multipath Protocol support is enabled.

              
            

            - **DnsSupport** *(string) --* 

              Indicates whether DNS support is enabled.

              
            

            - **SecurityGroupReferencingSupport** *(string) --* 

              Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

               

              This option is disabled by default.

              
            

            - **MulticastSupport** *(string) --* 

              Indicates whether multicast is enabled on the transit gateway

              
            

            - **EncryptionSupport** *(dict) --* 

              Defines if the Transit Gateway supports VPC Encryption Control.

              
              

              - **EncryptionState** *(string) --* 

                The current encryption state of the resource.

                
              

              - **StateMessage** *(string) --* 

                A message describing the encryption state.

                
          
        
          

          - **Tags** *(list) --* 

            The tags for the transit gateway.

            
            

            - *(dict) --* 

              Describes a tag.

              
              

              - **Key** *(string) --* 

                The key of the tag.

                 

                Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with ``aws:``.

                
              

              - **Value** *(string) --* 

                The value of the tag.

                 

                Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

                
          
        
      
    
      

      - **NextToken** *(string) --* 

        The token to use to retrieve the next page of results. This value is ``null`` when there are no more results to return.

        
  