{ "version":"2.0", "metadata":{ "apiVersion":"2018-10-05", "endpointPrefix":"api.tunneling.iot", "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS IoT Secure Tunneling", "serviceId":"IoTSecureTunneling", "signatureVersion":"v4", "signingName":"IoTSecuredTunneling", "targetPrefix":"IoTSecuredTunneling", "uid":"iotsecuretunneling-2018-10-05" }, "operations":{ "CloseTunnel":{ "name":"CloseTunnel", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"CloseTunnelRequest"}, "output":{"shape":"CloseTunnelResponse"}, "errors":[ {"shape":"ResourceNotFoundException"} ], "documentation":"
Closes a tunnel identified by the unique tunnel id. When a CloseTunnel
request is received, we close the WebSocket connections between the client and proxy server so no data can be transmitted.
Gets information about a tunnel identified by the unique tunnel id.
" }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"ListTagsForResourceRequest"}, "output":{"shape":"ListTagsForResourceResponse"}, "errors":[ {"shape":"ResourceNotFoundException"} ], "documentation":"Lists the tags for the specified resource.
" }, "ListTunnels":{ "name":"ListTunnels", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"ListTunnelsRequest"}, "output":{"shape":"ListTunnelsResponse"}, "documentation":"List all tunnels for an AWS account. Tunnels are listed by creation time in descending order, newer tunnels will be listed before older tunnels.
" }, "OpenTunnel":{ "name":"OpenTunnel", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"OpenTunnelRequest"}, "output":{"shape":"OpenTunnelResponse"}, "errors":[ {"shape":"LimitExceededException"} ], "documentation":"Creates a new tunnel, and returns two client access tokens for clients to use to connect to the AWS IoT Secure Tunneling proxy server. .
" }, "TagResource":{ "name":"TagResource", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"TagResourceRequest"}, "output":{"shape":"TagResourceResponse"}, "errors":[ {"shape":"ResourceNotFoundException"} ], "documentation":"A resource tag.
" }, "UntagResource":{ "name":"UntagResource", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"UntagResourceRequest"}, "output":{"shape":"UntagResourceResponse"}, "errors":[ {"shape":"ResourceNotFoundException"} ], "documentation":"Removes a tag from a resource.
" } }, "shapes":{ "AmazonResourceName":{ "type":"string", "max":1011, "min":1 }, "ClientAccessToken":{ "type":"string", "sensitive":true }, "CloseTunnelRequest":{ "type":"structure", "required":["tunnelId"], "members":{ "tunnelId":{ "shape":"TunnelId", "documentation":"The ID of the tunnel to close.
" }, "delete":{ "shape":"DeleteFlag", "documentation":"When set to true, AWS IoT Secure Tunneling deletes the tunnel data immediately.
", "box":true } } }, "CloseTunnelResponse":{ "type":"structure", "members":{ } }, "ConnectionState":{ "type":"structure", "members":{ "status":{ "shape":"ConnectionStatus", "documentation":"The connection status of the tunnel. Valid values are CONNECTED
and DISCONNECTED
.
The last time the connection status was updated.
" } }, "documentation":"The state of a connection.
" }, "ConnectionStatus":{ "type":"string", "enum":[ "CONNECTED", "DISCONNECTED" ] }, "DateType":{"type":"timestamp"}, "DeleteFlag":{"type":"boolean"}, "DescribeTunnelRequest":{ "type":"structure", "required":["tunnelId"], "members":{ "tunnelId":{ "shape":"TunnelId", "documentation":"The tunnel to describe.
" } } }, "DescribeTunnelResponse":{ "type":"structure", "members":{ "tunnel":{ "shape":"Tunnel", "documentation":"The tunnel being described.
" } } }, "Description":{ "type":"string", "pattern":"[^\\p{C}]{1,2048}" }, "DestinationConfig":{ "type":"structure", "required":[ "thingName", "services" ], "members":{ "thingName":{ "shape":"ThingName", "documentation":"The name of the IoT thing to which you want to connect.
" }, "services":{ "shape":"ServiceList", "documentation":"A list of service names that identity the target application. Currently, you can only specify a single name. The AWS IoT client running on the destination device reads this value and uses it to look up a port or an IP address and a port. The AWS IoT client instantiates the local proxy which uses this information to connect to the destination application.
" } }, "documentation":"The destination configuration.
" }, "ErrorMessage":{"type":"string"}, "LimitExceededException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"} }, "documentation":"Thrown when a tunnel limit is exceeded.
", "exception":true }, "ListTagsForResourceRequest":{ "type":"structure", "required":["resourceArn"], "members":{ "resourceArn":{ "shape":"AmazonResourceName", "documentation":"The resource ARN.
" } } }, "ListTagsForResourceResponse":{ "type":"structure", "members":{ "tags":{ "shape":"TagList", "documentation":"The tags for the specified resource.
" } } }, "ListTunnelsRequest":{ "type":"structure", "members":{ "thingName":{ "shape":"ThingName", "documentation":"The name of the IoT thing associated with the destination device.
" }, "maxResults":{ "shape":"MaxResults", "documentation":"The maximum number of results to return at once.
", "box":true }, "nextToken":{ "shape":"NextToken", "documentation":"A token to retrieve the next set of results.
" } } }, "ListTunnelsResponse":{ "type":"structure", "members":{ "tunnelSummaries":{ "shape":"TunnelSummaryList", "documentation":"A short description of the tunnels in an AWS account.
" }, "nextToken":{ "shape":"NextToken", "documentation":"A token to used to retrieve the next set of results.
" } } }, "MaxResults":{ "type":"integer", "max":100, "min":1 }, "NextToken":{ "type":"string", "pattern":"[a-zA-Z0-9_=-]{1,4096}" }, "OpenTunnelRequest":{ "type":"structure", "members":{ "description":{ "shape":"Description", "documentation":"A short text description of the tunnel.
" }, "tags":{ "shape":"TagList", "documentation":"A collection of tag metadata.
" }, "destinationConfig":{ "shape":"DestinationConfig", "documentation":"The destination configuration for the OpenTunnel request.
" }, "timeoutConfig":{ "shape":"TimeoutConfig", "documentation":"Timeout configuration for a tunnel.
" } } }, "OpenTunnelResponse":{ "type":"structure", "members":{ "tunnelId":{ "shape":"TunnelId", "documentation":"A unique alpha-numeric tunnel ID.
" }, "tunnelArn":{ "shape":"TunnelArn", "documentation":"The Amazon Resource Name for the tunnel. The tunnel ARN format is arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>
The access token the source local proxy uses to connect to AWS IoT Secure Tunneling.
" }, "destinationAccessToken":{ "shape":"ClientAccessToken", "documentation":"The access token the destination local proxy uses to connect to AWS IoT Secure Tunneling.
" } } }, "ResourceNotFoundException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"} }, "documentation":"Thrown when an operation is attempted on a resource that does not exist.
", "exception":true }, "Service":{ "type":"string", "max":8, "min":1, "pattern":"[a-zA-Z0-9:_-]+" }, "ServiceList":{ "type":"list", "member":{"shape":"Service"}, "max":1, "min":1 }, "Tag":{ "type":"structure", "required":[ "key", "value" ], "members":{ "key":{ "shape":"TagKey", "documentation":"The key of the tag.
" }, "value":{ "shape":"TagValue", "documentation":"The value of the tag.
" } }, "documentation":"An arbitary key/value pair used to add searchable metadata to secure tunnel resources.
" }, "TagKey":{ "type":"string", "max":128, "min":1, "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "TagKeyList":{ "type":"list", "member":{"shape":"TagKey"}, "max":200, "min":0 }, "TagList":{ "type":"list", "member":{"shape":"Tag"}, "max":200, "min":1 }, "TagResourceRequest":{ "type":"structure", "required":[ "resourceArn", "tags" ], "members":{ "resourceArn":{ "shape":"AmazonResourceName", "documentation":"The ARN of the resource.
" }, "tags":{ "shape":"TagList", "documentation":"The tags for the resource.
" } } }, "TagResourceResponse":{ "type":"structure", "members":{ } }, "TagValue":{ "type":"string", "max":256, "min":0, "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "ThingName":{ "type":"string", "max":128, "min":1, "pattern":"[a-zA-Z0-9:_-]+" }, "TimeoutConfig":{ "type":"structure", "members":{ "maxLifetimeTimeoutMinutes":{ "shape":"TimeoutInMin", "documentation":"The maximum amount of time (in minutes) a tunnel can remain open. If not specified, maxLifetimeTimeoutMinutes defaults to 720 minutes. Valid values are from 1 minute to 12 hours (720 minutes)
", "box":true } }, "documentation":"Tunnel timeout configuration.
" }, "TimeoutInMin":{ "type":"integer", "max":720, "min":1 }, "Tunnel":{ "type":"structure", "members":{ "tunnelId":{ "shape":"TunnelId", "documentation":"A unique alpha-numeric ID that identifies a tunnel.
" }, "tunnelArn":{ "shape":"TunnelArn", "documentation":"The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>
The status of a tunnel. Valid values are: Open and Closed.
" }, "sourceConnectionState":{ "shape":"ConnectionState", "documentation":"The connection state of the source application.
" }, "destinationConnectionState":{ "shape":"ConnectionState", "documentation":"The connection state of the destination application.
" }, "description":{ "shape":"Description", "documentation":"A description of the tunnel.
" }, "destinationConfig":{ "shape":"DestinationConfig", "documentation":"The destination configuration that specifies the thing name of the destination device and a service name that the local proxy uses to connect to the destination application.
" }, "timeoutConfig":{ "shape":"TimeoutConfig", "documentation":"Timeout configuration for the tunnel.
" }, "tags":{ "shape":"TagList", "documentation":"A list of tag metadata associated with the secure tunnel.
" }, "createdAt":{ "shape":"DateType", "documentation":"The time when the tunnel was created.
" }, "lastUpdatedAt":{ "shape":"DateType", "documentation":"The last time the tunnel was updated.
" } }, "documentation":"A connection between a source computer and a destination device.
" }, "TunnelArn":{ "type":"string", "max":1600, "min":1 }, "TunnelId":{ "type":"string", "pattern":"[a-zA-Z0-9_\\-+=:]{1,128}" }, "TunnelStatus":{ "type":"string", "enum":[ "OPEN", "CLOSED" ] }, "TunnelSummary":{ "type":"structure", "members":{ "tunnelId":{ "shape":"TunnelId", "documentation":"The unique alpha-numeric identifier for the tunnel.
" }, "tunnelArn":{ "shape":"TunnelArn", "documentation":"The Amazon Resource Name of the tunnel. The tunnel ARN format is arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>
The status of a tunnel. Valid values are: Open and Closed.
" }, "description":{ "shape":"Description", "documentation":"A description of the tunnel.
" }, "createdAt":{ "shape":"DateType", "documentation":"The time the tunnel was created.
" }, "lastUpdatedAt":{ "shape":"DateType", "documentation":"The time the tunnel was last updated.
" } }, "documentation":"Information about the tunnel.
" }, "TunnelSummaryList":{ "type":"list", "member":{"shape":"TunnelSummary"} }, "UntagResourceRequest":{ "type":"structure", "required":[ "resourceArn", "tagKeys" ], "members":{ "resourceArn":{ "shape":"AmazonResourceName", "documentation":"The resource ARN.
" }, "tagKeys":{ "shape":"TagKeyList", "documentation":"The keys of the tags to remove.
" } } }, "UntagResourceResponse":{ "type":"structure", "members":{ } } }, "documentation":"AWS IoT Secure Tunnling enables you to create remote connections to devices deployed in the field.
For more information about how AWS IoT Secure Tunneling works, see the User Guide.
" }