540 lines
16 KiB
JSON
540 lines
16 KiB
JSON
|
{
|
||
|
"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":"<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>"
|
||
|
},
|
||
|
"DescribeTunnel":{
|
||
|
"name":"DescribeTunnel",
|
||
|
"http":{
|
||
|
"method":"POST",
|
||
|
"requestUri":"/"
|
||
|
},
|
||
|
"input":{"shape":"DescribeTunnelRequest"},
|
||
|
"output":{"shape":"DescribeTunnelResponse"},
|
||
|
"errors":[
|
||
|
{"shape":"ResourceNotFoundException"}
|
||
|
],
|
||
|
"documentation":"<p>Gets information about a tunnel identified by the unique tunnel id.</p>"
|
||
|
},
|
||
|
"ListTagsForResource":{
|
||
|
"name":"ListTagsForResource",
|
||
|
"http":{
|
||
|
"method":"POST",
|
||
|
"requestUri":"/"
|
||
|
},
|
||
|
"input":{"shape":"ListTagsForResourceRequest"},
|
||
|
"output":{"shape":"ListTagsForResourceResponse"},
|
||
|
"errors":[
|
||
|
{"shape":"ResourceNotFoundException"}
|
||
|
],
|
||
|
"documentation":"<p>Lists the tags for the specified resource.</p>"
|
||
|
},
|
||
|
"ListTunnels":{
|
||
|
"name":"ListTunnels",
|
||
|
"http":{
|
||
|
"method":"POST",
|
||
|
"requestUri":"/"
|
||
|
},
|
||
|
"input":{"shape":"ListTunnelsRequest"},
|
||
|
"output":{"shape":"ListTunnelsResponse"},
|
||
|
"documentation":"<p>List all tunnels for an AWS account. Tunnels are listed by creation time in descending order, newer tunnels will be listed before older tunnels.</p>"
|
||
|
},
|
||
|
"OpenTunnel":{
|
||
|
"name":"OpenTunnel",
|
||
|
"http":{
|
||
|
"method":"POST",
|
||
|
"requestUri":"/"
|
||
|
},
|
||
|
"input":{"shape":"OpenTunnelRequest"},
|
||
|
"output":{"shape":"OpenTunnelResponse"},
|
||
|
"errors":[
|
||
|
{"shape":"LimitExceededException"}
|
||
|
],
|
||
|
"documentation":"<p>Creates a new tunnel, and returns two client access tokens for clients to use to connect to the AWS IoT Secure Tunneling proxy server. .</p>"
|
||
|
},
|
||
|
"TagResource":{
|
||
|
"name":"TagResource",
|
||
|
"http":{
|
||
|
"method":"POST",
|
||
|
"requestUri":"/"
|
||
|
},
|
||
|
"input":{"shape":"TagResourceRequest"},
|
||
|
"output":{"shape":"TagResourceResponse"},
|
||
|
"errors":[
|
||
|
{"shape":"ResourceNotFoundException"}
|
||
|
],
|
||
|
"documentation":"<p>A resource tag.</p>"
|
||
|
},
|
||
|
"UntagResource":{
|
||
|
"name":"UntagResource",
|
||
|
"http":{
|
||
|
"method":"POST",
|
||
|
"requestUri":"/"
|
||
|
},
|
||
|
"input":{"shape":"UntagResourceRequest"},
|
||
|
"output":{"shape":"UntagResourceResponse"},
|
||
|
"errors":[
|
||
|
{"shape":"ResourceNotFoundException"}
|
||
|
],
|
||
|
"documentation":"<p>Removes a tag from a resource.</p>"
|
||
|
}
|
||
|
},
|
||
|
"shapes":{
|
||
|
"AmazonResourceName":{
|
||
|
"type":"string",
|
||
|
"max":1011,
|
||
|
"min":1
|
||
|
},
|
||
|
"ClientAccessToken":{
|
||
|
"type":"string",
|
||
|
"sensitive":true
|
||
|
},
|
||
|
"CloseTunnelRequest":{
|
||
|
"type":"structure",
|
||
|
"required":["tunnelId"],
|
||
|
"members":{
|
||
|
"tunnelId":{
|
||
|
"shape":"TunnelId",
|
||
|
"documentation":"<p>The ID of the tunnel to close.</p>"
|
||
|
},
|
||
|
"delete":{
|
||
|
"shape":"DeleteFlag",
|
||
|
"documentation":"<p>When set to true, AWS IoT Secure Tunneling deletes the tunnel data immediately.</p>",
|
||
|
"box":true
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"CloseTunnelResponse":{
|
||
|
"type":"structure",
|
||
|
"members":{
|
||
|
}
|
||
|
},
|
||
|
"ConnectionState":{
|
||
|
"type":"structure",
|
||
|
"members":{
|
||
|
"status":{
|
||
|
"shape":"ConnectionStatus",
|
||
|
"documentation":"<p>The connection status of the tunnel. Valid values are <code>CONNECTED</code> and <code>DISCONNECTED</code>.</p>"
|
||
|
},
|
||
|
"lastUpdatedAt":{
|
||
|
"shape":"DateType",
|
||
|
"documentation":"<p>The last time the connection status was updated.</p>"
|
||
|
}
|
||
|
},
|
||
|
"documentation":"<p>The state of a connection.</p>"
|
||
|
},
|
||
|
"ConnectionStatus":{
|
||
|
"type":"string",
|
||
|
"enum":[
|
||
|
"CONNECTED",
|
||
|
"DISCONNECTED"
|
||
|
]
|
||
|
},
|
||
|
"DateType":{"type":"timestamp"},
|
||
|
"DeleteFlag":{"type":"boolean"},
|
||
|
"DescribeTunnelRequest":{
|
||
|
"type":"structure",
|
||
|
"required":["tunnelId"],
|
||
|
"members":{
|
||
|
"tunnelId":{
|
||
|
"shape":"TunnelId",
|
||
|
"documentation":"<p>The tunnel to describe.</p>"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"DescribeTunnelResponse":{
|
||
|
"type":"structure",
|
||
|
"members":{
|
||
|
"tunnel":{
|
||
|
"shape":"Tunnel",
|
||
|
"documentation":"<p>The tunnel being described.</p>"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"Description":{
|
||
|
"type":"string",
|
||
|
"pattern":"[^\\p{C}]{1,2048}"
|
||
|
},
|
||
|
"DestinationConfig":{
|
||
|
"type":"structure",
|
||
|
"required":[
|
||
|
"thingName",
|
||
|
"services"
|
||
|
],
|
||
|
"members":{
|
||
|
"thingName":{
|
||
|
"shape":"ThingName",
|
||
|
"documentation":"<p>The name of the IoT thing to which you want to connect.</p>"
|
||
|
},
|
||
|
"services":{
|
||
|
"shape":"ServiceList",
|
||
|
"documentation":"<p>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.</p>"
|
||
|
}
|
||
|
},
|
||
|
"documentation":"<p>The destination configuration.</p>"
|
||
|
},
|
||
|
"ErrorMessage":{"type":"string"},
|
||
|
"LimitExceededException":{
|
||
|
"type":"structure",
|
||
|
"members":{
|
||
|
"message":{"shape":"ErrorMessage"}
|
||
|
},
|
||
|
"documentation":"<p>Thrown when a tunnel limit is exceeded.</p>",
|
||
|
"exception":true
|
||
|
},
|
||
|
"ListTagsForResourceRequest":{
|
||
|
"type":"structure",
|
||
|
"required":["resourceArn"],
|
||
|
"members":{
|
||
|
"resourceArn":{
|
||
|
"shape":"AmazonResourceName",
|
||
|
"documentation":"<p>The resource ARN.</p>"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"ListTagsForResourceResponse":{
|
||
|
"type":"structure",
|
||
|
"members":{
|
||
|
"tags":{
|
||
|
"shape":"TagList",
|
||
|
"documentation":"<p>The tags for the specified resource.</p>"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"ListTunnelsRequest":{
|
||
|
"type":"structure",
|
||
|
"members":{
|
||
|
"thingName":{
|
||
|
"shape":"ThingName",
|
||
|
"documentation":"<p>The name of the IoT thing associated with the destination device.</p>"
|
||
|
},
|
||
|
"maxResults":{
|
||
|
"shape":"MaxResults",
|
||
|
"documentation":"<p>The maximum number of results to return at once.</p>",
|
||
|
"box":true
|
||
|
},
|
||
|
"nextToken":{
|
||
|
"shape":"NextToken",
|
||
|
"documentation":"<p>A token to retrieve the next set of results.</p>"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"ListTunnelsResponse":{
|
||
|
"type":"structure",
|
||
|
"members":{
|
||
|
"tunnelSummaries":{
|
||
|
"shape":"TunnelSummaryList",
|
||
|
"documentation":"<p>A short description of the tunnels in an AWS account.</p>"
|
||
|
},
|
||
|
"nextToken":{
|
||
|
"shape":"NextToken",
|
||
|
"documentation":"<p>A token to used to retrieve the next set of results.</p>"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"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":"<p>A short text description of the tunnel. </p>"
|
||
|
},
|
||
|
"tags":{
|
||
|
"shape":"TagList",
|
||
|
"documentation":"<p>A collection of tag metadata.</p>"
|
||
|
},
|
||
|
"destinationConfig":{
|
||
|
"shape":"DestinationConfig",
|
||
|
"documentation":"<p>The destination configuration for the OpenTunnel request.</p>"
|
||
|
},
|
||
|
"timeoutConfig":{
|
||
|
"shape":"TimeoutConfig",
|
||
|
"documentation":"<p>Timeout configuration for a tunnel.</p>"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"OpenTunnelResponse":{
|
||
|
"type":"structure",
|
||
|
"members":{
|
||
|
"tunnelId":{
|
||
|
"shape":"TunnelId",
|
||
|
"documentation":"<p>A unique alpha-numeric tunnel ID.</p>"
|
||
|
},
|
||
|
"tunnelArn":{
|
||
|
"shape":"TunnelArn",
|
||
|
"documentation":"<p>The Amazon Resource Name for the tunnel. The tunnel ARN format is <code>arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id></code> </p>"
|
||
|
},
|
||
|
"sourceAccessToken":{
|
||
|
"shape":"ClientAccessToken",
|
||
|
"documentation":"<p>The access token the source local proxy uses to connect to AWS IoT Secure Tunneling.</p>"
|
||
|
},
|
||
|
"destinationAccessToken":{
|
||
|
"shape":"ClientAccessToken",
|
||
|
"documentation":"<p>The access token the destination local proxy uses to connect to AWS IoT Secure Tunneling.</p>"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"ResourceNotFoundException":{
|
||
|
"type":"structure",
|
||
|
"members":{
|
||
|
"message":{"shape":"ErrorMessage"}
|
||
|
},
|
||
|
"documentation":"<p>Thrown when an operation is attempted on a resource that does not exist.</p>",
|
||
|
"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":"<p>The key of the tag.</p>"
|
||
|
},
|
||
|
"value":{
|
||
|
"shape":"TagValue",
|
||
|
"documentation":"<p>The value of the tag.</p>"
|
||
|
}
|
||
|
},
|
||
|
"documentation":"<p>An arbitary key/value pair used to add searchable metadata to secure tunnel resources.</p>"
|
||
|
},
|
||
|
"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":"<p>The ARN of the resource.</p>"
|
||
|
},
|
||
|
"tags":{
|
||
|
"shape":"TagList",
|
||
|
"documentation":"<p>The tags for the resource.</p>"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"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":"<p>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) </p>",
|
||
|
"box":true
|
||
|
}
|
||
|
},
|
||
|
"documentation":"<p>Tunnel timeout configuration.</p>"
|
||
|
},
|
||
|
"TimeoutInMin":{
|
||
|
"type":"integer",
|
||
|
"max":720,
|
||
|
"min":1
|
||
|
},
|
||
|
"Tunnel":{
|
||
|
"type":"structure",
|
||
|
"members":{
|
||
|
"tunnelId":{
|
||
|
"shape":"TunnelId",
|
||
|
"documentation":"<p>A unique alpha-numeric ID that identifies a tunnel.</p>"
|
||
|
},
|
||
|
"tunnelArn":{
|
||
|
"shape":"TunnelArn",
|
||
|
"documentation":"<p>The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is <code>arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id></code> </p>"
|
||
|
},
|
||
|
"status":{
|
||
|
"shape":"TunnelStatus",
|
||
|
"documentation":"<p>The status of a tunnel. Valid values are: Open and Closed.</p>"
|
||
|
},
|
||
|
"sourceConnectionState":{
|
||
|
"shape":"ConnectionState",
|
||
|
"documentation":"<p>The connection state of the source application.</p>"
|
||
|
},
|
||
|
"destinationConnectionState":{
|
||
|
"shape":"ConnectionState",
|
||
|
"documentation":"<p>The connection state of the destination application.</p>"
|
||
|
},
|
||
|
"description":{
|
||
|
"shape":"Description",
|
||
|
"documentation":"<p>A description of the tunnel.</p>"
|
||
|
},
|
||
|
"destinationConfig":{
|
||
|
"shape":"DestinationConfig",
|
||
|
"documentation":"<p>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.</p>"
|
||
|
},
|
||
|
"timeoutConfig":{
|
||
|
"shape":"TimeoutConfig",
|
||
|
"documentation":"<p>Timeout configuration for the tunnel.</p>"
|
||
|
},
|
||
|
"tags":{
|
||
|
"shape":"TagList",
|
||
|
"documentation":"<p>A list of tag metadata associated with the secure tunnel.</p>"
|
||
|
},
|
||
|
"createdAt":{
|
||
|
"shape":"DateType",
|
||
|
"documentation":"<p>The time when the tunnel was created.</p>"
|
||
|
},
|
||
|
"lastUpdatedAt":{
|
||
|
"shape":"DateType",
|
||
|
"documentation":"<p>The last time the tunnel was updated.</p>"
|
||
|
}
|
||
|
},
|
||
|
"documentation":"<p>A connection between a source computer and a destination device.</p>"
|
||
|
},
|
||
|
"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":"<p>The unique alpha-numeric identifier for the tunnel.</p>"
|
||
|
},
|
||
|
"tunnelArn":{
|
||
|
"shape":"TunnelArn",
|
||
|
"documentation":"<p>The Amazon Resource Name of the tunnel. The tunnel ARN format is <code>arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id></code> </p>"
|
||
|
},
|
||
|
"status":{
|
||
|
"shape":"TunnelStatus",
|
||
|
"documentation":"<p>The status of a tunnel. Valid values are: Open and Closed.</p>"
|
||
|
},
|
||
|
"description":{
|
||
|
"shape":"Description",
|
||
|
"documentation":"<p>A description of the tunnel.</p>"
|
||
|
},
|
||
|
"createdAt":{
|
||
|
"shape":"DateType",
|
||
|
"documentation":"<p>The time the tunnel was created.</p>"
|
||
|
},
|
||
|
"lastUpdatedAt":{
|
||
|
"shape":"DateType",
|
||
|
"documentation":"<p>The time the tunnel was last updated.</p>"
|
||
|
}
|
||
|
},
|
||
|
"documentation":"<p>Information about the tunnel.</p>"
|
||
|
},
|
||
|
"TunnelSummaryList":{
|
||
|
"type":"list",
|
||
|
"member":{"shape":"TunnelSummary"}
|
||
|
},
|
||
|
"UntagResourceRequest":{
|
||
|
"type":"structure",
|
||
|
"required":[
|
||
|
"resourceArn",
|
||
|
"tagKeys"
|
||
|
],
|
||
|
"members":{
|
||
|
"resourceArn":{
|
||
|
"shape":"AmazonResourceName",
|
||
|
"documentation":"<p>The resource ARN.</p>"
|
||
|
},
|
||
|
"tagKeys":{
|
||
|
"shape":"TagKeyList",
|
||
|
"documentation":"<p>The keys of the tags to remove.</p>"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"UntagResourceResponse":{
|
||
|
"type":"structure",
|
||
|
"members":{
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"documentation":"<fullname>AWS IoT Secure Tunneling</fullname> <p>AWS IoT Secure Tunnling enables you to create remote connections to devices deployed in the field.</p> <p>For more information about how AWS IoT Secure Tunneling works, see the <a href=\"https://docs.aws.amazon.com/secure-tunneling/latest/ug/what-is-secure-tunneling.html\">User Guide</a>.</p>"
|
||
|
}
|