aws-sdk-iotsecuretunneling 1.18.0 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 62242217ec3b6f60fad16ee9e52dc7684aad84a5f75e1aa3ebde7194166cd8c0
4
- data.tar.gz: 277668a1ff2dbe30846d08ada120f459e6d3b1e4e852835b363f9f4e0c312501
3
+ metadata.gz: 77218c860940699b9f07885a9aa2d35f488390e9bf544ad5680fc7badc3f8a12
4
+ data.tar.gz: 30fc5fd451483f480a809c4aa6dc04efa65ebd19c8168cf9fae88255da4aec00
5
5
  SHA512:
6
- metadata.gz: f3de8a88086ca8187863c5749f9a8123037c86cf14be762c5e62161d6c10e1248895513a4b8b2899644c3386b3ae235a5b4f9aed56d8510f5fb74aad2f2f4add
7
- data.tar.gz: a0d9e97b9743385ac8aa38a2e233fb44cfda33414f4fa736805ac227e02abaab62752d0ba2053b23d1975ea6e053c9b07284b10cb41e1c19bef2f97aad1a68d1
6
+ metadata.gz: 00c0d37f8b2d0a471b39a28d3b269f108f87a566e104bcd7261a5f190791f6ebb8db63fa4451c324d1250bc6d3b23ee1077076e527bcc24bff1bc67eb99211e2
7
+ data.tar.gz: 4cdee4c9718267d1c6a563103c8bb3f6fb400c34076d00a7e6fe057f0b2228bb05755dbd7fef8c82f16c87b7708ebec126a5d950e23229e20d752db252a43300
data/CHANGELOG.md CHANGED
@@ -1,6 +1,21 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.21.0 (2022-05-04)
5
+ ------------------
6
+
7
+ * Feature - This release introduces a new API RotateTunnelAccessToken that allow revoking the existing tokens and generate new tokens
8
+
9
+ 1.20.0 (2022-02-24)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.19.0 (2022-02-03)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
4
19
  1.18.0 (2021-12-21)
5
20
  ------------------
6
21
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.18.0
1
+ 1.21.0
@@ -27,7 +27,9 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
30
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
31
33
  require 'aws-sdk-core/plugins/signature_v4.rb'
32
34
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
33
35
 
@@ -74,7 +76,9 @@ module Aws::IoTSecureTunneling
74
76
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
75
77
  add_plugin(Aws::Plugins::TransferEncoding)
76
78
  add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
77
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
+ add_plugin(Aws::Plugins::RecursionDetection)
78
82
  add_plugin(Aws::Plugins::SignatureV4)
79
83
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
80
84
 
@@ -361,11 +365,17 @@ module Aws::IoTSecureTunneling
361
365
  # `CloseTunnel` request is received, we close the WebSocket connections
362
366
  # between the client and proxy server so no data can be transmitted.
363
367
  #
368
+ # Requires permission to access the [CloseTunnel][1] action.
369
+ #
370
+ #
371
+ #
372
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
373
+ #
364
374
  # @option params [required, String] :tunnel_id
365
375
  # The ID of the tunnel to close.
366
376
  #
367
377
  # @option params [Boolean] :delete
368
- # When set to true, AWS IoT Secure Tunneling deletes the tunnel data
378
+ # When set to true, IoT Secure Tunneling deletes the tunnel data
369
379
  # immediately.
370
380
  #
371
381
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
@@ -386,6 +396,12 @@ module Aws::IoTSecureTunneling
386
396
 
387
397
  # Gets information about a tunnel identified by the unique tunnel id.
388
398
  #
399
+ # Requires permission to access the [DescribeTunnel][1] action.
400
+ #
401
+ #
402
+ #
403
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
404
+ #
389
405
  # @option params [required, String] :tunnel_id
390
406
  # The tunnel to describe.
391
407
  #
@@ -454,9 +470,15 @@ module Aws::IoTSecureTunneling
454
470
  req.send_request(options)
455
471
  end
456
472
 
457
- # List all tunnels for an AWS account. Tunnels are listed by creation
458
- # time in descending order, newer tunnels will be listed before older
459
- # tunnels.
473
+ # List all tunnels for an Amazon Web Services account. Tunnels are
474
+ # listed by creation time in descending order, newer tunnels will be
475
+ # listed before older tunnels.
476
+ #
477
+ # Requires permission to access the [ListTunnels][1] action.
478
+ #
479
+ #
480
+ #
481
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
460
482
  #
461
483
  # @option params [String] :thing_name
462
484
  # The name of the IoT thing associated with the destination device.
@@ -465,7 +487,8 @@ module Aws::IoTSecureTunneling
465
487
  # The maximum number of results to return at once.
466
488
  #
467
489
  # @option params [String] :next_token
468
- # A token to retrieve the next set of results.
490
+ # To retrieve the next set of results, the nextToken value from a
491
+ # previous response; otherwise null to receive the first set of results.
469
492
  #
470
493
  # @return [Types::ListTunnelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
471
494
  #
@@ -501,7 +524,13 @@ module Aws::IoTSecureTunneling
501
524
  end
502
525
 
503
526
  # Creates a new tunnel, and returns two client access tokens for clients
504
- # to use to connect to the AWS IoT Secure Tunneling proxy server.
527
+ # to use to connect to the IoT Secure Tunneling proxy server.
528
+ #
529
+ # Requires permission to access the [OpenTunnel][1] action.
530
+ #
531
+ #
532
+ #
533
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
505
534
  #
506
535
  # @option params [String] :description
507
536
  # A short text description of the tunnel.
@@ -555,6 +584,63 @@ module Aws::IoTSecureTunneling
555
584
  req.send_request(options)
556
585
  end
557
586
 
587
+ # Revokes the current client access token (CAT) and returns new CAT for
588
+ # clients to use when reconnecting to secure tunneling to access the
589
+ # same tunnel.
590
+ #
591
+ # Requires permission to access the [RotateTunnelAccessToken][1] action.
592
+ #
593
+ # <note markdown="1"> Rotating the CAT doesn't extend the tunnel duration. For example, say
594
+ # the tunnel duration is 12 hours and the tunnel has already been open
595
+ # for 4 hours. When you rotate the access tokens, the new tokens that
596
+ # are generated can only be used for the remaining 8 hours.
597
+ #
598
+ # </note>
599
+ #
600
+ #
601
+ #
602
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
603
+ #
604
+ # @option params [required, String] :tunnel_id
605
+ # The tunnel for which you want to rotate the access tokens.
606
+ #
607
+ # @option params [required, String] :client_mode
608
+ # The mode of the client that will use the client token, which can be
609
+ # either the source or destination, or both source and destination.
610
+ #
611
+ # @option params [Types::DestinationConfig] :destination_config
612
+ # The destination configuration.
613
+ #
614
+ # @return [Types::RotateTunnelAccessTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
615
+ #
616
+ # * {Types::RotateTunnelAccessTokenResponse#tunnel_arn #tunnel_arn} => String
617
+ # * {Types::RotateTunnelAccessTokenResponse#source_access_token #source_access_token} => String
618
+ # * {Types::RotateTunnelAccessTokenResponse#destination_access_token #destination_access_token} => String
619
+ #
620
+ # @example Request syntax with placeholder values
621
+ #
622
+ # resp = client.rotate_tunnel_access_token({
623
+ # tunnel_id: "TunnelId", # required
624
+ # client_mode: "SOURCE", # required, accepts SOURCE, DESTINATION, ALL
625
+ # destination_config: {
626
+ # thing_name: "ThingName",
627
+ # services: ["Service"], # required
628
+ # },
629
+ # })
630
+ #
631
+ # @example Response structure
632
+ #
633
+ # resp.tunnel_arn #=> String
634
+ # resp.source_access_token #=> String
635
+ # resp.destination_access_token #=> String
636
+ #
637
+ # @overload rotate_tunnel_access_token(params = {})
638
+ # @param [Hash] params ({})
639
+ def rotate_tunnel_access_token(params = {}, options = {})
640
+ req = build_request(:rotate_tunnel_access_token, params)
641
+ req.send_request(options)
642
+ end
643
+
558
644
  # A resource tag.
559
645
  #
560
646
  # @option params [required, String] :resource_arn
@@ -621,7 +707,7 @@ module Aws::IoTSecureTunneling
621
707
  params: params,
622
708
  config: config)
623
709
  context[:gem_name] = 'aws-sdk-iotsecuretunneling'
624
- context[:gem_version] = '1.18.0'
710
+ context[:gem_version] = '1.21.0'
625
711
  Seahorse::Client::Request.new(handlers, context)
626
712
  end
627
713
 
@@ -15,6 +15,7 @@ module Aws::IoTSecureTunneling
15
15
 
16
16
  AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName')
17
17
  ClientAccessToken = Shapes::StringShape.new(name: 'ClientAccessToken')
18
+ ClientMode = Shapes::StringShape.new(name: 'ClientMode')
18
19
  CloseTunnelRequest = Shapes::StructureShape.new(name: 'CloseTunnelRequest')
19
20
  CloseTunnelResponse = Shapes::StructureShape.new(name: 'CloseTunnelResponse')
20
21
  ConnectionState = Shapes::StructureShape.new(name: 'ConnectionState')
@@ -36,6 +37,8 @@ module Aws::IoTSecureTunneling
36
37
  OpenTunnelRequest = Shapes::StructureShape.new(name: 'OpenTunnelRequest')
37
38
  OpenTunnelResponse = Shapes::StructureShape.new(name: 'OpenTunnelResponse')
38
39
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
40
+ RotateTunnelAccessTokenRequest = Shapes::StructureShape.new(name: 'RotateTunnelAccessTokenRequest')
41
+ RotateTunnelAccessTokenResponse = Shapes::StructureShape.new(name: 'RotateTunnelAccessTokenResponse')
39
42
  Service = Shapes::StringShape.new(name: 'Service')
40
43
  ServiceList = Shapes::ListShape.new(name: 'ServiceList')
41
44
  Tag = Shapes::StructureShape.new(name: 'Tag')
@@ -110,6 +113,16 @@ module Aws::IoTSecureTunneling
110
113
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
111
114
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
112
115
 
116
+ RotateTunnelAccessTokenRequest.add_member(:tunnel_id, Shapes::ShapeRef.new(shape: TunnelId, required: true, location_name: "tunnelId"))
117
+ RotateTunnelAccessTokenRequest.add_member(:client_mode, Shapes::ShapeRef.new(shape: ClientMode, required: true, location_name: "clientMode"))
118
+ RotateTunnelAccessTokenRequest.add_member(:destination_config, Shapes::ShapeRef.new(shape: DestinationConfig, location_name: "destinationConfig"))
119
+ RotateTunnelAccessTokenRequest.struct_class = Types::RotateTunnelAccessTokenRequest
120
+
121
+ RotateTunnelAccessTokenResponse.add_member(:tunnel_arn, Shapes::ShapeRef.new(shape: TunnelArn, location_name: "tunnelArn"))
122
+ RotateTunnelAccessTokenResponse.add_member(:source_access_token, Shapes::ShapeRef.new(shape: ClientAccessToken, location_name: "sourceAccessToken"))
123
+ RotateTunnelAccessTokenResponse.add_member(:destination_access_token, Shapes::ShapeRef.new(shape: ClientAccessToken, location_name: "destinationAccessToken"))
124
+ RotateTunnelAccessTokenResponse.struct_class = Types::RotateTunnelAccessTokenResponse
125
+
113
126
  ServiceList.member = Shapes::ShapeRef.new(shape: Service)
114
127
 
115
128
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "key"))
@@ -227,6 +240,15 @@ module Aws::IoTSecureTunneling
227
240
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
228
241
  end)
229
242
 
243
+ api.add_operation(:rotate_tunnel_access_token, Seahorse::Model::Operation.new.tap do |o|
244
+ o.name = "RotateTunnelAccessToken"
245
+ o.http_method = "POST"
246
+ o.http_request_uri = "/"
247
+ o.input = Shapes::ShapeRef.new(shape: RotateTunnelAccessTokenRequest)
248
+ o.output = Shapes::ShapeRef.new(shape: RotateTunnelAccessTokenResponse)
249
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
250
+ end)
251
+
230
252
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
231
253
  o.name = "TagResource"
232
254
  o.http_method = "POST"
@@ -23,7 +23,7 @@ module Aws::IoTSecureTunneling
23
23
  # @return [String]
24
24
  #
25
25
  # @!attribute [rw] delete
26
- # When set to true, AWS IoT Secure Tunneling deletes the tunnel data
26
+ # When set to true, IoT Secure Tunneling deletes the tunnel data
27
27
  # immediately.
28
28
  # @return [Boolean]
29
29
  #
@@ -96,11 +96,11 @@ module Aws::IoTSecureTunneling
96
96
  # @return [String]
97
97
  #
98
98
  # @!attribute [rw] services
99
- # A list of service names that identity the target application. The
100
- # AWS IoT client running on the destination device reads this value
101
- # and uses it to look up a port or an IP address and a port. The AWS
102
- # IoT client instantiates the local proxy which uses this information
103
- # to connect to the destination application.
99
+ # A list of service names that identify the target application. The
100
+ # IoT client running on the destination device reads this value and
101
+ # uses it to look up a port or an IP address and a port. The IoT
102
+ # client instantiates the local proxy, which uses this information to
103
+ # connect to the destination application.
104
104
  # @return [Array<String>]
105
105
  #
106
106
  class DestinationConfig < Struct.new(
@@ -166,7 +166,9 @@ module Aws::IoTSecureTunneling
166
166
  # @return [Integer]
167
167
  #
168
168
  # @!attribute [rw] next_token
169
- # A token to retrieve the next set of results.
169
+ # To retrieve the next set of results, the nextToken value from a
170
+ # previous response; otherwise null to receive the first set of
171
+ # results.
170
172
  # @return [String]
171
173
  #
172
174
  class ListTunnelsRequest < Struct.new(
@@ -178,11 +180,13 @@ module Aws::IoTSecureTunneling
178
180
  end
179
181
 
180
182
  # @!attribute [rw] tunnel_summaries
181
- # A short description of the tunnels in an AWS account.
183
+ # A short description of the tunnels in an Amazon Web Services
184
+ # account.
182
185
  # @return [Array<Types::TunnelSummary>]
183
186
  #
184
187
  # @!attribute [rw] next_token
185
- # A token to used to retrieve the next set of results.
188
+ # The token to use to get the next set of results, or null if there
189
+ # are no additional results.
186
190
  # @return [String]
187
191
  #
188
192
  class ListTunnelsResponse < Struct.new(
@@ -242,18 +246,17 @@ module Aws::IoTSecureTunneling
242
246
  # @return [String]
243
247
  #
244
248
  # @!attribute [rw] tunnel_arn
245
- # The Amazon Resource Name for the tunnel. The tunnel ARN format is
246
- # `arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>`
249
+ # The Amazon Resource Name for the tunnel.
247
250
  # @return [String]
248
251
  #
249
252
  # @!attribute [rw] source_access_token
250
- # The access token the source local proxy uses to connect to AWS IoT
253
+ # The access token the source local proxy uses to connect to IoT
251
254
  # Secure Tunneling.
252
255
  # @return [String]
253
256
  #
254
257
  # @!attribute [rw] destination_access_token
255
- # The access token the destination local proxy uses to connect to AWS
256
- # IoT Secure Tunneling.
258
+ # The access token the destination local proxy uses to connect to IoT
259
+ # Secure Tunneling.
257
260
  # @return [String]
258
261
  #
259
262
  class OpenTunnelResponse < Struct.new(
@@ -277,6 +280,61 @@ module Aws::IoTSecureTunneling
277
280
  include Aws::Structure
278
281
  end
279
282
 
283
+ # @note When making an API call, you may pass RotateTunnelAccessTokenRequest
284
+ # data as a hash:
285
+ #
286
+ # {
287
+ # tunnel_id: "TunnelId", # required
288
+ # client_mode: "SOURCE", # required, accepts SOURCE, DESTINATION, ALL
289
+ # destination_config: {
290
+ # thing_name: "ThingName",
291
+ # services: ["Service"], # required
292
+ # },
293
+ # }
294
+ #
295
+ # @!attribute [rw] tunnel_id
296
+ # The tunnel for which you want to rotate the access tokens.
297
+ # @return [String]
298
+ #
299
+ # @!attribute [rw] client_mode
300
+ # The mode of the client that will use the client token, which can be
301
+ # either the source or destination, or both source and destination.
302
+ # @return [String]
303
+ #
304
+ # @!attribute [rw] destination_config
305
+ # The destination configuration.
306
+ # @return [Types::DestinationConfig]
307
+ #
308
+ class RotateTunnelAccessTokenRequest < Struct.new(
309
+ :tunnel_id,
310
+ :client_mode,
311
+ :destination_config)
312
+ SENSITIVE = []
313
+ include Aws::Structure
314
+ end
315
+
316
+ # @!attribute [rw] tunnel_arn
317
+ # The Amazon Resource Name for the tunnel.
318
+ # @return [String]
319
+ #
320
+ # @!attribute [rw] source_access_token
321
+ # The client access token that the source local proxy uses to connect
322
+ # to IoT Secure Tunneling.
323
+ # @return [String]
324
+ #
325
+ # @!attribute [rw] destination_access_token
326
+ # The client access token that the destination local proxy uses to
327
+ # connect to IoT Secure Tunneling.
328
+ # @return [String]
329
+ #
330
+ class RotateTunnelAccessTokenResponse < Struct.new(
331
+ :tunnel_arn,
332
+ :source_access_token,
333
+ :destination_access_token)
334
+ SENSITIVE = [:source_access_token, :destination_access_token]
335
+ include Aws::Structure
336
+ end
337
+
280
338
  # An arbitary key/value pair used to add searchable metadata to secure
281
339
  # tunnel resources.
282
340
  #
@@ -361,8 +419,7 @@ module Aws::IoTSecureTunneling
361
419
  # @return [String]
362
420
  #
363
421
  # @!attribute [rw] tunnel_arn
364
- # The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is
365
- # `arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>`
422
+ # The Amazon Resource Name (ARN) of a tunnel.
366
423
  # @return [String]
367
424
  #
368
425
  # @!attribute [rw] status
@@ -426,8 +483,7 @@ module Aws::IoTSecureTunneling
426
483
  # @return [String]
427
484
  #
428
485
  # @!attribute [rw] tunnel_arn
429
- # The Amazon Resource Name of the tunnel. The tunnel ARN format is
430
- # `arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>`
486
+ # The Amazon Resource Name of the tunnel.
431
487
  # @return [String]
432
488
  #
433
489
  # @!attribute [rw] status
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-iotsecuretunneling/customizations'
48
48
  # @!group service
49
49
  module Aws::IoTSecureTunneling
50
50
 
51
- GEM_VERSION = '1.18.0'
51
+ GEM_VERSION = '1.21.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iotsecuretunneling
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.18.0
4
+ version: 1.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-21 00:00:00.000000000 Z
11
+ date: 2022-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.125.0
22
+ version: 3.127.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.125.0
32
+ version: 3.127.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement