import type { ClientMode, ConnectionStatus, TunnelStatus } from "./enums"; /** * @public */ export interface CloseTunnelRequest { /** *
The ID of the tunnel to close.
* @public */ tunnelId: string | undefined; /** *When set to true, IoT Secure Tunneling deletes the tunnel data * immediately.
* @public */ delete?: boolean | undefined; } /** * @public */ export interface CloseTunnelResponse { } /** *The state of a connection.
* @public */ export interface ConnectionState { /** *The connection status of the tunnel. Valid values are CONNECTED and
* DISCONNECTED.
The last time the connection status was updated.
* @public */ lastUpdatedAt?: Date | undefined; } /** * @public */ export interface DescribeTunnelRequest { /** *The tunnel to describe.
* @public */ tunnelId: string | undefined; } /** *The destination configuration.
* @public */ export interface DestinationConfig { /** *The name of the IoT thing to which you want to connect.
* @public */ thingName?: string | undefined; /** *A list of service names that identify the target application. The 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 IoT client instantiates the local proxy, which uses this * information to connect to the destination application.
* @public */ services: string[] | undefined; } /** *An arbitary key/value pair used to add searchable metadata to secure tunnel * resources.
* @public */ export interface Tag { /** *The key of the tag.
* @public */ key: string | undefined; /** *The value of the tag.
* @public */ value: string | undefined; } /** *Tunnel timeout configuration.
* @public */ export interface TimeoutConfig { /** *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)
* @public */ maxLifetimeTimeoutMinutes?: number | undefined; } /** *A connection between a source computer and a destination device.
* @public */ export interface Tunnel { /** *A unique alpha-numeric ID that identifies a tunnel.
* @public */ tunnelId?: string | undefined; /** *The Amazon Resource Name (ARN) of a tunnel.
* @public */ tunnelArn?: string | undefined; /** *The status of a tunnel. Valid values are: Open and Closed.
* @public */ status?: TunnelStatus | undefined; /** *The connection state of the source application.
* @public */ sourceConnectionState?: ConnectionState | undefined; /** *The connection state of the destination application.
* @public */ destinationConnectionState?: ConnectionState | undefined; /** *A description of the tunnel.
* @public */ description?: string | undefined; /** *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.
* @public */ destinationConfig?: DestinationConfig | undefined; /** *Timeout configuration for the tunnel.
* @public */ timeoutConfig?: TimeoutConfig | undefined; /** *A list of tag metadata associated with the secure tunnel.
* @public */ tags?: Tag[] | undefined; /** *The time when the tunnel was created.
* @public */ createdAt?: Date | undefined; /** *The last time the tunnel was updated.
* @public */ lastUpdatedAt?: Date | undefined; } /** * @public */ export interface DescribeTunnelResponse { /** *The tunnel being described.
* @public */ tunnel?: Tunnel | undefined; } /** * @public */ export interface ListTagsForResourceRequest { /** *The resource ARN.
* @public */ resourceArn: string | undefined; } /** * @public */ export interface ListTagsForResourceResponse { /** *The tags for the specified resource.
* @public */ tags?: Tag[] | undefined; } /** * @public */ export interface ListTunnelsRequest { /** *The name of the IoT thing associated with the destination device.
* @public */ thingName?: string | undefined; /** *The maximum number of results to return at once.
* @public */ maxResults?: number | undefined; /** *To retrieve the next set of results, the nextToken value from a previous response; * otherwise null to receive the first set of results.
* @public */ nextToken?: string | undefined; } /** *Information about the tunnel.
* @public */ export interface TunnelSummary { /** *The unique alpha-numeric identifier for the tunnel.
* @public */ tunnelId?: string | undefined; /** *The Amazon Resource Name of the tunnel.
* @public */ tunnelArn?: string | undefined; /** *The status of a tunnel. Valid values are: Open and Closed.
* @public */ status?: TunnelStatus | undefined; /** *A description of the tunnel.
* @public */ description?: string | undefined; /** *The time the tunnel was created.
* @public */ createdAt?: Date | undefined; /** *The time the tunnel was last updated.
* @public */ lastUpdatedAt?: Date | undefined; } /** * @public */ export interface ListTunnelsResponse { /** *A short description of the tunnels in an Amazon Web Services account.
* @public */ tunnelSummaries?: TunnelSummary[] | undefined; /** *The token to use to get the next set of results, or null if there are no additional * results.
* @public */ nextToken?: string | undefined; } /** * @public */ export interface OpenTunnelRequest { /** *A short text description of the tunnel.
* @public */ description?: string | undefined; /** *A collection of tag metadata.
* @public */ tags?: Tag[] | undefined; /** *The destination configuration for the OpenTunnel request.
* @public */ destinationConfig?: DestinationConfig | undefined; /** *Timeout configuration for a tunnel.
* @public */ timeoutConfig?: TimeoutConfig | undefined; } /** * @public */ export interface OpenTunnelResponse { /** *A unique alpha-numeric tunnel ID.
* @public */ tunnelId?: string | undefined; /** *The Amazon Resource Name for the tunnel.
* @public */ tunnelArn?: string | undefined; /** *The access token the source local proxy uses to connect to IoT Secure * Tunneling.
* @public */ sourceAccessToken?: string | undefined; /** *The access token the destination local proxy uses to connect to IoT Secure * Tunneling.
* @public */ destinationAccessToken?: string | undefined; } /** * @public */ export interface RotateTunnelAccessTokenRequest { /** *The tunnel for which you want to rotate the access tokens.
* @public */ tunnelId: string | undefined; /** *The mode of the client that will use the client token, which can be either the source * or destination, or both source and destination.
* @public */ clientMode: ClientMode | undefined; /** *The destination configuration.
* @public */ destinationConfig?: DestinationConfig | undefined; } /** * @public */ export interface RotateTunnelAccessTokenResponse { /** *The Amazon Resource Name for the tunnel.
* @public */ tunnelArn?: string | undefined; /** *The client access token that the source local proxy uses to connect to IoT Secure * Tunneling.
* @public */ sourceAccessToken?: string | undefined; /** *The client access token that the destination local proxy uses to connect to IoT * Secure Tunneling.
* @public */ destinationAccessToken?: string | undefined; } /** * @public */ export interface TagResourceRequest { /** *The ARN of the resource.
* @public */ resourceArn: string | undefined; /** *The tags for the resource.
* @public */ tags: Tag[] | undefined; } /** * @public */ export interface TagResourceResponse { } /** * @public */ export interface UntagResourceRequest { /** *The resource ARN.
* @public */ resourceArn: string | undefined; /** *The keys of the tags to remove.
* @public */ tagKeys: string[] | undefined; } /** * @public */ export interface UntagResourceResponse { }