1{ 2 "smithy": "1.0", 3 "metadata": { 4 "suppressions": [ 5 { 6 "id": "HttpMethodSemantics", 7 "namespace": "*" 8 }, 9 { 10 "id": "HttpResponseCodeSemantics", 11 "namespace": "*" 12 }, 13 { 14 "id": "PaginatedTrait", 15 "namespace": "*" 16 }, 17 { 18 "id": "HttpHeaderTrait", 19 "namespace": "*" 20 }, 21 { 22 "id": "HttpUriConflict", 23 "namespace": "*" 24 }, 25 { 26 "id": "Service", 27 "namespace": "*" 28 } 29 ] 30 }, 31 "shapes": { 32 "com.amazonaws.iotsecuretunneling#AmazonResourceName": { 33 "type": "string", 34 "traits": { 35 "smithy.api#length": { 36 "min": 1, 37 "max": 1011 38 } 39 } 40 }, 41 "com.amazonaws.iotsecuretunneling#ClientAccessToken": { 42 "type": "string", 43 "traits": { 44 "smithy.api#sensitive": {} 45 } 46 }, 47 "com.amazonaws.iotsecuretunneling#CloseTunnel": { 48 "type": "operation", 49 "input": { 50 "target": "com.amazonaws.iotsecuretunneling#CloseTunnelRequest" 51 }, 52 "output": { 53 "target": "com.amazonaws.iotsecuretunneling#CloseTunnelResponse" 54 }, 55 "errors": [ 56 { 57 "target": "com.amazonaws.iotsecuretunneling#ResourceNotFoundException" 58 } 59 ], 60 "traits": { 61 "smithy.api#documentation": "<p>Closes a tunnel identified by the unique tunnel id. When a <code>CloseTunnel</code>\n\t\t\trequest is received, we close the WebSocket connections between the client and proxy\n\t\t\tserver so no data can be transmitted.</p>", 62 "smithy.api#http": { 63 "method": "DELETE", 64 "uri": "/tunnels/{tunnelId}", 65 "code": 200 66 } 67 } 68 }, 69 "com.amazonaws.iotsecuretunneling#CloseTunnelRequest": { 70 "type": "structure", 71 "members": { 72 "tunnelId": { 73 "target": "com.amazonaws.iotsecuretunneling#TunnelId", 74 "traits": { 75 "smithy.api#documentation": "<p>The ID of the tunnel to close.</p>", 76 "smithy.api#httpLabel": {}, 77 "smithy.api#required": {} 78 } 79 }, 80 "delete": { 81 "target": "com.amazonaws.iotsecuretunneling#DeleteFlag", 82 "traits": { 83 "smithy.api#box": {}, 84 "smithy.api#documentation": "<p>When set to true, AWS IoT Secure Tunneling deletes the tunnel data\n\t\t\timmediately.</p>", 85 "smithy.api#httpQuery": "delete" 86 } 87 } 88 } 89 }, 90 "com.amazonaws.iotsecuretunneling#CloseTunnelResponse": { 91 "type": "structure", 92 "members": {} 93 }, 94 "com.amazonaws.iotsecuretunneling#ConnectionState": { 95 "type": "structure", 96 "members": { 97 "status": { 98 "target": "com.amazonaws.iotsecuretunneling#ConnectionStatus", 99 "traits": { 100 "smithy.api#documentation": "<p>The connection status of the tunnel. Valid values are <code>CONNECTED</code> and\n\t\t\t\t<code>DISCONNECTED</code>.</p>" 101 } 102 }, 103 "lastUpdatedAt": { 104 "target": "com.amazonaws.iotsecuretunneling#DateType", 105 "traits": { 106 "smithy.api#documentation": "<p>The last time the connection status was updated.</p>" 107 } 108 } 109 }, 110 "traits": { 111 "smithy.api#documentation": "<p>The state of a connection.</p>" 112 } 113 }, 114 "com.amazonaws.iotsecuretunneling#ConnectionStatus": { 115 "type": "string", 116 "traits": { 117 "smithy.api#enum": [ 118 { 119 "value": "CONNECTED", 120 "name": "CONNECTED" 121 }, 122 { 123 "value": "DISCONNECTED", 124 "name": "DISCONNECTED" 125 } 126 ] 127 } 128 }, 129 "com.amazonaws.iotsecuretunneling#DateType": { 130 "type": "timestamp" 131 }, 132 "com.amazonaws.iotsecuretunneling#DeleteFlag": { 133 "type": "boolean" 134 }, 135 "com.amazonaws.iotsecuretunneling#DescribeTunnel": { 136 "type": "operation", 137 "input": { 138 "target": "com.amazonaws.iotsecuretunneling#DescribeTunnelRequest" 139 }, 140 "output": { 141 "target": "com.amazonaws.iotsecuretunneling#DescribeTunnelResponse" 142 }, 143 "errors": [ 144 { 145 "target": "com.amazonaws.iotsecuretunneling#ResourceNotFoundException" 146 } 147 ], 148 "traits": { 149 "smithy.api#documentation": "<p>Gets information about a tunnel identified by the unique tunnel id.</p>", 150 "smithy.api#http": { 151 "method": "GET", 152 "uri": "/tunnels/{tunnelId}", 153 "code": 200 154 } 155 } 156 }, 157 "com.amazonaws.iotsecuretunneling#DescribeTunnelRequest": { 158 "type": "structure", 159 "members": { 160 "tunnelId": { 161 "target": "com.amazonaws.iotsecuretunneling#TunnelId", 162 "traits": { 163 "smithy.api#documentation": "<p>The tunnel to describe.</p>", 164 "smithy.api#httpLabel": {}, 165 "smithy.api#required": {} 166 } 167 } 168 } 169 }, 170 "com.amazonaws.iotsecuretunneling#DescribeTunnelResponse": { 171 "type": "structure", 172 "members": { 173 "tunnel": { 174 "target": "com.amazonaws.iotsecuretunneling#Tunnel", 175 "traits": { 176 "smithy.api#documentation": "<p>The tunnel being described.</p>" 177 } 178 } 179 } 180 }, 181 "com.amazonaws.iotsecuretunneling#Description": { 182 "type": "string", 183 "traits": { 184 "smithy.api#pattern": "[^\\p{C}]{1,2048}" 185 } 186 }, 187 "com.amazonaws.iotsecuretunneling#DestinationConfig": { 188 "type": "structure", 189 "members": { 190 "thingName": { 191 "target": "com.amazonaws.iotsecuretunneling#ThingName", 192 "traits": { 193 "smithy.api#documentation": "<p>The name of the IoT thing to which you want to connect.</p>" 194 } 195 }, 196 "services": { 197 "target": "com.amazonaws.iotsecuretunneling#ServiceList", 198 "traits": { 199 "smithy.api#documentation": "<p>A list of service names that identity the target application. The AWS IoT client running on the destination device reads\n\t\t\tthis value and uses it to look up a port or an IP address and a port. The AWS IoT client\n\t\t\tinstantiates the local proxy which uses this information to connect to the destination\n\t\t\tapplication.</p>", 200 "smithy.api#required": {} 201 } 202 } 203 }, 204 "traits": { 205 "smithy.api#documentation": "<p>The destination configuration.</p>" 206 } 207 }, 208 "com.amazonaws.iotsecuretunneling#ErrorMessage": { 209 "type": "string" 210 }, 211 "com.amazonaws.iotsecuretunneling#IoTSecuredTunneling": { 212 "type": "service", 213 "version": "2018-10-05", 214 "operations": [ 215 { 216 "target": "com.amazonaws.iotsecuretunneling#CloseTunnel" 217 }, 218 { 219 "target": "com.amazonaws.iotsecuretunneling#DescribeTunnel" 220 }, 221 { 222 "target": "com.amazonaws.iotsecuretunneling#ListTagsForResource" 223 }, 224 { 225 "target": "com.amazonaws.iotsecuretunneling#ListTunnels" 226 }, 227 { 228 "target": "com.amazonaws.iotsecuretunneling#OpenTunnel" 229 }, 230 { 231 "target": "com.amazonaws.iotsecuretunneling#TagResource" 232 }, 233 { 234 "target": "com.amazonaws.iotsecuretunneling#UntagResource" 235 } 236 ], 237 "traits": { 238 "aws.api#service": { 239 "sdkId": "IoTSecureTunneling", 240 "arnNamespace": "iotsecuredtunneling", 241 "cloudFormationName": "IoTSecureTunneling", 242 "cloudTrailEventSource": "iotsecuretunneling.amazonaws.com", 243 "endpointPrefix": "api.tunneling.iot" 244 }, 245 "aws.auth#sigv4": { 246 "name": "iotsecuredtunneling" 247 }, 248 "aws.protocols#awsJson1_1": {}, 249 "smithy.api#documentation": "<fullname>AWS IoT Secure Tunneling</fullname>\n\t\t <p>AWS IoT Secure Tunnling enables you to create remote connections to devices\n\t\t\tdeployed in the field.</p>\n\t\t\n\t\t <p>For more information about how AWS IoT Secure Tunneling works, see <a href=\"https://docs.aws.amazon.com/iot/latest/developerguide/secure-tunneling.html\">AWS IoT Secure Tunneling</a>.</p>", 250 "smithy.api#title": "AWS IoT Secure Tunneling" 251 } 252 }, 253 "com.amazonaws.iotsecuretunneling#LimitExceededException": { 254 "type": "structure", 255 "members": { 256 "message": { 257 "target": "com.amazonaws.iotsecuretunneling#ErrorMessage" 258 } 259 }, 260 "traits": { 261 "smithy.api#documentation": "<p>Thrown when a tunnel limit is exceeded.</p>", 262 "smithy.api#error": "client", 263 "smithy.api#httpError": 403 264 } 265 }, 266 "com.amazonaws.iotsecuretunneling#ListTagsForResource": { 267 "type": "operation", 268 "input": { 269 "target": "com.amazonaws.iotsecuretunneling#ListTagsForResourceRequest" 270 }, 271 "output": { 272 "target": "com.amazonaws.iotsecuretunneling#ListTagsForResourceResponse" 273 }, 274 "errors": [ 275 { 276 "target": "com.amazonaws.iotsecuretunneling#ResourceNotFoundException" 277 } 278 ], 279 "traits": { 280 "smithy.api#documentation": "<p>Lists the tags for the specified resource.</p>", 281 "smithy.api#http": { 282 "method": "GET", 283 "uri": "/tags", 284 "code": 200 285 } 286 } 287 }, 288 "com.amazonaws.iotsecuretunneling#ListTagsForResourceRequest": { 289 "type": "structure", 290 "members": { 291 "resourceArn": { 292 "target": "com.amazonaws.iotsecuretunneling#AmazonResourceName", 293 "traits": { 294 "smithy.api#documentation": "<p>The resource ARN.</p>", 295 "smithy.api#httpQuery": "resourceArn", 296 "smithy.api#required": {} 297 } 298 } 299 } 300 }, 301 "com.amazonaws.iotsecuretunneling#ListTagsForResourceResponse": { 302 "type": "structure", 303 "members": { 304 "tags": { 305 "target": "com.amazonaws.iotsecuretunneling#TagList", 306 "traits": { 307 "smithy.api#documentation": "<p>The tags for the specified resource.</p>" 308 } 309 } 310 } 311 }, 312 "com.amazonaws.iotsecuretunneling#ListTunnels": { 313 "type": "operation", 314 "input": { 315 "target": "com.amazonaws.iotsecuretunneling#ListTunnelsRequest" 316 }, 317 "output": { 318 "target": "com.amazonaws.iotsecuretunneling#ListTunnelsResponse" 319 }, 320 "traits": { 321 "smithy.api#documentation": "<p>List all tunnels for an AWS account. Tunnels are listed by creation time in\n\t\t\tdescending order, newer tunnels will be listed before older tunnels.</p>", 322 "smithy.api#http": { 323 "method": "GET", 324 "uri": "/tunnels", 325 "code": 200 326 }, 327 "smithy.api#paginated": { 328 "inputToken": "nextToken", 329 "outputToken": "nextToken", 330 "pageSize": "maxResults" 331 } 332 } 333 }, 334 "com.amazonaws.iotsecuretunneling#ListTunnelsRequest": { 335 "type": "structure", 336 "members": { 337 "thingName": { 338 "target": "com.amazonaws.iotsecuretunneling#ThingName", 339 "traits": { 340 "smithy.api#documentation": "<p>The name of the IoT thing associated with the destination device.</p>", 341 "smithy.api#httpQuery": "thingName" 342 } 343 }, 344 "maxResults": { 345 "target": "com.amazonaws.iotsecuretunneling#MaxResults", 346 "traits": { 347 "smithy.api#box": {}, 348 "smithy.api#documentation": "<p>The maximum number of results to return at once.</p>", 349 "smithy.api#httpQuery": "maxResults" 350 } 351 }, 352 "nextToken": { 353 "target": "com.amazonaws.iotsecuretunneling#NextToken", 354 "traits": { 355 "smithy.api#documentation": "<p>A token to retrieve the next set of results.</p>", 356 "smithy.api#httpQuery": "nextToken" 357 } 358 } 359 } 360 }, 361 "com.amazonaws.iotsecuretunneling#ListTunnelsResponse": { 362 "type": "structure", 363 "members": { 364 "tunnelSummaries": { 365 "target": "com.amazonaws.iotsecuretunneling#TunnelSummaryList", 366 "traits": { 367 "smithy.api#documentation": "<p>A short description of the tunnels in an AWS account.</p>" 368 } 369 }, 370 "nextToken": { 371 "target": "com.amazonaws.iotsecuretunneling#NextToken", 372 "traits": { 373 "smithy.api#documentation": "<p>A token to used to retrieve the next set of results.</p>" 374 } 375 } 376 } 377 }, 378 "com.amazonaws.iotsecuretunneling#MaxResults": { 379 "type": "integer", 380 "traits": { 381 "smithy.api#range": { 382 "min": 1, 383 "max": 100 384 } 385 } 386 }, 387 "com.amazonaws.iotsecuretunneling#NextToken": { 388 "type": "string", 389 "traits": { 390 "smithy.api#pattern": "[a-zA-Z0-9_=-]{1,4096}" 391 } 392 }, 393 "com.amazonaws.iotsecuretunneling#OpenTunnel": { 394 "type": "operation", 395 "input": { 396 "target": "com.amazonaws.iotsecuretunneling#OpenTunnelRequest" 397 }, 398 "output": { 399 "target": "com.amazonaws.iotsecuretunneling#OpenTunnelResponse" 400 }, 401 "errors": [ 402 { 403 "target": "com.amazonaws.iotsecuretunneling#LimitExceededException" 404 } 405 ], 406 "traits": { 407 "smithy.api#documentation": "<p>Creates a new tunnel, and returns two client access tokens for clients to use to\n\t\t\tconnect to the AWS IoT Secure Tunneling proxy server.</p>", 408 "smithy.api#http": { 409 "method": "POST", 410 "uri": "/tunnels", 411 "code": 200 412 } 413 } 414 }, 415 "com.amazonaws.iotsecuretunneling#OpenTunnelRequest": { 416 "type": "structure", 417 "members": { 418 "description": { 419 "target": "com.amazonaws.iotsecuretunneling#Description", 420 "traits": { 421 "smithy.api#documentation": "<p>A short text description of the tunnel. </p>" 422 } 423 }, 424 "tags": { 425 "target": "com.amazonaws.iotsecuretunneling#TagList", 426 "traits": { 427 "smithy.api#documentation": "<p>A collection of tag metadata.</p>" 428 } 429 }, 430 "destinationConfig": { 431 "target": "com.amazonaws.iotsecuretunneling#DestinationConfig", 432 "traits": { 433 "smithy.api#documentation": "<p>The destination configuration for the OpenTunnel request.</p>" 434 } 435 }, 436 "timeoutConfig": { 437 "target": "com.amazonaws.iotsecuretunneling#TimeoutConfig", 438 "traits": { 439 "smithy.api#documentation": "<p>Timeout configuration for a tunnel.</p>" 440 } 441 } 442 } 443 }, 444 "com.amazonaws.iotsecuretunneling#OpenTunnelResponse": { 445 "type": "structure", 446 "members": { 447 "tunnelId": { 448 "target": "com.amazonaws.iotsecuretunneling#TunnelId", 449 "traits": { 450 "smithy.api#documentation": "<p>A unique alpha-numeric tunnel ID.</p>" 451 } 452 }, 453 "tunnelArn": { 454 "target": "com.amazonaws.iotsecuretunneling#TunnelArn", 455 "traits": { 456 "smithy.api#documentation": "<p>The Amazon Resource Name for the tunnel. The tunnel ARN format is\n\t\t\t\t<code>arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id></code>\n </p>" 457 } 458 }, 459 "sourceAccessToken": { 460 "target": "com.amazonaws.iotsecuretunneling#ClientAccessToken", 461 "traits": { 462 "smithy.api#documentation": "<p>The access token the source local proxy uses to connect to AWS IoT Secure\n\t\t\tTunneling.</p>" 463 } 464 }, 465 "destinationAccessToken": { 466 "target": "com.amazonaws.iotsecuretunneling#ClientAccessToken", 467 "traits": { 468 "smithy.api#documentation": "<p>The access token the destination local proxy uses to connect to AWS IoT Secure\n\t\t\tTunneling.</p>" 469 } 470 } 471 } 472 }, 473 "com.amazonaws.iotsecuretunneling#ResourceNotFoundException": { 474 "type": "structure", 475 "members": { 476 "message": { 477 "target": "com.amazonaws.iotsecuretunneling#ErrorMessage" 478 } 479 }, 480 "traits": { 481 "smithy.api#documentation": "<p>Thrown when an operation is attempted on a resource that does not exist.</p>", 482 "smithy.api#error": "client", 483 "smithy.api#httpError": 404 484 } 485 }, 486 "com.amazonaws.iotsecuretunneling#Service": { 487 "type": "string", 488 "traits": { 489 "smithy.api#length": { 490 "min": 1, 491 "max": 128 492 }, 493 "smithy.api#pattern": "[a-zA-Z0-9:_-]+" 494 } 495 }, 496 "com.amazonaws.iotsecuretunneling#ServiceList": { 497 "type": "list", 498 "member": { 499 "target": "com.amazonaws.iotsecuretunneling#Service" 500 }, 501 "traits": { 502 "smithy.api#length": { 503 "min": 1 504 } 505 } 506 }, 507 "com.amazonaws.iotsecuretunneling#Tag": { 508 "type": "structure", 509 "members": { 510 "key": { 511 "target": "com.amazonaws.iotsecuretunneling#TagKey", 512 "traits": { 513 "smithy.api#documentation": "<p>The key of the tag.</p>", 514 "smithy.api#required": {} 515 } 516 }, 517 "value": { 518 "target": "com.amazonaws.iotsecuretunneling#TagValue", 519 "traits": { 520 "smithy.api#documentation": "<p>The value of the tag.</p>", 521 "smithy.api#required": {} 522 } 523 } 524 }, 525 "traits": { 526 "smithy.api#documentation": "<p>An arbitary key/value pair used to add searchable metadata to secure tunnel\n\t\t\tresources.</p>" 527 } 528 }, 529 "com.amazonaws.iotsecuretunneling#TagKey": { 530 "type": "string", 531 "traits": { 532 "smithy.api#length": { 533 "min": 1, 534 "max": 128 535 }, 536 "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" 537 } 538 }, 539 "com.amazonaws.iotsecuretunneling#TagKeyList": { 540 "type": "list", 541 "member": { 542 "target": "com.amazonaws.iotsecuretunneling#TagKey" 543 }, 544 "traits": { 545 "smithy.api#length": { 546 "min": 0, 547 "max": 200 548 } 549 } 550 }, 551 "com.amazonaws.iotsecuretunneling#TagList": { 552 "type": "list", 553 "member": { 554 "target": "com.amazonaws.iotsecuretunneling#Tag" 555 }, 556 "traits": { 557 "smithy.api#length": { 558 "min": 1, 559 "max": 200 560 } 561 } 562 }, 563 "com.amazonaws.iotsecuretunneling#TagResource": { 564 "type": "operation", 565 "input": { 566 "target": "com.amazonaws.iotsecuretunneling#TagResourceRequest" 567 }, 568 "output": { 569 "target": "com.amazonaws.iotsecuretunneling#TagResourceResponse" 570 }, 571 "errors": [ 572 { 573 "target": "com.amazonaws.iotsecuretunneling#ResourceNotFoundException" 574 } 575 ], 576 "traits": { 577 "smithy.api#documentation": "<p>A resource tag.</p>", 578 "smithy.api#http": { 579 "method": "POST", 580 "uri": "/tags", 581 "code": 200 582 } 583 } 584 }, 585 "com.amazonaws.iotsecuretunneling#TagResourceRequest": { 586 "type": "structure", 587 "members": { 588 "resourceArn": { 589 "target": "com.amazonaws.iotsecuretunneling#AmazonResourceName", 590 "traits": { 591 "smithy.api#documentation": "<p>The ARN of the resource.</p>", 592 "smithy.api#required": {} 593 } 594 }, 595 "tags": { 596 "target": "com.amazonaws.iotsecuretunneling#TagList", 597 "traits": { 598 "smithy.api#documentation": "<p>The tags for the resource.</p>", 599 "smithy.api#required": {} 600 } 601 } 602 } 603 }, 604 "com.amazonaws.iotsecuretunneling#TagResourceResponse": { 605 "type": "structure", 606 "members": {} 607 }, 608 "com.amazonaws.iotsecuretunneling#TagValue": { 609 "type": "string", 610 "traits": { 611 "smithy.api#length": { 612 "min": 0, 613 "max": 256 614 }, 615 "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" 616 } 617 }, 618 "com.amazonaws.iotsecuretunneling#ThingName": { 619 "type": "string", 620 "traits": { 621 "smithy.api#length": { 622 "min": 1, 623 "max": 128 624 }, 625 "smithy.api#pattern": "[a-zA-Z0-9:_-]+" 626 } 627 }, 628 "com.amazonaws.iotsecuretunneling#TimeoutConfig": { 629 "type": "structure", 630 "members": { 631 "maxLifetimeTimeoutMinutes": { 632 "target": "com.amazonaws.iotsecuretunneling#TimeoutInMin", 633 "traits": { 634 "smithy.api#box": {}, 635 "smithy.api#documentation": "<p>The maximum amount of time (in minutes) a tunnel can remain open. If not specified,\n\t\t\tmaxLifetimeTimeoutMinutes defaults to 720 minutes. Valid values are from 1 minute to 12\n\t\t\thours (720 minutes) </p>" 636 } 637 } 638 }, 639 "traits": { 640 "smithy.api#documentation": "<p>Tunnel timeout configuration.</p>" 641 } 642 }, 643 "com.amazonaws.iotsecuretunneling#TimeoutInMin": { 644 "type": "integer", 645 "traits": { 646 "smithy.api#range": { 647 "min": 1, 648 "max": 720 649 } 650 } 651 }, 652 "com.amazonaws.iotsecuretunneling#Tunnel": { 653 "type": "structure", 654 "members": { 655 "tunnelId": { 656 "target": "com.amazonaws.iotsecuretunneling#TunnelId", 657 "traits": { 658 "smithy.api#documentation": "<p>A unique alpha-numeric ID that identifies a tunnel.</p>" 659 } 660 }, 661 "tunnelArn": { 662 "target": "com.amazonaws.iotsecuretunneling#TunnelArn", 663 "traits": { 664 "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is\n\t\t\t\t<code>arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id></code>\n </p>" 665 } 666 }, 667 "status": { 668 "target": "com.amazonaws.iotsecuretunneling#TunnelStatus", 669 "traits": { 670 "smithy.api#documentation": "<p>The status of a tunnel. Valid values are: Open and Closed.</p>" 671 } 672 }, 673 "sourceConnectionState": { 674 "target": "com.amazonaws.iotsecuretunneling#ConnectionState", 675 "traits": { 676 "smithy.api#documentation": "<p>The connection state of the source application.</p>" 677 } 678 }, 679 "destinationConnectionState": { 680 "target": "com.amazonaws.iotsecuretunneling#ConnectionState", 681 "traits": { 682 "smithy.api#documentation": "<p>The connection state of the destination application.</p>" 683 } 684 }, 685 "description": { 686 "target": "com.amazonaws.iotsecuretunneling#Description", 687 "traits": { 688 "smithy.api#documentation": "<p>A description of the tunnel.</p>" 689 } 690 }, 691 "destinationConfig": { 692 "target": "com.amazonaws.iotsecuretunneling#DestinationConfig", 693 "traits": { 694 "smithy.api#documentation": "<p>The destination configuration that specifies the thing name of the destination\n\t\t\tdevice and a service name that the local proxy uses to connect to the destination\n\t\t\tapplication.</p>" 695 } 696 }, 697 "timeoutConfig": { 698 "target": "com.amazonaws.iotsecuretunneling#TimeoutConfig", 699 "traits": { 700 "smithy.api#documentation": "<p>Timeout configuration for the tunnel.</p>" 701 } 702 }, 703 "tags": { 704 "target": "com.amazonaws.iotsecuretunneling#TagList", 705 "traits": { 706 "smithy.api#documentation": "<p>A list of tag metadata associated with the secure tunnel.</p>" 707 } 708 }, 709 "createdAt": { 710 "target": "com.amazonaws.iotsecuretunneling#DateType", 711 "traits": { 712 "smithy.api#documentation": "<p>The time when the tunnel was created.</p>" 713 } 714 }, 715 "lastUpdatedAt": { 716 "target": "com.amazonaws.iotsecuretunneling#DateType", 717 "traits": { 718 "smithy.api#documentation": "<p>The last time the tunnel was updated.</p>" 719 } 720 } 721 }, 722 "traits": { 723 "smithy.api#documentation": "<p>A connection between a source computer and a destination device.</p>" 724 } 725 }, 726 "com.amazonaws.iotsecuretunneling#TunnelArn": { 727 "type": "string", 728 "traits": { 729 "smithy.api#length": { 730 "min": 1, 731 "max": 1600 732 } 733 } 734 }, 735 "com.amazonaws.iotsecuretunneling#TunnelId": { 736 "type": "string", 737 "traits": { 738 "smithy.api#pattern": "[a-zA-Z0-9_\\-+=:]{1,128}" 739 } 740 }, 741 "com.amazonaws.iotsecuretunneling#TunnelStatus": { 742 "type": "string", 743 "traits": { 744 "smithy.api#enum": [ 745 { 746 "value": "OPEN", 747 "name": "OPEN" 748 }, 749 { 750 "value": "CLOSED", 751 "name": "CLOSED" 752 } 753 ] 754 } 755 }, 756 "com.amazonaws.iotsecuretunneling#TunnelSummary": { 757 "type": "structure", 758 "members": { 759 "tunnelId": { 760 "target": "com.amazonaws.iotsecuretunneling#TunnelId", 761 "traits": { 762 "smithy.api#documentation": "<p>The unique alpha-numeric identifier for the tunnel.</p>" 763 } 764 }, 765 "tunnelArn": { 766 "target": "com.amazonaws.iotsecuretunneling#TunnelArn", 767 "traits": { 768 "smithy.api#documentation": "<p>The Amazon Resource Name of the tunnel. The tunnel ARN format is\n\t\t\t\t<code>arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id></code>\n </p>" 769 } 770 }, 771 "status": { 772 "target": "com.amazonaws.iotsecuretunneling#TunnelStatus", 773 "traits": { 774 "smithy.api#documentation": "<p>The status of a tunnel. Valid values are: Open and Closed.</p>" 775 } 776 }, 777 "description": { 778 "target": "com.amazonaws.iotsecuretunneling#Description", 779 "traits": { 780 "smithy.api#documentation": "<p>A description of the tunnel.</p>" 781 } 782 }, 783 "createdAt": { 784 "target": "com.amazonaws.iotsecuretunneling#DateType", 785 "traits": { 786 "smithy.api#documentation": "<p>The time the tunnel was created.</p>" 787 } 788 }, 789 "lastUpdatedAt": { 790 "target": "com.amazonaws.iotsecuretunneling#DateType", 791 "traits": { 792 "smithy.api#documentation": "<p>The time the tunnel was last updated.</p>" 793 } 794 } 795 }, 796 "traits": { 797 "smithy.api#documentation": "<p>Information about the tunnel.</p>" 798 } 799 }, 800 "com.amazonaws.iotsecuretunneling#TunnelSummaryList": { 801 "type": "list", 802 "member": { 803 "target": "com.amazonaws.iotsecuretunneling#TunnelSummary" 804 } 805 }, 806 "com.amazonaws.iotsecuretunneling#UntagResource": { 807 "type": "operation", 808 "input": { 809 "target": "com.amazonaws.iotsecuretunneling#UntagResourceRequest" 810 }, 811 "output": { 812 "target": "com.amazonaws.iotsecuretunneling#UntagResourceResponse" 813 }, 814 "errors": [ 815 { 816 "target": "com.amazonaws.iotsecuretunneling#ResourceNotFoundException" 817 } 818 ], 819 "traits": { 820 "smithy.api#documentation": "<p>Removes a tag from a resource.</p>", 821 "smithy.api#http": { 822 "method": "POST", 823 "uri": "/untag", 824 "code": 200 825 } 826 } 827 }, 828 "com.amazonaws.iotsecuretunneling#UntagResourceRequest": { 829 "type": "structure", 830 "members": { 831 "resourceArn": { 832 "target": "com.amazonaws.iotsecuretunneling#AmazonResourceName", 833 "traits": { 834 "smithy.api#documentation": "<p>The resource ARN.</p>", 835 "smithy.api#required": {} 836 } 837 }, 838 "tagKeys": { 839 "target": "com.amazonaws.iotsecuretunneling#TagKeyList", 840 "traits": { 841 "smithy.api#documentation": "<p>The keys of the tags to remove.</p>", 842 "smithy.api#required": {} 843 } 844 } 845 } 846 }, 847 "com.amazonaws.iotsecuretunneling#UntagResourceResponse": { 848 "type": "structure", 849 "members": {} 850 } 851 } 852} 853