NetworkManager / Client / start_route_analysis

start_route_analysis#

NetworkManager.Client.start_route_analysis(**kwargs)#

Starts analyzing the routing path between the specified source and destination. For more information, see Route Analyzer.

See also: AWS API Documentation

Request Syntax

response = client.start_route_analysis(
    GlobalNetworkId='string',
    Source={
        'TransitGatewayAttachmentArn': 'string',
        'IpAddress': 'string'
    },
    Destination={
        'TransitGatewayAttachmentArn': 'string',
        'IpAddress': 'string'
    },
    IncludeReturnPath=True|False,
    UseMiddleboxes=True|False
)
Parameters:
  • GlobalNetworkId (string) –

    [REQUIRED]

    The ID of the global network.

  • Source (dict) –

    [REQUIRED]

    The source from which traffic originates.

    • TransitGatewayAttachmentArn (string) –

      The ARN of the transit gateway attachment.

    • IpAddress (string) –

      The IP address.

  • Destination (dict) –

    [REQUIRED]

    The destination.

    • TransitGatewayAttachmentArn (string) –

      The ARN of the transit gateway attachment.

    • IpAddress (string) –

      The IP address.

  • IncludeReturnPath (boolean) – Indicates whether to analyze the return path. The default is false.

  • UseMiddleboxes (boolean) – Indicates whether to include the location of middlebox appliances in the route analysis. The default is false.

Return type:

dict

Returns:

Response Syntax

{
    'RouteAnalysis': {
        'GlobalNetworkId': 'string',
        'OwnerAccountId': 'string',
        'RouteAnalysisId': 'string',
        'StartTimestamp': datetime(2015, 1, 1),
        'Status': 'RUNNING'|'COMPLETED'|'FAILED',
        'Source': {
            'TransitGatewayAttachmentArn': 'string',
            'TransitGatewayArn': 'string',
            'IpAddress': 'string'
        },
        'Destination': {
            'TransitGatewayAttachmentArn': 'string',
            'TransitGatewayArn': 'string',
            'IpAddress': 'string'
        },
        'IncludeReturnPath': True|False,
        'UseMiddleboxes': True|False,
        'ForwardPath': {
            'CompletionStatus': {
                'ResultCode': 'CONNECTED'|'NOT_CONNECTED',
                'ReasonCode': 'TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND'|'TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY'|'CYCLIC_PATH_DETECTED'|'TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND'|'ROUTE_NOT_FOUND'|'BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND'|'INACTIVE_ROUTE_FOR_DESTINATION_FOUND'|'TRANSIT_GATEWAY_ATTACHMENT_ATTACH_ARN_NO_MATCH'|'MAX_HOPS_EXCEEDED'|'POSSIBLE_MIDDLEBOX'|'NO_DESTINATION_ARN_PROVIDED',
                'ReasonContext': {
                    'string': 'string'
                }
            },
            'Path': [
                {
                    'Sequence': 123,
                    'Resource': {
                        'RegisteredGatewayArn': 'string',
                        'ResourceArn': 'string',
                        'ResourceType': 'string',
                        'Definition': 'string',
                        'NameTag': 'string',
                        'IsMiddlebox': True|False
                    },
                    'DestinationCidrBlock': 'string'
                },
            ]
        },
        'ReturnPath': {
            'CompletionStatus': {
                'ResultCode': 'CONNECTED'|'NOT_CONNECTED',
                'ReasonCode': 'TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND'|'TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY'|'CYCLIC_PATH_DETECTED'|'TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND'|'ROUTE_NOT_FOUND'|'BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND'|'INACTIVE_ROUTE_FOR_DESTINATION_FOUND'|'TRANSIT_GATEWAY_ATTACHMENT_ATTACH_ARN_NO_MATCH'|'MAX_HOPS_EXCEEDED'|'POSSIBLE_MIDDLEBOX'|'NO_DESTINATION_ARN_PROVIDED',
                'ReasonContext': {
                    'string': 'string'
                }
            },
            'Path': [
                {
                    'Sequence': 123,
                    'Resource': {
                        'RegisteredGatewayArn': 'string',
                        'ResourceArn': 'string',
                        'ResourceType': 'string',
                        'Definition': 'string',
                        'NameTag': 'string',
                        'IsMiddlebox': True|False
                    },
                    'DestinationCidrBlock': 'string'
                },
            ]
        }
    }
}

Response Structure

  • (dict) –

    • RouteAnalysis (dict) –

      The route analysis.

      • GlobalNetworkId (string) –

        The ID of the global network.

      • OwnerAccountId (string) –

        The ID of the AWS account that created the route analysis.

      • RouteAnalysisId (string) –

        The ID of the route analysis.

      • StartTimestamp (datetime) –

        The time that the analysis started.

      • Status (string) –

        The status of the route analysis.

      • Source (dict) –

        The source.

        • TransitGatewayAttachmentArn (string) –

          The ARN of the transit gateway attachment.

        • TransitGatewayArn (string) –

          The ARN of the transit gateway.

        • IpAddress (string) –

          The IP address.

      • Destination (dict) –

        The destination.

        • TransitGatewayAttachmentArn (string) –

          The ARN of the transit gateway attachment.

        • TransitGatewayArn (string) –

          The ARN of the transit gateway.

        • IpAddress (string) –

          The IP address.

      • IncludeReturnPath (boolean) –

        Indicates whether to analyze the return path. The return path is not analyzed if the forward path analysis does not succeed.

      • UseMiddleboxes (boolean) –

        Indicates whether to include the location of middlebox appliances in the route analysis.

      • ForwardPath (dict) –

        The forward path.

        • CompletionStatus (dict) –

          The status of the analysis at completion.

          • ResultCode (string) –

            The result of the analysis. If the status is NOT_CONNECTED, check the reason code.

          • ReasonCode (string) –

            The reason code. Available only if a connection is not found.

            • BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND - Found a black hole route with the destination CIDR block.

            • CYCLIC_PATH_DETECTED - Found the same resource multiple times while traversing the path.

            • INACTIVE_ROUTE_FOR_DESTINATION_FOUND - Found an inactive route with the destination CIDR block.

            • MAX_HOPS_EXCEEDED - Analysis exceeded 64 hops without finding the destination.

            • ROUTE_NOT_FOUND - Cannot find a route table with the destination CIDR block.

            • TGW_ATTACH_ARN_NO_MATCH - Found an attachment, but not with the correct destination ARN.

            • TGW_ATTACH_NOT_FOUND - Cannot find an attachment.

            • TGW_ATTACH_NOT_IN_TGW - Found an attachment, but not to the correct transit gateway.

            • TGW_ATTACH_STABLE_ROUTE_TABLE_NOT_FOUND - The state of the route table association is not associated.

          • ReasonContext (dict) –

            Additional information about the path. Available only if a connection is not found.

            • (string) –

              • (string) –

        • Path (list) –

          The route analysis path.

          • (dict) –

            Describes a path component.

            • Sequence (integer) –

              The sequence number in the path. The destination is 0.

            • Resource (dict) –

              The resource.

              • RegisteredGatewayArn (string) –

                The ARN of the gateway.

              • ResourceArn (string) –

                The ARN of the resource.

              • ResourceType (string) –

                The resource type.

              • Definition (string) –

                Information about the resource, in JSON format. Network Manager gets this information by describing the resource using its Describe API call.

              • NameTag (string) –

                The value for the Name tag.

              • IsMiddlebox (boolean) –

                Indicates whether this is a middlebox appliance.

            • DestinationCidrBlock (string) –

              The destination CIDR block in the route table.

      • ReturnPath (dict) –

        The return path.

        • CompletionStatus (dict) –

          The status of the analysis at completion.

          • ResultCode (string) –

            The result of the analysis. If the status is NOT_CONNECTED, check the reason code.

          • ReasonCode (string) –

            The reason code. Available only if a connection is not found.

            • BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND - Found a black hole route with the destination CIDR block.

            • CYCLIC_PATH_DETECTED - Found the same resource multiple times while traversing the path.

            • INACTIVE_ROUTE_FOR_DESTINATION_FOUND - Found an inactive route with the destination CIDR block.

            • MAX_HOPS_EXCEEDED - Analysis exceeded 64 hops without finding the destination.

            • ROUTE_NOT_FOUND - Cannot find a route table with the destination CIDR block.

            • TGW_ATTACH_ARN_NO_MATCH - Found an attachment, but not with the correct destination ARN.

            • TGW_ATTACH_NOT_FOUND - Cannot find an attachment.

            • TGW_ATTACH_NOT_IN_TGW - Found an attachment, but not to the correct transit gateway.

            • TGW_ATTACH_STABLE_ROUTE_TABLE_NOT_FOUND - The state of the route table association is not associated.

          • ReasonContext (dict) –

            Additional information about the path. Available only if a connection is not found.

            • (string) –

              • (string) –

        • Path (list) –

          The route analysis path.

          • (dict) –

            Describes a path component.

            • Sequence (integer) –

              The sequence number in the path. The destination is 0.

            • Resource (dict) –

              The resource.

              • RegisteredGatewayArn (string) –

                The ARN of the gateway.

              • ResourceArn (string) –

                The ARN of the resource.

              • ResourceType (string) –

                The resource type.

              • Definition (string) –

                Information about the resource, in JSON format. Network Manager gets this information by describing the resource using its Describe API call.

              • NameTag (string) –

                The value for the Name tag.

              • IsMiddlebox (boolean) –

                Indicates whether this is a middlebox appliance.

            • DestinationCidrBlock (string) –

              The destination CIDR block in the route table.

Exceptions

  • NetworkManager.Client.exceptions.ValidationException

  • NetworkManager.Client.exceptions.AccessDeniedException

  • NetworkManager.Client.exceptions.ResourceNotFoundException

  • NetworkManager.Client.exceptions.ConflictException

  • NetworkManager.Client.exceptions.ThrottlingException

  • NetworkManager.Client.exceptions.InternalServerException