{
  "version": "2.0",
  "service": "<p>Provides managed connections between your AWS network resources and select partner network resources.</p>",
  "operations": {
    "AcceptConnectionProposal": "<p>Accepts a connection proposal which was generated at a supported partner's portal.</p> <p>The proposal contains the Environment and bandwidth that were chosen on the partner's portal and cannot be modified.</p> <p>Upon accepting the proposal a connection will be made between the AWS network as accessed via the selected Attach Point and the network previously selected network on the partner's portal.</p>",
    "CreateConnection": "<p>Initiates the process to create a Connection across the specified Environment. </p> <p>The Environment dictates the specified partner and location to which the other end of the connection should attach. You can see a list of the available Environments by calling <a>ListEnvironments</a> </p> <p>The Attach Point specifies where within the AWS Network your connection will logically connect.</p> <p>After a successful call to this method, the resulting <a>Connection</a> will return an Activation Key which will need to be brought to the specific partner's portal to confirm the <a>Connection</a> on both sides. (See <a>Environment$activationPageUrl</a> for a direct link to the partner portal). </p>",
    "DeleteConnection": "<p>Deletes an existing Connection with the supplied identifier.</p> <p>This operation will also inform the remote partner of your intention to delete your connection. Note, the partner may still require you to delete to fully clean up resources, but the network connectivity provided by the <a>Connection</a> will cease to exist.</p>",
    "DescribeConnectionProposal": "<p>Describes the details of a connection proposal generated at a partner's portal.</p>",
    "GetConnection": "<p>Describes the current state of a Connection resource as specified by the identifier. </p>",
    "GetEnvironment": "<p>Describes a specific <a>Environment</a> </p>",
    "ListAttachPoints": "<p>Lists all Attach Points the caller has access to that are valid for the specified <a>Environment</a>.</p>",
    "ListConnections": "<p>Lists all connection objects to which the caller has access.</p> <p>Allows for optional filtering by the following properties:</p> <ul> <li> <p> <code>state</code> </p> </li> <li> <p> <code>environmentId</code> </p> </li> <li> <p> <code>provider</code> </p> </li> <li> <p> <code>attach point</code> </p> </li> </ul> <p>Only <a>Connection</a> objects matching all filters will be returned.</p>",
    "ListEnvironments": "<p>Lists all of the environments that can produce connections that will land in the called AWS region.</p>",
    "ListTagsForResource": "<p>List all current tags on the specified resource. Currently this supports <a>Connection</a> resources. </p>",
    "TagResource": "<p>Add new tags to the specified resource.</p>",
    "UntagResource": "<p>Removes tags from the specified resource.</p>",
    "UpdateConnection": "<p>Modifies an existing connection. Currently we support modifications to the connection's description and/or bandwidth.</p>"
  },
  "shapes": {
    "AcceptConnectionProposalRequest": {
      "base": null,
      "refs": {}
    },
    "AcceptConnectionProposalResponse": {
      "base": null,
      "refs": {}
    },
    "AccessDeniedException": {
      "base": "<p>The calling principal is not allowed to access the specified resource, or the resource does not exist.</p>",
      "refs": {}
    },
    "ActivationKey": {
      "base": null,
      "refs": {
        "AcceptConnectionProposalRequest$activationKey": "<p>An Activation Key that was generated on a supported partner's portal. This key captures the desired parameters from the initial creation request.</p> <p>The details of this request can be described using with <a>DescribeConnectionProposal</a>. </p>",
        "Connection$activationKey": "<p>The Activation Key associated to this connection.</p>",
        "DescribeConnectionProposalRequest$activationKey": "<p>An Activation Key that was generated on a supported partner's portal. This key captures the desired parameters from the initial creation request.</p>"
      }
    },
    "AmazonResourceName": {
      "base": null,
      "refs": {
        "AttachPoint$arn": "<p>Identifies an attach point by full ARN.</p>",
        "Connection$arn": "<p>An ARN of a <a>Connection</a> object.</p>",
        "ConnectionSummary$arn": "<p>The ARN of the <a>Connection</a> </p>",
        "ListTagsForResourceRequest$arn": "<p>The resource ARN for which to list tags. </p>",
        "TagResourceRequest$arn": "<p>The ARN of the resource that should receive the new tags.</p>",
        "UntagResourceRequest$arn": "<p>The ARN of the resource from which the specified tags should be removed.</p>"
      }
    },
    "AttachPoint": {
      "base": "<p>Identifies an attach point to use with a Connection.</p>",
      "refs": {
        "AcceptConnectionProposalRequest$attachPoint": "<p>The Attach Point to which the connection should be associated.</p>",
        "Connection$attachPoint": "<p>The Attach Point to which the connection should be associated.\"</p>",
        "ConnectionSummary$attachPoint": "<p>The Attach Point to which the connection should be associated.</p>",
        "CreateConnectionRequest$attachPoint": "<p>The Attach Point to which the connection should be associated.\"</p>",
        "ListConnectionsRequest$attachPoint": "<p>Filter results to only include <a>Connection</a> objects attached to the given <a>AttachPoint</a>.</p>"
      }
    },
    "AttachPointDescriptor": {
      "base": "<p>Describes a possible Attach Point for a Connection.</p>",
      "refs": {
        "AttachPointDescriptorList$member": null
      }
    },
    "AttachPointDescriptorList": {
      "base": null,
      "refs": {
        "ListAttachPointsResponse$attachPoints": "<p>The valid <a>AttachPoint</a> </p>"
      }
    },
    "AttachPointType": {
      "base": null,
      "refs": {
        "AttachPointDescriptor$type": "<p>The type of this AttachPoint, which will dictate the syntax of the identifier.</p> <p>Current types include:</p> <ul> <li> <p>ARN</p> </li> <li> <p>DirectConnect Gateway</p> </li> </ul>"
      }
    },
    "BandwidthList": {
      "base": null,
      "refs": {
        "Bandwidths$available": "<p>The list of currently available bandwidths.</p>",
        "Bandwidths$supported": "<p>The list of all bandwidths that this environment plans to support</p>"
      }
    },
    "Bandwidths": {
      "base": "<p>Contains the details about the available and supported bandwidths.</p>",
      "refs": {
        "Environment$bandwidths": "<p>The sets of bandwidths that are available and supported on this environment.</p>"
      }
    },
    "BillingTier": {
      "base": null,
      "refs": {
        "Connection$billingTier": "<p>The billing tier this connection is currently assigned.</p>",
        "ConnectionSummary$billingTier": "<p>The billing tier this connection is currently assigned.</p>"
      }
    },
    "CloudServiceProvider": {
      "base": null,
      "refs": {
        "Provider$cloudServiceProvider": "<p>The provider's name. Specifically, connections to/from this Cloud Service Provider will be considered Multicloud connections.</p>"
      }
    },
    "Connection": {
      "base": "<p>The object describing the provided connectivity from the AWS region to the partner location.</p>",
      "refs": {
        "AcceptConnectionProposalResponse$connection": "<p>The created <a>Connection</a> object.</p>",
        "CreateConnectionResponse$connection": "<p>The resulting <a>Connection</a>.</p>",
        "DeleteConnectionResponse$connection": "<p>The <a>Connection</a> object that has been marked for deletion.</p>",
        "GetConnectionResponse$connection": "<p>The existing <a>Connection</a> resource.</p>",
        "UpdateConnectionResponse$connection": "<p>The resulting updated <a>Connection</a> </p>"
      }
    },
    "ConnectionBandwidth": {
      "base": null,
      "refs": {
        "BandwidthList$member": null,
        "Connection$bandwidth": "<p>The specific selected bandwidth of this connection.</p>",
        "ConnectionSummary$bandwidth": "<p>The bandwidth of the <a>Connection</a> </p>",
        "CreateConnectionRequest$bandwidth": "<p>The desired bandwidth of the requested <a>Connection</a> </p>",
        "DescribeConnectionProposalResponse$bandwidth": "<p>The bandwidth of the proposed <a>Connection</a>. </p>",
        "UpdateConnectionRequest$bandwidth": "<p>Request a new bandwidth size on the given <a>Connection</a>.</p> <p>Note that changes to the size may be subject to additional policy, and does require the remote partner provider to acknowledge and permit this new bandwidth size.</p>"
      }
    },
    "ConnectionDescription": {
      "base": null,
      "refs": {
        "AcceptConnectionProposalRequest$description": "<p>A description to distinguish this <a>Connection</a>.</p>",
        "Connection$description": "<p>A descriptive name for the connection.</p>",
        "ConnectionSummary$description": "<p>A descriptive name of the <a>Connection</a> </p>",
        "CreateConnectionRequest$description": "<p>A description to distinguish this <a>Connection</a>.</p>",
        "UpdateConnectionRequest$description": "<p>An updated description to apply to the <a>Connection</a> </p>"
      }
    },
    "ConnectionId": {
      "base": null,
      "refs": {
        "Connection$id": "<p>The short identifier of the connection object.</p>",
        "ConnectionSummary$id": "<p>The identifier of the requested <a>Connection</a> </p>",
        "DeleteConnectionRequest$identifier": "<p>The identifier of the <a>Connection</a> to be deleted. </p>",
        "GetConnectionRequest$identifier": "<p>The identifier of the requested <a>Connection</a> </p>",
        "UpdateConnectionRequest$identifier": "<p>The identifier of the <a>Connection</a> that should be updated.</p>"
      }
    },
    "ConnectionSharedId": {
      "base": null,
      "refs": {
        "Connection$sharedId": "<p>An identifier used by both AWS and the remote partner to identify the specific connection.</p>",
        "ConnectionSummary$sharedId": "<p>An identifier used by both AWS and the remote partner to identify the specific connection.</p>"
      }
    },
    "ConnectionState": {
      "base": null,
      "refs": {
        "Connection$state": "<ul> <li> <p> <code>requested</code>: The initial state of a connection. The state will remain here until the Connection is accepted on the Partner portal.</p> </li> <li> <p> <code>pending</code>: The connection has been accepted and is being provisioned between AWS and the Partner.</p> </li> <li> <p> <code>available</code>: The connection has been fully provisioned between AWS and the Partner.</p> </li> <li> <p> <code>deleting</code>: The connection is being deleted.</p> </li> <li> <p> <code>deleted</code>: The connection has been deleted.</p> </li> <li> <p> <code>failed</code>: The connection has failed to be created.</p> </li> <li> <p> <code>updating</code>: The connection is being updated.</p> </li> </ul>",
        "ConnectionSummary$state": "<ul> <li> <p> <code>requested</code>: The initial state of a connection. The state will remain here until the Connection is accepted on the Partner portal.</p> </li> <li> <p> <code>pending</code>: The connection has been accepted and is being provisioned between AWS and the Partner.</p> </li> <li> <p> <code>available</code>: The connection has been fully provisioned between AWS and the Partner.</p> </li> <li> <p> <code>deleting</code>: The connection is being deleted.</p> </li> <li> <p> <code>deleted</code>: The connection has been deleted.</p> </li> <li> <p> <code>failed</code>: The connection has failed to be created.</p> </li> <li> <p> <code>updating</code>: The connection is being updated.</p> </li> </ul>",
        "ListConnectionsRequest$state": "<p>Filter the results to only include <a>Connection</a> objects in the given <a>Connection$state</a>.</p>"
      }
    },
    "ConnectionSummariesList": {
      "base": null,
      "refs": {
        "ListConnectionsResponse$connections": "<p>The resulting list of <a>Connection</a> objects.</p>"
      }
    },
    "ConnectionSummary": {
      "base": "<p>Summarized view of a Connection object.</p>",
      "refs": {
        "ConnectionSummariesList$member": null
      }
    },
    "CreateConnectionRequest": {
      "base": null,
      "refs": {}
    },
    "CreateConnectionResponse": {
      "base": null,
      "refs": {}
    },
    "DeleteConnectionRequest": {
      "base": null,
      "refs": {}
    },
    "DeleteConnectionResponse": {
      "base": null,
      "refs": {}
    },
    "DescribeConnectionProposalRequest": {
      "base": null,
      "refs": {}
    },
    "DescribeConnectionProposalResponse": {
      "base": null,
      "refs": {}
    },
    "DirectConnectGatewayAttachPoint": {
      "base": null,
      "refs": {
        "AttachPoint$directConnectGateway": "<p>Identifies an DirectConnect Gateway attach point by DirectConnectGatewayID.</p>"
      }
    },
    "Environment": {
      "base": "<p>Defines the logical topology that an AWS Interconnect Connection is created upon.</p> <p>Specifically, an Environment defines the partner The remote Cloud Service Provider of this resource. or The remote Last Mile Provider of this resource. and the region or location specification to which an AWS Interconnect Connection can be made.</p>",
      "refs": {
        "EnvironmentList$member": null,
        "GetEnvironmentResponse$environment": "<p>The requested <a>Environment</a> structure.</p>"
      }
    },
    "EnvironmentId": {
      "base": null,
      "refs": {
        "Connection$environmentId": "<p>The specific <a>Environment</a> this connection is placed upon.</p>",
        "ConnectionSummary$environmentId": "<p>The <a>Environment</a> that this <a>Connection</a> is created on.</p>",
        "CreateConnectionRequest$environmentId": "<p>The identifier of the <a>Environment</a> across which this <a>Connection</a> should be created.</p> <p>The available <a>Environment</a> objects can be determined using <a>ListEnvironments</a>.</p>",
        "DescribeConnectionProposalResponse$environmentId": "<p>The identifier of the <a>Environment</a> upon which the <a>Connection</a> would be placed if this proposal were accepted.</p>",
        "Environment$environmentId": "<p>The identifier of this <a>Environment</a> </p>",
        "GetEnvironmentRequest$id": "<p>The identifier of the specific <a>Environment</a> to describe.</p>",
        "ListAttachPointsRequest$environmentId": "<p>The identifier of the <a>Environment</a> for which to list valid Attach Points.</p>",
        "ListConnectionsRequest$environmentId": "<p>Filter the results to only include <a>Connection</a> objects on the given <a>Environment</a>.</p>"
      }
    },
    "EnvironmentList": {
      "base": null,
      "refs": {
        "ListEnvironmentsResponse$environments": "<p>The list of matching <a>Environment</a> objects.</p>"
      }
    },
    "EnvironmentState": {
      "base": null,
      "refs": {
        "Environment$state": "<p>The state of the <a>Environment</a>. Possible values:</p> <ul> <li> <p> <code>available</code>: The environment is available and new <a>Connection</a> objects can be requested.</p> </li> <li> <p> <code>limited</code>: The environment is available, but overall capacity is limited. The set of available bandwidths </p> </li> <li> <p> <code>unavailable</code>: The environment is currently unavailable.</p> </li> </ul>"
      }
    },
    "GetConnectionRequest": {
      "base": null,
      "refs": {}
    },
    "GetConnectionResponse": {
      "base": null,
      "refs": {}
    },
    "GetEnvironmentRequest": {
      "base": null,
      "refs": {}
    },
    "GetEnvironmentResponse": {
      "base": null,
      "refs": {}
    },
    "InterconnectClientException": {
      "base": "<p>The request was denied due to incorrect client supplied parameters.</p>",
      "refs": {}
    },
    "InterconnectServerException": {
      "base": "<p>The request resulted in an exception internal to the service.</p>",
      "refs": {}
    },
    "InterconnectValidationException": {
      "base": "<p>The input fails to satisfy the constraints specified.</p>",
      "refs": {}
    },
    "LastMileProvider": {
      "base": null,
      "refs": {
        "Provider$lastMileProvider": "<p>The provider's name. Specifically, connections to/from this Last Mile Provider will be considered LastMile connections.</p>"
      }
    },
    "ListAttachPointsRequest": {
      "base": null,
      "refs": {}
    },
    "ListAttachPointsResponse": {
      "base": null,
      "refs": {}
    },
    "ListConnectionsRequest": {
      "base": null,
      "refs": {}
    },
    "ListConnectionsResponse": {
      "base": null,
      "refs": {}
    },
    "ListEnvironmentsRequest": {
      "base": null,
      "refs": {}
    },
    "ListEnvironmentsResponse": {
      "base": null,
      "refs": {}
    },
    "ListTagsForResourceRequest": {
      "base": null,
      "refs": {}
    },
    "ListTagsForResourceResponse": {
      "base": null,
      "refs": {}
    },
    "Location": {
      "base": null,
      "refs": {
        "Connection$location": "<p>The provider specific location on the remote side of this <a>Connection</a> </p>",
        "ConnectionSummary$location": "<p>The provider specific location at the remote end of this <a>Connection</a> </p>",
        "DescribeConnectionProposalResponse$location": "<p>The partner specific location distinguisher of the specific <a>Environment</a> of the proposal.</p>",
        "Environment$location": "<p>The provider specific location on the remote side of this <a>Connection</a>.</p>",
        "ListEnvironmentsRequest$location": "<p>Filter results to only include <a>Environment</a> objects that connect to a given location distiguisher.</p>"
      }
    },
    "MaxResults": {
      "base": null,
      "refs": {
        "ListAttachPointsRequest$maxResults": "<p>The max number of list results in a single paginated response.</p>",
        "ListConnectionsRequest$maxResults": "<p>The max number of list results in a single paginated response.</p>",
        "ListEnvironmentsRequest$maxResults": "<p>The max number of list results in a single paginated response.</p>"
      }
    },
    "NextToken": {
      "base": null,
      "refs": {
        "ListAttachPointsRequest$nextToken": "<p>A pagination token from a previous paginated response indicating you wish to get the next page.</p>",
        "ListAttachPointsResponse$nextToken": "<p>A pagination token indicating that there are more results that can be fetched.</p>",
        "ListConnectionsRequest$nextToken": "<p>A pagination token from a previous paginated response indicating you wish to get the next page of results.</p>",
        "ListConnectionsResponse$nextToken": "<p>A pagination token for use in subsequent calls to fetch the next page of results.</p>",
        "ListEnvironmentsRequest$nextToken": "<p>A pagination token from a previous paginated response indicating you wish to get the next page of results.</p>"
      }
    },
    "OwnerAccountId": {
      "base": null,
      "refs": {
        "Connection$ownerAccount": "<p>The account that owns this <a>Connection</a> </p>"
      }
    },
    "ProductType": {
      "base": null,
      "refs": {
        "Connection$type": "<p>The specific product type of this <a>Connection</a>.</p>",
        "ConnectionSummary$type": "<p>The product variant supplied by this resource.</p>",
        "Environment$type": "<p>The specific product type of <a>Connection</a> objects provided by this <a>Environment</a>.</p>"
      }
    },
    "Provider": {
      "base": "<p>Describes the respective AWS Interconnect Partner organization.</p>",
      "refs": {
        "Connection$provider": "<p>The provider on the remote side of this <a>Connection</a>.</p>",
        "ConnectionSummary$provider": "<p>The provider on the remote end of this <a>Connection</a> </p>",
        "DescribeConnectionProposalResponse$provider": "<p>The partner provider of the specific <a>Environment</a> of the proposal.</p>",
        "Environment$provider": "<p>The provider on the remote side of this <a>Connection</a>.</p>",
        "ListConnectionsRequest$provider": "<p>Filter the results to only include <a>Connection</a> objects to the given <a>Provider</a>.</p>",
        "ListEnvironmentsRequest$provider": "<p>Filter results to only include <a>Environment</a> objects that connect to the <a>Provider</a>.</p>"
      }
    },
    "RemoteAccountIdentifier": {
      "base": "<p>The types of identifiers that may be needed for remote account specification.</p>",
      "refs": {
        "CreateConnectionRequest$remoteAccount": "<p>Account and/or principal identifying information that can be verified by the partner of this specific Environment.</p>"
      }
    },
    "RemoteAccountIdentifierType": {
      "base": null,
      "refs": {
        "Environment$remoteIdentifierType": "<p>The type of identifying information that should be supplied to the <code>remoteAccount</code> parameter of a <a>CreateConnection</a> call for this specific Environment.</p>"
      }
    },
    "RemoteOwnerAccount": {
      "base": null,
      "refs": {
        "RemoteAccountIdentifier$identifier": "<p>A generic bit of identifying information. Can be used in place of any of the more specific types.</p>"
      }
    },
    "ResourceNotFoundException": {
      "base": "<p>The request specifies a resource that does not exist on the server.</p>",
      "refs": {}
    },
    "ServiceQuotaExceededException": {
      "base": "<p>The requested operation would result in the calling principal exceeding their allotted quota.</p>",
      "refs": {}
    },
    "String": {
      "base": null,
      "refs": {
        "AcceptConnectionProposalRequest$clientToken": "<p>Idempotency token used for the request.</p>",
        "AccessDeniedException$message": null,
        "AttachPointDescriptor$identifier": "<p>The identifier for the specific type of the AttachPoint.</p>",
        "AttachPointDescriptor$name": "<p>The descriptive name of the identifier attach point.</p>",
        "CreateConnectionRequest$clientToken": "<p>Idempotency token used for the request.</p>",
        "DeleteConnectionRequest$clientToken": "<p>Idempotency token used for the request.</p>",
        "Environment$activationPageUrl": "<p>An HTTPS URL on the remote partner portal where the Activation Key should be brought to complete the creation process.</p>",
        "InterconnectClientException$message": null,
        "InterconnectServerException$message": null,
        "InterconnectValidationException$message": null,
        "ListEnvironmentsResponse$nextToken": "<p>A pagination token for use in subsequent calls to fetch the next page of results.</p>",
        "ResourceNotFoundException$message": null,
        "ServiceQuotaExceededException$message": null,
        "ThrottlingException$message": null,
        "UpdateConnectionRequest$clientToken": "<p>Idempotency token used for the request.</p>"
      }
    },
    "TagKey": {
      "base": null,
      "refs": {
        "TagKeyList$member": null,
        "TagMap$key": null
      }
    },
    "TagKeyList": {
      "base": null,
      "refs": {
        "UntagResourceRequest$tagKeys": "<p>The list of tag keys that should be removed from the resource.</p>"
      }
    },
    "TagMap": {
      "base": null,
      "refs": {
        "AcceptConnectionProposalRequest$tags": "<p>The tags to associate with the resulting <a>Connection</a>.</p>",
        "Connection$tags": "<p>The tags on the <a>Connection</a> </p>",
        "CreateConnectionRequest$tags": "<p>The tag to associate with the resulting <a>Connection</a>.</p>",
        "ListTagsForResourceResponse$tags": "<p>The tags on the specified ARN.</p>",
        "TagResourceRequest$tags": "<p>A map of tags to apply to the specified resource.</p>"
      }
    },
    "TagResourceRequest": {
      "base": null,
      "refs": {}
    },
    "TagResourceResponse": {
      "base": null,
      "refs": {}
    },
    "TagValue": {
      "base": null,
      "refs": {
        "TagMap$value": null
      }
    },
    "ThrottlingException": {
      "base": "<p>The request was denied due to request throttling.</p>",
      "refs": {}
    },
    "UntagResourceRequest": {
      "base": null,
      "refs": {}
    },
    "UntagResourceResponse": {
      "base": null,
      "refs": {}
    },
    "UpdateConnectionRequest": {
      "base": null,
      "refs": {}
    },
    "UpdateConnectionResponse": {
      "base": null,
      "refs": {}
    }
  }
}
