aws-sdk-iotsecuretunneling 1.20.0 → 1.21.0

Sign up to get free protection for your applications and to get access to all the features.
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