aws-sdk-iotsecuretunneling 1.2.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 9991783fdab845da63f8f468674201901cb7d626776dc479d78eff6552f03a34
4
+ data.tar.gz: d1bee84c8cbfd8cfb3193c776efe887be4ca591490bea67970811e8c9ba7dbce
5
+ SHA512:
6
+ metadata.gz: fe2cf68d0c432ca4fab64dd32757dfc2ccc6250735dba585afbadd47229919f5c6a2c058523309f648519ac3e6fbc7d9e39483a3d52f019d984916efaa22e26c
7
+ data.tar.gz: 7b2c5df03c07baf048cdd7e771b8a8048ea81d780a2df5fd270600b29576c3bab3aa638f5ba221a7523301b1da6ec21fd8f0c547c98217ca4a2752b00070169d
@@ -0,0 +1,50 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-iotsecuretunneling/types'
12
+ require_relative 'aws-sdk-iotsecuretunneling/client_api'
13
+ require_relative 'aws-sdk-iotsecuretunneling/client'
14
+ require_relative 'aws-sdk-iotsecuretunneling/errors'
15
+ require_relative 'aws-sdk-iotsecuretunneling/resource'
16
+ require_relative 'aws-sdk-iotsecuretunneling/customizations'
17
+
18
+ # This module provides support for AWS IoT Secure Tunneling. This module is available in the
19
+ # `aws-sdk-iotsecuretunneling` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # io_t_secure_tunneling = Aws::IoTSecureTunneling::Client.new
28
+ # resp = io_t_secure_tunneling.close_tunnel(params)
29
+ #
30
+ # See {Client} for more information.
31
+ #
32
+ # # Errors
33
+ #
34
+ # Errors returned from AWS IoT Secure Tunneling are defined in the
35
+ # {Errors} module and all extend {Errors::ServiceError}.
36
+ #
37
+ # begin
38
+ # # do stuff
39
+ # rescue Aws::IoTSecureTunneling::Errors::ServiceError
40
+ # # rescues all AWS IoT Secure Tunneling API errors
41
+ # end
42
+ #
43
+ # See {Errors} for more information.
44
+ #
45
+ # @service
46
+ module Aws::IoTSecureTunneling
47
+
48
+ GEM_VERSION = '1.2.0'
49
+
50
+ end
@@ -0,0 +1,607 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/signature_v4.rb'
28
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
+
30
+ Aws::Plugins::GlobalConfiguration.add_identifier(:iotsecuretunneling)
31
+
32
+ module Aws::IoTSecureTunneling
33
+ # An API client for IoTSecureTunneling. To construct a client, you need to configure a `:region` and `:credentials`.
34
+ #
35
+ # client = Aws::IoTSecureTunneling::Client.new(
36
+ # region: region_name,
37
+ # credentials: credentials,
38
+ # # ...
39
+ # )
40
+ #
41
+ # For details on configuring region and credentials see
42
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
43
+ #
44
+ # See {#initialize} for a full list of supported configuration options.
45
+ class Client < Seahorse::Client::Base
46
+
47
+ include Aws::ClientStubs
48
+
49
+ @identifier = :iotsecuretunneling
50
+
51
+ set_api(ClientApi::API)
52
+
53
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
54
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
55
+ add_plugin(Aws::Plugins::Logging)
56
+ add_plugin(Aws::Plugins::ParamConverter)
57
+ add_plugin(Aws::Plugins::ParamValidator)
58
+ add_plugin(Aws::Plugins::UserAgent)
59
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
60
+ add_plugin(Aws::Plugins::RetryErrors)
61
+ add_plugin(Aws::Plugins::GlobalConfiguration)
62
+ add_plugin(Aws::Plugins::RegionalEndpoint)
63
+ add_plugin(Aws::Plugins::EndpointDiscovery)
64
+ add_plugin(Aws::Plugins::EndpointPattern)
65
+ add_plugin(Aws::Plugins::ResponsePaging)
66
+ add_plugin(Aws::Plugins::StubResponses)
67
+ add_plugin(Aws::Plugins::IdempotencyToken)
68
+ add_plugin(Aws::Plugins::JsonvalueConverter)
69
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
+ add_plugin(Aws::Plugins::TransferEncoding)
72
+ add_plugin(Aws::Plugins::SignatureV4)
73
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
74
+
75
+ # @overload initialize(options)
76
+ # @param [Hash] options
77
+ # @option options [required, Aws::CredentialProvider] :credentials
78
+ # Your AWS credentials. This can be an instance of any one of the
79
+ # following classes:
80
+ #
81
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
82
+ # credentials.
83
+ #
84
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
85
+ # from an EC2 IMDS on an EC2 instance.
86
+ #
87
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
88
+ # shared file, such as `~/.aws/config`.
89
+ #
90
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
91
+ #
92
+ # When `:credentials` are not configured directly, the following
93
+ # locations will be searched for credentials:
94
+ #
95
+ # * `Aws.config[:credentials]`
96
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
97
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
98
+ # * `~/.aws/credentials`
99
+ # * `~/.aws/config`
100
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
101
+ # very aggressive. Construct and pass an instance of
102
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
103
+ # timeouts.
104
+ #
105
+ # @option options [required, String] :region
106
+ # The AWS region to connect to. The configured `:region` is
107
+ # used to determine the service `:endpoint`. When not passed,
108
+ # a default `:region` is searched for in the following locations:
109
+ #
110
+ # * `Aws.config[:region]`
111
+ # * `ENV['AWS_REGION']`
112
+ # * `ENV['AMAZON_REGION']`
113
+ # * `ENV['AWS_DEFAULT_REGION']`
114
+ # * `~/.aws/credentials`
115
+ # * `~/.aws/config`
116
+ #
117
+ # @option options [String] :access_key_id
118
+ #
119
+ # @option options [Boolean] :active_endpoint_cache (false)
120
+ # When set to `true`, a thread polling for endpoints will be running in
121
+ # the background every 60 secs (default). Defaults to `false`.
122
+ #
123
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
124
+ # Used only in `adaptive` retry mode. When true, the request will sleep
125
+ # until there is sufficent client side capacity to retry the request.
126
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
127
+ # not retry instead of sleeping.
128
+ #
129
+ # @option options [Boolean] :client_side_monitoring (false)
130
+ # When `true`, client-side metrics will be collected for all API requests from
131
+ # this client.
132
+ #
133
+ # @option options [String] :client_side_monitoring_client_id ("")
134
+ # Allows you to provide an identifier for this client which will be attached to
135
+ # all generated client side metrics. Defaults to an empty string.
136
+ #
137
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
138
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
139
+ # side monitoring agent is running on, where client metrics will be published via UDP.
140
+ #
141
+ # @option options [Integer] :client_side_monitoring_port (31000)
142
+ # Required for publishing client metrics. The port that the client side monitoring
143
+ # agent is running on, where client metrics will be published via UDP.
144
+ #
145
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
146
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
147
+ # will use the Client Side Monitoring Agent Publisher.
148
+ #
149
+ # @option options [Boolean] :convert_params (true)
150
+ # When `true`, an attempt is made to coerce request parameters into
151
+ # the required types.
152
+ #
153
+ # @option options [Boolean] :correct_clock_skew (true)
154
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
155
+ # a clock skew correction and retry requests with skewed client clocks.
156
+ #
157
+ # @option options [Boolean] :disable_host_prefix_injection (false)
158
+ # Set to true to disable SDK automatically adding host prefix
159
+ # to default service endpoint when available.
160
+ #
161
+ # @option options [String] :endpoint
162
+ # The client endpoint is normally constructed from the `:region`
163
+ # option. You should only configure an `:endpoint` when connecting
164
+ # to test endpoints. This should be a valid HTTP(S) URI.
165
+ #
166
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
167
+ # Used for the maximum size limit of the LRU cache storing endpoints data
168
+ # for endpoint discovery enabled operations. Defaults to 1000.
169
+ #
170
+ # @option options [Integer] :endpoint_cache_max_threads (10)
171
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
172
+ #
173
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
174
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
175
+ # Use this option to config the time interval in seconds for making
176
+ # requests fetching endpoints information. Defaults to 60 sec.
177
+ #
178
+ # @option options [Boolean] :endpoint_discovery (false)
179
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
180
+ #
181
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
182
+ # The log formatter.
183
+ #
184
+ # @option options [Symbol] :log_level (:info)
185
+ # The log level to send messages to the `:logger` at.
186
+ #
187
+ # @option options [Logger] :logger
188
+ # The Logger instance to send log messages to. If this option
189
+ # is not set, logging will be disabled.
190
+ #
191
+ # @option options [Integer] :max_attempts (3)
192
+ # An integer representing the maximum number attempts that will be made for
193
+ # a single request, including the initial attempt. For example,
194
+ # setting this value to 5 will result in a request being retried up to
195
+ # 4 times. Used in `standard` and `adaptive` retry modes.
196
+ #
197
+ # @option options [String] :profile ("default")
198
+ # Used when loading credentials from the shared credentials file
199
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
200
+ #
201
+ # @option options [Proc] :retry_backoff
202
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
203
+ # This option is only used in the `legacy` retry mode.
204
+ #
205
+ # @option options [Float] :retry_base_delay (0.3)
206
+ # The base delay in seconds used by the default backoff function. This option
207
+ # is only used in the `legacy` retry mode.
208
+ #
209
+ # @option options [Symbol] :retry_jitter (:none)
210
+ # A delay randomiser function used by the default backoff function.
211
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
212
+ # otherwise a Proc that takes and returns a number. This option is only used
213
+ # in the `legacy` retry mode.
214
+ #
215
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
216
+ #
217
+ # @option options [Integer] :retry_limit (3)
218
+ # The maximum number of times to retry failed requests. Only
219
+ # ~ 500 level server errors and certain ~ 400 level client errors
220
+ # are retried. Generally, these are throttling errors, data
221
+ # checksum errors, networking errors, timeout errors, auth errors,
222
+ # endpoint discovery, and errors from expired credentials.
223
+ # This option is only used in the `legacy` retry mode.
224
+ #
225
+ # @option options [Integer] :retry_max_delay (0)
226
+ # The maximum number of seconds to delay between retries (0 for no limit)
227
+ # used by the default backoff function. This option is only used in the
228
+ # `legacy` retry mode.
229
+ #
230
+ # @option options [String] :retry_mode ("legacy")
231
+ # Specifies which retry algorithm to use. Values are:
232
+ #
233
+ # * `legacy` - The pre-existing retry behavior. This is default value if
234
+ # no retry mode is provided.
235
+ #
236
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
237
+ # This includes support for retry quotas, which limit the number of
238
+ # unsuccessful retries a client can make.
239
+ #
240
+ # * `adaptive` - An experimental retry mode that includes all the
241
+ # functionality of `standard` mode along with automatic client side
242
+ # throttling. This is a provisional mode that may change behavior
243
+ # in the future.
244
+ #
245
+ #
246
+ # @option options [String] :secret_access_key
247
+ #
248
+ # @option options [String] :session_token
249
+ #
250
+ # @option options [Boolean] :simple_json (false)
251
+ # Disables request parameter conversion, validation, and formatting.
252
+ # Also disable response data type conversions. This option is useful
253
+ # when you want to ensure the highest level of performance by
254
+ # avoiding overhead of walking request parameters and response data
255
+ # structures.
256
+ #
257
+ # When `:simple_json` is enabled, the request parameters hash must
258
+ # be formatted exactly as the DynamoDB API expects.
259
+ #
260
+ # @option options [Boolean] :stub_responses (false)
261
+ # Causes the client to return stubbed responses. By default
262
+ # fake responses are generated and returned. You can specify
263
+ # the response data to return or errors to raise by calling
264
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
265
+ #
266
+ # ** Please note ** When response stubbing is enabled, no HTTP
267
+ # requests are made, and retries are disabled.
268
+ #
269
+ # @option options [Boolean] :validate_params (true)
270
+ # When `true`, request parameters are validated before
271
+ # sending the request.
272
+ #
273
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
274
+ # requests through. Formatted like 'http://proxy.com:123'.
275
+ #
276
+ # @option options [Float] :http_open_timeout (15) The number of
277
+ # seconds to wait when opening a HTTP session before raising a
278
+ # `Timeout::Error`.
279
+ #
280
+ # @option options [Integer] :http_read_timeout (60) The default
281
+ # number of seconds to wait for response data. This value can
282
+ # safely be set per-request on the session.
283
+ #
284
+ # @option options [Float] :http_idle_timeout (5) The number of
285
+ # seconds a connection is allowed to sit idle before it is
286
+ # considered stale. Stale connections are closed and removed
287
+ # from the pool before making a request.
288
+ #
289
+ # @option options [Float] :http_continue_timeout (1) The number of
290
+ # seconds to wait for a 100-continue response before sending the
291
+ # request body. This option has no effect unless the request has
292
+ # "Expect" header set to "100-continue". Defaults to `nil` which
293
+ # disables this behaviour. This value can safely be set per
294
+ # request on the session.
295
+ #
296
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
297
+ # HTTP debug output will be sent to the `:logger`.
298
+ #
299
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
300
+ # SSL peer certificates are verified when establishing a
301
+ # connection.
302
+ #
303
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
304
+ # certificate authority bundle file that should be used when
305
+ # verifying peer certificates. If you do not pass
306
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
307
+ # will be used if available.
308
+ #
309
+ # @option options [String] :ssl_ca_directory Full path of the
310
+ # directory that contains the unbundled SSL certificate
311
+ # authority files for verifying peer certificates. If you do
312
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
313
+ # system default will be used if available.
314
+ #
315
+ def initialize(*args)
316
+ super
317
+ end
318
+
319
+ # @!group API Operations
320
+
321
+ # Closes a tunnel identified by the unique tunnel id. When a
322
+ # `CloseTunnel` request is received, we close the WebSocket connections
323
+ # between the client and proxy server so no data can be transmitted.
324
+ #
325
+ # @option params [required, String] :tunnel_id
326
+ # The ID of the tunnel to close.
327
+ #
328
+ # @option params [Boolean] :delete
329
+ # When set to true, AWS IoT Secure Tunneling deletes the tunnel data
330
+ # immediately.
331
+ #
332
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
333
+ #
334
+ # @example Request syntax with placeholder values
335
+ #
336
+ # resp = client.close_tunnel({
337
+ # tunnel_id: "TunnelId", # required
338
+ # delete: false,
339
+ # })
340
+ #
341
+ # @overload close_tunnel(params = {})
342
+ # @param [Hash] params ({})
343
+ def close_tunnel(params = {}, options = {})
344
+ req = build_request(:close_tunnel, params)
345
+ req.send_request(options)
346
+ end
347
+
348
+ # Gets information about a tunnel identified by the unique tunnel id.
349
+ #
350
+ # @option params [required, String] :tunnel_id
351
+ # The tunnel to describe.
352
+ #
353
+ # @return [Types::DescribeTunnelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
354
+ #
355
+ # * {Types::DescribeTunnelResponse#tunnel #tunnel} => Types::Tunnel
356
+ #
357
+ # @example Request syntax with placeholder values
358
+ #
359
+ # resp = client.describe_tunnel({
360
+ # tunnel_id: "TunnelId", # required
361
+ # })
362
+ #
363
+ # @example Response structure
364
+ #
365
+ # resp.tunnel.tunnel_id #=> String
366
+ # resp.tunnel.tunnel_arn #=> String
367
+ # resp.tunnel.status #=> String, one of "OPEN", "CLOSED"
368
+ # resp.tunnel.source_connection_state.status #=> String, one of "CONNECTED", "DISCONNECTED"
369
+ # resp.tunnel.source_connection_state.last_updated_at #=> Time
370
+ # resp.tunnel.destination_connection_state.status #=> String, one of "CONNECTED", "DISCONNECTED"
371
+ # resp.tunnel.destination_connection_state.last_updated_at #=> Time
372
+ # resp.tunnel.description #=> String
373
+ # resp.tunnel.destination_config.thing_name #=> String
374
+ # resp.tunnel.destination_config.services #=> Array
375
+ # resp.tunnel.destination_config.services[0] #=> String
376
+ # resp.tunnel.timeout_config.max_lifetime_timeout_minutes #=> Integer
377
+ # resp.tunnel.tags #=> Array
378
+ # resp.tunnel.tags[0].key #=> String
379
+ # resp.tunnel.tags[0].value #=> String
380
+ # resp.tunnel.created_at #=> Time
381
+ # resp.tunnel.last_updated_at #=> Time
382
+ #
383
+ # @overload describe_tunnel(params = {})
384
+ # @param [Hash] params ({})
385
+ def describe_tunnel(params = {}, options = {})
386
+ req = build_request(:describe_tunnel, params)
387
+ req.send_request(options)
388
+ end
389
+
390
+ # Lists the tags for the specified resource.
391
+ #
392
+ # @option params [required, String] :resource_arn
393
+ # The resource ARN.
394
+ #
395
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
396
+ #
397
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
398
+ #
399
+ # @example Request syntax with placeholder values
400
+ #
401
+ # resp = client.list_tags_for_resource({
402
+ # resource_arn: "AmazonResourceName", # required
403
+ # })
404
+ #
405
+ # @example Response structure
406
+ #
407
+ # resp.tags #=> Array
408
+ # resp.tags[0].key #=> String
409
+ # resp.tags[0].value #=> String
410
+ #
411
+ # @overload list_tags_for_resource(params = {})
412
+ # @param [Hash] params ({})
413
+ def list_tags_for_resource(params = {}, options = {})
414
+ req = build_request(:list_tags_for_resource, params)
415
+ req.send_request(options)
416
+ end
417
+
418
+ # List all tunnels for an AWS account. Tunnels are listed by creation
419
+ # time in descending order, newer tunnels will be listed before older
420
+ # tunnels.
421
+ #
422
+ # @option params [String] :thing_name
423
+ # The name of the IoT thing associated with the destination device.
424
+ #
425
+ # @option params [Integer] :max_results
426
+ # The maximum number of results to return at once.
427
+ #
428
+ # @option params [String] :next_token
429
+ # A token to retrieve the next set of results.
430
+ #
431
+ # @return [Types::ListTunnelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
432
+ #
433
+ # * {Types::ListTunnelsResponse#tunnel_summaries #tunnel_summaries} => Array&lt;Types::TunnelSummary&gt;
434
+ # * {Types::ListTunnelsResponse#next_token #next_token} => String
435
+ #
436
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
437
+ #
438
+ # @example Request syntax with placeholder values
439
+ #
440
+ # resp = client.list_tunnels({
441
+ # thing_name: "ThingName",
442
+ # max_results: 1,
443
+ # next_token: "NextToken",
444
+ # })
445
+ #
446
+ # @example Response structure
447
+ #
448
+ # resp.tunnel_summaries #=> Array
449
+ # resp.tunnel_summaries[0].tunnel_id #=> String
450
+ # resp.tunnel_summaries[0].tunnel_arn #=> String
451
+ # resp.tunnel_summaries[0].status #=> String, one of "OPEN", "CLOSED"
452
+ # resp.tunnel_summaries[0].description #=> String
453
+ # resp.tunnel_summaries[0].created_at #=> Time
454
+ # resp.tunnel_summaries[0].last_updated_at #=> Time
455
+ # resp.next_token #=> String
456
+ #
457
+ # @overload list_tunnels(params = {})
458
+ # @param [Hash] params ({})
459
+ def list_tunnels(params = {}, options = {})
460
+ req = build_request(:list_tunnels, params)
461
+ req.send_request(options)
462
+ end
463
+
464
+ # Creates a new tunnel, and returns two client access tokens for clients
465
+ # to use to connect to the AWS IoT Secure Tunneling proxy server. .
466
+ #
467
+ # @option params [String] :description
468
+ # A short text description of the tunnel.
469
+ #
470
+ # @option params [Array<Types::Tag>] :tags
471
+ # A collection of tag metadata.
472
+ #
473
+ # @option params [Types::DestinationConfig] :destination_config
474
+ # The destination configuration for the OpenTunnel request.
475
+ #
476
+ # @option params [Types::TimeoutConfig] :timeout_config
477
+ # Timeout configuration for a tunnel.
478
+ #
479
+ # @return [Types::OpenTunnelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
480
+ #
481
+ # * {Types::OpenTunnelResponse#tunnel_id #tunnel_id} => String
482
+ # * {Types::OpenTunnelResponse#tunnel_arn #tunnel_arn} => String
483
+ # * {Types::OpenTunnelResponse#source_access_token #source_access_token} => String
484
+ # * {Types::OpenTunnelResponse#destination_access_token #destination_access_token} => String
485
+ #
486
+ # @example Request syntax with placeholder values
487
+ #
488
+ # resp = client.open_tunnel({
489
+ # description: "Description",
490
+ # tags: [
491
+ # {
492
+ # key: "TagKey", # required
493
+ # value: "TagValue", # required
494
+ # },
495
+ # ],
496
+ # destination_config: {
497
+ # thing_name: "ThingName", # required
498
+ # services: ["Service"], # required
499
+ # },
500
+ # timeout_config: {
501
+ # max_lifetime_timeout_minutes: 1,
502
+ # },
503
+ # })
504
+ #
505
+ # @example Response structure
506
+ #
507
+ # resp.tunnel_id #=> String
508
+ # resp.tunnel_arn #=> String
509
+ # resp.source_access_token #=> String
510
+ # resp.destination_access_token #=> String
511
+ #
512
+ # @overload open_tunnel(params = {})
513
+ # @param [Hash] params ({})
514
+ def open_tunnel(params = {}, options = {})
515
+ req = build_request(:open_tunnel, params)
516
+ req.send_request(options)
517
+ end
518
+
519
+ # A resource tag.
520
+ #
521
+ # @option params [required, String] :resource_arn
522
+ # The ARN of the resource.
523
+ #
524
+ # @option params [required, Array<Types::Tag>] :tags
525
+ # The tags for the resource.
526
+ #
527
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
528
+ #
529
+ # @example Request syntax with placeholder values
530
+ #
531
+ # resp = client.tag_resource({
532
+ # resource_arn: "AmazonResourceName", # required
533
+ # tags: [ # required
534
+ # {
535
+ # key: "TagKey", # required
536
+ # value: "TagValue", # required
537
+ # },
538
+ # ],
539
+ # })
540
+ #
541
+ # @overload tag_resource(params = {})
542
+ # @param [Hash] params ({})
543
+ def tag_resource(params = {}, options = {})
544
+ req = build_request(:tag_resource, params)
545
+ req.send_request(options)
546
+ end
547
+
548
+ # Removes a tag from a resource.
549
+ #
550
+ # @option params [required, String] :resource_arn
551
+ # The resource ARN.
552
+ #
553
+ # @option params [required, Array<String>] :tag_keys
554
+ # The keys of the tags to remove.
555
+ #
556
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
557
+ #
558
+ # @example Request syntax with placeholder values
559
+ #
560
+ # resp = client.untag_resource({
561
+ # resource_arn: "AmazonResourceName", # required
562
+ # tag_keys: ["TagKey"], # required
563
+ # })
564
+ #
565
+ # @overload untag_resource(params = {})
566
+ # @param [Hash] params ({})
567
+ def untag_resource(params = {}, options = {})
568
+ req = build_request(:untag_resource, params)
569
+ req.send_request(options)
570
+ end
571
+
572
+ # @!endgroup
573
+
574
+ # @param params ({})
575
+ # @api private
576
+ def build_request(operation_name, params = {})
577
+ handlers = @handlers.for(operation_name)
578
+ context = Seahorse::Client::RequestContext.new(
579
+ operation_name: operation_name,
580
+ operation: config.api.operation(operation_name),
581
+ client: self,
582
+ params: params,
583
+ config: config)
584
+ context[:gem_name] = 'aws-sdk-iotsecuretunneling'
585
+ context[:gem_version] = '1.2.0'
586
+ Seahorse::Client::Request.new(handlers, context)
587
+ end
588
+
589
+ # @api private
590
+ # @deprecated
591
+ def waiter_names
592
+ []
593
+ end
594
+
595
+ class << self
596
+
597
+ # @api private
598
+ attr_reader :identifier
599
+
600
+ # @api private
601
+ def errors_module
602
+ Errors
603
+ end
604
+
605
+ end
606
+ end
607
+ end