{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2019-07-05",
    "endpointPrefix":"networkmanager",
    "jsonVersion":"1.1",
    "protocol":"rest-json",
    "serviceAbbreviation":"NetworkManager",
    "serviceFullName":"AWS Network Manager",
    "serviceId":"NetworkManager",
    "signatureVersion":"v4",
    "signingName":"networkmanager",
    "uid":"networkmanager-2019-07-05"
  },
  "operations":{
    "AcceptAttachment":{
      "name":"AcceptAttachment",
      "http":{
        "method":"POST",
        "requestUri":"/attachments/{attachmentId}/accept"
      },
      "input":{"shape":"AcceptAttachmentRequest"},
      "output":{"shape":"AcceptAttachmentResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Accepts a core network attachment request. </p> <p>Once the attachment request is accepted by a core network owner, the attachment is created and connected to a core network.</p>"
    },
    "AssociateConnectPeer":{
      "name":"AssociateConnectPeer",
      "http":{
        "method":"POST",
        "requestUri":"/global-networks/{globalNetworkId}/connect-peer-associations"
      },
      "input":{"shape":"AssociateConnectPeerRequest"},
      "output":{"shape":"AssociateConnectPeerResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Associates a core network Connect peer with a device and optionally, with a link. </p> <p>If you specify a link, it must be associated with the specified device. You can only associate core network Connect peers that have been created on a core network Connect attachment on a core network. </p>"
    },
    "AssociateCustomerGateway":{
      "name":"AssociateCustomerGateway",
      "http":{
        "method":"POST",
        "requestUri":"/global-networks/{globalNetworkId}/customer-gateway-associations"
      },
      "input":{"shape":"AssociateCustomerGatewayRequest"},
      "output":{"shape":"AssociateCustomerGatewayResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Associates a customer gateway with a device and optionally, with a link. If you specify a link, it must be associated with the specified device. </p> <p>You can only associate customer gateways that are connected to a VPN attachment on a transit gateway or core network registered in your global network. When you register a transit gateway or core network, customer gateways that are connected to the transit gateway are automatically included in the global network. To list customer gateways that are connected to a transit gateway, use the <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpnConnections.html\">DescribeVpnConnections</a> EC2 API and filter by <code>transit-gateway-id</code>.</p> <p>You cannot associate a customer gateway with more than one device and link. </p>"
    },
    "AssociateLink":{
      "name":"AssociateLink",
      "http":{
        "method":"POST",
        "requestUri":"/global-networks/{globalNetworkId}/link-associations"
      },
      "input":{"shape":"AssociateLinkRequest"},
      "output":{"shape":"AssociateLinkResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Associates a link to a device. A device can be associated to multiple links and a link can be associated to multiple devices. The device and link must be in the same global network and the same site.</p>"
    },
    "AssociateTransitGatewayConnectPeer":{
      "name":"AssociateTransitGatewayConnectPeer",
      "http":{
        "method":"POST",
        "requestUri":"/global-networks/{globalNetworkId}/transit-gateway-connect-peer-associations"
      },
      "input":{"shape":"AssociateTransitGatewayConnectPeerRequest"},
      "output":{"shape":"AssociateTransitGatewayConnectPeerResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Associates a transit gateway Connect peer with a device, and optionally, with a link. If you specify a link, it must be associated with the specified device. </p> <p>You can only associate transit gateway Connect peers that have been created on a transit gateway that's registered in your global network.</p> <p>You cannot associate a transit gateway Connect peer with more than one device and link. </p>"
    },
    "CreateConnectAttachment":{
      "name":"CreateConnectAttachment",
      "http":{
        "method":"POST",
        "requestUri":"/connect-attachments"
      },
      "input":{"shape":"CreateConnectAttachmentRequest"},
      "output":{"shape":"CreateConnectAttachmentResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a core network Connect attachment from a specified core network attachment. </p> <p>A core network Connect attachment is a GRE-based tunnel attachment that you can use to establish a connection between a core network and an appliance. A core network Connect attachment uses an existing VPC attachment as the underlying transport mechanism.</p>"
    },
    "CreateConnectPeer":{
      "name":"CreateConnectPeer",
      "http":{
        "method":"POST",
        "requestUri":"/connect-peers"
      },
      "input":{"shape":"CreateConnectPeerRequest"},
      "output":{"shape":"CreateConnectPeerResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a core network Connect peer for a specified core network connect attachment between a core network and an appliance. The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).</p>"
    },
    "CreateConnection":{
      "name":"CreateConnection",
      "http":{
        "method":"POST",
        "requestUri":"/global-networks/{globalNetworkId}/connections"
      },
      "input":{"shape":"CreateConnectionRequest"},
      "output":{"shape":"CreateConnectionResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a connection between two devices. The devices can be a physical or virtual appliance that connects to a third-party appliance in a VPC, or a physical appliance that connects to another physical appliance in an on-premises network.</p>"
    },
    "CreateCoreNetwork":{
      "name":"CreateCoreNetwork",
      "http":{
        "method":"POST",
        "requestUri":"/core-networks"
      },
      "input":{"shape":"CreateCoreNetworkRequest"},
      "output":{"shape":"CreateCoreNetworkResponse"},
      "errors":[
        {"shape":"CoreNetworkPolicyException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a core network as part of your global network, and optionally, with a core network policy.</p>"
    },
    "CreateDevice":{
      "name":"CreateDevice",
      "http":{
        "method":"POST",
        "requestUri":"/global-networks/{globalNetworkId}/devices"
      },
      "input":{"shape":"CreateDeviceRequest"},
      "output":{"shape":"CreateDeviceResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a new device in a global network. If you specify both a site ID and a location, the location of the site is used for visualization in the Network Manager console.</p>"
    },
    "CreateGlobalNetwork":{
      "name":"CreateGlobalNetwork",
      "http":{
        "method":"POST",
        "requestUri":"/global-networks"
      },
      "input":{"shape":"CreateGlobalNetworkRequest"},
      "output":{"shape":"CreateGlobalNetworkResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a new, empty global network.</p>"
    },
    "CreateLink":{
      "name":"CreateLink",
      "http":{
        "method":"POST",
        "requestUri":"/global-networks/{globalNetworkId}/links"
      },
      "input":{"shape":"CreateLinkRequest"},
      "output":{"shape":"CreateLinkResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a new link for a specified site.</p>"
    },
    "CreateSite":{
      "name":"CreateSite",
      "http":{
        "method":"POST",
        "requestUri":"/global-networks/{globalNetworkId}/sites"
      },
      "input":{"shape":"CreateSiteRequest"},
      "output":{"shape":"CreateSiteResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a new site in a global network.</p>"
    },
    "CreateSiteToSiteVpnAttachment":{
      "name":"CreateSiteToSiteVpnAttachment",
      "http":{
        "method":"POST",
        "requestUri":"/site-to-site-vpn-attachments"
      },
      "input":{"shape":"CreateSiteToSiteVpnAttachmentRequest"},
      "output":{"shape":"CreateSiteToSiteVpnAttachmentResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates an Amazon Web Services site-to-site VPN attachment on an edge location of a core network.</p>"
    },
    "CreateVpcAttachment":{
      "name":"CreateVpcAttachment",
      "http":{
        "method":"POST",
        "requestUri":"/vpc-attachments"
      },
      "input":{"shape":"CreateVpcAttachmentRequest"},
      "output":{"shape":"CreateVpcAttachmentResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates a VPC attachment on an edge location of a core network.</p>"
    },
    "DeleteAttachment":{
      "name":"DeleteAttachment",
      "http":{
        "method":"DELETE",
        "requestUri":"/attachments/{attachmentId}"
      },
      "input":{"shape":"DeleteAttachmentRequest"},
      "output":{"shape":"DeleteAttachmentResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes an attachment. Supports all attachment types.</p>"
    },
    "DeleteConnectPeer":{
      "name":"DeleteConnectPeer",
      "http":{
        "method":"DELETE",
        "requestUri":"/connect-peers/{connectPeerId}"
      },
      "input":{"shape":"DeleteConnectPeerRequest"},
      "output":{"shape":"DeleteConnectPeerResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes a Connect peer.</p>"
    },
    "DeleteConnection":{
      "name":"DeleteConnection",
      "http":{
        "method":"DELETE",
        "requestUri":"/global-networks/{globalNetworkId}/connections/{connectionId}"
      },
      "input":{"shape":"DeleteConnectionRequest"},
      "output":{"shape":"DeleteConnectionResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes the specified connection in your global network.</p>"
    },
    "DeleteCoreNetwork":{
      "name":"DeleteCoreNetwork",
      "http":{
        "method":"DELETE",
        "requestUri":"/core-networks/{coreNetworkId}"
      },
      "input":{"shape":"DeleteCoreNetworkRequest"},
      "output":{"shape":"DeleteCoreNetworkResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes a core network along with all core network policies. This can only be done if there are no attachments on a core network.</p>"
    },
    "DeleteCoreNetworkPolicyVersion":{
      "name":"DeleteCoreNetworkPolicyVersion",
      "http":{
        "method":"DELETE",
        "requestUri":"/core-networks/{coreNetworkId}/core-network-policy-versions/{policyVersionId}"
      },
      "input":{"shape":"DeleteCoreNetworkPolicyVersionRequest"},
      "output":{"shape":"DeleteCoreNetworkPolicyVersionResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Deletes a policy version from a core network. You can't delete the current LIVE policy.</p>"
    },
    "DeleteDevice":{
      "name":"DeleteDevice",
      "http":{
        "method":"DELETE",
        "requestUri":"/global-networks/{globalNetworkId}/devices/{deviceId}"
      },
      "input":{"shape":"DeleteDeviceRequest"},
      "output":{"shape":"DeleteDeviceResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes an existing device. You must first disassociate the device from any links and customer gateways.</p>"
    },
    "DeleteGlobalNetwork":{
      "name":"DeleteGlobalNetwork",
      "http":{
        "method":"DELETE",
        "requestUri":"/global-networks/{globalNetworkId}"
      },
      "input":{"shape":"DeleteGlobalNetworkRequest"},
      "output":{"shape":"DeleteGlobalNetworkResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes an existing global network. You must first delete all global network objects (devices, links, and sites), deregister all transit gateways, and delete any core networks.</p>"
    },
    "DeleteLink":{
      "name":"DeleteLink",
      "http":{
        "method":"DELETE",
        "requestUri":"/global-networks/{globalNetworkId}/links/{linkId}"
      },
      "input":{"shape":"DeleteLinkRequest"},
      "output":{"shape":"DeleteLinkResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes an existing link. You must first disassociate the link from any devices and customer gateways.</p>"
    },
    "DeleteResourcePolicy":{
      "name":"DeleteResourcePolicy",
      "http":{
        "method":"DELETE",
        "requestUri":"/resource-policy/{resourceArn}"
      },
      "input":{"shape":"DeleteResourcePolicyRequest"},
      "output":{"shape":"DeleteResourcePolicyResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes a resource policy for the specified resource. This revokes the access of the principals specified in the resource policy.</p>"
    },
    "DeleteSite":{
      "name":"DeleteSite",
      "http":{
        "method":"DELETE",
        "requestUri":"/global-networks/{globalNetworkId}/sites/{siteId}"
      },
      "input":{"shape":"DeleteSiteRequest"},
      "output":{"shape":"DeleteSiteResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deletes an existing site. The site cannot be associated with any device or link.</p>"
    },
    "DeregisterTransitGateway":{
      "name":"DeregisterTransitGateway",
      "http":{
        "method":"DELETE",
        "requestUri":"/global-networks/{globalNetworkId}/transit-gateway-registrations/{transitGatewayArn}"
      },
      "input":{"shape":"DeregisterTransitGatewayRequest"},
      "output":{"shape":"DeregisterTransitGatewayResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Deregisters a transit gateway from your global network. This action does not delete your transit gateway, or modify any of its attachments. This action removes any customer gateway associations.</p>"
    },
    "DescribeGlobalNetworks":{
      "name":"DescribeGlobalNetworks",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks"
      },
      "input":{"shape":"DescribeGlobalNetworksRequest"},
      "output":{"shape":"DescribeGlobalNetworksResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Describes one or more global networks. By default, all global networks are described. To describe the objects in your global network, you must use the appropriate <code>Get*</code> action. For example, to list the transit gateways in your global network, use <a>GetTransitGatewayRegistrations</a>.</p>"
    },
    "DisassociateConnectPeer":{
      "name":"DisassociateConnectPeer",
      "http":{
        "method":"DELETE",
        "requestUri":"/global-networks/{globalNetworkId}/connect-peer-associations/{connectPeerId}"
      },
      "input":{"shape":"DisassociateConnectPeerRequest"},
      "output":{"shape":"DisassociateConnectPeerResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Disassociates a core network Connect peer from a device and a link. </p>"
    },
    "DisassociateCustomerGateway":{
      "name":"DisassociateCustomerGateway",
      "http":{
        "method":"DELETE",
        "requestUri":"/global-networks/{globalNetworkId}/customer-gateway-associations/{customerGatewayArn}"
      },
      "input":{"shape":"DisassociateCustomerGatewayRequest"},
      "output":{"shape":"DisassociateCustomerGatewayResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Disassociates a customer gateway from a device and a link.</p>"
    },
    "DisassociateLink":{
      "name":"DisassociateLink",
      "http":{
        "method":"DELETE",
        "requestUri":"/global-networks/{globalNetworkId}/link-associations"
      },
      "input":{"shape":"DisassociateLinkRequest"},
      "output":{"shape":"DisassociateLinkResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Disassociates an existing device from a link. You must first disassociate any customer gateways that are associated with the link.</p>"
    },
    "DisassociateTransitGatewayConnectPeer":{
      "name":"DisassociateTransitGatewayConnectPeer",
      "http":{
        "method":"DELETE",
        "requestUri":"/global-networks/{globalNetworkId}/transit-gateway-connect-peer-associations/{transitGatewayConnectPeerArn}"
      },
      "input":{"shape":"DisassociateTransitGatewayConnectPeerRequest"},
      "output":{"shape":"DisassociateTransitGatewayConnectPeerResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Disassociates a transit gateway Connect peer from a device and link.</p>"
    },
    "ExecuteCoreNetworkChangeSet":{
      "name":"ExecuteCoreNetworkChangeSet",
      "http":{
        "method":"POST",
        "requestUri":"/core-networks/{coreNetworkId}/core-network-change-sets/{policyVersionId}/execute"
      },
      "input":{"shape":"ExecuteCoreNetworkChangeSetRequest"},
      "output":{"shape":"ExecuteCoreNetworkChangeSetResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Executes a change set on your core network. Deploys changes globally based on the policy submitted..</p>"
    },
    "GetConnectAttachment":{
      "name":"GetConnectAttachment",
      "http":{
        "method":"GET",
        "requestUri":"/connect-attachments/{attachmentId}"
      },
      "input":{"shape":"GetConnectAttachmentRequest"},
      "output":{"shape":"GetConnectAttachmentResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Returns information about a core network Connect attachment.</p>"
    },
    "GetConnectPeer":{
      "name":"GetConnectPeer",
      "http":{
        "method":"GET",
        "requestUri":"/connect-peers/{connectPeerId}"
      },
      "input":{"shape":"GetConnectPeerRequest"},
      "output":{"shape":"GetConnectPeerResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Returns information about a core network Connect peer.</p>"
    },
    "GetConnectPeerAssociations":{
      "name":"GetConnectPeerAssociations",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks/{globalNetworkId}/connect-peer-associations"
      },
      "input":{"shape":"GetConnectPeerAssociationsRequest"},
      "output":{"shape":"GetConnectPeerAssociationsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Returns information about a core network Connect peer associations.</p>"
    },
    "GetConnections":{
      "name":"GetConnections",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks/{globalNetworkId}/connections"
      },
      "input":{"shape":"GetConnectionsRequest"},
      "output":{"shape":"GetConnectionsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets information about one or more of your connections in a global network.</p>"
    },
    "GetCoreNetwork":{
      "name":"GetCoreNetwork",
      "http":{
        "method":"GET",
        "requestUri":"/core-networks/{coreNetworkId}"
      },
      "input":{"shape":"GetCoreNetworkRequest"},
      "output":{"shape":"GetCoreNetworkResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Returns information about the LIVE policy for a core network.</p>"
    },
    "GetCoreNetworkChangeSet":{
      "name":"GetCoreNetworkChangeSet",
      "http":{
        "method":"GET",
        "requestUri":"/core-networks/{coreNetworkId}/core-network-change-sets/{policyVersionId}"
      },
      "input":{"shape":"GetCoreNetworkChangeSetRequest"},
      "output":{"shape":"GetCoreNetworkChangeSetResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Returns a change set between the LIVE core network policy and a submitted policy.</p>"
    },
    "GetCoreNetworkPolicy":{
      "name":"GetCoreNetworkPolicy",
      "http":{
        "method":"GET",
        "requestUri":"/core-networks/{coreNetworkId}/core-network-policy"
      },
      "input":{"shape":"GetCoreNetworkPolicyRequest"},
      "output":{"shape":"GetCoreNetworkPolicyResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets details about a core network policy. You can get details about your current live policy or any previous policy version.</p>"
    },
    "GetCustomerGatewayAssociations":{
      "name":"GetCustomerGatewayAssociations",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks/{globalNetworkId}/customer-gateway-associations"
      },
      "input":{"shape":"GetCustomerGatewayAssociationsRequest"},
      "output":{"shape":"GetCustomerGatewayAssociationsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets the association information for customer gateways that are associated with devices and links in your global network.</p>"
    },
    "GetDevices":{
      "name":"GetDevices",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks/{globalNetworkId}/devices"
      },
      "input":{"shape":"GetDevicesRequest"},
      "output":{"shape":"GetDevicesResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets information about one or more of your devices in a global network.</p>"
    },
    "GetLinkAssociations":{
      "name":"GetLinkAssociations",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks/{globalNetworkId}/link-associations"
      },
      "input":{"shape":"GetLinkAssociationsRequest"},
      "output":{"shape":"GetLinkAssociationsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets the link associations for a device or a link. Either the device ID or the link ID must be specified.</p>"
    },
    "GetLinks":{
      "name":"GetLinks",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks/{globalNetworkId}/links"
      },
      "input":{"shape":"GetLinksRequest"},
      "output":{"shape":"GetLinksResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets information about one or more links in a specified global network.</p> <p>If you specify the site ID, you cannot specify the type or provider in the same request. You can specify the type and provider in the same request.</p>"
    },
    "GetNetworkResourceCounts":{
      "name":"GetNetworkResourceCounts",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks/{globalNetworkId}/network-resource-count"
      },
      "input":{"shape":"GetNetworkResourceCountsRequest"},
      "output":{"shape":"GetNetworkResourceCountsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets the count of network resources, by resource type, for the specified global network.</p>"
    },
    "GetNetworkResourceRelationships":{
      "name":"GetNetworkResourceRelationships",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks/{globalNetworkId}/network-resource-relationships"
      },
      "input":{"shape":"GetNetworkResourceRelationshipsRequest"},
      "output":{"shape":"GetNetworkResourceRelationshipsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets the network resource relationships for the specified global network.</p>"
    },
    "GetNetworkResources":{
      "name":"GetNetworkResources",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks/{globalNetworkId}/network-resources"
      },
      "input":{"shape":"GetNetworkResourcesRequest"},
      "output":{"shape":"GetNetworkResourcesResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Describes the network resources for the specified global network.</p> <p>The results include information from the corresponding Describe call for the resource, minus any sensitive information such as pre-shared keys.</p>"
    },
    "GetNetworkRoutes":{
      "name":"GetNetworkRoutes",
      "http":{
        "method":"POST",
        "requestUri":"/global-networks/{globalNetworkId}/network-routes"
      },
      "input":{"shape":"GetNetworkRoutesRequest"},
      "output":{"shape":"GetNetworkRoutesResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets the network routes of the specified global network.</p>"
    },
    "GetNetworkTelemetry":{
      "name":"GetNetworkTelemetry",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks/{globalNetworkId}/network-telemetry"
      },
      "input":{"shape":"GetNetworkTelemetryRequest"},
      "output":{"shape":"GetNetworkTelemetryResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets the network telemetry of the specified global network.</p>"
    },
    "GetResourcePolicy":{
      "name":"GetResourcePolicy",
      "http":{
        "method":"GET",
        "requestUri":"/resource-policy/{resourceArn}"
      },
      "input":{"shape":"GetResourcePolicyRequest"},
      "output":{"shape":"GetResourcePolicyResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Returns information about a resource policy.</p>"
    },
    "GetRouteAnalysis":{
      "name":"GetRouteAnalysis",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks/{globalNetworkId}/route-analyses/{routeAnalysisId}"
      },
      "input":{"shape":"GetRouteAnalysisRequest"},
      "output":{"shape":"GetRouteAnalysisResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets information about the specified route analysis.</p>"
    },
    "GetSiteToSiteVpnAttachment":{
      "name":"GetSiteToSiteVpnAttachment",
      "http":{
        "method":"GET",
        "requestUri":"/site-to-site-vpn-attachments/{attachmentId}"
      },
      "input":{"shape":"GetSiteToSiteVpnAttachmentRequest"},
      "output":{"shape":"GetSiteToSiteVpnAttachmentResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Returns information about a site-to-site VPN attachment.</p>"
    },
    "GetSites":{
      "name":"GetSites",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks/{globalNetworkId}/sites"
      },
      "input":{"shape":"GetSitesRequest"},
      "output":{"shape":"GetSitesResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets information about one or more of your sites in a global network.</p>"
    },
    "GetTransitGatewayConnectPeerAssociations":{
      "name":"GetTransitGatewayConnectPeerAssociations",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks/{globalNetworkId}/transit-gateway-connect-peer-associations"
      },
      "input":{"shape":"GetTransitGatewayConnectPeerAssociationsRequest"},
      "output":{"shape":"GetTransitGatewayConnectPeerAssociationsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets information about one or more of your transit gateway Connect peer associations in a global network.</p>"
    },
    "GetTransitGatewayRegistrations":{
      "name":"GetTransitGatewayRegistrations",
      "http":{
        "method":"GET",
        "requestUri":"/global-networks/{globalNetworkId}/transit-gateway-registrations"
      },
      "input":{"shape":"GetTransitGatewayRegistrationsRequest"},
      "output":{"shape":"GetTransitGatewayRegistrationsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Gets information about the transit gateway registrations in a specified global network.</p>"
    },
    "GetVpcAttachment":{
      "name":"GetVpcAttachment",
      "http":{
        "method":"GET",
        "requestUri":"/vpc-attachments/{attachmentId}"
      },
      "input":{"shape":"GetVpcAttachmentRequest"},
      "output":{"shape":"GetVpcAttachmentResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Returns information about a VPC attachment.</p>"
    },
    "ListAttachments":{
      "name":"ListAttachments",
      "http":{
        "method":"GET",
        "requestUri":"/attachments"
      },
      "input":{"shape":"ListAttachmentsRequest"},
      "output":{"shape":"ListAttachmentsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Returns a list of core network attachments.</p>"
    },
    "ListConnectPeers":{
      "name":"ListConnectPeers",
      "http":{
        "method":"GET",
        "requestUri":"/connect-peers"
      },
      "input":{"shape":"ListConnectPeersRequest"},
      "output":{"shape":"ListConnectPeersResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Returns a list of core network Connect peers.</p>"
    },
    "ListCoreNetworkPolicyVersions":{
      "name":"ListCoreNetworkPolicyVersions",
      "http":{
        "method":"GET",
        "requestUri":"/core-networks/{coreNetworkId}/core-network-policy-versions"
      },
      "input":{"shape":"ListCoreNetworkPolicyVersionsRequest"},
      "output":{"shape":"ListCoreNetworkPolicyVersionsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Returns a list of core network policy versions.</p>"
    },
    "ListCoreNetworks":{
      "name":"ListCoreNetworks",
      "http":{
        "method":"GET",
        "requestUri":"/core-networks"
      },
      "input":{"shape":"ListCoreNetworksRequest"},
      "output":{"shape":"ListCoreNetworksResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Returns a list of owned and shared core networks.</p>"
    },
    "ListOrganizationServiceAccessStatus":{
      "name":"ListOrganizationServiceAccessStatus",
      "http":{
        "method":"GET",
        "requestUri":"/organizations/service-access"
      },
      "input":{"shape":"ListOrganizationServiceAccessStatusRequest"},
      "output":{"shape":"ListOrganizationServiceAccessStatusResponse"}
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/tags/{resourceArn}"
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Lists the tags for a specified resource.</p>"
    },
    "PutCoreNetworkPolicy":{
      "name":"PutCoreNetworkPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/core-networks/{coreNetworkId}/core-network-policy"
      },
      "input":{"shape":"PutCoreNetworkPolicyRequest"},
      "output":{"shape":"PutCoreNetworkPolicyResponse"},
      "errors":[
        {"shape":"CoreNetworkPolicyException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Creates a new, immutable version of a core network policy. A subsequent change set is created showing the differences between the LIVE policy and the submitted policy.</p>"
    },
    "PutResourcePolicy":{
      "name":"PutResourcePolicy",
      "http":{
        "method":"POST",
        "requestUri":"/resource-policy/{resourceArn}"
      },
      "input":{"shape":"PutResourcePolicyRequest"},
      "output":{"shape":"PutResourcePolicyResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates or updates a resource policy.</p>"
    },
    "RegisterTransitGateway":{
      "name":"RegisterTransitGateway",
      "http":{
        "method":"POST",
        "requestUri":"/global-networks/{globalNetworkId}/transit-gateway-registrations"
      },
      "input":{"shape":"RegisterTransitGatewayRequest"},
      "output":{"shape":"RegisterTransitGatewayResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Registers a transit gateway in your global network. The transit gateway can be in any Amazon Web Services Region, but it must be owned by the same Amazon Web Services account that owns the global network. You cannot register a transit gateway in more than one global network.</p>"
    },
    "RejectAttachment":{
      "name":"RejectAttachment",
      "http":{
        "method":"POST",
        "requestUri":"/attachments/{attachmentId}/reject"
      },
      "input":{"shape":"RejectAttachmentRequest"},
      "output":{"shape":"RejectAttachmentResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Rejects a core network attachment request.</p>"
    },
    "RestoreCoreNetworkPolicyVersion":{
      "name":"RestoreCoreNetworkPolicyVersion",
      "http":{
        "method":"POST",
        "requestUri":"/core-networks/{coreNetworkId}/core-network-policy-versions/{policyVersionId}/restore"
      },
      "input":{"shape":"RestoreCoreNetworkPolicyVersionRequest"},
      "output":{"shape":"RestoreCoreNetworkPolicyVersionResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Restores a previous policy version as a new, immutable version of a core network policy. A subsequent change set is created showing the differences between the LIVE policy and restored policy.</p>"
    },
    "StartOrganizationServiceAccessUpdate":{
      "name":"StartOrganizationServiceAccessUpdate",
      "http":{
        "method":"POST",
        "requestUri":"/organizations/service-access"
      },
      "input":{"shape":"StartOrganizationServiceAccessUpdateRequest"},
      "output":{"shape":"StartOrganizationServiceAccessUpdateResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ]
    },
    "StartRouteAnalysis":{
      "name":"StartRouteAnalysis",
      "http":{
        "method":"POST",
        "requestUri":"/global-networks/{globalNetworkId}/route-analyses"
      },
      "input":{"shape":"StartRouteAnalysisRequest"},
      "output":{"shape":"StartRouteAnalysisResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Starts analyzing the routing path between the specified source and destination. For more information, see <a href=\"https://docs.aws.amazon.com/vpc/latest/tgw/route-analyzer.html\">Route Analyzer</a>.</p>"
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/tags/{resourceArn}"
      },
      "input":{"shape":"TagResourceRequest"},
      "output":{"shape":"TagResourceResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Tags a specified resource.</p>"
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/tags/{resourceArn}"
      },
      "input":{"shape":"UntagResourceRequest"},
      "output":{"shape":"UntagResourceResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Removes tags from a specified resource.</p>"
    },
    "UpdateConnection":{
      "name":"UpdateConnection",
      "http":{
        "method":"PATCH",
        "requestUri":"/global-networks/{globalNetworkId}/connections/{connectionId}"
      },
      "input":{"shape":"UpdateConnectionRequest"},
      "output":{"shape":"UpdateConnectionResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates the information for an existing connection. To remove information for any of the parameters, specify an empty string.</p>"
    },
    "UpdateCoreNetwork":{
      "name":"UpdateCoreNetwork",
      "http":{
        "method":"PATCH",
        "requestUri":"/core-networks/{coreNetworkId}"
      },
      "input":{"shape":"UpdateCoreNetworkRequest"},
      "output":{"shape":"UpdateCoreNetworkResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates the description of a core network.</p>"
    },
    "UpdateDevice":{
      "name":"UpdateDevice",
      "http":{
        "method":"PATCH",
        "requestUri":"/global-networks/{globalNetworkId}/devices/{deviceId}"
      },
      "input":{"shape":"UpdateDeviceRequest"},
      "output":{"shape":"UpdateDeviceResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates the details for an existing device. To remove information for any of the parameters, specify an empty string.</p>"
    },
    "UpdateGlobalNetwork":{
      "name":"UpdateGlobalNetwork",
      "http":{
        "method":"PATCH",
        "requestUri":"/global-networks/{globalNetworkId}"
      },
      "input":{"shape":"UpdateGlobalNetworkRequest"},
      "output":{"shape":"UpdateGlobalNetworkResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates an existing global network. To remove information for any of the parameters, specify an empty string.</p>"
    },
    "UpdateLink":{
      "name":"UpdateLink",
      "http":{
        "method":"PATCH",
        "requestUri":"/global-networks/{globalNetworkId}/links/{linkId}"
      },
      "input":{"shape":"UpdateLinkRequest"},
      "output":{"shape":"UpdateLinkResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates the details for an existing link. To remove information for any of the parameters, specify an empty string.</p>"
    },
    "UpdateNetworkResourceMetadata":{
      "name":"UpdateNetworkResourceMetadata",
      "http":{
        "method":"PATCH",
        "requestUri":"/global-networks/{globalNetworkId}/network-resources/{resourceArn}/metadata"
      },
      "input":{"shape":"UpdateNetworkResourceMetadataRequest"},
      "output":{"shape":"UpdateNetworkResourceMetadataResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates the resource metadata for the specified global network.</p>"
    },
    "UpdateSite":{
      "name":"UpdateSite",
      "http":{
        "method":"PATCH",
        "requestUri":"/global-networks/{globalNetworkId}/sites/{siteId}"
      },
      "input":{"shape":"UpdateSiteRequest"},
      "output":{"shape":"UpdateSiteResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates the information for an existing site. To remove information for any of the parameters, specify an empty string.</p>"
    },
    "UpdateVpcAttachment":{
      "name":"UpdateVpcAttachment",
      "http":{
        "method":"PATCH",
        "requestUri":"/vpc-attachments/{attachmentId}"
      },
      "input":{"shape":"UpdateVpcAttachmentRequest"},
      "output":{"shape":"UpdateVpcAttachmentResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates a VPC attachment.</p>"
    }
  },
  "shapes":{
    "AWSAccountId":{
      "type":"string",
      "max":12,
      "min":12,
      "pattern":"[\\s\\S]*"
    },
    "AWSLocation":{
      "type":"structure",
      "members":{
        "Zone":{
          "shape":"ConstrainedString",
          "documentation":"<p>The Zone that the device is located in. Specify the ID of an Availability Zone, Local Zone, Wavelength Zone, or an Outpost.</p>"
        },
        "SubnetArn":{
          "shape":"SubnetArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the subnet that the device is located in.</p>"
        }
      },
      "documentation":"<p>Specifies a location in Amazon Web Services.</p>"
    },
    "AcceptAttachmentRequest":{
      "type":"structure",
      "required":["AttachmentId"],
      "members":{
        "AttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of the attachment. </p>",
          "location":"uri",
          "locationName":"attachmentId"
        }
      }
    },
    "AcceptAttachmentResponse":{
      "type":"structure",
      "members":{
        "Attachment":{
          "shape":"Attachment",
          "documentation":"<p>The response to the attachment request. </p>"
        }
      }
    },
    "AccessDeniedException":{
      "type":"structure",
      "required":["Message"],
      "members":{
        "Message":{"shape":"ServerSideString"}
      },
      "documentation":"<p>You do not have sufficient access to perform this action.</p>",
      "error":{"httpStatusCode":403},
      "exception":true
    },
    "AccountId":{
      "type":"string",
      "max":50,
      "min":0
    },
    "AccountStatus":{
      "type":"structure",
      "members":{
        "AccountId":{"shape":"AccountId"},
        "SLRDeploymentStatus":{"shape":"SLRDeploymentStatus"}
      }
    },
    "AccountStatusList":{
      "type":"list",
      "member":{"shape":"AccountStatus"}
    },
    "Action":{
      "type":"string",
      "max":50,
      "min":0
    },
    "AssociateConnectPeerRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "ConnectPeerId",
        "DeviceId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of your global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "ConnectPeerId":{
          "shape":"ConnectPeerId",
          "documentation":"<p>The ID of the Connect peer.</p>"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the device.</p>"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link.</p>"
        }
      }
    },
    "AssociateConnectPeerResponse":{
      "type":"structure",
      "members":{
        "ConnectPeerAssociation":{
          "shape":"ConnectPeerAssociation",
          "documentation":"<p>The response to the Connect peer request.</p>"
        }
      }
    },
    "AssociateCustomerGatewayRequest":{
      "type":"structure",
      "required":[
        "CustomerGatewayArn",
        "GlobalNetworkId",
        "DeviceId"
      ],
      "members":{
        "CustomerGatewayArn":{
          "shape":"CustomerGatewayArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the customer gateway.</p>"
        },
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the device.</p>"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link.</p>"
        }
      }
    },
    "AssociateCustomerGatewayResponse":{
      "type":"structure",
      "members":{
        "CustomerGatewayAssociation":{
          "shape":"CustomerGatewayAssociation",
          "documentation":"<p>The customer gateway association.</p>"
        }
      }
    },
    "AssociateLinkRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "DeviceId",
        "LinkId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the device.</p>"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link.</p>"
        }
      }
    },
    "AssociateLinkResponse":{
      "type":"structure",
      "members":{
        "LinkAssociation":{
          "shape":"LinkAssociation",
          "documentation":"<p>The link association.</p>"
        }
      }
    },
    "AssociateTransitGatewayConnectPeerRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "TransitGatewayConnectPeerArn",
        "DeviceId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "TransitGatewayConnectPeerArn":{
          "shape":"TransitGatewayConnectPeerArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Connect peer.</p>"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the device.</p>"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link.</p>"
        }
      }
    },
    "AssociateTransitGatewayConnectPeerResponse":{
      "type":"structure",
      "members":{
        "TransitGatewayConnectPeerAssociation":{
          "shape":"TransitGatewayConnectPeerAssociation",
          "documentation":"<p>The transit gateway Connect peer association.</p>"
        }
      }
    },
    "Attachment":{
      "type":"structure",
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>A core network ID.</p>"
        },
        "CoreNetworkArn":{
          "shape":"CoreNetworkArn",
          "documentation":"<p>The ARN of a core network.</p>"
        },
        "AttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of the attachment.</p>"
        },
        "OwnerAccountId":{
          "shape":"AWSAccountId",
          "documentation":"<p>The ID of the attachment account owner.</p>"
        },
        "AttachmentType":{
          "shape":"AttachmentType",
          "documentation":"<p>The type of attachment.</p>"
        },
        "State":{
          "shape":"AttachmentState",
          "documentation":"<p>The state of the attachment.</p>"
        },
        "EdgeLocation":{
          "shape":"ExternalRegionCode",
          "documentation":"<p>The Region where the edge is located.</p>"
        },
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The attachment resource ARN.</p>"
        },
        "AttachmentPolicyRuleNumber":{
          "shape":"Integer",
          "documentation":"<p>The policy rule number associated with the attachment.</p>"
        },
        "SegmentName":{
          "shape":"ConstrainedString",
          "documentation":"<p>The name of the segment attachment.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags associated with the attachment.</p>"
        },
        "ProposedSegmentChange":{
          "shape":"ProposedSegmentChange",
          "documentation":"<p>The attachment to move from one segment to another.</p>"
        },
        "CreatedAt":{
          "shape":"DateTime",
          "documentation":"<p>The timestamp when the attachment was created.</p>"
        },
        "UpdatedAt":{
          "shape":"DateTime",
          "documentation":"<p>The timestamp when the attachment was last updated.</p>"
        }
      },
      "documentation":"<p>Describes a core network attachment.</p>"
    },
    "AttachmentId":{
      "type":"string",
      "max":50,
      "min":0,
      "pattern":"^attachment-([0-9a-f]{8,17})$"
    },
    "AttachmentList":{
      "type":"list",
      "member":{"shape":"Attachment"}
    },
    "AttachmentState":{
      "type":"string",
      "enum":[
        "REJECTED",
        "PENDING_ATTACHMENT_ACCEPTANCE",
        "CREATING",
        "FAILED",
        "AVAILABLE",
        "UPDATING",
        "PENDING_NETWORK_UPDATE",
        "PENDING_TAG_ACCEPTANCE",
        "DELETING"
      ]
    },
    "AttachmentType":{
      "type":"string",
      "enum":[
        "CONNECT",
        "SITE_TO_SITE_VPN",
        "VPC"
      ]
    },
    "Bandwidth":{
      "type":"structure",
      "members":{
        "UploadSpeed":{
          "shape":"Integer",
          "documentation":"<p>Upload speed in Mbps.</p>"
        },
        "DownloadSpeed":{
          "shape":"Integer",
          "documentation":"<p>Download speed in Mbps.</p>"
        }
      },
      "documentation":"<p>Describes bandwidth information.</p>"
    },
    "BgpOptions":{
      "type":"structure",
      "members":{
        "PeerAsn":{
          "shape":"Long",
          "documentation":"<p>The Peer ASN of the BGP.</p>"
        }
      },
      "documentation":"<p>Describes the BGP options.</p>"
    },
    "Boolean":{"type":"boolean"},
    "ChangeAction":{
      "type":"string",
      "enum":[
        "ADD",
        "MODIFY",
        "REMOVE"
      ]
    },
    "ChangeSetState":{
      "type":"string",
      "enum":[
        "PENDING_GENERATION",
        "FAILED_GENERATION",
        "READY_TO_EXECUTE",
        "EXECUTING",
        "EXECUTION_SUCCEEDED",
        "OUT_OF_DATE"
      ]
    },
    "ChangeType":{
      "type":"string",
      "enum":[
        "CORE_NETWORK_SEGMENT",
        "CORE_NETWORK_EDGE",
        "ATTACHMENT_MAPPING",
        "ATTACHMENT_ROUTE_PROPAGATION",
        "ATTACHMENT_ROUTE_STATIC"
      ]
    },
    "ClientToken":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "ConflictException":{
      "type":"structure",
      "required":[
        "Message",
        "ResourceId",
        "ResourceType"
      ],
      "members":{
        "Message":{"shape":"ServerSideString"},
        "ResourceId":{
          "shape":"ServerSideString",
          "documentation":"<p>The ID of the resource.</p>"
        },
        "ResourceType":{
          "shape":"ServerSideString",
          "documentation":"<p>The resource type.</p>"
        }
      },
      "documentation":"<p>There was a conflict processing the request. Updating or deleting the resource can cause an inconsistent state.</p>",
      "error":{"httpStatusCode":409},
      "exception":true
    },
    "ConnectAttachment":{
      "type":"structure",
      "members":{
        "Attachment":{
          "shape":"Attachment",
          "documentation":"<p>The attachment details.</p>"
        },
        "TransportAttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of the transport attachment.</p>"
        },
        "Options":{
          "shape":"ConnectAttachmentOptions",
          "documentation":"<p>Options for connecting an attachment.</p>"
        }
      },
      "documentation":"<p>Describes a core network Connect attachment.</p>"
    },
    "ConnectAttachmentOptions":{
      "type":"structure",
      "members":{
        "Protocol":{
          "shape":"TunnelProtocol",
          "documentation":"<p>The protocol used for the attachment connection.</p>"
        }
      },
      "documentation":"<p>Describes a core network Connect attachment options.</p>"
    },
    "ConnectPeer":{
      "type":"structure",
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>"
        },
        "ConnectAttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of the attachment to connect.</p>"
        },
        "ConnectPeerId":{
          "shape":"ConnectPeerId",
          "documentation":"<p>The ID of the Connect peer.</p>"
        },
        "EdgeLocation":{
          "shape":"ExternalRegionCode",
          "documentation":"<p>The Connect peer Regions where edges are located.</p>"
        },
        "State":{
          "shape":"ConnectPeerState",
          "documentation":"<p>The state of the Connect peer.</p>"
        },
        "CreatedAt":{
          "shape":"DateTime",
          "documentation":"<p>The timestamp when the Connect peer was created.</p>"
        },
        "Configuration":{
          "shape":"ConnectPeerConfiguration",
          "documentation":"<p>The configuration of the Connect peer.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags associated with the Connect peer.</p>"
        }
      },
      "documentation":"<p>Describes a core network Connect peer.</p>"
    },
    "ConnectPeerAssociation":{
      "type":"structure",
      "members":{
        "ConnectPeerId":{
          "shape":"ConnectPeerId",
          "documentation":"<p>The ID of the Connect peer.</p>"
        },
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the device to connect to.</p>"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link.</p>"
        },
        "State":{
          "shape":"ConnectPeerAssociationState",
          "documentation":"<p>The state of the Connect peer association.</p>"
        }
      },
      "documentation":"<p>Describes a core network Connect peer association.</p>"
    },
    "ConnectPeerAssociationList":{
      "type":"list",
      "member":{"shape":"ConnectPeerAssociation"}
    },
    "ConnectPeerAssociationState":{
      "type":"string",
      "enum":[
        "PENDING",
        "AVAILABLE",
        "DELETING",
        "DELETED"
      ]
    },
    "ConnectPeerBgpConfiguration":{
      "type":"structure",
      "members":{
        "CoreNetworkAsn":{
          "shape":"Long",
          "documentation":"<p>The ASN of the Coret Network.</p>"
        },
        "PeerAsn":{
          "shape":"Long",
          "documentation":"<p>The ASN of the Connect peer.</p>"
        },
        "CoreNetworkAddress":{
          "shape":"IPAddress",
          "documentation":"<p>The address of a core network.</p>"
        },
        "PeerAddress":{
          "shape":"IPAddress",
          "documentation":"<p>The address of a core network Connect peer.</p>"
        }
      },
      "documentation":"<p>Describes a core network BGP configuration.</p>"
    },
    "ConnectPeerBgpConfigurationList":{
      "type":"list",
      "member":{"shape":"ConnectPeerBgpConfiguration"}
    },
    "ConnectPeerConfiguration":{
      "type":"structure",
      "members":{
        "CoreNetworkAddress":{
          "shape":"IPAddress",
          "documentation":"<p>The IP address of a core network.</p>"
        },
        "PeerAddress":{
          "shape":"IPAddress",
          "documentation":"<p>The IP address of the Connect peer.</p>"
        },
        "InsideCidrBlocks":{
          "shape":"ConstrainedStringList",
          "documentation":"<p>The inside IP addresses used for a Connect peer configuration.</p>"
        },
        "Protocol":{
          "shape":"TunnelProtocol",
          "documentation":"<p>The protocol used for a Connect peer configuration.</p>"
        },
        "BgpConfigurations":{
          "shape":"ConnectPeerBgpConfigurationList",
          "documentation":"<p>The Connect peer BGP configurations.</p>"
        }
      },
      "documentation":"<p>Describes a core network Connect peer configuration.</p>"
    },
    "ConnectPeerId":{
      "type":"string",
      "max":50,
      "min":0,
      "pattern":"^connect-peer-([0-9a-f]{8,17})$"
    },
    "ConnectPeerIdList":{
      "type":"list",
      "member":{"shape":"ConnectPeerId"}
    },
    "ConnectPeerState":{
      "type":"string",
      "enum":[
        "CREATING",
        "FAILED",
        "AVAILABLE",
        "DELETING"
      ]
    },
    "ConnectPeerSummary":{
      "type":"structure",
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>"
        },
        "ConnectAttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of a Connect peer attachment.</p>"
        },
        "ConnectPeerId":{
          "shape":"ConnectPeerId",
          "documentation":"<p>The ID of a Connect peer.</p>"
        },
        "EdgeLocation":{
          "shape":"ExternalRegionCode",
          "documentation":"<p>The Region where the edge is located.</p>"
        },
        "ConnectPeerState":{
          "shape":"ConnectPeerState",
          "documentation":"<p>The state of a Connect peer.</p>"
        },
        "CreatedAt":{
          "shape":"DateTime",
          "documentation":"<p>The timestamp when a Connect peer was created.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags associated with a Connect peer summary.</p>"
        }
      },
      "documentation":"<p>Summary description of a Connect peer.</p>"
    },
    "ConnectPeerSummaryList":{
      "type":"list",
      "member":{"shape":"ConnectPeerSummary"}
    },
    "Connection":{
      "type":"structure",
      "members":{
        "ConnectionId":{
          "shape":"ConnectionId",
          "documentation":"<p>The ID of the connection.</p>"
        },
        "ConnectionArn":{
          "shape":"ConnectionArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the connection.</p>"
        },
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the first device in the connection.</p>"
        },
        "ConnectedDeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the second device in the connection.</p>"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link for the first device in the connection.</p>"
        },
        "ConnectedLinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link for the second device in the connection.</p>"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>The description of the connection.</p>"
        },
        "CreatedAt":{
          "shape":"DateTime",
          "documentation":"<p>The date and time that the connection was created.</p>"
        },
        "State":{
          "shape":"ConnectionState",
          "documentation":"<p>The state of the connection.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags for the connection.</p>"
        }
      },
      "documentation":"<p>Describes a connection.</p>"
    },
    "ConnectionArn":{
      "type":"string",
      "max":500,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "ConnectionHealth":{
      "type":"structure",
      "members":{
        "Type":{
          "shape":"ConnectionType",
          "documentation":"<p>The connection type.</p>"
        },
        "Status":{
          "shape":"ConnectionStatus",
          "documentation":"<p>The connection status.</p>"
        },
        "Timestamp":{
          "shape":"DateTime",
          "documentation":"<p>The time the status was last updated.</p>"
        }
      },
      "documentation":"<p>Describes connection health.</p>"
    },
    "ConnectionId":{
      "type":"string",
      "max":50,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "ConnectionIdList":{
      "type":"list",
      "member":{"shape":"ConnectionId"}
    },
    "ConnectionList":{
      "type":"list",
      "member":{"shape":"Connection"}
    },
    "ConnectionState":{
      "type":"string",
      "enum":[
        "PENDING",
        "AVAILABLE",
        "DELETING",
        "UPDATING"
      ]
    },
    "ConnectionStatus":{
      "type":"string",
      "enum":[
        "UP",
        "DOWN"
      ]
    },
    "ConnectionType":{
      "type":"string",
      "enum":[
        "BGP",
        "IPSEC"
      ]
    },
    "ConstrainedString":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "ConstrainedStringList":{
      "type":"list",
      "member":{"shape":"ConstrainedString"}
    },
    "CoreNetwork":{
      "type":"structure",
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network that your core network is a part of. </p>"
        },
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>"
        },
        "CoreNetworkArn":{
          "shape":"CoreNetworkArn",
          "documentation":"<p>The ARN of a core network.</p>"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>The description of a core network.</p>"
        },
        "CreatedAt":{
          "shape":"DateTime",
          "documentation":"<p>The timestamp when a core network was created.</p>"
        },
        "State":{
          "shape":"CoreNetworkState",
          "documentation":"<p>The current state of a core network.</p>"
        },
        "Segments":{
          "shape":"CoreNetworkSegmentList",
          "documentation":"<p>The segments within a core network.</p>"
        },
        "Edges":{
          "shape":"CoreNetworkEdgeList",
          "documentation":"<p>The edges within a core network.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags associated with a core network.</p>"
        }
      },
      "documentation":"<p>Describes a core network.</p>"
    },
    "CoreNetworkArn":{
      "type":"string",
      "max":500,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "CoreNetworkChange":{
      "type":"structure",
      "members":{
        "Type":{
          "shape":"ChangeType",
          "documentation":"<p>The type of change.</p>"
        },
        "Action":{
          "shape":"ChangeAction",
          "documentation":"<p>The action to take for a core network.</p>"
        },
        "Identifier":{
          "shape":"ConstrainedString",
          "documentation":"<p>The resource identifier.</p>"
        },
        "PreviousValues":{
          "shape":"CoreNetworkChangeValues",
          "documentation":"<p>The previous values for a core network.</p>"
        },
        "NewValues":{
          "shape":"CoreNetworkChangeValues",
          "documentation":"<p>The new value for a core network</p>"
        }
      },
      "documentation":"<p>Details describing a core network change.</p>"
    },
    "CoreNetworkChangeList":{
      "type":"list",
      "member":{"shape":"CoreNetworkChange"}
    },
    "CoreNetworkChangeValues":{
      "type":"structure",
      "members":{
        "SegmentName":{
          "shape":"ConstrainedString",
          "documentation":"<p>The names of the segments in a core network.</p>"
        },
        "EdgeLocations":{
          "shape":"ExternalRegionCodeList",
          "documentation":"<p>The Regions where edges are located in a core network. </p>"
        },
        "Asn":{
          "shape":"Long",
          "documentation":"<p>The ASN of a core network.</p>"
        },
        "Cidr":{
          "shape":"ConstrainedString",
          "documentation":"<p>The IP addresses used for a core network.</p>"
        },
        "DestinationIdentifier":{
          "shape":"ConstrainedString",
          "documentation":"<p>The ID of the destination.</p>"
        },
        "InsideCidrBlocks":{
          "shape":"ConstrainedStringList",
          "documentation":"<p>The inside IP addresses used for core network change values.</p>"
        },
        "SharedSegments":{
          "shape":"ConstrainedStringList",
          "documentation":"<p>The shared segments for a core network change value. </p>"
        }
      },
      "documentation":"<p>Describes a core network change.</p>"
    },
    "CoreNetworkEdge":{
      "type":"structure",
      "members":{
        "EdgeLocation":{
          "shape":"ExternalRegionCode",
          "documentation":"<p>The Region where a core network edge is located.</p>"
        },
        "Asn":{
          "shape":"Long",
          "documentation":"<p>The ASN of a core network edge.</p>"
        },
        "InsideCidrBlocks":{
          "shape":"ConstrainedStringList",
          "documentation":"<p>The inside IP addresses used for core network edges.</p>"
        }
      },
      "documentation":"<p>Describes a core network edge.</p>"
    },
    "CoreNetworkEdgeList":{
      "type":"list",
      "member":{"shape":"CoreNetworkEdge"}
    },
    "CoreNetworkId":{
      "type":"string",
      "max":50,
      "min":0,
      "pattern":"^core-network-([0-9a-f]{8,17})$"
    },
    "CoreNetworkPolicy":{
      "type":"structure",
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>"
        },
        "PolicyVersionId":{
          "shape":"Integer",
          "documentation":"<p>The ID of the policy version.</p>"
        },
        "Alias":{
          "shape":"CoreNetworkPolicyAlias",
          "documentation":"<p>Whether a core network policy is the current LIVE policy or the most recently submitted policy.</p>"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>The description of a core network policy.</p>"
        },
        "CreatedAt":{
          "shape":"DateTime",
          "documentation":"<p>The timestamp when a core network policy was created.</p>"
        },
        "ChangeSetState":{
          "shape":"ChangeSetState",
          "documentation":"<p>The state of a core network policy.</p>"
        },
        "PolicyErrors":{
          "shape":"CoreNetworkPolicyErrorList",
          "documentation":"<p>Describes any errors in a core network policy.</p>"
        },
        "PolicyDocument":{
          "shape":"CoreNetworkPolicyDocument",
          "documentation":"<p>Describes a core network policy.</p>",
          "jsonvalue":true
        }
      },
      "documentation":"<p>Describes a core network policy. You can have only one LIVE Core Policy.</p>"
    },
    "CoreNetworkPolicyAlias":{
      "type":"string",
      "enum":[
        "LIVE",
        "LATEST"
      ]
    },
    "CoreNetworkPolicyDocument":{
      "type":"string",
      "max":10000000,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "CoreNetworkPolicyError":{
      "type":"structure",
      "required":[
        "ErrorCode",
        "Message"
      ],
      "members":{
        "ErrorCode":{
          "shape":"ServerSideString",
          "documentation":"<p>The error code associated with a core network policy error.</p>"
        },
        "Message":{
          "shape":"ServerSideString",
          "documentation":"<p>The message associated with a core network policy error code.</p>"
        },
        "Path":{
          "shape":"ServerSideString",
          "documentation":"<p>The JSON path where the error was discovered in the policy document.</p>"
        }
      },
      "documentation":"<p>Provides details about an error in a core network policy.</p>"
    },
    "CoreNetworkPolicyErrorList":{
      "type":"list",
      "member":{"shape":"CoreNetworkPolicyError"}
    },
    "CoreNetworkPolicyException":{
      "type":"structure",
      "required":["Message"],
      "members":{
        "Message":{"shape":"ServerSideString"},
        "Errors":{
          "shape":"CoreNetworkPolicyErrorList",
          "documentation":"<p>Describes a core network policy exception.</p>"
        }
      },
      "documentation":"<p>Describes a core network policy exception.</p>",
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "CoreNetworkPolicyVersion":{
      "type":"structure",
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>"
        },
        "PolicyVersionId":{
          "shape":"Integer",
          "documentation":"<p>The ID of the policy version.</p>"
        },
        "Alias":{
          "shape":"CoreNetworkPolicyAlias",
          "documentation":"<p>Whether a core network policy is the current policy or the most recently submitted policy.</p>"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>The description of a core network policy version.</p>"
        },
        "CreatedAt":{
          "shape":"DateTime",
          "documentation":"<p>The timestamp when a core network policy version was created.</p>"
        },
        "ChangeSetState":{
          "shape":"ChangeSetState",
          "documentation":"<p>The status of the policy version change set.</p>"
        }
      },
      "documentation":"<p>Describes a core network policy version.</p>"
    },
    "CoreNetworkPolicyVersionList":{
      "type":"list",
      "member":{"shape":"CoreNetworkPolicyVersion"}
    },
    "CoreNetworkSegment":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"ConstrainedString",
          "documentation":"<p>The name of a core network segment.</p>"
        },
        "EdgeLocations":{
          "shape":"ExternalRegionCodeList",
          "documentation":"<p>The Regions where the edges are located.</p>"
        },
        "SharedSegments":{
          "shape":"ConstrainedStringList",
          "documentation":"<p>The shared segments of a core network.</p>"
        }
      },
      "documentation":"<p>Describes a core network segment, which are dedicated routes. Only attachments within this segment can communicate with each other.</p>"
    },
    "CoreNetworkSegmentEdgeIdentifier":{
      "type":"structure",
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>"
        },
        "SegmentName":{
          "shape":"ConstrainedString",
          "documentation":"<p>The name of the segment edge.</p>"
        },
        "EdgeLocation":{
          "shape":"ExternalRegionCode",
          "documentation":"<p>The Region where the segment edge is located.</p>"
        }
      },
      "documentation":"<p>Returns details about a core network edge.</p>"
    },
    "CoreNetworkSegmentList":{
      "type":"list",
      "member":{"shape":"CoreNetworkSegment"}
    },
    "CoreNetworkState":{
      "type":"string",
      "enum":[
        "CREATING",
        "UPDATING",
        "AVAILABLE",
        "DELETING"
      ]
    },
    "CoreNetworkSummary":{
      "type":"structure",
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>"
        },
        "CoreNetworkArn":{
          "shape":"CoreNetworkArn",
          "documentation":"<p>a core network ARN.</p>"
        },
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The global network ID.</p>"
        },
        "OwnerAccountId":{
          "shape":"AWSAccountId",
          "documentation":"<p>The ID of the account owner.</p>"
        },
        "State":{
          "shape":"CoreNetworkState",
          "documentation":"<p>The state of a core network.</p>"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>The description of a core network.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The key-value tags associated with a core network summary.</p>"
        }
      },
      "documentation":"<p>Returns summary information about a core network.</p>"
    },
    "CoreNetworkSummaryList":{
      "type":"list",
      "member":{"shape":"CoreNetworkSummary"}
    },
    "CreateConnectAttachmentRequest":{
      "type":"structure",
      "required":[
        "CoreNetworkId",
        "EdgeLocation",
        "TransportAttachmentId",
        "Options"
      ],
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network where you want to create the attachment. </p>"
        },
        "EdgeLocation":{
          "shape":"ExternalRegionCode",
          "documentation":"<p>The Region where the edge is located.</p>"
        },
        "TransportAttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of the attachment between the two connections.</p>"
        },
        "Options":{
          "shape":"ConnectAttachmentOptions",
          "documentation":"<p>Options for creating an attachment.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The list of key-value tags associated with the request.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>The client token associated with the request.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreateConnectAttachmentResponse":{
      "type":"structure",
      "members":{
        "ConnectAttachment":{
          "shape":"ConnectAttachment",
          "documentation":"<p>The response to a Connect attachment request.</p>"
        }
      }
    },
    "CreateConnectPeerRequest":{
      "type":"structure",
      "required":[
        "ConnectAttachmentId",
        "PeerAddress",
        "InsideCidrBlocks"
      ],
      "members":{
        "ConnectAttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of the connection attachment.</p>"
        },
        "CoreNetworkAddress":{
          "shape":"IPAddress",
          "documentation":"<p>A Connect peer core network address.</p>"
        },
        "PeerAddress":{
          "shape":"IPAddress",
          "documentation":"<p>The Connect peer address.</p>"
        },
        "BgpOptions":{
          "shape":"BgpOptions",
          "documentation":"<p>The Connect peer BGP options.</p>"
        },
        "InsideCidrBlocks":{
          "shape":"ConstrainedStringList",
          "documentation":"<p>The inside IP addresses used for BGP peering.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags associated with the peer request.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>The client token associated with the request.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreateConnectPeerResponse":{
      "type":"structure",
      "members":{
        "ConnectPeer":{
          "shape":"ConnectPeer",
          "documentation":"<p>The response to the request.</p>"
        }
      }
    },
    "CreateConnectionRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "DeviceId",
        "ConnectedDeviceId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the first device in the connection.</p>"
        },
        "ConnectedDeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the second device in the connection.</p>"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link for the first device.</p>"
        },
        "ConnectedLinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link for the second device.</p>"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>A description of the connection.</p> <p>Length Constraints: Maximum length of 256 characters.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags to apply to the resource during creation.</p>"
        }
      }
    },
    "CreateConnectionResponse":{
      "type":"structure",
      "members":{
        "Connection":{
          "shape":"Connection",
          "documentation":"<p>Information about the connection.</p>"
        }
      }
    },
    "CreateCoreNetworkRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network that a core network will be a part of. </p>"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>The description of a core network.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>Key-value tags associated with a core network request.</p>"
        },
        "PolicyDocument":{
          "shape":"CoreNetworkPolicyDocument",
          "documentation":"<p>The policy document for creating a core network.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>The client token associated with a core network request.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreateCoreNetworkResponse":{
      "type":"structure",
      "members":{
        "CoreNetwork":{
          "shape":"CoreNetwork",
          "documentation":"<p>Returns details about a core network.</p>"
        }
      }
    },
    "CreateDeviceRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "AWSLocation":{
          "shape":"AWSLocation",
          "documentation":"<p>The Amazon Web Services location of the device, if applicable. For an on-premises device, you can omit this parameter.</p>"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>A description of the device.</p> <p>Constraints: Maximum length of 256 characters.</p>"
        },
        "Type":{
          "shape":"ConstrainedString",
          "documentation":"<p>The type of the device.</p>"
        },
        "Vendor":{
          "shape":"ConstrainedString",
          "documentation":"<p>The vendor of the device.</p> <p>Constraints: Maximum length of 128 characters.</p>"
        },
        "Model":{
          "shape":"ConstrainedString",
          "documentation":"<p>The model of the device.</p> <p>Constraints: Maximum length of 128 characters.</p>"
        },
        "SerialNumber":{
          "shape":"ConstrainedString",
          "documentation":"<p>The serial number of the device.</p> <p>Constraints: Maximum length of 128 characters.</p>"
        },
        "Location":{
          "shape":"Location",
          "documentation":"<p>The location of the device.</p>"
        },
        "SiteId":{
          "shape":"SiteId",
          "documentation":"<p>The ID of the site.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags to apply to the resource during creation.</p>"
        }
      }
    },
    "CreateDeviceResponse":{
      "type":"structure",
      "members":{
        "Device":{
          "shape":"Device",
          "documentation":"<p>Information about the device.</p>"
        }
      }
    },
    "CreateGlobalNetworkRequest":{
      "type":"structure",
      "members":{
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>A description of the global network.</p> <p>Constraints: Maximum length of 256 characters.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags to apply to the resource during creation.</p>"
        }
      }
    },
    "CreateGlobalNetworkResponse":{
      "type":"structure",
      "members":{
        "GlobalNetwork":{
          "shape":"GlobalNetwork",
          "documentation":"<p>Information about the global network object.</p>"
        }
      }
    },
    "CreateLinkRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "Bandwidth",
        "SiteId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>A description of the link.</p> <p>Constraints: Maximum length of 256 characters.</p>"
        },
        "Type":{
          "shape":"ConstrainedString",
          "documentation":"<p>The type of the link.</p> <p>Constraints: Maximum length of 128 characters. Cannot include the following characters: | \\ ^</p>"
        },
        "Bandwidth":{
          "shape":"Bandwidth",
          "documentation":"<p> The upload speed and download speed in Mbps. </p>"
        },
        "Provider":{
          "shape":"ConstrainedString",
          "documentation":"<p>The provider of the link.</p> <p>Constraints: Maximum length of 128 characters. Cannot include the following characters: | \\ ^</p>"
        },
        "SiteId":{
          "shape":"SiteId",
          "documentation":"<p>The ID of the site.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags to apply to the resource during creation.</p>"
        }
      }
    },
    "CreateLinkResponse":{
      "type":"structure",
      "members":{
        "Link":{
          "shape":"Link",
          "documentation":"<p>Information about the link.</p>"
        }
      }
    },
    "CreateSiteRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>A description of your site.</p> <p>Constraints: Maximum length of 256 characters.</p>"
        },
        "Location":{
          "shape":"Location",
          "documentation":"<p>The site location. This information is used for visualization in the Network Manager console. If you specify the address, the latitude and longitude are automatically calculated.</p> <ul> <li> <p> <code>Address</code>: The physical address of the site.</p> </li> <li> <p> <code>Latitude</code>: The latitude of the site. </p> </li> <li> <p> <code>Longitude</code>: The longitude of the site.</p> </li> </ul>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags to apply to the resource during creation.</p>"
        }
      }
    },
    "CreateSiteResponse":{
      "type":"structure",
      "members":{
        "Site":{
          "shape":"Site",
          "documentation":"<p>Information about the site.</p>"
        }
      }
    },
    "CreateSiteToSiteVpnAttachmentRequest":{
      "type":"structure",
      "required":[
        "CoreNetworkId",
        "VpnConnectionArn"
      ],
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network where you're creating a site-to-site VPN attachment.</p>"
        },
        "VpnConnectionArn":{
          "shape":"VpnConnectionArn",
          "documentation":"<p>The ARN identifying the VPN attachment.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags associated with the request.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>The client token associated with the request.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreateSiteToSiteVpnAttachmentResponse":{
      "type":"structure",
      "members":{
        "SiteToSiteVpnAttachment":{
          "shape":"SiteToSiteVpnAttachment",
          "documentation":"<p>Details about a site-to-site VPN attachment.</p>"
        }
      }
    },
    "CreateVpcAttachmentRequest":{
      "type":"structure",
      "required":[
        "CoreNetworkId",
        "VpcArn",
        "SubnetArns"
      ],
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network for the VPC attachment.</p>"
        },
        "VpcArn":{
          "shape":"VpcArn",
          "documentation":"<p>The ARN of the VPC.</p>"
        },
        "SubnetArns":{
          "shape":"SubnetArnList",
          "documentation":"<p>The subnet ARN of the VPC attachment.</p>"
        },
        "Options":{
          "shape":"VpcOptions",
          "documentation":"<p>Options for the VPC attachment.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The key-value tags associated with the request.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>The client token associated with the request.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreateVpcAttachmentResponse":{
      "type":"structure",
      "members":{
        "VpcAttachment":{
          "shape":"VpcAttachment",
          "documentation":"<p>Provides details about the VPC attachment.</p>"
        }
      }
    },
    "CustomerGatewayArn":{
      "type":"string",
      "max":500,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "CustomerGatewayArnList":{
      "type":"list",
      "member":{"shape":"CustomerGatewayArn"}
    },
    "CustomerGatewayAssociation":{
      "type":"structure",
      "members":{
        "CustomerGatewayArn":{
          "shape":"CustomerGatewayArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the customer gateway.</p>"
        },
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the device.</p>"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link.</p>"
        },
        "State":{
          "shape":"CustomerGatewayAssociationState",
          "documentation":"<p>The association state.</p>"
        }
      },
      "documentation":"<p>Describes the association between a customer gateway, a device, and a link.</p>"
    },
    "CustomerGatewayAssociationList":{
      "type":"list",
      "member":{"shape":"CustomerGatewayAssociation"}
    },
    "CustomerGatewayAssociationState":{
      "type":"string",
      "enum":[
        "PENDING",
        "AVAILABLE",
        "DELETING",
        "DELETED"
      ]
    },
    "DateTime":{"type":"timestamp"},
    "DeleteAttachmentRequest":{
      "type":"structure",
      "required":["AttachmentId"],
      "members":{
        "AttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of the attachment to delete.</p>",
          "location":"uri",
          "locationName":"attachmentId"
        }
      }
    },
    "DeleteAttachmentResponse":{
      "type":"structure",
      "members":{
        "Attachment":{
          "shape":"Attachment",
          "documentation":"<p>Information about the deleted attachment.</p>"
        }
      }
    },
    "DeleteConnectPeerRequest":{
      "type":"structure",
      "required":["ConnectPeerId"],
      "members":{
        "ConnectPeerId":{
          "shape":"ConnectPeerId",
          "documentation":"<p>The ID of the deleted Connect peer.</p>",
          "location":"uri",
          "locationName":"connectPeerId"
        }
      }
    },
    "DeleteConnectPeerResponse":{
      "type":"structure",
      "members":{
        "ConnectPeer":{
          "shape":"ConnectPeer",
          "documentation":"<p>Information about the deleted Connect peer.</p>"
        }
      }
    },
    "DeleteConnectionRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "ConnectionId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "ConnectionId":{
          "shape":"ConnectionId",
          "documentation":"<p>The ID of the connection.</p>",
          "location":"uri",
          "locationName":"connectionId"
        }
      }
    },
    "DeleteConnectionResponse":{
      "type":"structure",
      "members":{
        "Connection":{
          "shape":"Connection",
          "documentation":"<p>Information about the connection.</p>"
        }
      }
    },
    "DeleteCoreNetworkPolicyVersionRequest":{
      "type":"structure",
      "required":[
        "CoreNetworkId",
        "PolicyVersionId"
      ],
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network for the deleted policy.</p>",
          "location":"uri",
          "locationName":"coreNetworkId"
        },
        "PolicyVersionId":{
          "shape":"Integer",
          "documentation":"<p>The version ID of the deleted policy.</p>",
          "location":"uri",
          "locationName":"policyVersionId"
        }
      }
    },
    "DeleteCoreNetworkPolicyVersionResponse":{
      "type":"structure",
      "members":{
        "CoreNetworkPolicy":{
          "shape":"CoreNetworkPolicy",
          "documentation":"<p>Returns information about the deleted policy version. </p>"
        }
      }
    },
    "DeleteCoreNetworkRequest":{
      "type":"structure",
      "required":["CoreNetworkId"],
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The network ID of the deleted core network.</p>",
          "location":"uri",
          "locationName":"coreNetworkId"
        }
      }
    },
    "DeleteCoreNetworkResponse":{
      "type":"structure",
      "members":{
        "CoreNetwork":{
          "shape":"CoreNetwork",
          "documentation":"<p>Information about the deleted core network.</p>"
        }
      }
    },
    "DeleteDeviceRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "DeviceId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the device.</p>",
          "location":"uri",
          "locationName":"deviceId"
        }
      }
    },
    "DeleteDeviceResponse":{
      "type":"structure",
      "members":{
        "Device":{
          "shape":"Device",
          "documentation":"<p>Information about the device.</p>"
        }
      }
    },
    "DeleteGlobalNetworkRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        }
      }
    },
    "DeleteGlobalNetworkResponse":{
      "type":"structure",
      "members":{
        "GlobalNetwork":{
          "shape":"GlobalNetwork",
          "documentation":"<p>Information about the global network.</p>"
        }
      }
    },
    "DeleteLinkRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "LinkId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link.</p>",
          "location":"uri",
          "locationName":"linkId"
        }
      }
    },
    "DeleteLinkResponse":{
      "type":"structure",
      "members":{
        "Link":{
          "shape":"Link",
          "documentation":"<p>Information about the link.</p>"
        }
      }
    },
    "DeleteResourcePolicyRequest":{
      "type":"structure",
      "required":["ResourceArn"],
      "members":{
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the policy to delete.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        }
      }
    },
    "DeleteResourcePolicyResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteSiteRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "SiteId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "SiteId":{
          "shape":"SiteId",
          "documentation":"<p>The ID of the site.</p>",
          "location":"uri",
          "locationName":"siteId"
        }
      }
    },
    "DeleteSiteResponse":{
      "type":"structure",
      "members":{
        "Site":{
          "shape":"Site",
          "documentation":"<p>Information about the site.</p>"
        }
      }
    },
    "DeregisterTransitGatewayRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "TransitGatewayArn"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "TransitGatewayArn":{
          "shape":"TransitGatewayArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the transit gateway.</p>",
          "location":"uri",
          "locationName":"transitGatewayArn"
        }
      }
    },
    "DeregisterTransitGatewayResponse":{
      "type":"structure",
      "members":{
        "TransitGatewayRegistration":{
          "shape":"TransitGatewayRegistration",
          "documentation":"<p>The transit gateway registration information.</p>"
        }
      }
    },
    "DescribeGlobalNetworksRequest":{
      "type":"structure",
      "members":{
        "GlobalNetworkIds":{
          "shape":"GlobalNetworkIdList",
          "documentation":"<p>The IDs of one or more global networks. The maximum is 10.</p>",
          "location":"querystring",
          "locationName":"globalNetworkIds"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "DescribeGlobalNetworksResponse":{
      "type":"structure",
      "members":{
        "GlobalNetworks":{
          "shape":"GlobalNetworkList",
          "documentation":"<p>Information about the global networks.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "Device":{
      "type":"structure",
      "members":{
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the device.</p>"
        },
        "DeviceArn":{
          "shape":"DeviceArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the device.</p>"
        },
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>"
        },
        "AWSLocation":{
          "shape":"AWSLocation",
          "documentation":"<p>The Amazon Web Services location of the device.</p>"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>The description of the device.</p>"
        },
        "Type":{
          "shape":"ConstrainedString",
          "documentation":"<p>The device type.</p>"
        },
        "Vendor":{
          "shape":"ConstrainedString",
          "documentation":"<p>The device vendor.</p>"
        },
        "Model":{
          "shape":"ConstrainedString",
          "documentation":"<p>The device model.</p>"
        },
        "SerialNumber":{
          "shape":"ConstrainedString",
          "documentation":"<p>The device serial number.</p>"
        },
        "Location":{
          "shape":"Location",
          "documentation":"<p>The site location.</p>"
        },
        "SiteId":{
          "shape":"SiteId",
          "documentation":"<p>The site ID.</p>"
        },
        "CreatedAt":{
          "shape":"DateTime",
          "documentation":"<p>The date and time that the site was created.</p>"
        },
        "State":{
          "shape":"DeviceState",
          "documentation":"<p>The device state.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags for the device.</p>"
        }
      },
      "documentation":"<p>Describes a device.</p>"
    },
    "DeviceArn":{
      "type":"string",
      "max":500,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "DeviceId":{
      "type":"string",
      "max":50,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "DeviceIdList":{
      "type":"list",
      "member":{"shape":"DeviceId"}
    },
    "DeviceList":{
      "type":"list",
      "member":{"shape":"Device"}
    },
    "DeviceState":{
      "type":"string",
      "enum":[
        "PENDING",
        "AVAILABLE",
        "DELETING",
        "UPDATING"
      ]
    },
    "DisassociateConnectPeerRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "ConnectPeerId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "ConnectPeerId":{
          "shape":"ConnectPeerId",
          "documentation":"<p>The ID of the Connect peer to disassociate from a device.</p>",
          "location":"uri",
          "locationName":"connectPeerId"
        }
      }
    },
    "DisassociateConnectPeerResponse":{
      "type":"structure",
      "members":{
        "ConnectPeerAssociation":{
          "shape":"ConnectPeerAssociation",
          "documentation":"<p>Describes the Connect peer association.</p>"
        }
      }
    },
    "DisassociateCustomerGatewayRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "CustomerGatewayArn"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "CustomerGatewayArn":{
          "shape":"CustomerGatewayArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the customer gateway.</p>",
          "location":"uri",
          "locationName":"customerGatewayArn"
        }
      }
    },
    "DisassociateCustomerGatewayResponse":{
      "type":"structure",
      "members":{
        "CustomerGatewayAssociation":{
          "shape":"CustomerGatewayAssociation",
          "documentation":"<p>Information about the customer gateway association.</p>"
        }
      }
    },
    "DisassociateLinkRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "DeviceId",
        "LinkId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the device.</p>",
          "location":"querystring",
          "locationName":"deviceId"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link.</p>",
          "location":"querystring",
          "locationName":"linkId"
        }
      }
    },
    "DisassociateLinkResponse":{
      "type":"structure",
      "members":{
        "LinkAssociation":{
          "shape":"LinkAssociation",
          "documentation":"<p>Information about the link association.</p>"
        }
      }
    },
    "DisassociateTransitGatewayConnectPeerRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "TransitGatewayConnectPeerArn"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "TransitGatewayConnectPeerArn":{
          "shape":"TransitGatewayConnectPeerArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the transit gateway Connect peer.</p>",
          "location":"uri",
          "locationName":"transitGatewayConnectPeerArn"
        }
      }
    },
    "DisassociateTransitGatewayConnectPeerResponse":{
      "type":"structure",
      "members":{
        "TransitGatewayConnectPeerAssociation":{
          "shape":"TransitGatewayConnectPeerAssociation",
          "documentation":"<p>The transit gateway Connect peer association.</p>"
        }
      }
    },
    "ExceptionContextKey":{"type":"string"},
    "ExceptionContextMap":{
      "type":"map",
      "key":{"shape":"ExceptionContextKey"},
      "value":{"shape":"ExceptionContextValue"}
    },
    "ExceptionContextValue":{"type":"string"},
    "ExecuteCoreNetworkChangeSetRequest":{
      "type":"structure",
      "required":[
        "CoreNetworkId",
        "PolicyVersionId"
      ],
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>",
          "location":"uri",
          "locationName":"coreNetworkId"
        },
        "PolicyVersionId":{
          "shape":"Integer",
          "documentation":"<p>The ID of the policy version.</p>",
          "location":"uri",
          "locationName":"policyVersionId"
        }
      }
    },
    "ExecuteCoreNetworkChangeSetResponse":{
      "type":"structure",
      "members":{
      }
    },
    "ExternalRegionCode":{
      "type":"string",
      "max":63,
      "min":1,
      "pattern":"[\\s\\S]*"
    },
    "ExternalRegionCodeList":{
      "type":"list",
      "member":{"shape":"ExternalRegionCode"}
    },
    "FilterMap":{
      "type":"map",
      "key":{"shape":"FilterName"},
      "value":{"shape":"FilterValues"}
    },
    "FilterName":{
      "type":"string",
      "max":128,
      "pattern":"^[0-9a-zA-Z\\.-]*$"
    },
    "FilterValue":{
      "type":"string",
      "max":255,
      "pattern":"^[0-9a-zA-Z\\*\\.\\\\/\\?-]*$"
    },
    "FilterValues":{
      "type":"list",
      "member":{"shape":"FilterValue"}
    },
    "GetConnectAttachmentRequest":{
      "type":"structure",
      "required":["AttachmentId"],
      "members":{
        "AttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of the attachment.</p>",
          "location":"uri",
          "locationName":"attachmentId"
        }
      }
    },
    "GetConnectAttachmentResponse":{
      "type":"structure",
      "members":{
        "ConnectAttachment":{
          "shape":"ConnectAttachment",
          "documentation":"<p>Details about the Connect attachment.</p>"
        }
      }
    },
    "GetConnectPeerAssociationsRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "ConnectPeerIds":{
          "shape":"ConnectPeerIdList",
          "documentation":"<p>The IDs of the Connect peers.</p>",
          "location":"querystring",
          "locationName":"connectPeerIds"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "GetConnectPeerAssociationsResponse":{
      "type":"structure",
      "members":{
        "ConnectPeerAssociations":{
          "shape":"ConnectPeerAssociationList",
          "documentation":"<p>Displays a list of Connect peer associations.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "GetConnectPeerRequest":{
      "type":"structure",
      "required":["ConnectPeerId"],
      "members":{
        "ConnectPeerId":{
          "shape":"ConnectPeerId",
          "documentation":"<p>The ID of the Connect peer.</p>",
          "location":"uri",
          "locationName":"connectPeerId"
        }
      }
    },
    "GetConnectPeerResponse":{
      "type":"structure",
      "members":{
        "ConnectPeer":{
          "shape":"ConnectPeer",
          "documentation":"<p>Returns information about a core network Connect peer.</p>"
        }
      }
    },
    "GetConnectionsRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "ConnectionIds":{
          "shape":"ConnectionIdList",
          "documentation":"<p>One or more connection IDs.</p>",
          "location":"querystring",
          "locationName":"connectionIds"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the device.</p>",
          "location":"querystring",
          "locationName":"deviceId"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "GetConnectionsResponse":{
      "type":"structure",
      "members":{
        "Connections":{
          "shape":"ConnectionList",
          "documentation":"<p>Information about the connections.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use for the next page of results.</p>"
        }
      }
    },
    "GetCoreNetworkChangeSetRequest":{
      "type":"structure",
      "required":[
        "CoreNetworkId",
        "PolicyVersionId"
      ],
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>",
          "location":"uri",
          "locationName":"coreNetworkId"
        },
        "PolicyVersionId":{
          "shape":"Integer",
          "documentation":"<p>The ID of the policy version.</p>",
          "location":"uri",
          "locationName":"policyVersionId"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "GetCoreNetworkChangeSetResponse":{
      "type":"structure",
      "members":{
        "CoreNetworkChanges":{
          "shape":"CoreNetworkChangeList",
          "documentation":"<p>Describes a core network changes.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "GetCoreNetworkPolicyRequest":{
      "type":"structure",
      "required":["CoreNetworkId"],
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>",
          "location":"uri",
          "locationName":"coreNetworkId"
        },
        "PolicyVersionId":{
          "shape":"Integer",
          "documentation":"<p>The ID of a core network policy version.</p>",
          "location":"querystring",
          "locationName":"policyVersionId"
        },
        "Alias":{
          "shape":"CoreNetworkPolicyAlias",
          "documentation":"<p>The alias of a core network policy </p>",
          "location":"querystring",
          "locationName":"alias"
        }
      }
    },
    "GetCoreNetworkPolicyResponse":{
      "type":"structure",
      "members":{
        "CoreNetworkPolicy":{
          "shape":"CoreNetworkPolicy",
          "documentation":"<p>The details about a core network policy.</p>"
        }
      }
    },
    "GetCoreNetworkRequest":{
      "type":"structure",
      "required":["CoreNetworkId"],
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>",
          "location":"uri",
          "locationName":"coreNetworkId"
        }
      }
    },
    "GetCoreNetworkResponse":{
      "type":"structure",
      "members":{
        "CoreNetwork":{
          "shape":"CoreNetwork",
          "documentation":"<p>Details about a core network.</p>"
        }
      }
    },
    "GetCustomerGatewayAssociationsRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "CustomerGatewayArns":{
          "shape":"CustomerGatewayArnList",
          "documentation":"<p>One or more customer gateway Amazon Resource Names (ARNs). The maximum is 10.</p>",
          "location":"querystring",
          "locationName":"customerGatewayArns"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "GetCustomerGatewayAssociationsResponse":{
      "type":"structure",
      "members":{
        "CustomerGatewayAssociations":{
          "shape":"CustomerGatewayAssociationList",
          "documentation":"<p>The customer gateway associations.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "GetDevicesRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "DeviceIds":{
          "shape":"DeviceIdList",
          "documentation":"<p>One or more device IDs. The maximum is 10.</p>",
          "location":"querystring",
          "locationName":"deviceIds"
        },
        "SiteId":{
          "shape":"SiteId",
          "documentation":"<p>The ID of the site.</p>",
          "location":"querystring",
          "locationName":"siteId"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "GetDevicesResponse":{
      "type":"structure",
      "members":{
        "Devices":{
          "shape":"DeviceList",
          "documentation":"<p>The devices.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "GetLinkAssociationsRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the device.</p>",
          "location":"querystring",
          "locationName":"deviceId"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link.</p>",
          "location":"querystring",
          "locationName":"linkId"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "GetLinkAssociationsResponse":{
      "type":"structure",
      "members":{
        "LinkAssociations":{
          "shape":"LinkAssociationList",
          "documentation":"<p>The link associations.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "GetLinksRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "LinkIds":{
          "shape":"LinkIdList",
          "documentation":"<p>One or more link IDs. The maximum is 10.</p>",
          "location":"querystring",
          "locationName":"linkIds"
        },
        "SiteId":{
          "shape":"SiteId",
          "documentation":"<p>The ID of the site.</p>",
          "location":"querystring",
          "locationName":"siteId"
        },
        "Type":{
          "shape":"ConstrainedString",
          "documentation":"<p>The link type.</p>",
          "location":"querystring",
          "locationName":"type"
        },
        "Provider":{
          "shape":"ConstrainedString",
          "documentation":"<p>The link provider.</p>",
          "location":"querystring",
          "locationName":"provider"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "GetLinksResponse":{
      "type":"structure",
      "members":{
        "Links":{
          "shape":"LinkList",
          "documentation":"<p>The links.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "GetNetworkResourceCountsRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "ResourceType":{
          "shape":"ConstrainedString",
          "documentation":"<p>The resource type.</p> <p>The following are the supported resource types for Direct Connect:</p> <ul> <li> <p> <code>dxcon</code> </p> </li> <li> <p> <code>dx-gateway</code> </p> </li> <li> <p> <code>dx-vif</code> </p> </li> </ul> <p>The following are the supported resource types for Network Manager:</p> <ul> <li> <p> <code>connection</code> </p> </li> <li> <p> <code>device</code> </p> </li> <li> <p> <code>link</code> </p> </li> <li> <p> <code>site</code> </p> </li> </ul> <p>The following are the supported resource types for Amazon VPC:</p> <ul> <li> <p> <code>customer-gateway</code> </p> </li> <li> <p> <code>transit-gateway</code> </p> </li> <li> <p> <code>transit-gateway-attachment</code> </p> </li> <li> <p> <code>transit-gateway-connect-peer</code> </p> </li> <li> <p> <code>transit-gateway-route-table</code> </p> </li> <li> <p> <code>vpn-connection</code> </p> </li> </ul>",
          "location":"querystring",
          "locationName":"resourceType"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "GetNetworkResourceCountsResponse":{
      "type":"structure",
      "members":{
        "NetworkResourceCounts":{
          "shape":"NetworkResourceCountList",
          "documentation":"<p>The count of resources.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "GetNetworkResourceRelationshipsRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>",
          "location":"querystring",
          "locationName":"coreNetworkId"
        },
        "RegisteredGatewayArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the registered gateway.</p>",
          "location":"querystring",
          "locationName":"registeredGatewayArn"
        },
        "AwsRegion":{
          "shape":"ExternalRegionCode",
          "documentation":"<p>The Amazon Web Services Region.</p>",
          "location":"querystring",
          "locationName":"awsRegion"
        },
        "AccountId":{
          "shape":"AWSAccountId",
          "documentation":"<p>The Amazon Web Services account ID.</p>",
          "location":"querystring",
          "locationName":"accountId"
        },
        "ResourceType":{
          "shape":"ConstrainedString",
          "documentation":"<p>The resource type.</p> <p>The following are the supported resource types for Direct Connect:</p> <ul> <li> <p> <code>dxcon</code> </p> </li> <li> <p> <code>dx-gateway</code> </p> </li> <li> <p> <code>dx-vif</code> </p> </li> </ul> <p>The following are the supported resource types for Network Manager:</p> <ul> <li> <p> <code>connection</code> </p> </li> <li> <p> <code>device</code> </p> </li> <li> <p> <code>link</code> </p> </li> <li> <p> <code>site</code> </p> </li> </ul> <p>The following are the supported resource types for Amazon VPC:</p> <ul> <li> <p> <code>customer-gateway</code> </p> </li> <li> <p> <code>transit-gateway</code> </p> </li> <li> <p> <code>transit-gateway-attachment</code> </p> </li> <li> <p> <code>transit-gateway-connect-peer</code> </p> </li> <li> <p> <code>transit-gateway-route-table</code> </p> </li> <li> <p> <code>vpn-connection</code> </p> </li> </ul>",
          "location":"querystring",
          "locationName":"resourceType"
        },
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the gateway.</p>",
          "location":"querystring",
          "locationName":"resourceArn"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "GetNetworkResourceRelationshipsResponse":{
      "type":"structure",
      "members":{
        "Relationships":{
          "shape":"RelationshipList",
          "documentation":"<p>The resource relationships.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "GetNetworkResourcesRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>",
          "location":"querystring",
          "locationName":"coreNetworkId"
        },
        "RegisteredGatewayArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the gateway.</p>",
          "location":"querystring",
          "locationName":"registeredGatewayArn"
        },
        "AwsRegion":{
          "shape":"ExternalRegionCode",
          "documentation":"<p>The Amazon Web Services Region.</p>",
          "location":"querystring",
          "locationName":"awsRegion"
        },
        "AccountId":{
          "shape":"AWSAccountId",
          "documentation":"<p>The Amazon Web Services account ID.</p>",
          "location":"querystring",
          "locationName":"accountId"
        },
        "ResourceType":{
          "shape":"ConstrainedString",
          "documentation":"<p>The resource type.</p> <p>The following are the supported resource types for Direct Connect:</p> <ul> <li> <p> <code>dxcon</code> - The definition model is <a href=\"https://docs.aws.amazon.com/directconnect/latest/APIReference/API_Connection.html\">Connection</a>.</p> </li> <li> <p> <code>dx-gateway</code> - The definition model is <a href=\"https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DirectConnectGateway.html\">DirectConnectGateway</a>.</p> </li> <li> <p> <code>dx-vif</code> - The definition model is <a href=\"https://docs.aws.amazon.com/directconnect/latest/APIReference/API_VirtualInterface.html\">VirtualInterface</a>.</p> </li> </ul> <p>The following are the supported resource types for Network Manager:</p> <ul> <li> <p> <code>connection</code> - The definition model is <a href=\"https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Connection.html\">Connection</a>.</p> </li> <li> <p> <code>device</code> - The definition model is <a href=\"https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Device.html\">Device</a>.</p> </li> <li> <p> <code>link</code> - The definition model is <a href=\"https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Link.html\">Link</a>.</p> </li> <li> <p> <code>site</code> - The definition model is <a href=\"https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Site.html\">Site</a>.</p> </li> </ul> <p>The following are the supported resource types for Amazon VPC:</p> <ul> <li> <p> <code>customer-gateway</code> - The definition model is <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CustomerGateway.html\">CustomerGateway</a>.</p> </li> <li> <p> <code>transit-gateway</code> - The definition model is <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGateway.html\">TransitGateway</a>.</p> </li> <li> <p> <code>transit-gateway-attachment</code> - The definition model is <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachment.html\">TransitGatewayAttachment</a>.</p> </li> <li> <p> <code>transit-gateway-connect-peer</code> - The definition model is <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayConnectPeer.html\">TransitGatewayConnectPeer</a>.</p> </li> <li> <p> <code>transit-gateway-route-table</code> - The definition model is <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayRouteTable.html\">TransitGatewayRouteTable</a>.</p> </li> <li> <p> <code>vpn-connection</code> - The definition model is <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpnConnection.html\">VpnConnection</a>.</p> </li> </ul>",
          "location":"querystring",
          "locationName":"resourceType"
        },
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the resource.</p>",
          "location":"querystring",
          "locationName":"resourceArn"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "GetNetworkResourcesResponse":{
      "type":"structure",
      "members":{
        "NetworkResources":{
          "shape":"NetworkResourceList",
          "documentation":"<p>The network resources.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "GetNetworkRoutesRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "RouteTableIdentifier"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "RouteTableIdentifier":{
          "shape":"RouteTableIdentifier",
          "documentation":"<p>The ID of the route table.</p>"
        },
        "ExactCidrMatches":{
          "shape":"ConstrainedStringList",
          "documentation":"<p>An exact CIDR block.</p>"
        },
        "LongestPrefixMatches":{
          "shape":"ConstrainedStringList",
          "documentation":"<p>The most specific route that matches the traffic (longest prefix match).</p>"
        },
        "SubnetOfMatches":{
          "shape":"ConstrainedStringList",
          "documentation":"<p>The routes with a subnet that match the specified CIDR filter.</p>"
        },
        "SupernetOfMatches":{
          "shape":"ConstrainedStringList",
          "documentation":"<p>The routes with a CIDR that encompasses the CIDR filter. Example: If you specify 10.0.1.0/30, then the result returns 10.0.1.0/29.</p>"
        },
        "PrefixListIds":{
          "shape":"ConstrainedStringList",
          "documentation":"<p>The IDs of the prefix lists.</p>"
        },
        "States":{
          "shape":"RouteStateList",
          "documentation":"<p>The route states.</p>"
        },
        "Types":{
          "shape":"RouteTypeList",
          "documentation":"<p>The route types.</p>"
        },
        "DestinationFilters":{
          "shape":"FilterMap",
          "documentation":"<p>Filter by route table destination. Possible Values: TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.</p>"
        }
      }
    },
    "GetNetworkRoutesResponse":{
      "type":"structure",
      "members":{
        "RouteTableArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the route table.</p>"
        },
        "CoreNetworkSegmentEdge":{
          "shape":"CoreNetworkSegmentEdgeIdentifier",
          "documentation":"<p>Describes a core network segment edge.</p>"
        },
        "RouteTableType":{
          "shape":"RouteTableType",
          "documentation":"<p>The route table type.</p>"
        },
        "RouteTableTimestamp":{
          "shape":"DateTime",
          "documentation":"<p>The route table creation time.</p>"
        },
        "NetworkRoutes":{
          "shape":"NetworkRouteList",
          "documentation":"<p>The network routes.</p>"
        }
      }
    },
    "GetNetworkTelemetryRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>",
          "location":"querystring",
          "locationName":"coreNetworkId"
        },
        "RegisteredGatewayArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the gateway.</p>",
          "location":"querystring",
          "locationName":"registeredGatewayArn"
        },
        "AwsRegion":{
          "shape":"ExternalRegionCode",
          "documentation":"<p>The Amazon Web Services Region.</p>",
          "location":"querystring",
          "locationName":"awsRegion"
        },
        "AccountId":{
          "shape":"AWSAccountId",
          "documentation":"<p>The Amazon Web Services account ID.</p>",
          "location":"querystring",
          "locationName":"accountId"
        },
        "ResourceType":{
          "shape":"ConstrainedString",
          "documentation":"<p>The resource type.</p> <p>The following are the supported resource types for Direct Connect:</p> <ul> <li> <p> <code>dxcon</code> </p> </li> <li> <p> <code>dx-gateway</code> </p> </li> <li> <p> <code>dx-vif</code> </p> </li> </ul> <p>The following are the supported resource types for Network Manager:</p> <ul> <li> <p> <code>connection</code> </p> </li> <li> <p> <code>device</code> </p> </li> <li> <p> <code>link</code> </p> </li> <li> <p> <code>site</code> </p> </li> </ul> <p>The following are the supported resource types for Amazon VPC:</p> <ul> <li> <p> <code>customer-gateway</code> </p> </li> <li> <p> <code>transit-gateway</code> </p> </li> <li> <p> <code>transit-gateway-attachment</code> </p> </li> <li> <p> <code>transit-gateway-connect-peer</code> </p> </li> <li> <p> <code>transit-gateway-route-table</code> </p> </li> <li> <p> <code>vpn-connection</code> </p> </li> </ul>",
          "location":"querystring",
          "locationName":"resourceType"
        },
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the resource.</p>",
          "location":"querystring",
          "locationName":"resourceArn"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "GetNetworkTelemetryResponse":{
      "type":"structure",
      "members":{
        "NetworkTelemetry":{
          "shape":"NetworkTelemetryList",
          "documentation":"<p>The network telemetry.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "GetResourcePolicyRequest":{
      "type":"structure",
      "required":["ResourceArn"],
      "members":{
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the resource.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        }
      }
    },
    "GetResourcePolicyResponse":{
      "type":"structure",
      "members":{
        "PolicyDocument":{
          "shape":"ResourcePolicyDocument",
          "documentation":"<p>The resource policy document.</p>",
          "jsonvalue":true
        }
      }
    },
    "GetRouteAnalysisRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "RouteAnalysisId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "RouteAnalysisId":{
          "shape":"ConstrainedString",
          "documentation":"<p>The ID of the route analysis.</p>",
          "location":"uri",
          "locationName":"routeAnalysisId"
        }
      }
    },
    "GetRouteAnalysisResponse":{
      "type":"structure",
      "members":{
        "RouteAnalysis":{
          "shape":"RouteAnalysis",
          "documentation":"<p>The route analysis.</p>"
        }
      }
    },
    "GetSiteToSiteVpnAttachmentRequest":{
      "type":"structure",
      "required":["AttachmentId"],
      "members":{
        "AttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of the attachment.</p>",
          "location":"uri",
          "locationName":"attachmentId"
        }
      }
    },
    "GetSiteToSiteVpnAttachmentResponse":{
      "type":"structure",
      "members":{
        "SiteToSiteVpnAttachment":{
          "shape":"SiteToSiteVpnAttachment",
          "documentation":"<p>Describes the site-to-site attachment.</p>"
        }
      }
    },
    "GetSitesRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "SiteIds":{
          "shape":"SiteIdList",
          "documentation":"<p>One or more site IDs. The maximum is 10.</p>",
          "location":"querystring",
          "locationName":"siteIds"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "GetSitesResponse":{
      "type":"structure",
      "members":{
        "Sites":{
          "shape":"SiteList",
          "documentation":"<p>The sites.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "GetTransitGatewayConnectPeerAssociationsRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "TransitGatewayConnectPeerArns":{
          "shape":"TransitGatewayConnectPeerArnList",
          "documentation":"<p>One or more transit gateway Connect peer Amazon Resource Names (ARNs).</p>",
          "location":"querystring",
          "locationName":"transitGatewayConnectPeerArns"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "GetTransitGatewayConnectPeerAssociationsResponse":{
      "type":"structure",
      "members":{
        "TransitGatewayConnectPeerAssociations":{
          "shape":"TransitGatewayConnectPeerAssociationList",
          "documentation":"<p>Information about the transit gateway Connect peer associations.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use for the next page of results.</p>"
        }
      }
    },
    "GetTransitGatewayRegistrationsRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "TransitGatewayArns":{
          "shape":"TransitGatewayArnList",
          "documentation":"<p>The Amazon Resource Names (ARNs) of one or more transit gateways. The maximum is 10.</p>",
          "location":"querystring",
          "locationName":"transitGatewayArns"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "GetTransitGatewayRegistrationsResponse":{
      "type":"structure",
      "members":{
        "TransitGatewayRegistrations":{
          "shape":"TransitGatewayRegistrationList",
          "documentation":"<p>The transit gateway registrations.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "GetVpcAttachmentRequest":{
      "type":"structure",
      "required":["AttachmentId"],
      "members":{
        "AttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of the attachment.</p>",
          "location":"uri",
          "locationName":"attachmentId"
        }
      }
    },
    "GetVpcAttachmentResponse":{
      "type":"structure",
      "members":{
        "VpcAttachment":{
          "shape":"VpcAttachment",
          "documentation":"<p>Returns details about a VPC attachment.</p>"
        }
      }
    },
    "GlobalNetwork":{
      "type":"structure",
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>"
        },
        "GlobalNetworkArn":{
          "shape":"GlobalNetworkArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the global network.</p>"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>The description of the global network.</p>"
        },
        "CreatedAt":{
          "shape":"DateTime",
          "documentation":"<p>The date and time that the global network was created.</p>"
        },
        "State":{
          "shape":"GlobalNetworkState",
          "documentation":"<p>The state of the global network.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags for the global network.</p>"
        }
      },
      "documentation":"<p>Describes a global network. This is a single private network acting as a high-level container for your network objects, including an Amazon Web Services-managed Core Network.</p>"
    },
    "GlobalNetworkArn":{
      "type":"string",
      "max":500,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "GlobalNetworkId":{
      "type":"string",
      "max":50,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "GlobalNetworkIdList":{
      "type":"list",
      "member":{"shape":"GlobalNetworkId"}
    },
    "GlobalNetworkList":{
      "type":"list",
      "member":{"shape":"GlobalNetwork"}
    },
    "GlobalNetworkState":{
      "type":"string",
      "enum":[
        "PENDING",
        "AVAILABLE",
        "DELETING",
        "UPDATING"
      ]
    },
    "IPAddress":{
      "type":"string",
      "max":50,
      "min":1,
      "pattern":"[\\s\\S]*"
    },
    "Integer":{"type":"integer"},
    "InternalServerException":{
      "type":"structure",
      "required":["Message"],
      "members":{
        "Message":{"shape":"ServerSideString"},
        "RetryAfterSeconds":{
          "shape":"RetryAfterSeconds",
          "documentation":"<p>Indicates when to retry the request.</p>",
          "location":"header",
          "locationName":"Retry-After"
        }
      },
      "documentation":"<p>The request has failed due to an internal error.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true
    },
    "Link":{
      "type":"structure",
      "members":{
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link.</p>"
        },
        "LinkArn":{
          "shape":"LinkArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the link.</p>"
        },
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>"
        },
        "SiteId":{
          "shape":"SiteId",
          "documentation":"<p>The ID of the site.</p>"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>The description of the link.</p>"
        },
        "Type":{
          "shape":"ConstrainedString",
          "documentation":"<p>The type of the link.</p>"
        },
        "Bandwidth":{
          "shape":"Bandwidth",
          "documentation":"<p>The bandwidth for the link.</p>"
        },
        "Provider":{
          "shape":"ConstrainedString",
          "documentation":"<p>The provider of the link.</p>"
        },
        "CreatedAt":{
          "shape":"DateTime",
          "documentation":"<p>The date and time that the link was created.</p>"
        },
        "State":{
          "shape":"LinkState",
          "documentation":"<p>The state of the link.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags for the link.</p>"
        }
      },
      "documentation":"<p>Describes a link.</p>"
    },
    "LinkArn":{
      "type":"string",
      "max":500,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "LinkAssociation":{
      "type":"structure",
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The device ID for the link association.</p>"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link.</p>"
        },
        "LinkAssociationState":{
          "shape":"LinkAssociationState",
          "documentation":"<p>The state of the association.</p>"
        }
      },
      "documentation":"<p>Describes the association between a device and a link.</p>"
    },
    "LinkAssociationList":{
      "type":"list",
      "member":{"shape":"LinkAssociation"}
    },
    "LinkAssociationState":{
      "type":"string",
      "enum":[
        "PENDING",
        "AVAILABLE",
        "DELETING",
        "DELETED"
      ]
    },
    "LinkId":{
      "type":"string",
      "max":50,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "LinkIdList":{
      "type":"list",
      "member":{"shape":"LinkId"}
    },
    "LinkList":{
      "type":"list",
      "member":{"shape":"Link"}
    },
    "LinkState":{
      "type":"string",
      "enum":[
        "PENDING",
        "AVAILABLE",
        "DELETING",
        "UPDATING"
      ]
    },
    "ListAttachmentsRequest":{
      "type":"structure",
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>",
          "location":"querystring",
          "locationName":"coreNetworkId"
        },
        "AttachmentType":{
          "shape":"AttachmentType",
          "documentation":"<p>The type of attachment.</p>",
          "location":"querystring",
          "locationName":"attachmentType"
        },
        "EdgeLocation":{
          "shape":"ExternalRegionCode",
          "documentation":"<p>The Region where the edge is located.</p>",
          "location":"querystring",
          "locationName":"edgeLocation"
        },
        "State":{
          "shape":"AttachmentState",
          "documentation":"<p>The state of the attachment.</p>",
          "location":"querystring",
          "locationName":"state"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListAttachmentsResponse":{
      "type":"structure",
      "members":{
        "Attachments":{
          "shape":"AttachmentList",
          "documentation":"<p>Describes the list of attachments.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "ListConnectPeersRequest":{
      "type":"structure",
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>",
          "location":"querystring",
          "locationName":"coreNetworkId"
        },
        "ConnectAttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of the attachment.</p>",
          "location":"querystring",
          "locationName":"connectAttachmentId"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListConnectPeersResponse":{
      "type":"structure",
      "members":{
        "ConnectPeers":{
          "shape":"ConnectPeerSummaryList",
          "documentation":"<p>Describes the Connect peers.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "ListCoreNetworkPolicyVersionsRequest":{
      "type":"structure",
      "required":["CoreNetworkId"],
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>",
          "location":"uri",
          "locationName":"coreNetworkId"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListCoreNetworkPolicyVersionsResponse":{
      "type":"structure",
      "members":{
        "CoreNetworkPolicyVersions":{
          "shape":"CoreNetworkPolicyVersionList",
          "documentation":"<p>Describes core network policy versions.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "ListCoreNetworksRequest":{
      "type":"structure",
      "members":{
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListCoreNetworksResponse":{
      "type":"structure",
      "members":{
        "CoreNetworks":{
          "shape":"CoreNetworkSummaryList",
          "documentation":"<p>Describes the list of core networks.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        }
      }
    },
    "ListOrganizationServiceAccessStatusRequest":{
      "type":"structure",
      "members":{
        "MaxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListOrganizationServiceAccessStatusResponse":{
      "type":"structure",
      "members":{
        "OrganizationStatus":{"shape":"OrganizationStatus"},
        "NextToken":{"shape":"NextToken"}
      }
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["ResourceArn"],
      "members":{
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        }
      }
    },
    "ListTagsForResourceResponse":{
      "type":"structure",
      "members":{
        "TagList":{
          "shape":"TagList",
          "documentation":"<p>The list of tags.</p>"
        }
      }
    },
    "Location":{
      "type":"structure",
      "members":{
        "Address":{
          "shape":"ConstrainedString",
          "documentation":"<p>The physical address.</p>"
        },
        "Latitude":{
          "shape":"ConstrainedString",
          "documentation":"<p>The latitude.</p>"
        },
        "Longitude":{
          "shape":"ConstrainedString",
          "documentation":"<p>The longitude.</p>"
        }
      },
      "documentation":"<p>Describes a location.</p>",
      "sensitive":true
    },
    "Long":{"type":"long"},
    "MaxResults":{
      "type":"integer",
      "max":500,
      "min":1
    },
    "NetworkResource":{
      "type":"structure",
      "members":{
        "RegisteredGatewayArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the gateway.</p>"
        },
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>a core network ID.</p>"
        },
        "AwsRegion":{
          "shape":"ExternalRegionCode",
          "documentation":"<p>The Amazon Web Services Region.</p>"
        },
        "AccountId":{
          "shape":"AWSAccountId",
          "documentation":"<p>The Amazon Web Services account ID.</p>"
        },
        "ResourceType":{
          "shape":"ConstrainedString",
          "documentation":"<p>The resource type.</p> <p>The following are the supported resource types for Direct Connect:</p> <ul> <li> <p> <code>dxcon</code> </p> </li> <li> <p> <code>dx-gateway</code> </p> </li> <li> <p> <code>dx-vif</code> </p> </li> </ul> <p>The following are the supported resource types for Network Manager:</p> <ul> <li> <p> <code>connection</code> </p> </li> <li> <p> <code>device</code> </p> </li> <li> <p> <code>link</code> </p> </li> <li> <p> <code>site</code> </p> </li> </ul> <p>The following are the supported resource types for Amazon VPC:</p> <ul> <li> <p> <code>customer-gateway</code> </p> </li> <li> <p> <code>transit-gateway</code> </p> </li> <li> <p> <code>transit-gateway-attachment</code> </p> </li> <li> <p> <code>transit-gateway-connect-peer</code> </p> </li> <li> <p> <code>transit-gateway-route-table</code> </p> </li> <li> <p> <code>vpn-connection</code> </p> </li> </ul>"
        },
        "ResourceId":{
          "shape":"ConstrainedString",
          "documentation":"<p>The ID of the resource.</p>"
        },
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the resource.</p>"
        },
        "Definition":{
          "shape":"ConstrainedString",
          "documentation":"<p>Information about the resource, in JSON format. Network Manager gets this information by describing the resource using its Describe API call.</p>"
        },
        "DefinitionTimestamp":{
          "shape":"DateTime",
          "documentation":"<p>The time that the resource definition was retrieved.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags.</p>"
        },
        "Metadata":{
          "shape":"NetworkResourceMetadataMap",
          "documentation":"<p>The resource metadata.</p>"
        }
      },
      "documentation":"<p>Describes a network resource.</p>"
    },
    "NetworkResourceCount":{
      "type":"structure",
      "members":{
        "ResourceType":{
          "shape":"ConstrainedString",
          "documentation":"<p>The resource type.</p>"
        },
        "Count":{
          "shape":"Integer",
          "documentation":"<p>The resource count.</p>"
        }
      },
      "documentation":"<p>Describes a resource count.</p>"
    },
    "NetworkResourceCountList":{
      "type":"list",
      "member":{"shape":"NetworkResourceCount"}
    },
    "NetworkResourceList":{
      "type":"list",
      "member":{"shape":"NetworkResource"}
    },
    "NetworkResourceMetadataMap":{
      "type":"map",
      "key":{"shape":"ConstrainedString"},
      "value":{"shape":"ConstrainedString"}
    },
    "NetworkResourceSummary":{
      "type":"structure",
      "members":{
        "RegisteredGatewayArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the gateway.</p>"
        },
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the resource.</p>"
        },
        "ResourceType":{
          "shape":"ConstrainedString",
          "documentation":"<p>The resource type.</p>"
        },
        "Definition":{
          "shape":"ConstrainedString",
          "documentation":"<p>Information about the resource, in JSON format. Network Manager gets this information by describing the resource using its Describe API call.</p>"
        },
        "NameTag":{
          "shape":"ConstrainedString",
          "documentation":"<p>The value for the Name tag.</p>"
        },
        "IsMiddlebox":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether this is a middlebox appliance.</p>"
        }
      },
      "documentation":"<p>Describes a network resource.</p>"
    },
    "NetworkRoute":{
      "type":"structure",
      "members":{
        "DestinationCidrBlock":{
          "shape":"ConstrainedString",
          "documentation":"<p>A unique identifier for the route, such as a CIDR block.</p>"
        },
        "Destinations":{
          "shape":"NetworkRouteDestinationList",
          "documentation":"<p>The destinations.</p>"
        },
        "PrefixListId":{
          "shape":"ConstrainedString",
          "documentation":"<p>The ID of the prefix list.</p>"
        },
        "State":{
          "shape":"RouteState",
          "documentation":"<p>The route state. The possible values are <code>active</code> and <code>blackhole</code>.</p>"
        },
        "Type":{
          "shape":"RouteType",
          "documentation":"<p>The route type. The possible values are <code>propagated</code> and <code>static</code>.</p>"
        }
      },
      "documentation":"<p>Describes a network route.</p>"
    },
    "NetworkRouteDestination":{
      "type":"structure",
      "members":{
        "CoreNetworkAttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of a core network attachment.</p>"
        },
        "TransitGatewayAttachmentId":{
          "shape":"TransitGatewayAttachmentId",
          "documentation":"<p>The ID of the transit gateway attachment.</p>"
        },
        "SegmentName":{
          "shape":"ConstrainedString",
          "documentation":"<p>The name of the segment.</p>"
        },
        "EdgeLocation":{
          "shape":"ExternalRegionCode",
          "documentation":"<p>The edge location for the network destination.</p>"
        },
        "ResourceType":{
          "shape":"ConstrainedString",
          "documentation":"<p>The resource type.</p>"
        },
        "ResourceId":{
          "shape":"ConstrainedString",
          "documentation":"<p>The ID of the resource.</p>"
        }
      },
      "documentation":"<p>Describes the destination of a network route.</p>"
    },
    "NetworkRouteDestinationList":{
      "type":"list",
      "member":{"shape":"NetworkRouteDestination"}
    },
    "NetworkRouteList":{
      "type":"list",
      "member":{"shape":"NetworkRoute"}
    },
    "NetworkTelemetry":{
      "type":"structure",
      "members":{
        "RegisteredGatewayArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the gateway.</p>"
        },
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>"
        },
        "AwsRegion":{
          "shape":"ExternalRegionCode",
          "documentation":"<p>The Amazon Web Services Region.</p>"
        },
        "AccountId":{
          "shape":"AWSAccountId",
          "documentation":"<p>The Amazon Web Services account ID.</p>"
        },
        "ResourceType":{
          "shape":"ConstrainedString",
          "documentation":"<p>The resource type.</p>"
        },
        "ResourceId":{
          "shape":"ConstrainedString",
          "documentation":"<p>The ID of the resource.</p>"
        },
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the resource.</p>"
        },
        "Address":{
          "shape":"ConstrainedString",
          "documentation":"<p>The address.</p>"
        },
        "Health":{
          "shape":"ConnectionHealth",
          "documentation":"<p>The connection health.</p>"
        }
      },
      "documentation":"<p>Describes the telemetry information for a resource.</p>"
    },
    "NetworkTelemetryList":{
      "type":"list",
      "member":{"shape":"NetworkTelemetry"}
    },
    "NextToken":{
      "type":"string",
      "max":2048,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "OrganizationAwsServiceAccessStatus":{
      "type":"string",
      "max":50,
      "min":0
    },
    "OrganizationId":{
      "type":"string",
      "max":50,
      "min":0,
      "pattern":"^o-([0-9a-f]{8,17})$"
    },
    "OrganizationStatus":{
      "type":"structure",
      "members":{
        "OrganizationId":{"shape":"OrganizationId"},
        "OrganizationAwsServiceAccessStatus":{"shape":"OrganizationAwsServiceAccessStatus"},
        "SLRDeploymentStatus":{"shape":"SLRDeploymentStatus"},
        "AccountStatusList":{"shape":"AccountStatusList"}
      }
    },
    "PathComponent":{
      "type":"structure",
      "members":{
        "Sequence":{
          "shape":"Integer",
          "documentation":"<p>The sequence number in the path. The destination is 0.</p>"
        },
        "Resource":{
          "shape":"NetworkResourceSummary",
          "documentation":"<p>The resource.</p>"
        },
        "DestinationCidrBlock":{
          "shape":"ConstrainedString",
          "documentation":"<p>The destination CIDR block in the route table.</p>"
        }
      },
      "documentation":"<p>Describes a path component.</p>"
    },
    "PathComponentList":{
      "type":"list",
      "member":{"shape":"PathComponent"}
    },
    "ProposedSegmentChange":{
      "type":"structure",
      "members":{
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The key-value tags that changed for the segment.</p>"
        },
        "AttachmentPolicyRuleNumber":{
          "shape":"Integer",
          "documentation":"<p>The rule number in the policy document that applies to this change.</p>"
        },
        "SegmentName":{
          "shape":"ConstrainedString",
          "documentation":"<p>The name of the segment to change.</p>"
        }
      },
      "documentation":"<p>Describes a proposed segment change. In some cases, the segment change must first be evaluated and accepted. </p>"
    },
    "PutCoreNetworkPolicyRequest":{
      "type":"structure",
      "required":[
        "CoreNetworkId",
        "PolicyDocument"
      ],
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>",
          "location":"uri",
          "locationName":"coreNetworkId"
        },
        "PolicyDocument":{
          "shape":"CoreNetworkPolicyDocument",
          "documentation":"<p>The policy document.</p>",
          "jsonvalue":true
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>a core network policy description.</p>"
        },
        "LatestVersionId":{
          "shape":"Integer",
          "documentation":"<p>The ID of a core network policy. </p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>The client token associated with the request.</p>",
          "idempotencyToken":true
        }
      }
    },
    "PutCoreNetworkPolicyResponse":{
      "type":"structure",
      "members":{
        "CoreNetworkPolicy":{
          "shape":"CoreNetworkPolicy",
          "documentation":"<p>Describes the changed core network policy.</p>"
        }
      }
    },
    "PutResourcePolicyRequest":{
      "type":"structure",
      "required":[
        "PolicyDocument",
        "ResourceArn"
      ],
      "members":{
        "PolicyDocument":{
          "shape":"ResourcePolicyDocument",
          "documentation":"<p>The JSON resource policy document.</p>",
          "jsonvalue":true
        },
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the resource policy. </p>",
          "location":"uri",
          "locationName":"resourceArn"
        }
      }
    },
    "PutResourcePolicyResponse":{
      "type":"structure",
      "members":{
      }
    },
    "ReasonContextKey":{
      "type":"string",
      "max":10000000,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "ReasonContextMap":{
      "type":"map",
      "key":{"shape":"ReasonContextKey"},
      "value":{"shape":"ReasonContextValue"}
    },
    "ReasonContextValue":{
      "type":"string",
      "max":10000000,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "RegisterTransitGatewayRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "TransitGatewayArn"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "TransitGatewayArn":{
          "shape":"TransitGatewayArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the transit gateway.</p>"
        }
      }
    },
    "RegisterTransitGatewayResponse":{
      "type":"structure",
      "members":{
        "TransitGatewayRegistration":{
          "shape":"TransitGatewayRegistration",
          "documentation":"<p>Information about the transit gateway registration.</p>"
        }
      }
    },
    "RejectAttachmentRequest":{
      "type":"structure",
      "required":["AttachmentId"],
      "members":{
        "AttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of the attachment.</p>",
          "location":"uri",
          "locationName":"attachmentId"
        }
      }
    },
    "RejectAttachmentResponse":{
      "type":"structure",
      "members":{
        "Attachment":{
          "shape":"Attachment",
          "documentation":"<p>Describes the rejected attachment request.</p>"
        }
      }
    },
    "Relationship":{
      "type":"structure",
      "members":{
        "From":{
          "shape":"ConstrainedString",
          "documentation":"<p>The ARN of the resource.</p>"
        },
        "To":{
          "shape":"ConstrainedString",
          "documentation":"<p>The ARN of the resource.</p>"
        }
      },
      "documentation":"<p>Describes a resource relationship.</p>"
    },
    "RelationshipList":{
      "type":"list",
      "member":{"shape":"Relationship"}
    },
    "ResourceArn":{
      "type":"string",
      "max":1500,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "required":[
        "Message",
        "ResourceId",
        "ResourceType"
      ],
      "members":{
        "Message":{"shape":"ServerSideString"},
        "ResourceId":{
          "shape":"ServerSideString",
          "documentation":"<p>The ID of the resource.</p>"
        },
        "ResourceType":{
          "shape":"ServerSideString",
          "documentation":"<p>The resource type.</p>"
        },
        "Context":{
          "shape":"ExceptionContextMap",
          "documentation":"<p>The specified resource could not be found.</p>"
        }
      },
      "documentation":"<p>The specified resource could not be found.</p>",
      "error":{"httpStatusCode":404},
      "exception":true
    },
    "ResourcePolicyDocument":{
      "type":"string",
      "max":10000000,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "RestoreCoreNetworkPolicyVersionRequest":{
      "type":"structure",
      "required":[
        "CoreNetworkId",
        "PolicyVersionId"
      ],
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>",
          "location":"uri",
          "locationName":"coreNetworkId"
        },
        "PolicyVersionId":{
          "shape":"Integer",
          "documentation":"<p>The ID of the policy version to restore.</p>",
          "location":"uri",
          "locationName":"policyVersionId"
        }
      }
    },
    "RestoreCoreNetworkPolicyVersionResponse":{
      "type":"structure",
      "members":{
        "CoreNetworkPolicy":{
          "shape":"CoreNetworkPolicy",
          "documentation":"<p>Describes the restored core network policy.</p>"
        }
      }
    },
    "RetryAfterSeconds":{"type":"integer"},
    "RouteAnalysis":{
      "type":"structure",
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>"
        },
        "OwnerAccountId":{
          "shape":"AWSAccountId",
          "documentation":"<p>The ID of the AWS account that created the route analysis.</p>"
        },
        "RouteAnalysisId":{
          "shape":"ConstrainedString",
          "documentation":"<p>The ID of the route analysis.</p>"
        },
        "StartTimestamp":{
          "shape":"DateTime",
          "documentation":"<p>The time that the analysis started.</p>"
        },
        "Status":{
          "shape":"RouteAnalysisStatus",
          "documentation":"<p>The status of the route analysis.</p>"
        },
        "Source":{
          "shape":"RouteAnalysisEndpointOptions",
          "documentation":"<p>The source.</p>"
        },
        "Destination":{
          "shape":"RouteAnalysisEndpointOptions",
          "documentation":"<p>The destination.</p>"
        },
        "IncludeReturnPath":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether to analyze the return path. The return path is not analyzed if the forward path analysis does not succeed.</p>"
        },
        "UseMiddleboxes":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether to include the location of middlebox appliances in the route analysis.</p>"
        },
        "ForwardPath":{
          "shape":"RouteAnalysisPath",
          "documentation":"<p>The forward path.</p>"
        },
        "ReturnPath":{
          "shape":"RouteAnalysisPath",
          "documentation":"<p>The return path.</p>"
        }
      },
      "documentation":"<p>Describes a route analysis.</p>"
    },
    "RouteAnalysisCompletion":{
      "type":"structure",
      "members":{
        "ResultCode":{
          "shape":"RouteAnalysisCompletionResultCode",
          "documentation":"<p>The result of the analysis. If the status is <code>NOT_CONNECTED</code>, check the reason code.</p>"
        },
        "ReasonCode":{
          "shape":"RouteAnalysisCompletionReasonCode",
          "documentation":"<p>The reason code. Available only if a connection is not found.</p> <ul> <li> <p> <code>BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND</code> - Found a black hole route with the destination CIDR block.</p> </li> <li> <p> <code>CYCLIC_PATH_DETECTED</code> - Found the same resource multiple times while traversing the path.</p> </li> <li> <p> <code>INACTIVE_ROUTE_FOR_DESTINATION_FOUND</code> - Found an inactive route with the destination CIDR block.</p> </li> <li> <p> <code>MAX_HOPS_EXCEEDED</code> - Analysis exceeded 64 hops without finding the destination.</p> </li> <li> <p> <code>ROUTE_NOT_FOUND</code> - Cannot find a route table with the destination CIDR block.</p> </li> <li> <p> <code>TGW_ATTACH_ARN_NO_MATCH</code> - Found an attachment, but not with the correct destination ARN.</p> </li> <li> <p> <code>TGW_ATTACH_NOT_FOUND</code> - Cannot find an attachment.</p> </li> <li> <p> <code>TGW_ATTACH_NOT_IN_TGW</code> - Found an attachment, but not to the correct transit gateway.</p> </li> <li> <p> <code>TGW_ATTACH_STABLE_ROUTE_TABLE_NOT_FOUND</code> - The state of the route table association is not associated.</p> </li> </ul>"
        },
        "ReasonContext":{
          "shape":"ReasonContextMap",
          "documentation":"<p>Additional information about the path. Available only if a connection is not found.</p>"
        }
      },
      "documentation":"<p>Describes the status of an analysis at completion.</p>"
    },
    "RouteAnalysisCompletionReasonCode":{
      "type":"string",
      "enum":[
        "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"
      ]
    },
    "RouteAnalysisCompletionResultCode":{
      "type":"string",
      "enum":[
        "CONNECTED",
        "NOT_CONNECTED"
      ]
    },
    "RouteAnalysisEndpointOptions":{
      "type":"structure",
      "members":{
        "TransitGatewayAttachmentArn":{
          "shape":"TransitGatewayAttachmentArn",
          "documentation":"<p>The ARN of the transit gateway attachment.</p>"
        },
        "TransitGatewayArn":{
          "shape":"TransitGatewayArn",
          "documentation":"<p>The ARN of the transit gateway.</p>"
        },
        "IpAddress":{
          "shape":"IPAddress",
          "documentation":"<p>The IP address.</p>"
        }
      },
      "documentation":"<p>Describes a source or a destination.</p>"
    },
    "RouteAnalysisEndpointOptionsSpecification":{
      "type":"structure",
      "members":{
        "TransitGatewayAttachmentArn":{
          "shape":"TransitGatewayAttachmentArn",
          "documentation":"<p>The ARN of the transit gateway attachment.</p>"
        },
        "IpAddress":{
          "shape":"IPAddress",
          "documentation":"<p>The IP address.</p>"
        }
      },
      "documentation":"<p>Describes a source or a destination.</p>"
    },
    "RouteAnalysisPath":{
      "type":"structure",
      "members":{
        "CompletionStatus":{
          "shape":"RouteAnalysisCompletion",
          "documentation":"<p>The status of the analysis at completion.</p>"
        },
        "Path":{
          "shape":"PathComponentList",
          "documentation":"<p>The route analysis path.</p>"
        }
      },
      "documentation":"<p>Describes a route analysis path.</p>"
    },
    "RouteAnalysisStatus":{
      "type":"string",
      "enum":[
        "RUNNING",
        "COMPLETED",
        "FAILED"
      ]
    },
    "RouteState":{
      "type":"string",
      "enum":[
        "ACTIVE",
        "BLACKHOLE"
      ]
    },
    "RouteStateList":{
      "type":"list",
      "member":{"shape":"RouteState"}
    },
    "RouteTableIdentifier":{
      "type":"structure",
      "members":{
        "TransitGatewayRouteTableArn":{
          "shape":"TransitGatewayRouteTableArn",
          "documentation":"<p>The ARN of the transit gateway route table.</p>"
        },
        "CoreNetworkSegmentEdge":{
          "shape":"CoreNetworkSegmentEdgeIdentifier",
          "documentation":"<p>The segment edge in a core network.</p>"
        }
      },
      "documentation":"<p>Describes a route table.</p>"
    },
    "RouteTableType":{
      "type":"string",
      "enum":[
        "TRANSIT_GATEWAY_ROUTE_TABLE",
        "CORE_NETWORK_SEGMENT"
      ]
    },
    "RouteType":{
      "type":"string",
      "enum":[
        "PROPAGATED",
        "STATIC"
      ]
    },
    "RouteTypeList":{
      "type":"list",
      "member":{"shape":"RouteType"}
    },
    "SLRDeploymentStatus":{
      "type":"string",
      "max":50,
      "min":0
    },
    "ServerSideString":{
      "type":"string",
      "max":10000000,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "required":[
        "Message",
        "LimitCode",
        "ServiceCode"
      ],
      "members":{
        "Message":{
          "shape":"ServerSideString",
          "documentation":"<p>The error message.</p>"
        },
        "ResourceId":{
          "shape":"ServerSideString",
          "documentation":"<p>The ID of the resource.</p>"
        },
        "ResourceType":{
          "shape":"ServerSideString",
          "documentation":"<p>The resource type.</p>"
        },
        "LimitCode":{
          "shape":"ServerSideString",
          "documentation":"<p>The limit code.</p>"
        },
        "ServiceCode":{
          "shape":"ServerSideString",
          "documentation":"<p>The service code.</p>"
        }
      },
      "documentation":"<p>A service limit was exceeded.</p>",
      "error":{"httpStatusCode":402},
      "exception":true
    },
    "Site":{
      "type":"structure",
      "members":{
        "SiteId":{
          "shape":"SiteId",
          "documentation":"<p>The ID of the site.</p>"
        },
        "SiteArn":{
          "shape":"SiteArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the site.</p>"
        },
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>The description of the site.</p>"
        },
        "Location":{
          "shape":"Location",
          "documentation":"<p>The location of the site.</p>"
        },
        "CreatedAt":{
          "shape":"DateTime",
          "documentation":"<p>The date and time that the site was created.</p>"
        },
        "State":{
          "shape":"SiteState",
          "documentation":"<p>The state of the site.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags for the site.</p>"
        }
      },
      "documentation":"<p>Describes a site.</p>"
    },
    "SiteArn":{
      "type":"string",
      "max":500,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "SiteId":{
      "type":"string",
      "max":50,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "SiteIdList":{
      "type":"list",
      "member":{"shape":"SiteId"}
    },
    "SiteList":{
      "type":"list",
      "member":{"shape":"Site"}
    },
    "SiteState":{
      "type":"string",
      "enum":[
        "PENDING",
        "AVAILABLE",
        "DELETING",
        "UPDATING"
      ]
    },
    "SiteToSiteVpnAttachment":{
      "type":"structure",
      "members":{
        "Attachment":{
          "shape":"Attachment",
          "documentation":"<p>Provides details about a site-to-site VPN attachment.</p>"
        },
        "VpnConnectionArn":{
          "shape":"VpnConnectionArn",
          "documentation":"<p>The ARN of the site-to-site VPN attachment. </p>"
        }
      },
      "documentation":"<p>Creates a site-to-site VPN attachment.</p>"
    },
    "StartOrganizationServiceAccessUpdateRequest":{
      "type":"structure",
      "required":["Action"],
      "members":{
        "Action":{"shape":"Action"}
      }
    },
    "StartOrganizationServiceAccessUpdateResponse":{
      "type":"structure",
      "members":{
        "OrganizationStatus":{"shape":"OrganizationStatus"}
      }
    },
    "StartRouteAnalysisRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "Source",
        "Destination"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "Source":{
          "shape":"RouteAnalysisEndpointOptionsSpecification",
          "documentation":"<p>The source from which traffic originates.</p>"
        },
        "Destination":{
          "shape":"RouteAnalysisEndpointOptionsSpecification",
          "documentation":"<p>The destination.</p>"
        },
        "IncludeReturnPath":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether to analyze the return path. The default is <code>false</code>.</p>"
        },
        "UseMiddleboxes":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether to include the location of middlebox appliances in the route analysis. The default is <code>false</code>.</p>"
        }
      }
    },
    "StartRouteAnalysisResponse":{
      "type":"structure",
      "members":{
        "RouteAnalysis":{
          "shape":"RouteAnalysis",
          "documentation":"<p>The route analysis.</p>"
        }
      }
    },
    "SubnetArn":{
      "type":"string",
      "max":500,
      "min":0,
      "pattern":"^arn:[^:]{1,63}:ec2:[^:]{0,63}:[^:]{0,63}:subnet\\/subnet-[0-9a-f]{8,17}$|^$"
    },
    "SubnetArnList":{
      "type":"list",
      "member":{"shape":"SubnetArn"}
    },
    "Tag":{
      "type":"structure",
      "members":{
        "Key":{
          "shape":"TagKey",
          "documentation":"<p>The tag key.</p> <p>Constraints: Maximum length of 128 characters.</p>"
        },
        "Value":{
          "shape":"TagValue",
          "documentation":"<p>The tag value.</p> <p>Constraints: Maximum length of 256 characters.</p>"
        }
      },
      "documentation":"<p>Describes a tag.</p>"
    },
    "TagKey":{
      "type":"string",
      "max":10000000,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"}
    },
    "TagList":{
      "type":"list",
      "member":{"shape":"Tag"}
    },
    "TagResourceRequest":{
      "type":"structure",
      "required":[
        "ResourceArn",
        "Tags"
      ],
      "members":{
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags to apply to the specified resource.</p>"
        }
      }
    },
    "TagResourceResponse":{
      "type":"structure",
      "members":{
      }
    },
    "TagValue":{
      "type":"string",
      "max":10000000,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "ThrottlingException":{
      "type":"structure",
      "required":["Message"],
      "members":{
        "Message":{"shape":"ServerSideString"},
        "RetryAfterSeconds":{
          "shape":"RetryAfterSeconds",
          "documentation":"<p>Indicates when to retry the request.</p>",
          "location":"header",
          "locationName":"Retry-After"
        }
      },
      "documentation":"<p>The request was denied due to request throttling.</p>",
      "error":{"httpStatusCode":429},
      "exception":true
    },
    "TransitGatewayArn":{
      "type":"string",
      "max":500,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "TransitGatewayArnList":{
      "type":"list",
      "member":{"shape":"TransitGatewayArn"}
    },
    "TransitGatewayAttachmentArn":{
      "type":"string",
      "max":500,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "TransitGatewayAttachmentId":{
      "type":"string",
      "max":50,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "TransitGatewayConnectPeerArn":{
      "type":"string",
      "max":500,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "TransitGatewayConnectPeerArnList":{
      "type":"list",
      "member":{"shape":"TransitGatewayConnectPeerArn"}
    },
    "TransitGatewayConnectPeerAssociation":{
      "type":"structure",
      "members":{
        "TransitGatewayConnectPeerArn":{
          "shape":"TransitGatewayConnectPeerArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the transit gateway Connect peer.</p>"
        },
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the device.</p>"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link.</p>"
        },
        "State":{
          "shape":"TransitGatewayConnectPeerAssociationState",
          "documentation":"<p>The state of the association.</p>"
        }
      },
      "documentation":"<p>Describes a transit gateway Connect peer association.</p>"
    },
    "TransitGatewayConnectPeerAssociationList":{
      "type":"list",
      "member":{"shape":"TransitGatewayConnectPeerAssociation"}
    },
    "TransitGatewayConnectPeerAssociationState":{
      "type":"string",
      "enum":[
        "PENDING",
        "AVAILABLE",
        "DELETING",
        "DELETED"
      ]
    },
    "TransitGatewayRegistration":{
      "type":"structure",
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>"
        },
        "TransitGatewayArn":{
          "shape":"TransitGatewayArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the transit gateway.</p>"
        },
        "State":{
          "shape":"TransitGatewayRegistrationStateReason",
          "documentation":"<p>The state of the transit gateway registration.</p>"
        }
      },
      "documentation":"<p>Describes the registration of a transit gateway to a global network.</p>"
    },
    "TransitGatewayRegistrationList":{
      "type":"list",
      "member":{"shape":"TransitGatewayRegistration"}
    },
    "TransitGatewayRegistrationState":{
      "type":"string",
      "enum":[
        "PENDING",
        "AVAILABLE",
        "DELETING",
        "DELETED",
        "FAILED"
      ]
    },
    "TransitGatewayRegistrationStateReason":{
      "type":"structure",
      "members":{
        "Code":{
          "shape":"TransitGatewayRegistrationState",
          "documentation":"<p>The code for the state reason.</p>"
        },
        "Message":{
          "shape":"ConstrainedString",
          "documentation":"<p>The message for the state reason.</p>"
        }
      },
      "documentation":"<p>Describes the status of a transit gateway registration.</p>"
    },
    "TransitGatewayRouteTableArn":{
      "type":"string",
      "max":500,
      "min":0,
      "pattern":"[\\s\\S]*"
    },
    "TunnelProtocol":{
      "type":"string",
      "enum":["GRE"]
    },
    "UntagResourceRequest":{
      "type":"structure",
      "required":[
        "ResourceArn",
        "TagKeys"
      ],
      "members":{
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "TagKeys":{
          "shape":"TagKeyList",
          "documentation":"<p>The tag keys to remove from the specified resource.</p>",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      }
    },
    "UntagResourceResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateConnectionRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "ConnectionId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "ConnectionId":{
          "shape":"ConnectionId",
          "documentation":"<p>The ID of the connection.</p>",
          "location":"uri",
          "locationName":"connectionId"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link for the first device in the connection.</p>"
        },
        "ConnectedLinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link for the second device in the connection.</p>"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>A description of the connection.</p> <p>Length Constraints: Maximum length of 256 characters.</p>"
        }
      }
    },
    "UpdateConnectionResponse":{
      "type":"structure",
      "members":{
        "Connection":{
          "shape":"Connection",
          "documentation":"<p>Information about the connection.</p>"
        }
      }
    },
    "UpdateCoreNetworkRequest":{
      "type":"structure",
      "required":["CoreNetworkId"],
      "members":{
        "CoreNetworkId":{
          "shape":"CoreNetworkId",
          "documentation":"<p>The ID of a core network.</p>",
          "location":"uri",
          "locationName":"coreNetworkId"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>The description of the update.</p>"
        }
      }
    },
    "UpdateCoreNetworkResponse":{
      "type":"structure",
      "members":{
        "CoreNetwork":{
          "shape":"CoreNetwork",
          "documentation":"<p>Returns information about a core network update.</p>"
        }
      }
    },
    "UpdateDeviceRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "DeviceId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "DeviceId":{
          "shape":"DeviceId",
          "documentation":"<p>The ID of the device.</p>",
          "location":"uri",
          "locationName":"deviceId"
        },
        "AWSLocation":{
          "shape":"AWSLocation",
          "documentation":"<p>The Amazon Web Services location of the device, if applicable. For an on-premises device, you can omit this parameter.</p>"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>A description of the device.</p> <p>Constraints: Maximum length of 256 characters.</p>"
        },
        "Type":{
          "shape":"ConstrainedString",
          "documentation":"<p>The type of the device.</p>"
        },
        "Vendor":{
          "shape":"ConstrainedString",
          "documentation":"<p>The vendor of the device.</p> <p>Constraints: Maximum length of 128 characters.</p>"
        },
        "Model":{
          "shape":"ConstrainedString",
          "documentation":"<p>The model of the device.</p> <p>Constraints: Maximum length of 128 characters.</p>"
        },
        "SerialNumber":{
          "shape":"ConstrainedString",
          "documentation":"<p>The serial number of the device.</p> <p>Constraints: Maximum length of 128 characters.</p>"
        },
        "Location":{"shape":"Location"},
        "SiteId":{
          "shape":"SiteId",
          "documentation":"<p>The ID of the site.</p>"
        }
      }
    },
    "UpdateDeviceResponse":{
      "type":"structure",
      "members":{
        "Device":{
          "shape":"Device",
          "documentation":"<p>Information about the device.</p>"
        }
      }
    },
    "UpdateGlobalNetworkRequest":{
      "type":"structure",
      "required":["GlobalNetworkId"],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of your global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>A description of the global network.</p> <p>Constraints: Maximum length of 256 characters.</p>"
        }
      }
    },
    "UpdateGlobalNetworkResponse":{
      "type":"structure",
      "members":{
        "GlobalNetwork":{
          "shape":"GlobalNetwork",
          "documentation":"<p>Information about the global network object.</p>"
        }
      }
    },
    "UpdateLinkRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "LinkId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "LinkId":{
          "shape":"LinkId",
          "documentation":"<p>The ID of the link.</p>",
          "location":"uri",
          "locationName":"linkId"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>A description of the link.</p> <p>Constraints: Maximum length of 256 characters.</p>"
        },
        "Type":{
          "shape":"ConstrainedString",
          "documentation":"<p>The type of the link.</p> <p>Constraints: Maximum length of 128 characters.</p>"
        },
        "Bandwidth":{
          "shape":"Bandwidth",
          "documentation":"<p>The upload and download speed in Mbps. </p>"
        },
        "Provider":{
          "shape":"ConstrainedString",
          "documentation":"<p>The provider of the link.</p> <p>Constraints: Maximum length of 128 characters.</p>"
        }
      }
    },
    "UpdateLinkResponse":{
      "type":"structure",
      "members":{
        "Link":{
          "shape":"Link",
          "documentation":"<p>Information about the link.</p>"
        }
      }
    },
    "UpdateNetworkResourceMetadataRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "ResourceArn",
        "Metadata"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the resource.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "Metadata":{
          "shape":"NetworkResourceMetadataMap",
          "documentation":"<p>The resource metadata.</p>"
        }
      }
    },
    "UpdateNetworkResourceMetadataResponse":{
      "type":"structure",
      "members":{
        "ResourceArn":{
          "shape":"ResourceArn",
          "documentation":"<p>The ARN of the resource.</p>"
        },
        "Metadata":{
          "shape":"NetworkResourceMetadataMap",
          "documentation":"<p>The updated resource metadata.</p>"
        }
      }
    },
    "UpdateSiteRequest":{
      "type":"structure",
      "required":[
        "GlobalNetworkId",
        "SiteId"
      ],
      "members":{
        "GlobalNetworkId":{
          "shape":"GlobalNetworkId",
          "documentation":"<p>The ID of the global network.</p>",
          "location":"uri",
          "locationName":"globalNetworkId"
        },
        "SiteId":{
          "shape":"SiteId",
          "documentation":"<p>The ID of your site.</p>",
          "location":"uri",
          "locationName":"siteId"
        },
        "Description":{
          "shape":"ConstrainedString",
          "documentation":"<p>A description of your site.</p> <p>Constraints: Maximum length of 256 characters.</p>"
        },
        "Location":{
          "shape":"Location",
          "documentation":"<p>The site location:</p> <ul> <li> <p> <code>Address</code>: The physical address of the site.</p> </li> <li> <p> <code>Latitude</code>: The latitude of the site. </p> </li> <li> <p> <code>Longitude</code>: The longitude of the site.</p> </li> </ul>"
        }
      }
    },
    "UpdateSiteResponse":{
      "type":"structure",
      "members":{
        "Site":{
          "shape":"Site",
          "documentation":"<p>Information about the site.</p>"
        }
      }
    },
    "UpdateVpcAttachmentRequest":{
      "type":"structure",
      "required":["AttachmentId"],
      "members":{
        "AttachmentId":{
          "shape":"AttachmentId",
          "documentation":"<p>The ID of the attachment.</p>",
          "location":"uri",
          "locationName":"attachmentId"
        },
        "AddSubnetArns":{
          "shape":"SubnetArnList",
          "documentation":"<p>Adds a subnet ARN to the VPC attachment.</p>"
        },
        "RemoveSubnetArns":{
          "shape":"SubnetArnList",
          "documentation":"<p>Removes a subnet ARN from the attachment.</p>"
        },
        "Options":{
          "shape":"VpcOptions",
          "documentation":"<p>Additional options for updating the VPC attachment. </p>"
        }
      }
    },
    "UpdateVpcAttachmentResponse":{
      "type":"structure",
      "members":{
        "VpcAttachment":{
          "shape":"VpcAttachment",
          "documentation":"<p>Describes the updated VPC attachment.</p>"
        }
      }
    },
    "ValidationException":{
      "type":"structure",
      "required":["Message"],
      "members":{
        "Message":{"shape":"ServerSideString"},
        "Reason":{
          "shape":"ValidationExceptionReason",
          "documentation":"<p>The reason for the error.</p>"
        },
        "Fields":{
          "shape":"ValidationExceptionFieldList",
          "documentation":"<p>The fields that caused the error, if applicable.</p>"
        }
      },
      "documentation":"<p>The input fails to satisfy the constraints.</p>",
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "ValidationExceptionField":{
      "type":"structure",
      "required":[
        "Name",
        "Message"
      ],
      "members":{
        "Name":{
          "shape":"ServerSideString",
          "documentation":"<p>The name of the field.</p>"
        },
        "Message":{
          "shape":"ServerSideString",
          "documentation":"<p>The message for the field.</p>"
        }
      },
      "documentation":"<p>Describes a validation exception for a field.</p>"
    },
    "ValidationExceptionFieldList":{
      "type":"list",
      "member":{"shape":"ValidationExceptionField"}
    },
    "ValidationExceptionReason":{
      "type":"string",
      "enum":[
        "UnknownOperation",
        "CannotParse",
        "FieldValidationFailed",
        "Other"
      ]
    },
    "VpcArn":{
      "type":"string",
      "max":500,
      "min":0,
      "pattern":"^arn:[^:]{1,63}:ec2:[^:]{0,63}:[^:]{0,63}:vpc\\/vpc-[0-9a-f]{8,17}$"
    },
    "VpcAttachment":{
      "type":"structure",
      "members":{
        "Attachment":{
          "shape":"Attachment",
          "documentation":"<p>Provides details about the VPC attachment.</p>"
        },
        "SubnetArns":{
          "shape":"SubnetArnList",
          "documentation":"<p>The subnet ARNs.</p>"
        },
        "Options":{
          "shape":"VpcOptions",
          "documentation":"<p>Provides details about the VPC attachment.</p>"
        }
      },
      "documentation":"<p>Describes a VPC attachment.</p>"
    },
    "VpcOptions":{
      "type":"structure",
      "members":{
        "Ipv6Support":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether IPv6 is supported.</p>"
        }
      },
      "documentation":"<p>Describes the VPC options.</p>"
    },
    "VpnConnectionArn":{
      "type":"string",
      "max":500,
      "min":0,
      "pattern":"^arn:[^:]{1,63}:ec2:[^:]{0,63}:[^:]{0,63}:vpn-connection\\/vpn-[0-9a-f]{8,17}$"
    }
  },
  "documentation":"<p>Amazon Web Services enables you to centrally manage your Amazon Web Services Cloud WAN core network and your Transit Gateway network across Amazon Web Services accounts, Regions, and on-premises locations.</p>"
}
