IoTSecureTunneling

Client

class IoTSecureTunneling.Client

A low-level client representing AWS IoT Secure Tunneling:

import boto3

client = boto3.client('iotsecuretunneling')

These are the available methods:

can_paginate(operation_name)

Check if an operation can be paginated.

Parameters
operation_name (string) -- The operation name. This is the same name as the method name on the client. For example, if the method name is create_foo, and you'd normally invoke the operation as client.create_foo(**kwargs), if the create_foo operation can be paginated, you can use the call client.get_paginator("create_foo").
Returns
True if the operation can be paginated, False otherwise.
close_tunnel(**kwargs)

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

response = client.close_tunnel(
    tunnelId='string',
    delete=True|False
)
Parameters
  • tunnelId (string) --

    [REQUIRED]

    The ID of the tunnel to close.

  • delete (boolean) -- When set to true, AWS IoT Secure Tunneling deletes the tunnel data immediately.
Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

Exceptions

  • IoTSecureTunneling.Client.exceptions.ResourceNotFoundException
describe_tunnel(**kwargs)

Gets information about a tunnel identified by the unique tunnel id.

See also: AWS API Documentation

Request Syntax

response = client.describe_tunnel(
    tunnelId='string'
)
Parameters
tunnelId (string) --

[REQUIRED]

The tunnel to describe.

Return type
dict
Returns
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.

Exceptions

  • IoTSecureTunneling.Client.exceptions.ResourceNotFoundException
generate_presigned_url(ClientMethod, Params=None, ExpiresIn=3600, HttpMethod=None)

Generate a presigned url given a client, its method, and arguments

Parameters
  • ClientMethod (string) -- The client method to presign for
  • Params (dict) -- The parameters normally passed to ClientMethod.
  • ExpiresIn (int) -- The number of seconds the presigned url is valid for. By default it expires in an hour (3600 seconds)
  • HttpMethod (string) -- The http method to use on the generated url. By default, the http method is whatever is used in the method's model.
Returns

The presigned url

get_paginator(operation_name)

Create a paginator for an operation.

Parameters
operation_name (string) -- The operation name. This is the same name as the method name on the client. For example, if the method name is create_foo, and you'd normally invoke the operation as client.create_foo(**kwargs), if the create_foo operation can be paginated, you can use the call client.get_paginator("create_foo").
Raises OperationNotPageableError
Raised if the operation is not pageable. You can use the client.can_paginate method to check if an operation is pageable.
Return type
L{botocore.paginate.Paginator}
Returns
A paginator object.
get_waiter(waiter_name)

Returns an object that can wait for some condition.

Parameters
waiter_name (str) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters.
Returns
The specified waiter object.
Return type
botocore.waiter.Waiter
list_tags_for_resource(**kwargs)

Lists the tags for the specified resource.

See also: AWS API Documentation

Request Syntax

response = client.list_tags_for_resource(
    resourceArn='string'
)
Parameters
resourceArn (string) --

[REQUIRED]

The resource ARN.

Return type
dict
Returns
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.

Exceptions

  • IoTSecureTunneling.Client.exceptions.ResourceNotFoundException
list_tunnels(**kwargs)

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

response = client.list_tunnels(
    thingName='string',
    maxResults=123,
    nextToken='string'
)
Parameters
  • thingName (string) -- The name of the IoT thing associated with the destination device.
  • maxResults (integer) -- The maximum number of results to return at once.
  • nextToken (string) -- A token to retrieve the next set of results.
Return type

dict

Returns

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.

open_tunnel(**kwargs)

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

response = client.open_tunnel(
    description='string',
    tags=[
        {
            'key': 'string',
            'value': 'string'
        },
    ],
    destinationConfig={
        'thingName': 'string',
        'services': [
            'string',
        ]
    },
    timeoutConfig={
        'maxLifetimeTimeoutMinutes': 123
    }
)
Parameters
  • description (string) -- A short text description of the tunnel.
  • tags (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.

  • destinationConfig (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) --
  • timeoutConfig (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)

Return type

dict

Returns

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.

Exceptions

  • IoTSecureTunneling.Client.exceptions.LimitExceededException
tag_resource(**kwargs)

A resource tag.

See also: AWS API Documentation

Request Syntax

response = client.tag_resource(
    resourceArn='string',
    tags=[
        {
            'key': 'string',
            'value': 'string'
        },
    ]
)
Parameters
  • resourceArn (string) --

    [REQUIRED]

    The ARN of the resource.

  • tags (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.

Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

Exceptions

  • IoTSecureTunneling.Client.exceptions.ResourceNotFoundException
untag_resource(**kwargs)

Removes a tag from a resource.

See also: AWS API Documentation

Request Syntax

response = client.untag_resource(
    resourceArn='string',
    tagKeys=[
        'string',
    ]
)
Parameters
  • resourceArn (string) --

    [REQUIRED]

    The resource ARN.

  • tagKeys (list) --

    [REQUIRED]

    The keys of the tags to remove.

    • (string) --
Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

Exceptions

  • IoTSecureTunneling.Client.exceptions.ResourceNotFoundException

Paginators

The available paginators are: