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

*****************************
search_transit_gateway_routes
*****************************



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

  

  Searches for routes in the specified transit gateway route table.

  

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


  **Request Syntax**
  ::

    response = client.search_transit_gateway_routes(
        TransitGatewayRouteTableId='string',
        Filters=[
            {
                'Name': 'string',
                'Values': [
                    'string',
                ]
            },
        ],
        MaxResults=123,
        DryRun=True|False,
        NextToken='string'
    )
    
  :type TransitGatewayRouteTableId: string
  :param TransitGatewayRouteTableId: **[REQUIRED]** 

    The ID of the transit gateway route table.

    

  
  :type Filters: list
  :param Filters: **[REQUIRED]** 

    One or more filters. The possible values are:

     

    
    * ``attachment.transit-gateway-attachment-id``- The id of the transit gateway attachment.
     
    * ``attachment.resource-id`` - The resource id of the transit gateway attachment.
     
    * ``attachment.resource-type`` - The attachment resource type. Valid values are ``vpc`` | ``vpn`` | ``direct-connect-gateway`` | ``peering`` | ``connect``.
     
    * ``prefix-list-id`` - The ID of the prefix list.
     
    * ``route-search.exact-match`` - The exact match of the specified filter.
     
    * ``route-search.longest-prefix-match`` - The longest prefix that matches the route.
     
    * ``route-search.subnet-of-match`` - The routes with a subnet that match the specified CIDR filter.
     
    * ``route-search.supernet-of-match`` - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.
     
    * ``state`` - The state of the route ( ``active`` | ``blackhole``).
     
    * ``type`` - The type of route ( ``propagated`` | ``static``).
    

    

  
    - *(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 routes to return. If a value is not provided, the default is 1000.

    

  
  :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``.

    

  
  :type NextToken: string
  :param NextToken: 

    The token for the next page of results.

    

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

    
    ::

      {
          'Routes': [
              {
                  'DestinationCidrBlock': 'string',
                  'PrefixListId': 'string',
                  'TransitGatewayRouteTableAnnouncementId': 'string',
                  'TransitGatewayAttachments': [
                      {
                          'ResourceId': 'string',
                          'TransitGatewayAttachmentId': 'string',
                          'ResourceType': 'vpc'|'vpn'|'vpn-concentrator'|'direct-connect-gateway'|'connect'|'peering'|'tgw-peering'|'network-function'
                      },
                  ],
                  'Type': 'static'|'propagated',
                  'State': 'pending'|'active'|'blackhole'|'deleting'|'deleted'
              },
          ],
          'AdditionalRoutesAvailable': True|False,
          'NextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Routes** *(list) --* 

        Information about the routes.

        
        

        - *(dict) --* 

          Describes a route for a transit gateway route table.

          
          

          - **DestinationCidrBlock** *(string) --* 

            The CIDR block used for destination matches.

            
          

          - **PrefixListId** *(string) --* 

            The ID of the prefix list used for destination matches.

            
          

          - **TransitGatewayRouteTableAnnouncementId** *(string) --* 

            The ID of the transit gateway route table announcement.

            
          

          - **TransitGatewayAttachments** *(list) --* 

            The attachments.

            
            

            - *(dict) --* 

              Describes a route attachment.

              
              

              - **ResourceId** *(string) --* 

                The ID of the resource.

                
              

              - **TransitGatewayAttachmentId** *(string) --* 

                The ID of the attachment.

                
              

              - **ResourceType** *(string) --* 

                The resource type. Note that the ``tgw-peering`` resource type has been deprecated.

                
          
        
          

          - **Type** *(string) --* 

            The route type.

            
          

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

            The state of the route.

            
      
    
      

      - **AdditionalRoutesAvailable** *(boolean) --* 

        Indicates whether there are additional routes available.

        
      

      - **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.

        
  