AWS IoT Secure Tunneling
<fullname>IoT Secure Tunneling</fullname> <p>IoT Secure Tunneling creates remote connections to devices deployed in the field
COMMUNITYAPI KEY0 INSTALLS
OpenAPI Specificationv3.0
{
"openapi": "3.0.0",
"info": {
"version": "2018-10-05",
"x-release": "v4",
"title": "AWS IoT Secure Tunneling",
"description": "<fullname>IoT Secure Tunneling</fullname> <p>IoT Secure Tunneling creates remote connections to devices deployed in the field.</p> <p>For more information about how IoT Secure Tunneling works, see <a href=\"https://docs.aws.amazon.com/iot/latest/developerguide/secure-tunneling.html\">IoT Secure Tunneling</a>.</p>",
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png",
"backgroundColor": "#FFFFFF"
},
"termsOfService": "https://aws.amazon.com/service-terms/",
"contact": {
"name": "Mike Ralphson",
"email": "mike.ralphson@gmail.com",
"url": "https://github.com/mermade/aws2openapi",
"x-twitter": "PermittedSoc"
},
"license": {
"name": "Apache 2.0 License",
"url": "http://www.apache.org/licenses/"
},
"x-providerName": "amazonaws.com",
"x-serviceName": "iotsecuretunneling",
"x-aws-signingName": "IoTSecuredTunneling",
"x-origin": [
{
"contentType": "application/json",
"url": "https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/iotsecuretunneling-2018-10-05.normal.json",
"converter": {
"url": "https://github.com/mermade/aws2openapi",
"version": "1.0.0"
},
"x-apisguru-driver": "external"
}
],
"x-apiClientRegistration": {
"url": "https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct"
},
"x-apisguru-categories": [
"cloud"
],
"x-preferred": true
},
"externalDocs": {
"description": "Amazon Web Services documentation",
"url": "https://docs.aws.amazon.com/iot/"
},
"servers": [
{
"url": "http://api.tunneling.iot.{region}.amazonaws.com",
"variables": {
"region": {
"description": "The AWS region",
"enum": [
"us-east-1",
"us-east-2",
"us-west-1",
"us-west-2",
"us-gov-west-1",
"us-gov-east-1",
"ca-central-1",
"eu-north-1",
"eu-west-1",
"eu-west-2",
"eu-west-3",
"eu-central-1",
"eu-south-1",
"af-south-1",
"ap-northeast-1",
"ap-northeast-2",
"ap-northeast-3",
"ap-southeast-1",
"ap-southeast-2",
"ap-east-1",
"ap-south-1",
"sa-east-1",
"me-south-1"
],
"default": "us-east-1"
}
},
"description": "The AWS IoT Secure Tunneling multi-region endpoint"
},
{
"url": "https://api.tunneling.iot.{region}.amazonaws.com",
"variables": {
"region": {
"description": "The AWS region",
"enum": [
"us-east-1",
"us-east-2",
"us-west-1",
"us-west-2",
"us-gov-west-1",
"us-gov-east-1",
"ca-central-1",
"eu-north-1",
"eu-west-1",
"eu-west-2",
"eu-west-3",
"eu-central-1",
"eu-south-1",
"af-south-1",
"ap-northeast-1",
"ap-northeast-2",
"ap-northeast-3",
"ap-southeast-1",
"ap-southeast-2",
"ap-east-1",
"ap-south-1",
"sa-east-1",
"me-south-1"
],
"default": "us-east-1"
}
},
"description": "The AWS IoT Secure Tunneling multi-region endpoint"
},
{
"url": "http://api.tunneling.iot.{region}.amazonaws.com.cn",
"variables": {
"region": {
"description": "The AWS region",
"enum": [
"cn-north-1",
"cn-northwest-1"
],
"default": "cn-north-1"
}
},
"description": "The AWS IoT Secure Tunneling endpoint for China (Beijing) and China (Ningxia)"
},
{
"url": "https://api.tunneling.iot.{region}.amazonaws.com.cn",
"variables": {
"region": {
"description": "The AWS region",
"enum": [
"cn-north-1",
"cn-northwest-1"
],
"default": "cn-north-1"
}
},
"description": "The AWS IoT Secure Tunneling endpoint for China (Beijing) and China (Ningxia)"
}
],
"x-hasEquivalentPaths": true,
"paths": {
"/#X-Amz-Target=IoTSecuredTunneling.CloseTunnel": {
"post": {
"operationId": "CloseTunnel",
"description": "<p>Closes a tunnel identified by the unique tunnel id. When a <code>CloseTunnel</code> request is received, we close the WebSocket connections between the client and proxy server so no data can be transmitted.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">CloseTunnel</a> action.</p>",
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CloseTunnelResponse"
}
}
}
},
"480": {
"description": "ResourceNotFoundException",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResourceNotFoundException"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CloseTunnelRequest"
}
}
}
},
"parameters": [
{
"name": "X-Amz-Target",
"in": "header",
"required": true,
"schema": {
"type": "string",
"enum": [
"IoTSecuredTunneling.CloseTunnel"
]
}
}
]
},
"parameters": [
{
"$ref": "#/components/parameters/X-Amz-Content-Sha256"
},
{
"$ref": "#/components/parameters/X-Amz-Date"
},
{
"$ref": "#/components/parameters/X-Amz-Algorithm"
},
{
"$ref": "#/components/parameters/X-Amz-Credential"
},
{
"$ref": "#/components/parameters/X-Amz-Security-Token"
},
{
"$ref": "#/components/parameters/X-Amz-Signature"
},
{
"$ref": "#/components/parameters/X-Amz-SignedHeaders"
}
]
},
"/#X-Amz-Target=IoTSecuredTunneling.DescribeTunnel": {
"post": {
"operationId": "DescribeTunnel",
"description": "<p>Gets information about a tunnel identified by the unique tunnel id.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">DescribeTunnel</a> action.</p>",
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DescribeTunnelResponse"
}
}
}
},
"480": {
"description": "ResourceNotFoundException",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResourceNotFoundException"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DescribeTunnelRequest"
}
}
}
},
"parameters": [
{
"name": "X-Amz-Target",
"in": "header",
"required": true,
"schema": {
"type": "string",
"enum": [
"IoTSecuredTunneling.DescribeTunnel"
]
}
}
]
},
"parameters": [
{
"$ref": "#/components/parameters/X-Amz-Content-Sha256"
},
{
"$ref": "#/components/parameters/X-Amz-Date"
},
{
"$ref": "#/components/parameters/X-Amz-Algorithm"
},
{
"$ref": "#/components/parameters/X-Amz-Credential"
},
{
"$ref": "#/components/parameters/X-Amz-Security-Token"
},
{
"$ref": "#/components/parameters/X-Amz-Signature"
},
{
"$ref": "#/components/parameters/X-Amz-SignedHeaders"
}
]
},
"/#X-Amz-Target=IoTSecuredTunneling.ListTagsForResource": {
"post": {
"operationId": "ListTagsForResource",
"description": "Lists the tags for the specified resource.",
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListTagsForResourceResponse"
}
}
}
},
"480": {
"description": "ResourceNotFoundException",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResourceNotFoundException"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListTagsForResourceRequest"
}
}
}
},
"parameters": [
{
"name": "X-Amz-Target",
"in": "header",
"required": true,
"schema": {
"type": "string",
"enum": [
"IoTSecuredTunneling.ListTagsForResource"
]
}
}
]
},
"parameters": [
{
"$ref": "#/components/parameters/X-Amz-Content-Sha256"
},
{
"$ref": "#/components/parameters/X-Amz-Date"
},
{
"$ref": "#/components/parameters/X-Amz-Algorithm"
},
{
"$ref": "#/components/parameters/X-Amz-Credential"
},
{
"$ref": "#/components/parameters/X-Amz-Security-Token"
},
{
"$ref": "#/components/parameters/X-Amz-Signature"
},
{
"$ref": "#/components/parameters/X-Amz-SignedHeaders"
}
]
},
"/#X-Amz-Target=IoTSecuredTunneling.ListTunnels": {
"post": {
"operationId": "ListTunnels",
"description": "<p>List all tunnels for an Amazon Web Services account. Tunnels are listed by creation time in descending order, newer tunnels will be listed before older tunnels.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">ListTunnels</a> action.</p>",
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListTunnelsResponse"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListTunnelsRequest"
}
}
}
},
"parameters": [
{
"name": "maxResults",
"in": "query",
"schema": {
"type": "string"
},
"description": "Pagination limit",
"required": false
},
{
"name": "nextToken",
"in": "query",
"schema": {
"type": "string"
},
"description": "Pagination token",
"required": false
},
{
"name": "X-Amz-Target",
"in": "header",
"required": true,
"schema": {
"type": "string",
"enum": [
"IoTSecuredTunneling.ListTunnels"
]
}
}
]
},
"parameters": [
{
"$ref": "#/components/parameters/X-Amz-Content-Sha256"
},
{
"$ref": "#/components/parameters/X-Amz-Date"
},
{
"$ref": "#/components/parameters/X-Amz-Algorithm"
},
{
"$ref": "#/components/parameters/X-Amz-Credential"
},
{
"$ref": "#/components/parameters/X-Amz-Security-Token"
},
{
"$ref": "#/components/parameters/X-Amz-Signature"
},
{
"$ref": "#/components/parameters/X-Amz-SignedHeaders"
}
]
},
"/#X-Amz-Target=IoTSecuredTunneling.OpenTunnel": {
"post": {
"operationId": "OpenTunnel",
"description": "<p>Creates a new tunnel, and returns two client access tokens for clients to use to connect to the IoT Secure Tunneling proxy server.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">OpenTunnel</a> action.</p>",
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenTunnelResponse"
}
}
}
},
"480": {
"description": "LimitExceededException",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LimitExceededException"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenTunnelRequest"
}
}
}
},
"parameters": [
{
"name": "X-Amz-Target",
"in": "header",
"required": true,
"schema": {
"type": "string",
"enum": [
"IoTSecuredTunneling.OpenTunnel"
]
}
}
]
},
"parameters": [
{
"$ref": "#/components/parameters/X-Amz-Content-Sha256"
},
{
"$ref": "#/components/parameters/X-Amz-Date"
},
{
"$ref": "#/components/parameters/X-Amz-Algorithm"
},
{
"$ref": "#/components/parameters/X-Amz-Credential"
},
{
"$ref": "#/components/parameters/X-Amz-Security-Token"
},
{
"$ref": "#/components/parameters/X-Amz-Signature"
},
{
"$ref": "#/components/parameters/X-Amz-SignedHeaders"
}
]
},
"/#X-Amz-Target=IoTSecuredTunneling.RotateTunnelAccessToken": {
"post": {
"operationId": "RotateTunnelAccessToken",
"description": "<p>Revokes the current client access token (CAT) and returns new CAT for clients to use when reconnecting to secure tunneling to access the same tunnel.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">RotateTunnelAccessToken</a> action.</p> <note> <p>Rotating the CAT doesn't extend the tunnel duration. For example, say the tunnel duration is 12 hours and the tunnel has already been open for 4 hours. When you rotate the access tokens, the new tokens that are generated can only be used for the remaining 8 hours.</p> </note>",
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RotateTunnelAccessTokenResponse"
}
}
}
},
"480": {
"description": "ResourceNotFoundException",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResourceNotFoundException"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RotateTunnelAccessTokenRequest"
}
}
}
},
"parameters": [
{
"name": "X-Amz-Target",
"in": "header",
"required": true,
"schema": {
"type": "string",
"enum": [
"IoTSecuredTunneling.RotateTunnelAccessToken"
]
}
}
]
},
"parameters": [
{
"$ref": "#/components/parameters/X-Amz-Content-Sha256"
},
{
"$ref": "#/components/parameters/X-Amz-Date"
},
{
"$ref": "#/components/parameters/X-Amz-Algorithm"
},
{
"$ref": "#/components/parameters/X-Amz-Credential"
},
{
"$ref": "#/components/parameters/X-Amz-Security-Token"
},
{
"$ref": "#/components/parameters/X-Amz-Signature"
},
{
"$ref": "#/components/parameters/X-Amz-SignedHeaders"
}
]
},
"/#X-Amz-Target=IoTSecuredTunneling.TagResource": {
"post": {
"operationId": "TagResource",
"description": "A resource tag.",
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagResourceResponse"
}
}
}
},
"480": {
"description": "ResourceNotFoundException",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResourceNotFoundException"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagResourceRequest"
}
}
}
},
"parameters": [
{
"name": "X-Amz-Target",
"in": "header",
"required": true,
"schema": {
"type": "string",
"enum": [
"IoTSecuredTunneling.TagResource"
]
}
}
]
},
"parameters": [
{
"$ref": "#/components/parameters/X-Amz-Content-Sha256"
},
{
"$ref": "#/components/parameters/X-Amz-Date"
},
{
"$ref": "#/components/parameters/X-Amz-Algorithm"
},
{
"$ref": "#/components/parameters/X-Amz-Credential"
},
{
"$ref": "#/components/parameters/X-Amz-Security-Token"
},
{
"$ref": "#/components/parameters/X-Amz-Signature"
},
{
"$ref": "#/components/parameters/X-Amz-SignedHeaders"
}
]
},
"/#X-Amz-Target=IoTSecuredTunneling.UntagResource": {
"post": {
"operationId": "UntagResource",
"description": "Removes a tag from a resource.",
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UntagResourceResponse"
}
}
}
},
"480": {
"description": "ResourceNotFoundException",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResourceNotFoundException"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UntagResourceRequest"
}
}
}
},
"parameters": [
{
"name": "X-Amz-Target",
"in": "header",
"required": true,
"schema": {
"type": "string",
"enum": [
"IoTSecuredTunneling.UntagResource"
]
}
}
]
},
"parameters": [
{
"$ref": "#/components/parameters/X-Amz-Content-Sha256"
},
{
"$ref": "#/components/parameters/X-Amz-Date"
},
{
"$ref": "#/components/parameters/X-Amz-Algorithm"
},
{
"$ref": "#/components/parameters/X-Amz-Credential"
},
{
"$ref": "#/components/parameters/X-Amz-Security-Token"
},
{
"$ref": "#/components/parameters/X-Amz-Signature"
},
{
"$ref": "#/components/parameters/X-Amz-SignedHeaders"
}
]
}
},
"components": {
"parameters": {
"X-Amz-Content-Sha256": {
"name": "X-Amz-Content-Sha256",
"in": "header",
"schema": {
"type": "string"
},
"required": false
},
"X-Amz-Date": {
"name": "X-Amz-Date",
"in": "header",
"schema": {
"type": "string"
},
"required": false
},
"X-Amz-Algorithm": {
"name": "X-Amz-Algorithm",
"in": "header",
"schema": {
"type": "string"
},
"required": false
},
"X-Amz-Credential": {
"name": "X-Amz-Credential",
"in": "header",
"schema": {
"type": "string"
},
"required": false
},
"X-Amz-Security-Token": {
"name": "X-Amz-Security-Token",
"in": "header",
"schema": {
"type": "string"
},
"required": false
},
"X-Amz-Signature": {
"name": "X-Amz-Signature",
"in": "header",
"schema": {
"type": "string"
},
"required": false
},
"X-Amz-SignedHeaders": {
"name": "X-Amz-SignedHeaders",
"in": "header",
"schema": {
"type": "string"
},
"required": false
}
},
"securitySchemes": {
"hmac": {
"type": "apiKey",
"name": "Authorization",
"in": "header",
"description": "Amazon Signature authorization v4",
"x-amazon-apigateway-authtype": "awsSigv4"
}
},
"schemas": {
"CloseTunnelResponse": {
"type": "object",
"properties": {}
},
"CloseTunnelRequest": {
"type": "object",
"required": [
"tunnelId"
],
"title": "CloseTunnelRequest",
"properties": {
"tunnelId": {
"allOf": [
{
"$ref": "#/components/schemas/TunnelId"
},
{
"description": "The ID of the tunnel to close."
}
]
},
"delete": {
"allOf": [
{
"$ref": "#/components/schemas/DeleteFlag"
},
{
"description": "When set to true, IoT Secure Tunneling deletes the tunnel data immediately."
}
]
}
}
},
"ResourceNotFoundException": {},
"DescribeTunnelResponse": {
"type": "object",
"properties": {
"tunnel": {
"allOf": [
{
"$ref": "#/components/schemas/Tunnel"
},
{
"description": "The tunnel being described."
}
]
}
}
},
"DescribeTunnelRequest": {
"type": "object",
"required": [
"tunnelId"
],
"title": "DescribeTunnelRequest",
"properties": {
"tunnelId": {
"allOf": [
{
"$ref": "#/components/schemas/TunnelId"
},
{
"description": "The tunnel to describe."
}
]
}
}
},
"ListTagsForResourceResponse": {
"type": "object",
"properties": {
"tags": {
"allOf": [
{
"$ref": "#/components/schemas/TagList"
},
{
"description": "The tags for the specified resource."
}
]
}
}
},
"ListTagsForResourceRequest": {
"type": "object",
"required": [
"resourceArn"
],
"title": "ListTagsForResourceRequest",
"properties": {
"resourceArn": {
"allOf": [
{
"$ref": "#/components/schemas/AmazonResourceName"
},
{
"description": "The resource ARN."
}
]
}
}
},
"ListTunnelsResponse": {
"type": "object",
"properties": {
"tunnelSummaries": {
"allOf": [
{
"$ref": "#/components/schemas/TunnelSummaryList"
},
{
"description": "A short description of the tunnels in an Amazon Web Services account."
}
]
},
"nextToken": {
"allOf": [
{
"$ref": "#/components/schemas/NextToken"
},
{
"description": "The token to use to get the next set of results, or null if there are no additional results."
}
]
}
}
},
"ListTunnelsRequest": {
"type": "object",
"title": "ListTunnelsRequest",
"properties": {
"thingName": {
"allOf": [
{
"$ref": "#/components/schemas/ThingName"
},
{
"description": "The name of the IoT thing associated with the destination device."
}
]
},
"maxResults": {
"allOf": [
{
"$ref": "#/components/schemas/MaxResults"
},
{
"description": "The maximum number of results to return at once."
}
]
},
"nextToken": {
"allOf": [
{
"$ref": "#/components/schemas/NextToken"
},
{
"description": "To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results."
}
]
}
}
},
"OpenTunnelResponse": {
"type": "object",
"properties": {
"tunnelId": {
"allOf": [
{
"$ref": "#/components/schemas/TunnelId"
},
{
"description": "A unique alpha-numeric tunnel ID."
}
]
},
"tunnelArn": {
"allOf": [
{
"$ref": "#/components/schemas/TunnelArn"
},
{
"description": "The Amazon Resource Name for the tunnel."
}
]
},
"sourceAccessToken": {
"allOf": [
{
"$ref": "#/components/schemas/ClientAccessToken"
},
{
"description": "The access token the source local proxy uses to connect to IoT Secure Tunneling."
}
]
},
"destinationAccessToken": {
"allOf": [
{
"$ref": "#/components/schemas/ClientAccessToken"
},
{
"description": "The access token the destination local proxy uses to connect to IoT Secure Tunneling."
}
]
}
}
},
"OpenTunnelRequest": {
"type": "object",
"title": "OpenTunnelRequest",
"properties": {
"description": {
"allOf": [
{
"$ref": "#/components/schemas/Description"
},
{
"description": "A short text description of the tunnel. "
}
]
},
"tags": {
"allOf": [
{
"$ref": "#/components/schemas/TagList"
},
{
"description": "A collection of tag metadata."
}
]
},
"destinationConfig": {
"allOf": [
{
"$ref": "#/components/schemas/DestinationConfig"
},
{
"description": "The destination configuration for the OpenTunnel request."
}
]
},
"timeoutConfig": {
"allOf": [
{
"$ref": "#/components/schemas/TimeoutConfig"
},
{
"description": "Timeout configuration for a tunnel."
}
]
}
}
},
"LimitExceededException": {},
"RotateTunnelAccessTokenResponse": {
"type": "object",
"properties": {
"tunnelArn": {
"allOf": [
{
"$ref": "#/components/schemas/TunnelArn"
},
{
"description": "The Amazon Resource Name for the tunnel."
}
]
},
"sourceAccessToken": {
"allOf": [
{
"$ref": "#/components/schemas/ClientAccessToken"
},
{
"description": "The client access token that the source local proxy uses to connect to IoT Secure Tunneling."
}
]
},
"destinationAccessToken": {
"allOf": [
{
"$ref": "#/components/schemas/ClientAccessToken"
},
{
"description": "The client access token that the destination local proxy uses to connect to IoT Secure Tunneling."
}
]
}
}
},
"RotateTunnelAccessTokenRequest": {
"type": "object",
"required": [
"tunnelId",
"clientMode"
],
"title": "RotateTunnelAccessTokenRequest",
"properties": {
"tunnelId": {
"allOf": [
{
"$ref": "#/components/schemas/TunnelId"
},
{
"description": "The tunnel for which you want to rotate the access tokens."
}
]
},
"clientMode": {
"allOf": [
{
"$ref": "#/components/schemas/ClientMode"
},
{
"description": "The mode of the client that will use the client token, which can be either the source or destination, or both source and destination."
}
]
},
"destinationConfig": {
"$ref": "#/components/schemas/DestinationConfig"
}
}
},
"TagResourceResponse": {
"type": "object",
"properties": {}
},
"TagResourceRequest": {
"type": "object",
"required": [
"resourceArn",
"tags"
],
"title": "TagResourceRequest",
"properties": {
"resourceArn": {
"allOf": [
{
"$ref": "#/components/schemas/AmazonResourceName"
},
{
"description": "The ARN of the resource."
}
]
},
"tags": {
"allOf": [
{
"$ref": "#/components/schemas/TagList"
},
{
"description": "The tags for the resource."
}
]
}
}
},
"UntagResourceResponse": {
"type": "object",
"properties": {}
},
"UntagResourceRequest": {
"type": "object",
"required": [
"resourceArn",
"tagKeys"
],
"title": "UntagResourceRequest",
"properties": {
"resourceArn": {
"allOf": [
{
"$ref": "#/components/schemas/AmazonResourceName"
},
{
"description": "The resource ARN."
}
]
},
"tagKeys": {
"allOf": [
{
"$ref": "#/components/schemas/TagKeyList"
},
{
"description": "The keys of the tags to remove."
}
]
}
}
},
"AmazonResourceName": {
"type": "string",
"minLength": 1,
"maxLength": 1011
},
"ClientAccessToken": {
"type": "string",
"format": "password"
},
"ClientMode": {
"type": "string",
"enum": [
"SOURCE",
"DESTINATION",
"ALL"
]
},
"TunnelId": {
"type": "string",
"pattern": "[a-zA-Z0-9_\\-+=:]{1,128}"
},
"DeleteFlag": {
"type": "boolean"
},
"ConnectionStatus": {
"type": "string",
"enum": [
"CONNECTED",
"DISCONNECTED"
]
},
"DateType": {
"type": "string",
"format": "date-time"
},
"ConnectionState": {
"type": "object",
"properties": {
"status": {
"allOf": [
{
"$ref": "#/components/schemas/ConnectionStatus"
},
{
"description": "The connection status of the tunnel. Valid values are <code>CONNECTED</code> and <code>DISCONNECTED</code>."
}
]
},
"lastUpdatedAt": {
"allOf": [
{
"$ref": "#/components/schemas/DateType"
},
{
"description": "The last time the connection status was updated."
}
]
}
},
"description": "The state of a connection."
},
"Tunnel": {
"type": "object",
"properties": {
"tunnelId": {
"allOf": [
{
"$ref": "#/components/schemas/TunnelId"
},
{
"description": "A unique alpha-numeric ID that identifies a tunnel."
}
]
},
"tunnelArn": {
"allOf": [
{
"$ref": "#/components/schemas/TunnelArn"
},
{
"description": "The Amazon Resource Name (ARN) of a tunnel."
}
]
},
"status": {
"allOf": [
{
"$ref": "#/components/schemas/TunnelStatus"
},
{
"description": "The status of a tunnel. Valid values are: Open and Closed."
}
]
},
"sourceConnectionState": {
"allOf": [
{
"$ref": "#/components/schemas/ConnectionState"
},
{
"description": "The connection state of the source application."
}
]
},
"destinationConnectionState": {
"allOf": [
{
"$ref": "#/components/schemas/ConnectionState"
},
{
"description": "The connection state of the destination application."
}
]
},
"description": {
"allOf": [
{
"$ref": "#/components/schemas/Description"
},
{
"description": "A description of the tunnel."
}
]
},
"destinationConfig": {
"allOf": [
{
"$ref": "#/components/schemas/DestinationConfig"
},
{
"description": "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": {
"allOf": [
{
"$ref": "#/components/schemas/TimeoutConfig"
},
{
"description": "Timeout configuration for the tunnel."
}
]
},
"tags": {
"allOf": [
{
"$ref": "#/components/schemas/TagList"
},
{
"description": "A list of tag metadata associated with the secure tunnel."
}
]
},
"createdAt": {
"allOf": [
{
"$ref": "#/components/schemas/DateType"
},
{
"description": "The time when the tunnel was created."
}
]
},
"lastUpdatedAt": {
"allOf": [
{
"$ref": "#/components/schemas/DateType"
},
{
"description": "The last time the tunnel was updated."
}
]
}
},
"description": "A connection between a source computer and a destination device."
},
"Description": {
"type": "string",
"pattern": "[^\\p{C}]{1,2048}"
},
"ThingName": {
"type": "string",
"pattern": "[a-zA-Z0-9:_-]+",
"minLength": 1,
"maxLength": 128
},
"ServiceList": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Service"
},
"minItems": 1
},
"DestinationConfig": {
"type": "object",
"required": [
"services"
],
"properties": {
"thingName": {
"allOf": [
{
"$ref": "#/components/schemas/ThingName"
},
{
"description": "The name of the IoT thing to which you want to connect."
}
]
},
"services": {
"allOf": [
{
"$ref": "#/components/schemas/ServiceList"
},
{
"description": "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."
}
]
}
},
"description": "The destination configuration."
},
"TagList": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Tag"
},
"minItems": 1,
"maxItems": 200
},
"MaxResults": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"NextToken": {
"type": "string",
"pattern": "[a-zA-Z0-9_=-]{1,4096}"
},
"TunnelSummaryList": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TunnelSummary"
}
},
"TimeoutConfig": {
"type": "object",
"properties": {
"maxLifetimeTimeoutMinutes": {
"allOf": [
{
"$ref": "#/components/schemas/TimeoutInMin"
},
{
"description": "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) "
}
]
}
},
"description": "Tunnel timeout configuration."
},
"TunnelArn": {
"type": "string",
"minLength": 1,
"maxLength": 1600
},
"Service": {
"type": "string",
"pattern": "[a-zA-Z0-9:_-]+",
"minLength": 1,
"maxLength": 128
},
"TagKey": {
"type": "string",
"pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
"minLength": 1,
"maxLength": 128
},
"TagValue": {
"type": "string",
"pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
"minLength": 0,
"maxLength": 256
},
"Tag": {
"type": "object",
"required": [
"key",
"value"
],
"properties": {
"key": {
"allOf": [
{
"$ref": "#/components/schemas/TagKey"
},
{
"description": "The key of the tag."
}
]
},
"value": {
"allOf": [
{
"$ref": "#/components/schemas/TagValue"
},
{
"description": "The value of the tag."
}
]
}
},
"description": "An arbitary key/value pair used to add searchable metadata to secure tunnel resources."
},
"TagKeyList": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TagKey"
},
"minItems": 0,
"maxItems": 200
},
"TimeoutInMin": {
"type": "integer",
"minimum": 1,
"maximum": 720
},
"TunnelStatus": {
"type": "string",
"enum": [
"OPEN",
"CLOSED"
]
},
"TunnelSummary": {
"type": "object",
"properties": {
"tunnelId": {
"allOf": [
{
"$ref": "#/components/schemas/TunnelId"
},
{
"description": "The unique alpha-numeric identifier for the tunnel."
}
]
},
"tunnelArn": {
"allOf": [
{
"$ref": "#/components/schemas/TunnelArn"
},
{
"description": "The Amazon Resource Name of the tunnel. "
}
]
},
"status": {
"allOf": [
{
"$ref": "#/components/schemas/TunnelStatus"
},
{
"description": "The status of a tunnel. Valid values are: Open and Closed."
}
]
},
"description": {
"allOf": [
{
"$ref": "#/components/schemas/Description"
},
{
"description": "A description of the tunnel."
}
]
},
"createdAt": {
"allOf": [
{
"$ref": "#/components/schemas/DateType"
},
{
"description": "The time the tunnel was created."
}
]
},
"lastUpdatedAt": {
"allOf": [
{
"$ref": "#/components/schemas/DateType"
},
{
"description": "The time the tunnel was last updated."
}
]
}
},
"description": "Information about the tunnel."
}
}
},
"security": [
{
"hmac": []
}
]
}