2019/11/25 - AWS IoT Secure Tunneling - 7 new api methods
Changes This release adds support for IoT Secure Tunneling to remote access devices behind restricted firewalls.
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.
See also: AWS API Documentation
Request Syntax
client.close_tunnel( tunnelId='string', delete=True|False )
string
[REQUIRED]
The ID of the tunnel to close.
boolean
When set to true, AWS IoT Secure Tunneling deletes the tunnel data immediately.
dict
Response Syntax
{}
Response Structure
(dict) --
Creates a new tunnel, and returns two client access tokens for clients to use to connect to the AWS IoT Secure Tunneling proxy server. .
See also: AWS API Documentation
Request Syntax
client.open_tunnel( description='string', tags=[ { 'key': 'string', 'value': 'string' }, ], destinationConfig={ 'thingName': 'string', 'services': [ 'string', ] }, timeoutConfig={ 'maxLifetimeTimeoutMinutes': 123 } )
string
A short text description of the tunnel.
list
A collection of tag metadata.
(dict) --
An arbitary key/value pair used to add searchable metadata to secure tunnel resources.
key (string) -- [REQUIRED]
The key of the tag.
value (string) -- [REQUIRED]
The value of the tag.
dict
The destination configuration for the OpenTunnel request.
thingName (string) -- [REQUIRED]
The name of the IoT thing to which you want to connect.
services (list) -- [REQUIRED]
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.
(string) --
dict
Timeout configuration for a tunnel.
maxLifetimeTimeoutMinutes (integer) --
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)
dict
Response Syntax
{ 'tunnelId': 'string', 'tunnelArn': 'string', 'sourceAccessToken': 'string', 'destinationAccessToken': 'string' }
Response Structure
(dict) --
tunnelId (string) --
A unique alpha-numeric tunnel ID.
tunnelArn (string) --
The Amazon Resource Name for the tunnel. The tunnel ARN format is arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>
sourceAccessToken (string) --
The access token the source local proxy uses to connect to AWS IoT Secure Tunneling.
destinationAccessToken (string) --
The access token the destination local proxy uses to connect to AWS IoT Secure Tunneling.
Lists the tags for the specified resource.
See also: AWS API Documentation
Request Syntax
client.list_tags_for_resource( resourceArn='string' )
string
[REQUIRED]
The resource ARN.
dict
Response Syntax
{ 'tags': [ { 'key': 'string', 'value': 'string' }, ] }
Response Structure
(dict) --
tags (list) --
The tags for the specified resource.
(dict) --
An arbitary key/value pair used to add searchable metadata to secure tunnel resources.
key (string) --
The key of the tag.
value (string) --
The value of the tag.
Removes a tag from a resource.
See also: AWS API Documentation
Request Syntax
client.untag_resource( resourceArn='string', tagKeys=[ 'string', ] )
string
[REQUIRED]
The resource ARN.
list
[REQUIRED]
The keys of the tags to remove.
(string) --
dict
Response Syntax
{}
Response Structure
(dict) --
List all tunnels for an AWS account. Tunnels are listed by creation time in descending order, newer tunnels will be listed before older tunnels.
See also: AWS API Documentation
Request Syntax
client.list_tunnels( thingName='string', maxResults=123, nextToken='string' )
string
The name of the IoT thing associated with the destination device.
integer
The maximum number of results to return at once.
string
A token to retrieve the next set of results.
dict
Response Syntax
{ 'tunnelSummaries': [ { 'tunnelId': 'string', 'tunnelArn': 'string', 'status': 'OPEN'|'CLOSED', 'description': 'string', 'createdAt': datetime(2015, 1, 1), 'lastUpdatedAt': datetime(2015, 1, 1) }, ], 'nextToken': 'string' }
Response Structure
(dict) --
tunnelSummaries (list) --
A short description of the tunnels in an AWS account.
(dict) --
Information about the tunnel.
tunnelId (string) --
The unique alpha-numeric identifier for the tunnel.
tunnelArn (string) --
The Amazon Resource Name of the tunnel. The tunnel ARN format is arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>
status (string) --
The status of a tunnel. Valid values are: Open and Closed.
description (string) --
A description of the tunnel.
createdAt (datetime) --
The time the tunnel was created.
lastUpdatedAt (datetime) --
The time the tunnel was last updated.
nextToken (string) --
A token to used to retrieve the next set of results.
Gets information about a tunnel identified by the unique tunnel id.
See also: AWS API Documentation
Request Syntax
client.describe_tunnel( tunnelId='string' )
string
[REQUIRED]
The tunnel to describe.
dict
Response Syntax
{ 'tunnel': { 'tunnelId': 'string', 'tunnelArn': 'string', 'status': 'OPEN'|'CLOSED', 'sourceConnectionState': { 'status': 'CONNECTED'|'DISCONNECTED', 'lastUpdatedAt': datetime(2015, 1, 1) }, 'destinationConnectionState': { 'status': 'CONNECTED'|'DISCONNECTED', 'lastUpdatedAt': datetime(2015, 1, 1) }, 'description': 'string', 'destinationConfig': { 'thingName': 'string', 'services': [ 'string', ] }, 'timeoutConfig': { 'maxLifetimeTimeoutMinutes': 123 }, 'tags': [ { 'key': 'string', 'value': 'string' }, ], 'createdAt': datetime(2015, 1, 1), 'lastUpdatedAt': datetime(2015, 1, 1) } }
Response Structure
(dict) --
tunnel (dict) --
The tunnel being described.
tunnelId (string) --
A unique alpha-numeric ID that identifies a tunnel.
tunnelArn (string) --
The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>
status (string) --
The status of a tunnel. Valid values are: Open and Closed.
sourceConnectionState (dict) --
The connection state of the source application.
status (string) --
The connection status of the tunnel. Valid values are CONNECTED and DISCONNECTED .
lastUpdatedAt (datetime) --
The last time the connection status was updated.
destinationConnectionState (dict) --
The connection state of the destination application.
status (string) --
The connection status of the tunnel. Valid values are CONNECTED and DISCONNECTED .
lastUpdatedAt (datetime) --
The last time the connection status was updated.
description (string) --
A description of the tunnel.
destinationConfig (dict) --
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.
thingName (string) --
The name of the IoT thing to which you want to connect.
services (list) --
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.
(string) --
timeoutConfig (dict) --
Timeout configuration for the tunnel.
maxLifetimeTimeoutMinutes (integer) --
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)
tags (list) --
A list of tag metadata associated with the secure tunnel.
(dict) --
An arbitary key/value pair used to add searchable metadata to secure tunnel resources.
key (string) --
The key of the tag.
value (string) --
The value of the tag.
createdAt (datetime) --
The time when the tunnel was created.
lastUpdatedAt (datetime) --
The last time the tunnel was updated.
A resource tag.
See also: AWS API Documentation
Request Syntax
client.tag_resource( resourceArn='string', tags=[ { 'key': 'string', 'value': 'string' }, ] )
string
[REQUIRED]
The ARN of the resource.
list
[REQUIRED]
The tags for the resource.
(dict) --
An arbitary key/value pair used to add searchable metadata to secure tunnel resources.
key (string) -- [REQUIRED]
The key of the tag.
value (string) -- [REQUIRED]
The value of the tag.
dict
Response Syntax
{}
Response Structure
(dict) --