aws-sdk-iotdeviceadvisor 1.0.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: c7a018ea34bb82b703f8aa3742bfa7f5e21217147a246642cee2e4a08f20ac26
4
+ data.tar.gz: aa1be1d82045a14539a5be3ed162586cc19cc80d94dd10c93f6a7e9d18d4fb43
5
+ SHA512:
6
+ metadata.gz: 5e040e937339d1f9c9c2f06a3cb84e20211ff86ca548132fbb5f6cde81960480c7b9912e759c0d097427122bc536c853403299353b60859388d5cc2ffcba3274
7
+ data.tar.gz: 4c188db01ddd80e2667c7204075ffa54af60f1ec18a2725196f32c42a63355d5e745ea9ce6e205fb4647f1ada88eaad9ce6765e7a25fe74570a8882b65784942
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ require 'aws-sdk-core'
12
+ require 'aws-sigv4'
13
+
14
+ require_relative 'aws-sdk-iotdeviceadvisor/types'
15
+ require_relative 'aws-sdk-iotdeviceadvisor/client_api'
16
+ require_relative 'aws-sdk-iotdeviceadvisor/client'
17
+ require_relative 'aws-sdk-iotdeviceadvisor/errors'
18
+ require_relative 'aws-sdk-iotdeviceadvisor/resource'
19
+ require_relative 'aws-sdk-iotdeviceadvisor/customizations'
20
+
21
+ # This module provides support for AWS IoT Core Device Advisor. This module is available in the
22
+ # `aws-sdk-iotdeviceadvisor` gem.
23
+ #
24
+ # # Client
25
+ #
26
+ # The {Client} class provides one method for each API operation. Operation
27
+ # methods each accept a hash of request parameters and return a response
28
+ # structure.
29
+ #
30
+ # io_t_device_advisor = Aws::IoTDeviceAdvisor::Client.new
31
+ # resp = io_t_device_advisor.create_suite_definition(params)
32
+ #
33
+ # See {Client} for more information.
34
+ #
35
+ # # Errors
36
+ #
37
+ # Errors returned from AWS IoT Core Device Advisor are defined in the
38
+ # {Errors} module and all extend {Errors::ServiceError}.
39
+ #
40
+ # begin
41
+ # # do stuff
42
+ # rescue Aws::IoTDeviceAdvisor::Errors::ServiceError
43
+ # # rescues all AWS IoT Core Device Advisor API errors
44
+ # end
45
+ #
46
+ # See {Errors} for more information.
47
+ #
48
+ # @!group service
49
+ module Aws::IoTDeviceAdvisor
50
+
51
+ GEM_VERSION = '1.0.0'
52
+
53
+ end
@@ -0,0 +1,918 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/signature_v4.rb'
31
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
+
33
+ Aws::Plugins::GlobalConfiguration.add_identifier(:iotdeviceadvisor)
34
+
35
+ module Aws::IoTDeviceAdvisor
36
+ # An API client for IoTDeviceAdvisor. To construct a client, you need to configure a `:region` and `:credentials`.
37
+ #
38
+ # client = Aws::IoTDeviceAdvisor::Client.new(
39
+ # region: region_name,
40
+ # credentials: credentials,
41
+ # # ...
42
+ # )
43
+ #
44
+ # For details on configuring region and credentials see
45
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
46
+ #
47
+ # See {#initialize} for a full list of supported configuration options.
48
+ class Client < Seahorse::Client::Base
49
+
50
+ include Aws::ClientStubs
51
+
52
+ @identifier = :iotdeviceadvisor
53
+
54
+ set_api(ClientApi::API)
55
+
56
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
57
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
58
+ add_plugin(Aws::Plugins::Logging)
59
+ add_plugin(Aws::Plugins::ParamConverter)
60
+ add_plugin(Aws::Plugins::ParamValidator)
61
+ add_plugin(Aws::Plugins::UserAgent)
62
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
63
+ add_plugin(Aws::Plugins::RetryErrors)
64
+ add_plugin(Aws::Plugins::GlobalConfiguration)
65
+ add_plugin(Aws::Plugins::RegionalEndpoint)
66
+ add_plugin(Aws::Plugins::EndpointDiscovery)
67
+ add_plugin(Aws::Plugins::EndpointPattern)
68
+ add_plugin(Aws::Plugins::ResponsePaging)
69
+ add_plugin(Aws::Plugins::StubResponses)
70
+ add_plugin(Aws::Plugins::IdempotencyToken)
71
+ add_plugin(Aws::Plugins::JsonvalueConverter)
72
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
73
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
+ add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
76
+ add_plugin(Aws::Plugins::SignatureV4)
77
+ add_plugin(Aws::Plugins::Protocols::RestJson)
78
+
79
+ # @overload initialize(options)
80
+ # @param [Hash] options
81
+ # @option options [required, Aws::CredentialProvider] :credentials
82
+ # Your AWS credentials. This can be an instance of any one of the
83
+ # following classes:
84
+ #
85
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
+ # credentials.
87
+ #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
102
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
103
+ # from an EC2 IMDS on an EC2 instance.
104
+ #
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
107
+ #
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
110
+ #
111
+ # When `:credentials` are not configured directly, the following
112
+ # locations will be searched for credentials:
113
+ #
114
+ # * `Aws.config[:credentials]`
115
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
116
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
117
+ # * `~/.aws/credentials`
118
+ # * `~/.aws/config`
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
123
+ #
124
+ # @option options [required, String] :region
125
+ # The AWS region to connect to. The configured `:region` is
126
+ # used to determine the service `:endpoint`. When not passed,
127
+ # a default `:region` is searched for in the following locations:
128
+ #
129
+ # * `Aws.config[:region]`
130
+ # * `ENV['AWS_REGION']`
131
+ # * `ENV['AMAZON_REGION']`
132
+ # * `ENV['AWS_DEFAULT_REGION']`
133
+ # * `~/.aws/credentials`
134
+ # * `~/.aws/config`
135
+ #
136
+ # @option options [String] :access_key_id
137
+ #
138
+ # @option options [Boolean] :active_endpoint_cache (false)
139
+ # When set to `true`, a thread polling for endpoints will be running in
140
+ # the background every 60 secs (default). Defaults to `false`.
141
+ #
142
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
143
+ # Used only in `adaptive` retry mode. When true, the request will sleep
144
+ # until there is sufficent client side capacity to retry the request.
145
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
146
+ # not retry instead of sleeping.
147
+ #
148
+ # @option options [Boolean] :client_side_monitoring (false)
149
+ # When `true`, client-side metrics will be collected for all API requests from
150
+ # this client.
151
+ #
152
+ # @option options [String] :client_side_monitoring_client_id ("")
153
+ # Allows you to provide an identifier for this client which will be attached to
154
+ # all generated client side metrics. Defaults to an empty string.
155
+ #
156
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
157
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
158
+ # side monitoring agent is running on, where client metrics will be published via UDP.
159
+ #
160
+ # @option options [Integer] :client_side_monitoring_port (31000)
161
+ # Required for publishing client metrics. The port that the client side monitoring
162
+ # agent is running on, where client metrics will be published via UDP.
163
+ #
164
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
165
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
166
+ # will use the Client Side Monitoring Agent Publisher.
167
+ #
168
+ # @option options [Boolean] :convert_params (true)
169
+ # When `true`, an attempt is made to coerce request parameters into
170
+ # the required types.
171
+ #
172
+ # @option options [Boolean] :correct_clock_skew (true)
173
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
+ # a clock skew correction and retry requests with skewed client clocks.
175
+ #
176
+ # @option options [Boolean] :disable_host_prefix_injection (false)
177
+ # Set to true to disable SDK automatically adding host prefix
178
+ # to default service endpoint when available.
179
+ #
180
+ # @option options [String] :endpoint
181
+ # The client endpoint is normally constructed from the `:region`
182
+ # option. You should only configure an `:endpoint` when connecting
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
184
+ #
185
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
186
+ # Used for the maximum size limit of the LRU cache storing endpoints data
187
+ # for endpoint discovery enabled operations. Defaults to 1000.
188
+ #
189
+ # @option options [Integer] :endpoint_cache_max_threads (10)
190
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
191
+ #
192
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
193
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
194
+ # Use this option to config the time interval in seconds for making
195
+ # requests fetching endpoints information. Defaults to 60 sec.
196
+ #
197
+ # @option options [Boolean] :endpoint_discovery (false)
198
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
199
+ #
200
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
201
+ # The log formatter.
202
+ #
203
+ # @option options [Symbol] :log_level (:info)
204
+ # The log level to send messages to the `:logger` at.
205
+ #
206
+ # @option options [Logger] :logger
207
+ # The Logger instance to send log messages to. If this option
208
+ # is not set, logging will be disabled.
209
+ #
210
+ # @option options [Integer] :max_attempts (3)
211
+ # An integer representing the maximum number attempts that will be made for
212
+ # a single request, including the initial attempt. For example,
213
+ # setting this value to 5 will result in a request being retried up to
214
+ # 4 times. Used in `standard` and `adaptive` retry modes.
215
+ #
216
+ # @option options [String] :profile ("default")
217
+ # Used when loading credentials from the shared credentials file
218
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
219
+ #
220
+ # @option options [Proc] :retry_backoff
221
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
222
+ # This option is only used in the `legacy` retry mode.
223
+ #
224
+ # @option options [Float] :retry_base_delay (0.3)
225
+ # The base delay in seconds used by the default backoff function. This option
226
+ # is only used in the `legacy` retry mode.
227
+ #
228
+ # @option options [Symbol] :retry_jitter (:none)
229
+ # A delay randomiser function used by the default backoff function.
230
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
231
+ # otherwise a Proc that takes and returns a number. This option is only used
232
+ # in the `legacy` retry mode.
233
+ #
234
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
235
+ #
236
+ # @option options [Integer] :retry_limit (3)
237
+ # The maximum number of times to retry failed requests. Only
238
+ # ~ 500 level server errors and certain ~ 400 level client errors
239
+ # are retried. Generally, these are throttling errors, data
240
+ # checksum errors, networking errors, timeout errors, auth errors,
241
+ # endpoint discovery, and errors from expired credentials.
242
+ # This option is only used in the `legacy` retry mode.
243
+ #
244
+ # @option options [Integer] :retry_max_delay (0)
245
+ # The maximum number of seconds to delay between retries (0 for no limit)
246
+ # used by the default backoff function. This option is only used in the
247
+ # `legacy` retry mode.
248
+ #
249
+ # @option options [String] :retry_mode ("legacy")
250
+ # Specifies which retry algorithm to use. Values are:
251
+ #
252
+ # * `legacy` - The pre-existing retry behavior. This is default value if
253
+ # no retry mode is provided.
254
+ #
255
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
256
+ # This includes support for retry quotas, which limit the number of
257
+ # unsuccessful retries a client can make.
258
+ #
259
+ # * `adaptive` - An experimental retry mode that includes all the
260
+ # functionality of `standard` mode along with automatic client side
261
+ # throttling. This is a provisional mode that may change behavior
262
+ # in the future.
263
+ #
264
+ #
265
+ # @option options [String] :secret_access_key
266
+ #
267
+ # @option options [String] :session_token
268
+ #
269
+ # @option options [Boolean] :stub_responses (false)
270
+ # Causes the client to return stubbed responses. By default
271
+ # fake responses are generated and returned. You can specify
272
+ # the response data to return or errors to raise by calling
273
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
274
+ #
275
+ # ** Please note ** When response stubbing is enabled, no HTTP
276
+ # requests are made, and retries are disabled.
277
+ #
278
+ # @option options [Boolean] :validate_params (true)
279
+ # When `true`, request parameters are validated before
280
+ # sending the request.
281
+ #
282
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
283
+ # requests through. Formatted like 'http://proxy.com:123'.
284
+ #
285
+ # @option options [Float] :http_open_timeout (15) The number of
286
+ # seconds to wait when opening a HTTP session before raising a
287
+ # `Timeout::Error`.
288
+ #
289
+ # @option options [Integer] :http_read_timeout (60) The default
290
+ # number of seconds to wait for response data. This value can
291
+ # safely be set per-request on the session.
292
+ #
293
+ # @option options [Float] :http_idle_timeout (5) The number of
294
+ # seconds a connection is allowed to sit idle before it is
295
+ # considered stale. Stale connections are closed and removed
296
+ # from the pool before making a request.
297
+ #
298
+ # @option options [Float] :http_continue_timeout (1) The number of
299
+ # seconds to wait for a 100-continue response before sending the
300
+ # request body. This option has no effect unless the request has
301
+ # "Expect" header set to "100-continue". Defaults to `nil` which
302
+ # disables this behaviour. This value can safely be set per
303
+ # request on the session.
304
+ #
305
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
306
+ # HTTP debug output will be sent to the `:logger`.
307
+ #
308
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
309
+ # SSL peer certificates are verified when establishing a
310
+ # connection.
311
+ #
312
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
313
+ # certificate authority bundle file that should be used when
314
+ # verifying peer certificates. If you do not pass
315
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
316
+ # will be used if available.
317
+ #
318
+ # @option options [String] :ssl_ca_directory Full path of the
319
+ # directory that contains the unbundled SSL certificate
320
+ # authority files for verifying peer certificates. If you do
321
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
322
+ # system default will be used if available.
323
+ #
324
+ def initialize(*args)
325
+ super
326
+ end
327
+
328
+ # @!group API Operations
329
+
330
+ # Creates a Device Advisor test suite.
331
+ #
332
+ # @option params [Types::SuiteDefinitionConfiguration] :suite_definition_configuration
333
+ # Creates a Device Advisor test suite with suite definition
334
+ # configuration.
335
+ #
336
+ # @option params [Hash<String,String>] :tags
337
+ # The tags to be attached to the suite definition.
338
+ #
339
+ # @return [Types::CreateSuiteDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
340
+ #
341
+ # * {Types::CreateSuiteDefinitionResponse#suite_definition_id #suite_definition_id} => String
342
+ # * {Types::CreateSuiteDefinitionResponse#suite_definition_arn #suite_definition_arn} => String
343
+ # * {Types::CreateSuiteDefinitionResponse#suite_definition_name #suite_definition_name} => String
344
+ # * {Types::CreateSuiteDefinitionResponse#created_at #created_at} => Time
345
+ #
346
+ # @example Request syntax with placeholder values
347
+ #
348
+ # resp = client.create_suite_definition({
349
+ # suite_definition_configuration: {
350
+ # suite_definition_name: "SuiteDefinitionName",
351
+ # devices: [
352
+ # {
353
+ # thing_arn: "AmazonResourceName",
354
+ # certificate_arn: "AmazonResourceName",
355
+ # },
356
+ # ],
357
+ # intended_for_qualification: false,
358
+ # root_group: "RootGroup",
359
+ # device_permission_role_arn: "AmazonResourceName",
360
+ # },
361
+ # tags: {
362
+ # "String128" => "String256",
363
+ # },
364
+ # })
365
+ #
366
+ # @example Response structure
367
+ #
368
+ # resp.suite_definition_id #=> String
369
+ # resp.suite_definition_arn #=> String
370
+ # resp.suite_definition_name #=> String
371
+ # resp.created_at #=> Time
372
+ #
373
+ # @overload create_suite_definition(params = {})
374
+ # @param [Hash] params ({})
375
+ def create_suite_definition(params = {}, options = {})
376
+ req = build_request(:create_suite_definition, params)
377
+ req.send_request(options)
378
+ end
379
+
380
+ # Deletes a Device Advisor test suite.
381
+ #
382
+ # @option params [required, String] :suite_definition_id
383
+ # Deletes a Device Advisor test suite with defined suite Id.
384
+ #
385
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
386
+ #
387
+ # @example Request syntax with placeholder values
388
+ #
389
+ # resp = client.delete_suite_definition({
390
+ # suite_definition_id: "UUID", # required
391
+ # })
392
+ #
393
+ # @overload delete_suite_definition(params = {})
394
+ # @param [Hash] params ({})
395
+ def delete_suite_definition(params = {}, options = {})
396
+ req = build_request(:delete_suite_definition, params)
397
+ req.send_request(options)
398
+ end
399
+
400
+ # Gets information about a Device Advisor test suite.
401
+ #
402
+ # @option params [required, String] :suite_definition_id
403
+ # Requests suite definition Id with GetSuiteDefinition API call.
404
+ #
405
+ # @option params [String] :suite_definition_version
406
+ # Requests the suite definition version of a test suite.
407
+ #
408
+ # @return [Types::GetSuiteDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
409
+ #
410
+ # * {Types::GetSuiteDefinitionResponse#suite_definition_id #suite_definition_id} => String
411
+ # * {Types::GetSuiteDefinitionResponse#suite_definition_arn #suite_definition_arn} => String
412
+ # * {Types::GetSuiteDefinitionResponse#suite_definition_version #suite_definition_version} => String
413
+ # * {Types::GetSuiteDefinitionResponse#latest_version #latest_version} => String
414
+ # * {Types::GetSuiteDefinitionResponse#suite_definition_configuration #suite_definition_configuration} => Types::SuiteDefinitionConfiguration
415
+ # * {Types::GetSuiteDefinitionResponse#created_at #created_at} => Time
416
+ # * {Types::GetSuiteDefinitionResponse#last_modified_at #last_modified_at} => Time
417
+ # * {Types::GetSuiteDefinitionResponse#tags #tags} => Hash&lt;String,String&gt;
418
+ #
419
+ # @example Request syntax with placeholder values
420
+ #
421
+ # resp = client.get_suite_definition({
422
+ # suite_definition_id: "UUID", # required
423
+ # suite_definition_version: "SuiteDefinitionVersion",
424
+ # })
425
+ #
426
+ # @example Response structure
427
+ #
428
+ # resp.suite_definition_id #=> String
429
+ # resp.suite_definition_arn #=> String
430
+ # resp.suite_definition_version #=> String
431
+ # resp.latest_version #=> String
432
+ # resp.suite_definition_configuration.suite_definition_name #=> String
433
+ # resp.suite_definition_configuration.devices #=> Array
434
+ # resp.suite_definition_configuration.devices[0].thing_arn #=> String
435
+ # resp.suite_definition_configuration.devices[0].certificate_arn #=> String
436
+ # resp.suite_definition_configuration.intended_for_qualification #=> Boolean
437
+ # resp.suite_definition_configuration.root_group #=> String
438
+ # resp.suite_definition_configuration.device_permission_role_arn #=> String
439
+ # resp.created_at #=> Time
440
+ # resp.last_modified_at #=> Time
441
+ # resp.tags #=> Hash
442
+ # resp.tags["String128"] #=> String
443
+ #
444
+ # @overload get_suite_definition(params = {})
445
+ # @param [Hash] params ({})
446
+ def get_suite_definition(params = {}, options = {})
447
+ req = build_request(:get_suite_definition, params)
448
+ req.send_request(options)
449
+ end
450
+
451
+ # Gets information about a Device Advisor test suite run.
452
+ #
453
+ # @option params [required, String] :suite_definition_id
454
+ # Requests the information about Device Advisor test suite run based on
455
+ # suite definition Id.
456
+ #
457
+ # @option params [required, String] :suite_run_id
458
+ # Requests the information about Device Advisor test suite run based on
459
+ # suite run Id.
460
+ #
461
+ # @return [Types::GetSuiteRunResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
462
+ #
463
+ # * {Types::GetSuiteRunResponse#suite_definition_id #suite_definition_id} => String
464
+ # * {Types::GetSuiteRunResponse#suite_definition_version #suite_definition_version} => String
465
+ # * {Types::GetSuiteRunResponse#suite_run_id #suite_run_id} => String
466
+ # * {Types::GetSuiteRunResponse#suite_run_arn #suite_run_arn} => String
467
+ # * {Types::GetSuiteRunResponse#suite_run_configuration #suite_run_configuration} => Types::SuiteRunConfiguration
468
+ # * {Types::GetSuiteRunResponse#test_result #test_result} => Types::TestResult
469
+ # * {Types::GetSuiteRunResponse#start_time #start_time} => Time
470
+ # * {Types::GetSuiteRunResponse#end_time #end_time} => Time
471
+ # * {Types::GetSuiteRunResponse#status #status} => String
472
+ # * {Types::GetSuiteRunResponse#error_reason #error_reason} => String
473
+ # * {Types::GetSuiteRunResponse#tags #tags} => Hash&lt;String,String&gt;
474
+ #
475
+ # @example Request syntax with placeholder values
476
+ #
477
+ # resp = client.get_suite_run({
478
+ # suite_definition_id: "UUID", # required
479
+ # suite_run_id: "UUID", # required
480
+ # })
481
+ #
482
+ # @example Response structure
483
+ #
484
+ # resp.suite_definition_id #=> String
485
+ # resp.suite_definition_version #=> String
486
+ # resp.suite_run_id #=> String
487
+ # resp.suite_run_arn #=> String
488
+ # resp.suite_run_configuration.primary_device.thing_arn #=> String
489
+ # resp.suite_run_configuration.primary_device.certificate_arn #=> String
490
+ # resp.suite_run_configuration.secondary_device.thing_arn #=> String
491
+ # resp.suite_run_configuration.secondary_device.certificate_arn #=> String
492
+ # resp.suite_run_configuration.selected_test_list #=> Array
493
+ # resp.suite_run_configuration.selected_test_list[0] #=> String
494
+ # resp.test_result.groups #=> Array
495
+ # resp.test_result.groups[0].group_id #=> String
496
+ # resp.test_result.groups[0].group_name #=> String
497
+ # resp.test_result.groups[0].tests #=> Array
498
+ # resp.test_result.groups[0].tests[0].test_case_run_id #=> String
499
+ # resp.test_result.groups[0].tests[0].test_case_definition_id #=> String
500
+ # resp.test_result.groups[0].tests[0].test_case_definition_name #=> String
501
+ # resp.test_result.groups[0].tests[0].status #=> String, one of "PASS", "FAIL", "CANCELED", "PENDING", "RUNNING", "PASS_WITH_WARNINGS", "ERROR"
502
+ # resp.test_result.groups[0].tests[0].start_time #=> Time
503
+ # resp.test_result.groups[0].tests[0].end_time #=> Time
504
+ # resp.test_result.groups[0].tests[0].log_url #=> String
505
+ # resp.test_result.groups[0].tests[0].warnings #=> String
506
+ # resp.test_result.groups[0].tests[0].failure #=> String
507
+ # resp.start_time #=> Time
508
+ # resp.end_time #=> Time
509
+ # resp.status #=> String, one of "PASS", "FAIL", "CANCELED", "PENDING", "RUNNING", "PASS_WITH_WARNINGS", "ERROR"
510
+ # resp.error_reason #=> String
511
+ # resp.tags #=> Hash
512
+ # resp.tags["String128"] #=> String
513
+ #
514
+ # @overload get_suite_run(params = {})
515
+ # @param [Hash] params ({})
516
+ def get_suite_run(params = {}, options = {})
517
+ req = build_request(:get_suite_run, params)
518
+ req.send_request(options)
519
+ end
520
+
521
+ # Gets a report download link for a successful Device Advisor qualifying
522
+ # test suite run.
523
+ #
524
+ # @option params [required, String] :suite_definition_id
525
+ # Device Advisor suite definition Id.
526
+ #
527
+ # @option params [required, String] :suite_run_id
528
+ # Device Advisor suite run Id.
529
+ #
530
+ # @return [Types::GetSuiteRunReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
531
+ #
532
+ # * {Types::GetSuiteRunReportResponse#qualification_report_download_url #qualification_report_download_url} => String
533
+ #
534
+ # @example Request syntax with placeholder values
535
+ #
536
+ # resp = client.get_suite_run_report({
537
+ # suite_definition_id: "UUID", # required
538
+ # suite_run_id: "UUID", # required
539
+ # })
540
+ #
541
+ # @example Response structure
542
+ #
543
+ # resp.qualification_report_download_url #=> String
544
+ #
545
+ # @overload get_suite_run_report(params = {})
546
+ # @param [Hash] params ({})
547
+ def get_suite_run_report(params = {}, options = {})
548
+ req = build_request(:get_suite_run_report, params)
549
+ req.send_request(options)
550
+ end
551
+
552
+ # Lists the Device Advisor test suites you have created.
553
+ #
554
+ # @option params [Integer] :max_results
555
+ # Request the list of all the Device Advisor test suites.
556
+ #
557
+ # @option params [String] :next_token
558
+ # Requests the Device Advisor test suites next token.
559
+ #
560
+ # @return [Types::ListSuiteDefinitionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
561
+ #
562
+ # * {Types::ListSuiteDefinitionsResponse#suite_definition_information_list #suite_definition_information_list} => Array&lt;Types::SuiteDefinitionInformation&gt;
563
+ # * {Types::ListSuiteDefinitionsResponse#next_token #next_token} => String
564
+ #
565
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
566
+ #
567
+ # @example Request syntax with placeholder values
568
+ #
569
+ # resp = client.list_suite_definitions({
570
+ # max_results: 1,
571
+ # next_token: "Token",
572
+ # })
573
+ #
574
+ # @example Response structure
575
+ #
576
+ # resp.suite_definition_information_list #=> Array
577
+ # resp.suite_definition_information_list[0].suite_definition_id #=> String
578
+ # resp.suite_definition_information_list[0].suite_definition_name #=> String
579
+ # resp.suite_definition_information_list[0].default_devices #=> Array
580
+ # resp.suite_definition_information_list[0].default_devices[0].thing_arn #=> String
581
+ # resp.suite_definition_information_list[0].default_devices[0].certificate_arn #=> String
582
+ # resp.suite_definition_information_list[0].intended_for_qualification #=> Boolean
583
+ # resp.suite_definition_information_list[0].created_at #=> Time
584
+ # resp.next_token #=> String
585
+ #
586
+ # @overload list_suite_definitions(params = {})
587
+ # @param [Hash] params ({})
588
+ def list_suite_definitions(params = {}, options = {})
589
+ req = build_request(:list_suite_definitions, params)
590
+ req.send_request(options)
591
+ end
592
+
593
+ # Lists the runs of the specified Device Advisor test suite. You can
594
+ # list all runs of the test suite, or the runs of a specific version of
595
+ # the test suite.
596
+ #
597
+ # @option params [String] :suite_definition_id
598
+ # Lists the runs of the specified Device Advisor test suite based on
599
+ # suite definition Id.
600
+ #
601
+ # @option params [String] :suite_definition_version
602
+ # Lists the runs of the specified Device Advisor test suite based on
603
+ # suite definition version.
604
+ #
605
+ # @option params [Integer] :max_results
606
+ # MaxResults for list suite run API request.
607
+ #
608
+ # @option params [String] :next_token
609
+ # Next pagination token for list suite run request.
610
+ #
611
+ # @return [Types::ListSuiteRunsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
612
+ #
613
+ # * {Types::ListSuiteRunsResponse#suite_runs_list #suite_runs_list} => Array&lt;Types::SuiteRunInformation&gt;
614
+ # * {Types::ListSuiteRunsResponse#next_token #next_token} => String
615
+ #
616
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
617
+ #
618
+ # @example Request syntax with placeholder values
619
+ #
620
+ # resp = client.list_suite_runs({
621
+ # suite_definition_id: "UUID",
622
+ # suite_definition_version: "SuiteDefinitionVersion",
623
+ # max_results: 1,
624
+ # next_token: "Token",
625
+ # })
626
+ #
627
+ # @example Response structure
628
+ #
629
+ # resp.suite_runs_list #=> Array
630
+ # resp.suite_runs_list[0].suite_definition_id #=> String
631
+ # resp.suite_runs_list[0].suite_definition_version #=> String
632
+ # resp.suite_runs_list[0].suite_definition_name #=> String
633
+ # resp.suite_runs_list[0].suite_run_id #=> String
634
+ # resp.suite_runs_list[0].created_at #=> Time
635
+ # resp.suite_runs_list[0].started_at #=> Time
636
+ # resp.suite_runs_list[0].end_at #=> Time
637
+ # resp.suite_runs_list[0].status #=> String, one of "PASS", "FAIL", "CANCELED", "PENDING", "RUNNING", "PASS_WITH_WARNINGS", "ERROR"
638
+ # resp.suite_runs_list[0].passed #=> Integer
639
+ # resp.suite_runs_list[0].failed #=> Integer
640
+ # resp.next_token #=> String
641
+ #
642
+ # @overload list_suite_runs(params = {})
643
+ # @param [Hash] params ({})
644
+ def list_suite_runs(params = {}, options = {})
645
+ req = build_request(:list_suite_runs, params)
646
+ req.send_request(options)
647
+ end
648
+
649
+ # Lists the tags attached to an IoT Device Advisor resource.
650
+ #
651
+ # @option params [required, String] :resource_arn
652
+ # The ARN of the IoT Device Advisor resource.
653
+ #
654
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
655
+ #
656
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
657
+ #
658
+ # @example Request syntax with placeholder values
659
+ #
660
+ # resp = client.list_tags_for_resource({
661
+ # resource_arn: "AmazonResourceName", # required
662
+ # })
663
+ #
664
+ # @example Response structure
665
+ #
666
+ # resp.tags #=> Hash
667
+ # resp.tags["String128"] #=> String
668
+ #
669
+ # @overload list_tags_for_resource(params = {})
670
+ # @param [Hash] params ({})
671
+ def list_tags_for_resource(params = {}, options = {})
672
+ req = build_request(:list_tags_for_resource, params)
673
+ req.send_request(options)
674
+ end
675
+
676
+ # Lists all the test cases in the test suite.
677
+ #
678
+ # @option params [Boolean] :intended_for_qualification
679
+ # Lists all the qualification test cases in the test suite.
680
+ #
681
+ # @option params [Integer] :max_results
682
+ # Requests the test cases max results.
683
+ #
684
+ # @option params [String] :next_token
685
+ # Requests the test cases next token.
686
+ #
687
+ # @return [Types::ListTestCasesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
688
+ #
689
+ # * {Types::ListTestCasesResponse#categories #categories} => Array&lt;Types::TestCaseCategory&gt;
690
+ # * {Types::ListTestCasesResponse#root_group_configuration #root_group_configuration} => Hash&lt;String,String&gt;
691
+ # * {Types::ListTestCasesResponse#group_configuration #group_configuration} => Hash&lt;String,String&gt;
692
+ # * {Types::ListTestCasesResponse#next_token #next_token} => String
693
+ #
694
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
695
+ #
696
+ # @example Request syntax with placeholder values
697
+ #
698
+ # resp = client.list_test_cases({
699
+ # intended_for_qualification: false,
700
+ # max_results: 1,
701
+ # next_token: "Token",
702
+ # })
703
+ #
704
+ # @example Response structure
705
+ #
706
+ # resp.categories #=> Array
707
+ # resp.categories[0].name #=> String
708
+ # resp.categories[0].tests #=> Array
709
+ # resp.categories[0].tests[0].name #=> String
710
+ # resp.categories[0].tests[0].configuration #=> Hash
711
+ # resp.categories[0].tests[0].configuration["ConfigString"] #=> String
712
+ # resp.categories[0].tests[0].test.id #=> String
713
+ # resp.categories[0].tests[0].test.test_case_version #=> String
714
+ # resp.root_group_configuration #=> Hash
715
+ # resp.root_group_configuration["ConfigString"] #=> String
716
+ # resp.group_configuration #=> Hash
717
+ # resp.group_configuration["ConfigString"] #=> String
718
+ # resp.next_token #=> String
719
+ #
720
+ # @overload list_test_cases(params = {})
721
+ # @param [Hash] params ({})
722
+ def list_test_cases(params = {}, options = {})
723
+ req = build_request(:list_test_cases, params)
724
+ req.send_request(options)
725
+ end
726
+
727
+ # Starts a Device Advisor test suite run.
728
+ #
729
+ # @option params [required, String] :suite_definition_id
730
+ # Request to start suite run based on suite definition Id.
731
+ #
732
+ # @option params [String] :suite_definition_version
733
+ # Request to start suite run based on suite definition version.
734
+ #
735
+ # @option params [Types::SuiteRunConfiguration] :suite_run_configuration
736
+ # Request to start suite run based on suite configuration.
737
+ #
738
+ # @option params [Hash<String,String>] :tags
739
+ # The tags to be attached to the suite run.
740
+ #
741
+ # @return [Types::StartSuiteRunResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
742
+ #
743
+ # * {Types::StartSuiteRunResponse#suite_run_id #suite_run_id} => String
744
+ # * {Types::StartSuiteRunResponse#suite_run_arn #suite_run_arn} => String
745
+ # * {Types::StartSuiteRunResponse#created_at #created_at} => Time
746
+ #
747
+ # @example Request syntax with placeholder values
748
+ #
749
+ # resp = client.start_suite_run({
750
+ # suite_definition_id: "UUID", # required
751
+ # suite_definition_version: "SuiteDefinitionVersion",
752
+ # suite_run_configuration: {
753
+ # primary_device: {
754
+ # thing_arn: "AmazonResourceName",
755
+ # certificate_arn: "AmazonResourceName",
756
+ # },
757
+ # secondary_device: {
758
+ # thing_arn: "AmazonResourceName",
759
+ # certificate_arn: "AmazonResourceName",
760
+ # },
761
+ # selected_test_list: ["UUID"],
762
+ # },
763
+ # tags: {
764
+ # "String128" => "String256",
765
+ # },
766
+ # })
767
+ #
768
+ # @example Response structure
769
+ #
770
+ # resp.suite_run_id #=> String
771
+ # resp.suite_run_arn #=> String
772
+ # resp.created_at #=> Time
773
+ #
774
+ # @overload start_suite_run(params = {})
775
+ # @param [Hash] params ({})
776
+ def start_suite_run(params = {}, options = {})
777
+ req = build_request(:start_suite_run, params)
778
+ req.send_request(options)
779
+ end
780
+
781
+ # Adds to and modifies existing tags of an IoT Device Advisor resource.
782
+ #
783
+ # @option params [required, String] :resource_arn
784
+ # The resource ARN of an IoT Device Advisor resource.
785
+ #
786
+ # @option params [required, Hash<String,String>] :tags
787
+ # The tags to be attached to the IoT Device Advisor resource.
788
+ #
789
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
790
+ #
791
+ # @example Request syntax with placeholder values
792
+ #
793
+ # resp = client.tag_resource({
794
+ # resource_arn: "AmazonResourceName", # required
795
+ # tags: { # required
796
+ # "String128" => "String256",
797
+ # },
798
+ # })
799
+ #
800
+ # @overload tag_resource(params = {})
801
+ # @param [Hash] params ({})
802
+ def tag_resource(params = {}, options = {})
803
+ req = build_request(:tag_resource, params)
804
+ req.send_request(options)
805
+ end
806
+
807
+ # Removes tags from an IoT Device Advisor resource.
808
+ #
809
+ # @option params [required, String] :resource_arn
810
+ # The resource ARN of an IoT Device Advisor resource.
811
+ #
812
+ # @option params [required, Array<String>] :tag_keys
813
+ # List of tag keys to remove from the IoT Device Advisor resource.
814
+ #
815
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
816
+ #
817
+ # @example Request syntax with placeholder values
818
+ #
819
+ # resp = client.untag_resource({
820
+ # resource_arn: "AmazonResourceName", # required
821
+ # tag_keys: ["String128"], # required
822
+ # })
823
+ #
824
+ # @overload untag_resource(params = {})
825
+ # @param [Hash] params ({})
826
+ def untag_resource(params = {}, options = {})
827
+ req = build_request(:untag_resource, params)
828
+ req.send_request(options)
829
+ end
830
+
831
+ # Updates a Device Advisor test suite.
832
+ #
833
+ # @option params [required, String] :suite_definition_id
834
+ # Updates a Device Advisor test suite with suite definition id.
835
+ #
836
+ # @option params [Types::SuiteDefinitionConfiguration] :suite_definition_configuration
837
+ # Updates a Device Advisor test suite with suite definition
838
+ # configuration.
839
+ #
840
+ # @return [Types::UpdateSuiteDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
841
+ #
842
+ # * {Types::UpdateSuiteDefinitionResponse#suite_definition_id #suite_definition_id} => String
843
+ # * {Types::UpdateSuiteDefinitionResponse#suite_definition_arn #suite_definition_arn} => String
844
+ # * {Types::UpdateSuiteDefinitionResponse#suite_definition_name #suite_definition_name} => String
845
+ # * {Types::UpdateSuiteDefinitionResponse#suite_definition_version #suite_definition_version} => String
846
+ # * {Types::UpdateSuiteDefinitionResponse#created_at #created_at} => Time
847
+ # * {Types::UpdateSuiteDefinitionResponse#last_updated_at #last_updated_at} => Time
848
+ #
849
+ # @example Request syntax with placeholder values
850
+ #
851
+ # resp = client.update_suite_definition({
852
+ # suite_definition_id: "UUID", # required
853
+ # suite_definition_configuration: {
854
+ # suite_definition_name: "SuiteDefinitionName",
855
+ # devices: [
856
+ # {
857
+ # thing_arn: "AmazonResourceName",
858
+ # certificate_arn: "AmazonResourceName",
859
+ # },
860
+ # ],
861
+ # intended_for_qualification: false,
862
+ # root_group: "RootGroup",
863
+ # device_permission_role_arn: "AmazonResourceName",
864
+ # },
865
+ # })
866
+ #
867
+ # @example Response structure
868
+ #
869
+ # resp.suite_definition_id #=> String
870
+ # resp.suite_definition_arn #=> String
871
+ # resp.suite_definition_name #=> String
872
+ # resp.suite_definition_version #=> String
873
+ # resp.created_at #=> Time
874
+ # resp.last_updated_at #=> Time
875
+ #
876
+ # @overload update_suite_definition(params = {})
877
+ # @param [Hash] params ({})
878
+ def update_suite_definition(params = {}, options = {})
879
+ req = build_request(:update_suite_definition, params)
880
+ req.send_request(options)
881
+ end
882
+
883
+ # @!endgroup
884
+
885
+ # @param params ({})
886
+ # @api private
887
+ def build_request(operation_name, params = {})
888
+ handlers = @handlers.for(operation_name)
889
+ context = Seahorse::Client::RequestContext.new(
890
+ operation_name: operation_name,
891
+ operation: config.api.operation(operation_name),
892
+ client: self,
893
+ params: params,
894
+ config: config)
895
+ context[:gem_name] = 'aws-sdk-iotdeviceadvisor'
896
+ context[:gem_version] = '1.0.0'
897
+ Seahorse::Client::Request.new(handlers, context)
898
+ end
899
+
900
+ # @api private
901
+ # @deprecated
902
+ def waiter_names
903
+ []
904
+ end
905
+
906
+ class << self
907
+
908
+ # @api private
909
+ attr_reader :identifier
910
+
911
+ # @api private
912
+ def errors_module
913
+ Errors
914
+ end
915
+
916
+ end
917
+ end
918
+ end