aws-sdk-iotsecuretunneling 1.20.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: 1b6b77ebcd2328535a2684a48891b77fd137736dc1023b7647669820b8b12fe1
4
- data.tar.gz: c0f6519a0959645a96961faec7d1a570a09d20a96fa6386c4d7e47bbde9fa618
3
+ metadata.gz: 77218c860940699b9f07885a9aa2d35f488390e9bf544ad5680fc7badc3f8a12
4
+ data.tar.gz: 30fc5fd451483f480a809c4aa6dc04efa65ebd19c8168cf9fae88255da4aec00
5
5
  SHA512:
6
- metadata.gz: 82b44b4886398766f6fd213c3259e2391acdcfb7fd0b7e09b3d36dde64d16d1b24689f979554f05725606200c9b3891da993f4a969de9871cb81515dd4861ea8
7
- data.tar.gz: 3c37471f3e59b6eaaba8e1415854ca1073f825a810935e0d006c00464b83eb9323bc2cea3a6eace8873e7d880e2a1eac58602f0e0f4f5845ab95cd816db88d2a
6
+ metadata.gz: 00c0d37f8b2d0a471b39a28d3b269f108f87a566e104bcd7261a5f190791f6ebb8db63fa4451c324d1250bc6d3b23ee1077076e527bcc24bff1bc67eb99211e2
7
+ data.tar.gz: 4cdee4c9718267d1c6a563103c8bb3f6fb400c34076d00a7e6fe057f0b2228bb05755dbd7fef8c82f16c87b7708ebec126a5d950e23229e20d752db252a43300
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
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
+
4
9
  1.20.0 (2022-02-24)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.20.0
1
+ 1.21.0
@@ -365,11 +365,17 @@ module Aws::IoTSecureTunneling
365
365
  # `CloseTunnel` request is received, we close the WebSocket connections
366
366
  # between the client and proxy server so no data can be transmitted.
367
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
+ #
368
374
  # @option params [required, String] :tunnel_id
369
375
  # The ID of the tunnel to close.
370
376
  #
371
377
  # @option params [Boolean] :delete
372
- # When set to true, AWS IoT Secure Tunneling deletes the tunnel data
378
+ # When set to true, IoT Secure Tunneling deletes the tunnel data
373
379
  # immediately.
374
380
  #
375
381
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
@@ -390,6 +396,12 @@ module Aws::IoTSecureTunneling
390
396
 
391
397
  # Gets information about a tunnel identified by the unique tunnel id.
392
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
+ #
393
405
  # @option params [required, String] :tunnel_id
394
406
  # The tunnel to describe.
395
407
  #
@@ -458,9 +470,15 @@ module Aws::IoTSecureTunneling
458
470
  req.send_request(options)
459
471
  end
460
472
 
461
- # List all tunnels for an AWS account. Tunnels are listed by creation
462
- # time in descending order, newer tunnels will be listed before older
463
- # 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
464
482
  #
465
483
  # @option params [String] :thing_name
466
484
  # The name of the IoT thing associated with the destination device.
@@ -469,7 +487,8 @@ module Aws::IoTSecureTunneling
469
487
  # The maximum number of results to return at once.
470
488
  #
471
489
  # @option params [String] :next_token
472
- # 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.
473
492
  #
474
493
  # @return [Types::ListTunnelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
475
494
  #
@@ -505,7 +524,13 @@ module Aws::IoTSecureTunneling
505
524
  end
506
525
 
507
526
  # Creates a new tunnel, and returns two client access tokens for clients
508
- # 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
509
534
  #
510
535
  # @option params [String] :description
511
536
  # A short text description of the tunnel.
@@ -559,6 +584,63 @@ module Aws::IoTSecureTunneling
559
584
  req.send_request(options)
560
585
  end
561
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
+
562
644
  # A resource tag.
563
645
  #
564
646
  # @option params [required, String] :resource_arn
@@ -625,7 +707,7 @@ module Aws::IoTSecureTunneling
625
707
  params: params,
626
708
  config: config)
627
709
  context[:gem_name] = 'aws-sdk-iotsecuretunneling'
628
- context[:gem_version] = '1.20.0'
710
+ context[:gem_version] = '1.21.0'
629
711
  Seahorse::Client::Request.new(handlers, context)
630
712
  end
631
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.20.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.20.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: 2022-02-24 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