aws-sdk-iot 1.0.0.rc1

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
+ SHA1:
3
+ metadata.gz: 9c865cbf91f2a0c3e73a2bede8693234a4679212
4
+ data.tar.gz: ad22e0abddd8082572d86fa9743fee7f2d25dece
5
+ SHA512:
6
+ metadata.gz: 2c573509125a7fb5420f3faec79c75f4f4bb387b97e2b357d2ad4f82d7a3d2bf026c0d14568237349243355c662ff5d0ad225715827d4695060feedde28320da
7
+ data.tar.gz: b1ec077a2561f1d7a53b1a4ab5859f9bb4a7b1873a06b41cab1312aff2a8c41f133d3deecb442a5735081959d376fd4b90d1af63cadd18279e9981f7dde76f9f
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
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-iot/types'
12
+ require_relative 'aws-sdk-iot/client_api'
13
+ require_relative 'aws-sdk-iot/client'
14
+ require_relative 'aws-sdk-iot/errors'
15
+ require_relative 'aws-sdk-iot/resource'
16
+ require_relative 'aws-sdk-iot/customizations'
17
+
18
+ # This module provides support for AWS IoT. This module is available in the
19
+ # `aws-sdk-iot` 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
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from AWS IoT all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::IoT::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::IoT
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,2015 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
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/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:iot)
25
+
26
+ module Aws
27
+ module IoT
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :iot
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::RestJson)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :stub_responses (false)
117
+ # Causes the client to return stubbed responses. By default
118
+ # fake responses are generated and returned. You can specify
119
+ # the response data to return or errors to raise by calling
120
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
121
+ #
122
+ # ** Please note ** When response stubbing is enabled, no HTTP
123
+ # requests are made, and retries are disabled.
124
+ # @option options [Boolean] :validate_params (true)
125
+ # When `true`, request parameters are validated before
126
+ # sending the request.
127
+ def initialize(*args)
128
+ super
129
+ end
130
+
131
+ # @!group API Operations
132
+
133
+ # Accepts a pending certificate transfer. The default state of the
134
+ # certificate is INACTIVE.
135
+ #
136
+ # To check for pending certificate transfers, call ListCertificates to
137
+ # enumerate your certificates.
138
+ # @option params [required, String] :certificate_id
139
+ # The ID of the certificate.
140
+ # @option params [Boolean] :set_as_active
141
+ # Specifies whether the certificate is active.
142
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
143
+ #
144
+ # @example Request syntax with placeholder values
145
+ # resp = client.accept_certificate_transfer({
146
+ # certificate_id: "CertificateId", # required
147
+ # set_as_active: false,
148
+ # })
149
+ # @overload accept_certificate_transfer(params = {})
150
+ # @param [Hash] params ({})
151
+ def accept_certificate_transfer(params = {}, options = {})
152
+ req = build_request(:accept_certificate_transfer, params)
153
+ req.send_request(options)
154
+ end
155
+
156
+ # Attaches the specified policy to the specified principal (certificate
157
+ # or other credential).
158
+ # @option params [required, String] :policy_name
159
+ # The policy name.
160
+ # @option params [required, String] :principal
161
+ # The principal, which can be a certificate ARN (as returned from the
162
+ # CreateCertificate operation) or an Amazon Cognito ID.
163
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
164
+ #
165
+ # @example Request syntax with placeholder values
166
+ # resp = client.attach_principal_policy({
167
+ # policy_name: "PolicyName", # required
168
+ # principal: "Principal", # required
169
+ # })
170
+ # @overload attach_principal_policy(params = {})
171
+ # @param [Hash] params ({})
172
+ def attach_principal_policy(params = {}, options = {})
173
+ req = build_request(:attach_principal_policy, params)
174
+ req.send_request(options)
175
+ end
176
+
177
+ # Attaches the specified principal to the specified thing.
178
+ # @option params [required, String] :thing_name
179
+ # The name of the thing.
180
+ # @option params [required, String] :principal
181
+ # The principal, such as a certificate or other credential.
182
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
183
+ #
184
+ # @example Request syntax with placeholder values
185
+ # resp = client.attach_thing_principal({
186
+ # thing_name: "ThingName", # required
187
+ # principal: "Principal", # required
188
+ # })
189
+ # @overload attach_thing_principal(params = {})
190
+ # @param [Hash] params ({})
191
+ def attach_thing_principal(params = {}, options = {})
192
+ req = build_request(:attach_thing_principal, params)
193
+ req.send_request(options)
194
+ end
195
+
196
+ # Cancels a pending transfer for the specified certificate.
197
+ #
198
+ # **Note** Only the transfer source account can use this operation to
199
+ # cancel a transfer. (Transfer destinations can use
200
+ # RejectCertificateTransfer instead.) After transfer, AWS IoT returns
201
+ # the certificate to the source account in the INACTIVE state. After the
202
+ # destination account has accepted the transfer, the transfer cannot be
203
+ # cancelled.
204
+ #
205
+ # After a certificate transfer is cancelled, the status of the
206
+ # certificate changes from PENDING\_TRANSFER to INACTIVE.
207
+ # @option params [required, String] :certificate_id
208
+ # The ID of the certificate.
209
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
210
+ #
211
+ # @example Request syntax with placeholder values
212
+ # resp = client.cancel_certificate_transfer({
213
+ # certificate_id: "CertificateId", # required
214
+ # })
215
+ # @overload cancel_certificate_transfer(params = {})
216
+ # @param [Hash] params ({})
217
+ def cancel_certificate_transfer(params = {}, options = {})
218
+ req = build_request(:cancel_certificate_transfer, params)
219
+ req.send_request(options)
220
+ end
221
+
222
+ # Creates an X.509 certificate using the specified certificate signing
223
+ # request.
224
+ #
225
+ # **Note** Reusing the same certificate signing request (CSR) results in
226
+ # a distinct certificate.
227
+ #
228
+ # You can create multiple certificates in a batch by creating a
229
+ # directory, copying multiple .csr files into that directory, and then
230
+ # specifying that directory on the command line. The following commands
231
+ # show how to create a batch of certificates given a batch of CSRs.
232
+ #
233
+ # Assuming a set of CSRs are located inside of the directory
234
+ # my-csr-directory:
235
+ #
236
+ # On Linux and OS X, the command is:
237
+ #
238
+ # $ ls my-csr-directory/ \| xargs -I \\\{\\} aws iot
239
+ # create-certificate-from-csr --certificate-signing-request
240
+ # file://my-csr-directory/\\\{\\}
241
+ #
242
+ # This command lists all of the CSRs in my-csr-directory and pipes each
243
+ # CSR file name to the aws iot create-certificate-from-csr AWS CLI
244
+ # command to create a certificate for the corresponding CSR.
245
+ #
246
+ # The aws iot create-certificate-from-csr part of the command can also
247
+ # be run in parallel to speed up the certificate creation process:
248
+ #
249
+ # $ ls my-csr-directory/ \| xargs -P 10 -I \\\{\\} aws iot
250
+ # create-certificate-from-csr --certificate-signing-request
251
+ # file://my-csr-directory/\\\{\\}
252
+ #
253
+ # On Windows PowerShell, the command to create certificates for all CSRs
254
+ # in my-csr-directory is:
255
+ #
256
+ # &gt; ls -Name my-csr-directory \| %\\\{aws iot
257
+ # create-certificate-from-csr --certificate-signing-request
258
+ # file://my-csr-directory/$\_\\}
259
+ #
260
+ # On a Windows command prompt, the command to create certificates for
261
+ # all CSRs in my-csr-directory is:
262
+ #
263
+ # &gt; forfiles /p my-csr-directory /c "cmd /c aws iot
264
+ # create-certificate-from-csr --certificate-signing-request
265
+ # file://@path"
266
+ # @option params [required, String] :certificate_signing_request
267
+ # The certificate signing request (CSR).
268
+ # @option params [Boolean] :set_as_active
269
+ # Specifies whether the certificate is active.
270
+ # @return [Types::CreateCertificateFromCsrResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
271
+ #
272
+ # * {Types::CreateCertificateFromCsrResponse#certificate_arn #certificateArn} => String
273
+ # * {Types::CreateCertificateFromCsrResponse#certificate_id #certificateId} => String
274
+ # * {Types::CreateCertificateFromCsrResponse#certificate_pem #certificatePem} => String
275
+ #
276
+ # @example Request syntax with placeholder values
277
+ # resp = client.create_certificate_from_csr({
278
+ # certificate_signing_request: "CertificateSigningRequest", # required
279
+ # set_as_active: false,
280
+ # })
281
+ #
282
+ # @example Response structure
283
+ # resp.certificate_arn #=> String
284
+ # resp.certificate_id #=> String
285
+ # resp.certificate_pem #=> String
286
+ # @overload create_certificate_from_csr(params = {})
287
+ # @param [Hash] params ({})
288
+ def create_certificate_from_csr(params = {}, options = {})
289
+ req = build_request(:create_certificate_from_csr, params)
290
+ req.send_request(options)
291
+ end
292
+
293
+ # Creates a 2048-bit RSA key pair and issues an X.509 certificate using
294
+ # the issued public key.
295
+ #
296
+ # **Note** This is the only time AWS IoT issues the private key for this
297
+ # certificate, so it is important to keep it in a secure location.
298
+ # @option params [Boolean] :set_as_active
299
+ # Specifies whether the certificate is active.
300
+ # @return [Types::CreateKeysAndCertificateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
301
+ #
302
+ # * {Types::CreateKeysAndCertificateResponse#certificate_arn #certificateArn} => String
303
+ # * {Types::CreateKeysAndCertificateResponse#certificate_id #certificateId} => String
304
+ # * {Types::CreateKeysAndCertificateResponse#certificate_pem #certificatePem} => String
305
+ # * {Types::CreateKeysAndCertificateResponse#key_pair #keyPair} => Types::KeyPair
306
+ #
307
+ # @example Request syntax with placeholder values
308
+ # resp = client.create_keys_and_certificate({
309
+ # set_as_active: false,
310
+ # })
311
+ #
312
+ # @example Response structure
313
+ # resp.certificate_arn #=> String
314
+ # resp.certificate_id #=> String
315
+ # resp.certificate_pem #=> String
316
+ # resp.key_pair.public_key #=> String
317
+ # resp.key_pair.private_key #=> String
318
+ # @overload create_keys_and_certificate(params = {})
319
+ # @param [Hash] params ({})
320
+ def create_keys_and_certificate(params = {}, options = {})
321
+ req = build_request(:create_keys_and_certificate, params)
322
+ req.send_request(options)
323
+ end
324
+
325
+ # Creates an AWS IoT policy.
326
+ #
327
+ # The created policy is the default version for the policy. This
328
+ # operation creates a policy version with a version identifier of **1**
329
+ # and sets **1** as the policy's default version.
330
+ # @option params [required, String] :policy_name
331
+ # The policy name.
332
+ # @option params [required, String] :policy_document
333
+ # The JSON document that describes the policy. **policyDocument** must
334
+ # have a minimum length of 1, with a maximum length of 2048, excluding
335
+ # whitespace.
336
+ # @return [Types::CreatePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
337
+ #
338
+ # * {Types::CreatePolicyResponse#policy_name #policyName} => String
339
+ # * {Types::CreatePolicyResponse#policy_arn #policyArn} => String
340
+ # * {Types::CreatePolicyResponse#policy_document #policyDocument} => String
341
+ # * {Types::CreatePolicyResponse#policy_version_id #policyVersionId} => String
342
+ #
343
+ # @example Request syntax with placeholder values
344
+ # resp = client.create_policy({
345
+ # policy_name: "PolicyName", # required
346
+ # policy_document: "PolicyDocument", # required
347
+ # })
348
+ #
349
+ # @example Response structure
350
+ # resp.policy_name #=> String
351
+ # resp.policy_arn #=> String
352
+ # resp.policy_document #=> String
353
+ # resp.policy_version_id #=> String
354
+ # @overload create_policy(params = {})
355
+ # @param [Hash] params ({})
356
+ def create_policy(params = {}, options = {})
357
+ req = build_request(:create_policy, params)
358
+ req.send_request(options)
359
+ end
360
+
361
+ # Creates a new version of the specified AWS IoT policy. To update a
362
+ # policy, create a new policy version. A managed policy can have up to
363
+ # five versions. If the policy has five versions, you must use
364
+ # DeletePolicyVersion to delete an existing version before you create a
365
+ # new one.
366
+ #
367
+ # Optionally, you can set the new version as the policy's default
368
+ # version. The default version is the operative version (that is, the
369
+ # version that is in effect for the certificates to which the policy is
370
+ # attached).
371
+ # @option params [required, String] :policy_name
372
+ # The policy name.
373
+ # @option params [required, String] :policy_document
374
+ # The JSON document that describes the policy. Minimum length of 1.
375
+ # Maximum length of 2048, excluding whitespaces
376
+ # @option params [Boolean] :set_as_default
377
+ # Specifies whether the policy version is set as the default. When this
378
+ # parameter is true, the new policy version becomes the operative
379
+ # version (that is, the version that is in effect for the certificates
380
+ # to which the policy is attached).
381
+ # @return [Types::CreatePolicyVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
382
+ #
383
+ # * {Types::CreatePolicyVersionResponse#policy_arn #policyArn} => String
384
+ # * {Types::CreatePolicyVersionResponse#policy_document #policyDocument} => String
385
+ # * {Types::CreatePolicyVersionResponse#policy_version_id #policyVersionId} => String
386
+ # * {Types::CreatePolicyVersionResponse#is_default_version #isDefaultVersion} => Boolean
387
+ #
388
+ # @example Request syntax with placeholder values
389
+ # resp = client.create_policy_version({
390
+ # policy_name: "PolicyName", # required
391
+ # policy_document: "PolicyDocument", # required
392
+ # set_as_default: false,
393
+ # })
394
+ #
395
+ # @example Response structure
396
+ # resp.policy_arn #=> String
397
+ # resp.policy_document #=> String
398
+ # resp.policy_version_id #=> String
399
+ # resp.is_default_version #=> Boolean
400
+ # @overload create_policy_version(params = {})
401
+ # @param [Hash] params ({})
402
+ def create_policy_version(params = {}, options = {})
403
+ req = build_request(:create_policy_version, params)
404
+ req.send_request(options)
405
+ end
406
+
407
+ # Creates a thing record in the thing registry.
408
+ # @option params [required, String] :thing_name
409
+ # The name of the thing to create.
410
+ # @option params [String] :thing_type_name
411
+ # The name of the thing type associated with the new thing.
412
+ # @option params [Types::AttributePayload] :attribute_payload
413
+ # The attribute payload, which consists of up to three name/value pairs
414
+ # in a JSON document. For example:
415
+ #
416
+ # `\{"attributes":\{"string1":"string2"\}\})`
417
+ # @return [Types::CreateThingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
418
+ #
419
+ # * {Types::CreateThingResponse#thing_name #thingName} => String
420
+ # * {Types::CreateThingResponse#thing_arn #thingArn} => String
421
+ #
422
+ # @example Request syntax with placeholder values
423
+ # resp = client.create_thing({
424
+ # thing_name: "ThingName", # required
425
+ # thing_type_name: "ThingTypeName",
426
+ # attribute_payload: {
427
+ # attributes: {
428
+ # "AttributeName" => "AttributeValue",
429
+ # },
430
+ # merge: false,
431
+ # },
432
+ # })
433
+ #
434
+ # @example Response structure
435
+ # resp.thing_name #=> String
436
+ # resp.thing_arn #=> String
437
+ # @overload create_thing(params = {})
438
+ # @param [Hash] params ({})
439
+ def create_thing(params = {}, options = {})
440
+ req = build_request(:create_thing, params)
441
+ req.send_request(options)
442
+ end
443
+
444
+ # Creates a new thing type.
445
+ # @option params [required, String] :thing_type_name
446
+ # The name of the thing type.
447
+ # @option params [Types::ThingTypeProperties] :thing_type_properties
448
+ # The ThingTypeProperties for the thing type to create. It contains
449
+ # information about the new thing type including a description, and a
450
+ # list of searchable thing attribute names.
451
+ # @return [Types::CreateThingTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
452
+ #
453
+ # * {Types::CreateThingTypeResponse#thing_type_name #thingTypeName} => String
454
+ # * {Types::CreateThingTypeResponse#thing_type_arn #thingTypeArn} => String
455
+ #
456
+ # @example Request syntax with placeholder values
457
+ # resp = client.create_thing_type({
458
+ # thing_type_name: "ThingTypeName", # required
459
+ # thing_type_properties: {
460
+ # thing_type_description: "ThingTypeDescription",
461
+ # searchable_attributes: ["AttributeName"],
462
+ # },
463
+ # })
464
+ #
465
+ # @example Response structure
466
+ # resp.thing_type_name #=> String
467
+ # resp.thing_type_arn #=> String
468
+ # @overload create_thing_type(params = {})
469
+ # @param [Hash] params ({})
470
+ def create_thing_type(params = {}, options = {})
471
+ req = build_request(:create_thing_type, params)
472
+ req.send_request(options)
473
+ end
474
+
475
+ # Creates a rule. Creating rules is an administrator-level action. Any
476
+ # user who has permission to create rules will be able to access data
477
+ # processed by the rule.
478
+ # @option params [required, String] :rule_name
479
+ # The name of the rule.
480
+ # @option params [required, Types::TopicRulePayload] :topic_rule_payload
481
+ # The rule payload.
482
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
483
+ #
484
+ # @example Request syntax with placeholder values
485
+ # resp = client.create_topic_rule({
486
+ # rule_name: "RuleName", # required
487
+ # topic_rule_payload: { # required
488
+ # sql: "SQL", # required
489
+ # description: "Description",
490
+ # actions: [ # required
491
+ # {
492
+ # dynamo_db: {
493
+ # table_name: "TableName", # required
494
+ # role_arn: "AwsArn", # required
495
+ # operation: "DynamoOperation",
496
+ # hash_key_field: "HashKeyField", # required
497
+ # hash_key_value: "HashKeyValue", # required
498
+ # hash_key_type: "STRING", # accepts STRING, NUMBER
499
+ # range_key_field: "RangeKeyField",
500
+ # range_key_value: "RangeKeyValue",
501
+ # range_key_type: "STRING", # accepts STRING, NUMBER
502
+ # payload_field: "PayloadField",
503
+ # },
504
+ # dynamo_d_bv_2: {
505
+ # role_arn: "AwsArn",
506
+ # put_item: {
507
+ # table_name: "TableName", # required
508
+ # },
509
+ # },
510
+ # lambda: {
511
+ # function_arn: "FunctionArn", # required
512
+ # },
513
+ # sns: {
514
+ # target_arn: "AwsArn", # required
515
+ # role_arn: "AwsArn", # required
516
+ # message_format: "RAW", # accepts RAW, JSON
517
+ # },
518
+ # sqs: {
519
+ # role_arn: "AwsArn", # required
520
+ # queue_url: "QueueUrl", # required
521
+ # use_base_64: false,
522
+ # },
523
+ # kinesis: {
524
+ # role_arn: "AwsArn", # required
525
+ # stream_name: "StreamName", # required
526
+ # partition_key: "PartitionKey",
527
+ # },
528
+ # republish: {
529
+ # role_arn: "AwsArn", # required
530
+ # topic: "TopicPattern", # required
531
+ # },
532
+ # s3: {
533
+ # role_arn: "AwsArn", # required
534
+ # bucket_name: "BucketName", # required
535
+ # key: "Key", # required
536
+ # canned_acl: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control, log-delivery-write
537
+ # },
538
+ # firehose: {
539
+ # role_arn: "AwsArn", # required
540
+ # delivery_stream_name: "DeliveryStreamName", # required
541
+ # separator: "FirehoseSeparator",
542
+ # },
543
+ # cloudwatch_metric: {
544
+ # role_arn: "AwsArn", # required
545
+ # metric_namespace: "MetricNamespace", # required
546
+ # metric_name: "MetricName", # required
547
+ # metric_value: "MetricValue", # required
548
+ # metric_unit: "MetricUnit", # required
549
+ # metric_timestamp: "MetricTimestamp",
550
+ # },
551
+ # cloudwatch_alarm: {
552
+ # role_arn: "AwsArn", # required
553
+ # alarm_name: "AlarmName", # required
554
+ # state_reason: "StateReason", # required
555
+ # state_value: "StateValue", # required
556
+ # },
557
+ # elasticsearch: {
558
+ # role_arn: "AwsArn", # required
559
+ # endpoint: "ElasticsearchEndpoint", # required
560
+ # index: "ElasticsearchIndex", # required
561
+ # type: "ElasticsearchType", # required
562
+ # id: "ElasticsearchId", # required
563
+ # },
564
+ # },
565
+ # ],
566
+ # rule_disabled: false,
567
+ # aws_iot_sql_version: "AwsIotSqlVersion",
568
+ # },
569
+ # })
570
+ # @overload create_topic_rule(params = {})
571
+ # @param [Hash] params ({})
572
+ def create_topic_rule(params = {}, options = {})
573
+ req = build_request(:create_topic_rule, params)
574
+ req.send_request(options)
575
+ end
576
+
577
+ # Deletes a registered CA certificate.
578
+ # @option params [required, String] :certificate_id
579
+ # The ID of the certificate to delete.
580
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
581
+ #
582
+ # @example Request syntax with placeholder values
583
+ # resp = client.delete_ca_certificate({
584
+ # certificate_id: "CertificateId", # required
585
+ # })
586
+ # @overload delete_ca_certificate(params = {})
587
+ # @param [Hash] params ({})
588
+ def delete_ca_certificate(params = {}, options = {})
589
+ req = build_request(:delete_ca_certificate, params)
590
+ req.send_request(options)
591
+ end
592
+
593
+ # Deletes the specified certificate.
594
+ #
595
+ # A certificate cannot be deleted if it has a policy attached to it or
596
+ # if its status is set to ACTIVE. To delete a certificate, first use the
597
+ # DetachPrincipalPolicy API to detach all policies. Next, use the
598
+ # UpdateCertificate API to set the certificate to the INACTIVE status.
599
+ # @option params [required, String] :certificate_id
600
+ # The ID of the certificate.
601
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
602
+ #
603
+ # @example Request syntax with placeholder values
604
+ # resp = client.delete_certificate({
605
+ # certificate_id: "CertificateId", # required
606
+ # })
607
+ # @overload delete_certificate(params = {})
608
+ # @param [Hash] params ({})
609
+ def delete_certificate(params = {}, options = {})
610
+ req = build_request(:delete_certificate, params)
611
+ req.send_request(options)
612
+ end
613
+
614
+ # Deletes the specified policy.
615
+ #
616
+ # A policy cannot be deleted if it has non-default versions or it is
617
+ # attached to any certificate.
618
+ #
619
+ # To delete a policy, use the DeletePolicyVersion API to delete all
620
+ # non-default versions of the policy; use the DetachPrincipalPolicy API
621
+ # to detach the policy from any certificate; and then use the
622
+ # DeletePolicy API to delete the policy.
623
+ #
624
+ # When a policy is deleted using DeletePolicy, its default version is
625
+ # deleted with it.
626
+ # @option params [required, String] :policy_name
627
+ # The name of the policy to delete.
628
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
629
+ #
630
+ # @example Request syntax with placeholder values
631
+ # resp = client.delete_policy({
632
+ # policy_name: "PolicyName", # required
633
+ # })
634
+ # @overload delete_policy(params = {})
635
+ # @param [Hash] params ({})
636
+ def delete_policy(params = {}, options = {})
637
+ req = build_request(:delete_policy, params)
638
+ req.send_request(options)
639
+ end
640
+
641
+ # Deletes the specified version of the specified policy. You cannot
642
+ # delete the default version of a policy using this API. To delete the
643
+ # default version of a policy, use DeletePolicy. To find out which
644
+ # version of a policy is marked as the default version, use
645
+ # ListPolicyVersions.
646
+ # @option params [required, String] :policy_name
647
+ # The name of the policy.
648
+ # @option params [required, String] :policy_version_id
649
+ # The policy version ID.
650
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
651
+ #
652
+ # @example Request syntax with placeholder values
653
+ # resp = client.delete_policy_version({
654
+ # policy_name: "PolicyName", # required
655
+ # policy_version_id: "PolicyVersionId", # required
656
+ # })
657
+ # @overload delete_policy_version(params = {})
658
+ # @param [Hash] params ({})
659
+ def delete_policy_version(params = {}, options = {})
660
+ req = build_request(:delete_policy_version, params)
661
+ req.send_request(options)
662
+ end
663
+
664
+ # Deletes a CA certificate registration code.
665
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
666
+ #
667
+ # @example Request syntax with placeholder values
668
+ # resp = client.delete_registration_code()
669
+ # @overload delete_registration_code(params = {})
670
+ # @param [Hash] params ({})
671
+ def delete_registration_code(params = {}, options = {})
672
+ req = build_request(:delete_registration_code, params)
673
+ req.send_request(options)
674
+ end
675
+
676
+ # Deletes the specified thing.
677
+ # @option params [required, String] :thing_name
678
+ # The name of the thing to delete.
679
+ # @option params [Integer] :expected_version
680
+ # The expected version of the thing record in the registry. If the
681
+ # version of the record in the registry does not match the expected
682
+ # version specified in the request, the `DeleteThing` request is
683
+ # rejected with a `VersionConflictException`.
684
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
685
+ #
686
+ # @example Request syntax with placeholder values
687
+ # resp = client.delete_thing({
688
+ # thing_name: "ThingName", # required
689
+ # expected_version: 1,
690
+ # })
691
+ # @overload delete_thing(params = {})
692
+ # @param [Hash] params ({})
693
+ def delete_thing(params = {}, options = {})
694
+ req = build_request(:delete_thing, params)
695
+ req.send_request(options)
696
+ end
697
+
698
+ # Deletes the specified thing type . You cannot delete a thing type if
699
+ # it has things associated with it. To delete a thing type, first mark
700
+ # it as deprecated by calling DeprecateThingType, then remove any
701
+ # associated things by calling UpdateThing to change the thing type on
702
+ # any associated thing, and finally use DeleteThingType to delete the
703
+ # thing type.
704
+ # @option params [required, String] :thing_type_name
705
+ # The name of the thing type.
706
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
707
+ #
708
+ # @example Request syntax with placeholder values
709
+ # resp = client.delete_thing_type({
710
+ # thing_type_name: "ThingTypeName", # required
711
+ # })
712
+ # @overload delete_thing_type(params = {})
713
+ # @param [Hash] params ({})
714
+ def delete_thing_type(params = {}, options = {})
715
+ req = build_request(:delete_thing_type, params)
716
+ req.send_request(options)
717
+ end
718
+
719
+ # Deletes the specified rule.
720
+ # @option params [required, String] :rule_name
721
+ # The name of the rule.
722
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
723
+ #
724
+ # @example Request syntax with placeholder values
725
+ # resp = client.delete_topic_rule({
726
+ # rule_name: "RuleName", # required
727
+ # })
728
+ # @overload delete_topic_rule(params = {})
729
+ # @param [Hash] params ({})
730
+ def delete_topic_rule(params = {}, options = {})
731
+ req = build_request(:delete_topic_rule, params)
732
+ req.send_request(options)
733
+ end
734
+
735
+ # Deprecates a thing type. You can not associate new things with
736
+ # deprecated thing type.
737
+ # @option params [required, String] :thing_type_name
738
+ # The name of the thing type to deprecate.
739
+ # @option params [Boolean] :undo_deprecate
740
+ # Whether to undeprecate a deprecated thing type. If **true**, the thing
741
+ # type will not be deprecated anymore and you can associate it with
742
+ # things.
743
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
744
+ #
745
+ # @example Request syntax with placeholder values
746
+ # resp = client.deprecate_thing_type({
747
+ # thing_type_name: "ThingTypeName", # required
748
+ # undo_deprecate: false,
749
+ # })
750
+ # @overload deprecate_thing_type(params = {})
751
+ # @param [Hash] params ({})
752
+ def deprecate_thing_type(params = {}, options = {})
753
+ req = build_request(:deprecate_thing_type, params)
754
+ req.send_request(options)
755
+ end
756
+
757
+ # Describes a registered CA certificate.
758
+ # @option params [required, String] :certificate_id
759
+ # The CA certificate identifier.
760
+ # @return [Types::DescribeCACertificateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
761
+ #
762
+ # * {Types::DescribeCACertificateResponse#certificate_description #certificateDescription} => Types::CACertificateDescription
763
+ #
764
+ # @example Request syntax with placeholder values
765
+ # resp = client.describe_ca_certificate({
766
+ # certificate_id: "CertificateId", # required
767
+ # })
768
+ #
769
+ # @example Response structure
770
+ # resp.certificate_description.certificate_arn #=> String
771
+ # resp.certificate_description.certificate_id #=> String
772
+ # resp.certificate_description.status #=> String, one of "ACTIVE", "INACTIVE"
773
+ # resp.certificate_description.certificate_pem #=> String
774
+ # resp.certificate_description.owned_by #=> String
775
+ # resp.certificate_description.creation_date #=> Time
776
+ # resp.certificate_description.auto_registration_status #=> String, one of "ENABLE", "DISABLE"
777
+ # @overload describe_ca_certificate(params = {})
778
+ # @param [Hash] params ({})
779
+ def describe_ca_certificate(params = {}, options = {})
780
+ req = build_request(:describe_ca_certificate, params)
781
+ req.send_request(options)
782
+ end
783
+
784
+ # Gets information about the specified certificate.
785
+ # @option params [required, String] :certificate_id
786
+ # The ID of the certificate.
787
+ # @return [Types::DescribeCertificateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
788
+ #
789
+ # * {Types::DescribeCertificateResponse#certificate_description #certificateDescription} => Types::CertificateDescription
790
+ #
791
+ # @example Request syntax with placeholder values
792
+ # resp = client.describe_certificate({
793
+ # certificate_id: "CertificateId", # required
794
+ # })
795
+ #
796
+ # @example Response structure
797
+ # resp.certificate_description.certificate_arn #=> String
798
+ # resp.certificate_description.certificate_id #=> String
799
+ # resp.certificate_description.ca_certificate_id #=> String
800
+ # resp.certificate_description.status #=> String, one of "ACTIVE", "INACTIVE", "REVOKED", "PENDING_TRANSFER", "REGISTER_INACTIVE", "PENDING_ACTIVATION"
801
+ # resp.certificate_description.certificate_pem #=> String
802
+ # resp.certificate_description.owned_by #=> String
803
+ # resp.certificate_description.previous_owned_by #=> String
804
+ # resp.certificate_description.creation_date #=> Time
805
+ # resp.certificate_description.last_modified_date #=> Time
806
+ # resp.certificate_description.transfer_data.transfer_message #=> String
807
+ # resp.certificate_description.transfer_data.reject_reason #=> String
808
+ # resp.certificate_description.transfer_data.transfer_date #=> Time
809
+ # resp.certificate_description.transfer_data.accept_date #=> Time
810
+ # resp.certificate_description.transfer_data.reject_date #=> Time
811
+ # @overload describe_certificate(params = {})
812
+ # @param [Hash] params ({})
813
+ def describe_certificate(params = {}, options = {})
814
+ req = build_request(:describe_certificate, params)
815
+ req.send_request(options)
816
+ end
817
+
818
+ # Returns a unique endpoint specific to the AWS account making the call.
819
+ # @return [Types::DescribeEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
820
+ #
821
+ # * {Types::DescribeEndpointResponse#endpoint_address #endpointAddress} => String
822
+ #
823
+ # @example Request syntax with placeholder values
824
+ # resp = client.describe_endpoint()
825
+ #
826
+ # @example Response structure
827
+ # resp.endpoint_address #=> String
828
+ # @overload describe_endpoint(params = {})
829
+ # @param [Hash] params ({})
830
+ def describe_endpoint(params = {}, options = {})
831
+ req = build_request(:describe_endpoint, params)
832
+ req.send_request(options)
833
+ end
834
+
835
+ # Gets information about the specified thing.
836
+ # @option params [required, String] :thing_name
837
+ # The name of the thing.
838
+ # @return [Types::DescribeThingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
839
+ #
840
+ # * {Types::DescribeThingResponse#default_client_id #defaultClientId} => String
841
+ # * {Types::DescribeThingResponse#thing_name #thingName} => String
842
+ # * {Types::DescribeThingResponse#thing_type_name #thingTypeName} => String
843
+ # * {Types::DescribeThingResponse#attributes #attributes} => Hash&lt;String,String&gt;
844
+ # * {Types::DescribeThingResponse#version #version} => Integer
845
+ #
846
+ # @example Request syntax with placeholder values
847
+ # resp = client.describe_thing({
848
+ # thing_name: "ThingName", # required
849
+ # })
850
+ #
851
+ # @example Response structure
852
+ # resp.default_client_id #=> String
853
+ # resp.thing_name #=> String
854
+ # resp.thing_type_name #=> String
855
+ # resp.attributes #=> Hash
856
+ # resp.attributes["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
857
+ # resp.version #=> Integer
858
+ # @overload describe_thing(params = {})
859
+ # @param [Hash] params ({})
860
+ def describe_thing(params = {}, options = {})
861
+ req = build_request(:describe_thing, params)
862
+ req.send_request(options)
863
+ end
864
+
865
+ # Gets information about the specified thing type.
866
+ # @option params [required, String] :thing_type_name
867
+ # The name of the thing type.
868
+ # @return [Types::DescribeThingTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
869
+ #
870
+ # * {Types::DescribeThingTypeResponse#thing_type_name #thingTypeName} => String
871
+ # * {Types::DescribeThingTypeResponse#thing_type_properties #thingTypeProperties} => Types::ThingTypeProperties
872
+ # * {Types::DescribeThingTypeResponse#thing_type_metadata #thingTypeMetadata} => Types::ThingTypeMetadata
873
+ #
874
+ # @example Request syntax with placeholder values
875
+ # resp = client.describe_thing_type({
876
+ # thing_type_name: "ThingTypeName", # required
877
+ # })
878
+ #
879
+ # @example Response structure
880
+ # resp.thing_type_name #=> String
881
+ # resp.thing_type_properties.thing_type_description #=> String
882
+ # resp.thing_type_properties.searchable_attributes #=> Array
883
+ # resp.thing_type_properties.searchable_attributes[0] #=> String
884
+ # resp.thing_type_metadata.deprecated #=> Boolean
885
+ # resp.thing_type_metadata.deprecation_date #=> Time
886
+ # resp.thing_type_metadata.creation_date #=> Time
887
+ # @overload describe_thing_type(params = {})
888
+ # @param [Hash] params ({})
889
+ def describe_thing_type(params = {}, options = {})
890
+ req = build_request(:describe_thing_type, params)
891
+ req.send_request(options)
892
+ end
893
+
894
+ # Removes the specified policy from the specified certificate.
895
+ # @option params [required, String] :policy_name
896
+ # The name of the policy to detach.
897
+ # @option params [required, String] :principal
898
+ # The principal.
899
+ #
900
+ # If the principal is a certificate, specify the certificate ARN. If the
901
+ # principal is an Amazon Cognito identity, specify the identity ID.
902
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
903
+ #
904
+ # @example Request syntax with placeholder values
905
+ # resp = client.detach_principal_policy({
906
+ # policy_name: "PolicyName", # required
907
+ # principal: "Principal", # required
908
+ # })
909
+ # @overload detach_principal_policy(params = {})
910
+ # @param [Hash] params ({})
911
+ def detach_principal_policy(params = {}, options = {})
912
+ req = build_request(:detach_principal_policy, params)
913
+ req.send_request(options)
914
+ end
915
+
916
+ # Detaches the specified principal from the specified thing.
917
+ # @option params [required, String] :thing_name
918
+ # The name of the thing.
919
+ # @option params [required, String] :principal
920
+ # If the principal is a certificate, this value must be ARN of the
921
+ # certificate. If the principal is an Amazon Cognito identity, this
922
+ # value must be the ID of the Amazon Cognito identity.
923
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
924
+ #
925
+ # @example Request syntax with placeholder values
926
+ # resp = client.detach_thing_principal({
927
+ # thing_name: "ThingName", # required
928
+ # principal: "Principal", # required
929
+ # })
930
+ # @overload detach_thing_principal(params = {})
931
+ # @param [Hash] params ({})
932
+ def detach_thing_principal(params = {}, options = {})
933
+ req = build_request(:detach_thing_principal, params)
934
+ req.send_request(options)
935
+ end
936
+
937
+ # Disables the specified rule.
938
+ # @option params [required, String] :rule_name
939
+ # The name of the rule to disable.
940
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
941
+ #
942
+ # @example Request syntax with placeholder values
943
+ # resp = client.disable_topic_rule({
944
+ # rule_name: "RuleName", # required
945
+ # })
946
+ # @overload disable_topic_rule(params = {})
947
+ # @param [Hash] params ({})
948
+ def disable_topic_rule(params = {}, options = {})
949
+ req = build_request(:disable_topic_rule, params)
950
+ req.send_request(options)
951
+ end
952
+
953
+ # Enables the specified rule.
954
+ # @option params [required, String] :rule_name
955
+ # The name of the topic rule to enable.
956
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
957
+ #
958
+ # @example Request syntax with placeholder values
959
+ # resp = client.enable_topic_rule({
960
+ # rule_name: "RuleName", # required
961
+ # })
962
+ # @overload enable_topic_rule(params = {})
963
+ # @param [Hash] params ({})
964
+ def enable_topic_rule(params = {}, options = {})
965
+ req = build_request(:enable_topic_rule, params)
966
+ req.send_request(options)
967
+ end
968
+
969
+ # Gets the logging options.
970
+ # @return [Types::GetLoggingOptionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
971
+ #
972
+ # * {Types::GetLoggingOptionsResponse#role_arn #roleArn} => String
973
+ # * {Types::GetLoggingOptionsResponse#log_level #logLevel} => String
974
+ #
975
+ # @example Request syntax with placeholder values
976
+ # resp = client.get_logging_options()
977
+ #
978
+ # @example Response structure
979
+ # resp.role_arn #=> String
980
+ # resp.log_level #=> String, one of "DEBUG", "INFO", "ERROR", "WARN", "DISABLED"
981
+ # @overload get_logging_options(params = {})
982
+ # @param [Hash] params ({})
983
+ def get_logging_options(params = {}, options = {})
984
+ req = build_request(:get_logging_options, params)
985
+ req.send_request(options)
986
+ end
987
+
988
+ # Gets information about the specified policy with the policy document
989
+ # of the default version.
990
+ # @option params [required, String] :policy_name
991
+ # The name of the policy.
992
+ # @return [Types::GetPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
993
+ #
994
+ # * {Types::GetPolicyResponse#policy_name #policyName} => String
995
+ # * {Types::GetPolicyResponse#policy_arn #policyArn} => String
996
+ # * {Types::GetPolicyResponse#policy_document #policyDocument} => String
997
+ # * {Types::GetPolicyResponse#default_version_id #defaultVersionId} => String
998
+ #
999
+ # @example Request syntax with placeholder values
1000
+ # resp = client.get_policy({
1001
+ # policy_name: "PolicyName", # required
1002
+ # })
1003
+ #
1004
+ # @example Response structure
1005
+ # resp.policy_name #=> String
1006
+ # resp.policy_arn #=> String
1007
+ # resp.policy_document #=> String
1008
+ # resp.default_version_id #=> String
1009
+ # @overload get_policy(params = {})
1010
+ # @param [Hash] params ({})
1011
+ def get_policy(params = {}, options = {})
1012
+ req = build_request(:get_policy, params)
1013
+ req.send_request(options)
1014
+ end
1015
+
1016
+ # Gets information about the specified policy version.
1017
+ # @option params [required, String] :policy_name
1018
+ # The name of the policy.
1019
+ # @option params [required, String] :policy_version_id
1020
+ # The policy version ID.
1021
+ # @return [Types::GetPolicyVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1022
+ #
1023
+ # * {Types::GetPolicyVersionResponse#policy_arn #policyArn} => String
1024
+ # * {Types::GetPolicyVersionResponse#policy_name #policyName} => String
1025
+ # * {Types::GetPolicyVersionResponse#policy_document #policyDocument} => String
1026
+ # * {Types::GetPolicyVersionResponse#policy_version_id #policyVersionId} => String
1027
+ # * {Types::GetPolicyVersionResponse#is_default_version #isDefaultVersion} => Boolean
1028
+ #
1029
+ # @example Request syntax with placeholder values
1030
+ # resp = client.get_policy_version({
1031
+ # policy_name: "PolicyName", # required
1032
+ # policy_version_id: "PolicyVersionId", # required
1033
+ # })
1034
+ #
1035
+ # @example Response structure
1036
+ # resp.policy_arn #=> String
1037
+ # resp.policy_name #=> String
1038
+ # resp.policy_document #=> String
1039
+ # resp.policy_version_id #=> String
1040
+ # resp.is_default_version #=> Boolean
1041
+ # @overload get_policy_version(params = {})
1042
+ # @param [Hash] params ({})
1043
+ def get_policy_version(params = {}, options = {})
1044
+ req = build_request(:get_policy_version, params)
1045
+ req.send_request(options)
1046
+ end
1047
+
1048
+ # Gets a registration code used to register a CA certificate with AWS
1049
+ # IoT.
1050
+ # @return [Types::GetRegistrationCodeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1051
+ #
1052
+ # * {Types::GetRegistrationCodeResponse#registration_code #registrationCode} => String
1053
+ #
1054
+ # @example Request syntax with placeholder values
1055
+ # resp = client.get_registration_code()
1056
+ #
1057
+ # @example Response structure
1058
+ # resp.registration_code #=> String
1059
+ # @overload get_registration_code(params = {})
1060
+ # @param [Hash] params ({})
1061
+ def get_registration_code(params = {}, options = {})
1062
+ req = build_request(:get_registration_code, params)
1063
+ req.send_request(options)
1064
+ end
1065
+
1066
+ # Gets information about the specified rule.
1067
+ # @option params [required, String] :rule_name
1068
+ # The name of the rule.
1069
+ # @return [Types::GetTopicRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1070
+ #
1071
+ # * {Types::GetTopicRuleResponse#rule_arn #ruleArn} => String
1072
+ # * {Types::GetTopicRuleResponse#rule #rule} => Types::TopicRule
1073
+ #
1074
+ # @example Request syntax with placeholder values
1075
+ # resp = client.get_topic_rule({
1076
+ # rule_name: "RuleName", # required
1077
+ # })
1078
+ #
1079
+ # @example Response structure
1080
+ # resp.rule_arn #=> String
1081
+ # resp.rule.rule_name #=> String
1082
+ # resp.rule.sql #=> String
1083
+ # resp.rule.description #=> String
1084
+ # resp.rule.created_at #=> Time
1085
+ # resp.rule.actions #=> Array
1086
+ # resp.rule.actions[0].dynamo_db.table_name #=> String
1087
+ # resp.rule.actions[0].dynamo_db.role_arn #=> String
1088
+ # resp.rule.actions[0].dynamo_db.operation #=> String
1089
+ # resp.rule.actions[0].dynamo_db.hash_key_field #=> String
1090
+ # resp.rule.actions[0].dynamo_db.hash_key_value #=> String
1091
+ # resp.rule.actions[0].dynamo_db.hash_key_type #=> String, one of "STRING", "NUMBER"
1092
+ # resp.rule.actions[0].dynamo_db.range_key_field #=> String
1093
+ # resp.rule.actions[0].dynamo_db.range_key_value #=> String
1094
+ # resp.rule.actions[0].dynamo_db.range_key_type #=> String, one of "STRING", "NUMBER"
1095
+ # resp.rule.actions[0].dynamo_db.payload_field #=> String
1096
+ # resp.rule.actions[0].dynamo_d_bv_2.role_arn #=> String
1097
+ # resp.rule.actions[0].dynamo_d_bv_2.put_item.table_name #=> String
1098
+ # resp.rule.actions[0].lambda.function_arn #=> String
1099
+ # resp.rule.actions[0].sns.target_arn #=> String
1100
+ # resp.rule.actions[0].sns.role_arn #=> String
1101
+ # resp.rule.actions[0].sns.message_format #=> String, one of "RAW", "JSON"
1102
+ # resp.rule.actions[0].sqs.role_arn #=> String
1103
+ # resp.rule.actions[0].sqs.queue_url #=> String
1104
+ # resp.rule.actions[0].sqs.use_base_64 #=> Boolean
1105
+ # resp.rule.actions[0].kinesis.role_arn #=> String
1106
+ # resp.rule.actions[0].kinesis.stream_name #=> String
1107
+ # resp.rule.actions[0].kinesis.partition_key #=> String
1108
+ # resp.rule.actions[0].republish.role_arn #=> String
1109
+ # resp.rule.actions[0].republish.topic #=> String
1110
+ # resp.rule.actions[0].s3.role_arn #=> String
1111
+ # resp.rule.actions[0].s3.bucket_name #=> String
1112
+ # resp.rule.actions[0].s3.key #=> String
1113
+ # resp.rule.actions[0].s3.canned_acl #=> String, one of "private", "public-read", "public-read-write", "aws-exec-read", "authenticated-read", "bucket-owner-read", "bucket-owner-full-control", "log-delivery-write"
1114
+ # resp.rule.actions[0].firehose.role_arn #=> String
1115
+ # resp.rule.actions[0].firehose.delivery_stream_name #=> String
1116
+ # resp.rule.actions[0].firehose.separator #=> String
1117
+ # resp.rule.actions[0].cloudwatch_metric.role_arn #=> String
1118
+ # resp.rule.actions[0].cloudwatch_metric.metric_namespace #=> String
1119
+ # resp.rule.actions[0].cloudwatch_metric.metric_name #=> String
1120
+ # resp.rule.actions[0].cloudwatch_metric.metric_value #=> String
1121
+ # resp.rule.actions[0].cloudwatch_metric.metric_unit #=> String
1122
+ # resp.rule.actions[0].cloudwatch_metric.metric_timestamp #=> String
1123
+ # resp.rule.actions[0].cloudwatch_alarm.role_arn #=> String
1124
+ # resp.rule.actions[0].cloudwatch_alarm.alarm_name #=> String
1125
+ # resp.rule.actions[0].cloudwatch_alarm.state_reason #=> String
1126
+ # resp.rule.actions[0].cloudwatch_alarm.state_value #=> String
1127
+ # resp.rule.actions[0].elasticsearch.role_arn #=> String
1128
+ # resp.rule.actions[0].elasticsearch.endpoint #=> String
1129
+ # resp.rule.actions[0].elasticsearch.index #=> String
1130
+ # resp.rule.actions[0].elasticsearch.type #=> String
1131
+ # resp.rule.actions[0].elasticsearch.id #=> String
1132
+ # resp.rule.rule_disabled #=> Boolean
1133
+ # resp.rule.aws_iot_sql_version #=> String
1134
+ # @overload get_topic_rule(params = {})
1135
+ # @param [Hash] params ({})
1136
+ def get_topic_rule(params = {}, options = {})
1137
+ req = build_request(:get_topic_rule, params)
1138
+ req.send_request(options)
1139
+ end
1140
+
1141
+ # Lists the CA certificates registered for your AWS account.
1142
+ #
1143
+ # The results are paginated with a default page size of 25. You can use
1144
+ # the returned marker to retrieve additional results.
1145
+ # @option params [Integer] :page_size
1146
+ # The result page size.
1147
+ # @option params [String] :marker
1148
+ # The marker for the next set of results.
1149
+ # @option params [Boolean] :ascending_order
1150
+ # Determines the order of the results.
1151
+ # @return [Types::ListCACertificatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1152
+ #
1153
+ # * {Types::ListCACertificatesResponse#certificates #certificates} => Array&lt;Types::CACertificate&gt;
1154
+ # * {Types::ListCACertificatesResponse#next_marker #nextMarker} => String
1155
+ #
1156
+ # @example Request syntax with placeholder values
1157
+ # resp = client.list_ca_certificates({
1158
+ # page_size: 1,
1159
+ # marker: "Marker",
1160
+ # ascending_order: false,
1161
+ # })
1162
+ #
1163
+ # @example Response structure
1164
+ # resp.certificates #=> Array
1165
+ # resp.certificates[0].certificate_arn #=> String
1166
+ # resp.certificates[0].certificate_id #=> String
1167
+ # resp.certificates[0].status #=> String, one of "ACTIVE", "INACTIVE"
1168
+ # resp.certificates[0].creation_date #=> Time
1169
+ # resp.next_marker #=> String
1170
+ # @overload list_ca_certificates(params = {})
1171
+ # @param [Hash] params ({})
1172
+ def list_ca_certificates(params = {}, options = {})
1173
+ req = build_request(:list_ca_certificates, params)
1174
+ req.send_request(options)
1175
+ end
1176
+
1177
+ # Lists the certificates registered in your AWS account.
1178
+ #
1179
+ # The results are paginated with a default page size of 25. You can use
1180
+ # the returned marker to retrieve additional results.
1181
+ # @option params [Integer] :page_size
1182
+ # The result page size.
1183
+ # @option params [String] :marker
1184
+ # The marker for the next set of results.
1185
+ # @option params [Boolean] :ascending_order
1186
+ # Specifies the order for results. If True, the results are returned in
1187
+ # ascending order, based on the creation date.
1188
+ # @return [Types::ListCertificatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1189
+ #
1190
+ # * {Types::ListCertificatesResponse#certificates #certificates} => Array&lt;Types::Certificate&gt;
1191
+ # * {Types::ListCertificatesResponse#next_marker #nextMarker} => String
1192
+ #
1193
+ # @example Request syntax with placeholder values
1194
+ # resp = client.list_certificates({
1195
+ # page_size: 1,
1196
+ # marker: "Marker",
1197
+ # ascending_order: false,
1198
+ # })
1199
+ #
1200
+ # @example Response structure
1201
+ # resp.certificates #=> Array
1202
+ # resp.certificates[0].certificate_arn #=> String
1203
+ # resp.certificates[0].certificate_id #=> String
1204
+ # resp.certificates[0].status #=> String, one of "ACTIVE", "INACTIVE", "REVOKED", "PENDING_TRANSFER", "REGISTER_INACTIVE", "PENDING_ACTIVATION"
1205
+ # resp.certificates[0].creation_date #=> Time
1206
+ # resp.next_marker #=> String
1207
+ # @overload list_certificates(params = {})
1208
+ # @param [Hash] params ({})
1209
+ def list_certificates(params = {}, options = {})
1210
+ req = build_request(:list_certificates, params)
1211
+ req.send_request(options)
1212
+ end
1213
+
1214
+ # List the device certificates signed by the specified CA certificate.
1215
+ # @option params [required, String] :ca_certificate_id
1216
+ # The ID of the CA certificate. This operation will list all registered
1217
+ # device certificate that were signed by this CA certificate.
1218
+ # @option params [Integer] :page_size
1219
+ # The result page size.
1220
+ # @option params [String] :marker
1221
+ # The marker for the next set of results.
1222
+ # @option params [Boolean] :ascending_order
1223
+ # Specifies the order for results. If True, the results are returned in
1224
+ # ascending order, based on the creation date.
1225
+ # @return [Types::ListCertificatesByCAResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1226
+ #
1227
+ # * {Types::ListCertificatesByCAResponse#certificates #certificates} => Array&lt;Types::Certificate&gt;
1228
+ # * {Types::ListCertificatesByCAResponse#next_marker #nextMarker} => String
1229
+ #
1230
+ # @example Request syntax with placeholder values
1231
+ # resp = client.list_certificates_by_ca({
1232
+ # ca_certificate_id: "CertificateId", # required
1233
+ # page_size: 1,
1234
+ # marker: "Marker",
1235
+ # ascending_order: false,
1236
+ # })
1237
+ #
1238
+ # @example Response structure
1239
+ # resp.certificates #=> Array
1240
+ # resp.certificates[0].certificate_arn #=> String
1241
+ # resp.certificates[0].certificate_id #=> String
1242
+ # resp.certificates[0].status #=> String, one of "ACTIVE", "INACTIVE", "REVOKED", "PENDING_TRANSFER", "REGISTER_INACTIVE", "PENDING_ACTIVATION"
1243
+ # resp.certificates[0].creation_date #=> Time
1244
+ # resp.next_marker #=> String
1245
+ # @overload list_certificates_by_ca(params = {})
1246
+ # @param [Hash] params ({})
1247
+ def list_certificates_by_ca(params = {}, options = {})
1248
+ req = build_request(:list_certificates_by_ca, params)
1249
+ req.send_request(options)
1250
+ end
1251
+
1252
+ # Lists certificates that are being transfered but not yet accepted.
1253
+ # @option params [Integer] :page_size
1254
+ # The result page size.
1255
+ # @option params [String] :marker
1256
+ # The marker for the next set of results.
1257
+ # @option params [Boolean] :ascending_order
1258
+ # Specifies the order for results. If True, the results are returned in
1259
+ # ascending order, based on the creation date.
1260
+ # @return [Types::ListOutgoingCertificatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1261
+ #
1262
+ # * {Types::ListOutgoingCertificatesResponse#outgoing_certificates #outgoingCertificates} => Array&lt;Types::OutgoingCertificate&gt;
1263
+ # * {Types::ListOutgoingCertificatesResponse#next_marker #nextMarker} => String
1264
+ #
1265
+ # @example Request syntax with placeholder values
1266
+ # resp = client.list_outgoing_certificates({
1267
+ # page_size: 1,
1268
+ # marker: "Marker",
1269
+ # ascending_order: false,
1270
+ # })
1271
+ #
1272
+ # @example Response structure
1273
+ # resp.outgoing_certificates #=> Array
1274
+ # resp.outgoing_certificates[0].certificate_arn #=> String
1275
+ # resp.outgoing_certificates[0].certificate_id #=> String
1276
+ # resp.outgoing_certificates[0].transferred_to #=> String
1277
+ # resp.outgoing_certificates[0].transfer_date #=> Time
1278
+ # resp.outgoing_certificates[0].transfer_message #=> String
1279
+ # resp.outgoing_certificates[0].creation_date #=> Time
1280
+ # resp.next_marker #=> String
1281
+ # @overload list_outgoing_certificates(params = {})
1282
+ # @param [Hash] params ({})
1283
+ def list_outgoing_certificates(params = {}, options = {})
1284
+ req = build_request(:list_outgoing_certificates, params)
1285
+ req.send_request(options)
1286
+ end
1287
+
1288
+ # Lists your policies.
1289
+ # @option params [String] :marker
1290
+ # The marker for the next set of results.
1291
+ # @option params [Integer] :page_size
1292
+ # The result page size.
1293
+ # @option params [Boolean] :ascending_order
1294
+ # Specifies the order for results. If true, the results are returned in
1295
+ # ascending creation order.
1296
+ # @return [Types::ListPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1297
+ #
1298
+ # * {Types::ListPoliciesResponse#policies #policies} => Array&lt;Types::Policy&gt;
1299
+ # * {Types::ListPoliciesResponse#next_marker #nextMarker} => String
1300
+ #
1301
+ # @example Request syntax with placeholder values
1302
+ # resp = client.list_policies({
1303
+ # marker: "Marker",
1304
+ # page_size: 1,
1305
+ # ascending_order: false,
1306
+ # })
1307
+ #
1308
+ # @example Response structure
1309
+ # resp.policies #=> Array
1310
+ # resp.policies[0].policy_name #=> String
1311
+ # resp.policies[0].policy_arn #=> String
1312
+ # resp.next_marker #=> String
1313
+ # @overload list_policies(params = {})
1314
+ # @param [Hash] params ({})
1315
+ def list_policies(params = {}, options = {})
1316
+ req = build_request(:list_policies, params)
1317
+ req.send_request(options)
1318
+ end
1319
+
1320
+ # Lists the principals associated with the specified policy.
1321
+ # @option params [required, String] :policy_name
1322
+ # The policy name.
1323
+ # @option params [String] :marker
1324
+ # The marker for the next set of results.
1325
+ # @option params [Integer] :page_size
1326
+ # The result page size.
1327
+ # @option params [Boolean] :ascending_order
1328
+ # Specifies the order for results. If true, the results are returned in
1329
+ # ascending creation order.
1330
+ # @return [Types::ListPolicyPrincipalsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1331
+ #
1332
+ # * {Types::ListPolicyPrincipalsResponse#principals #principals} => Array&lt;String&gt;
1333
+ # * {Types::ListPolicyPrincipalsResponse#next_marker #nextMarker} => String
1334
+ #
1335
+ # @example Request syntax with placeholder values
1336
+ # resp = client.list_policy_principals({
1337
+ # policy_name: "PolicyName", # required
1338
+ # marker: "Marker",
1339
+ # page_size: 1,
1340
+ # ascending_order: false,
1341
+ # })
1342
+ #
1343
+ # @example Response structure
1344
+ # resp.principals #=> Array
1345
+ # resp.principals[0] #=> String
1346
+ # resp.next_marker #=> String
1347
+ # @overload list_policy_principals(params = {})
1348
+ # @param [Hash] params ({})
1349
+ def list_policy_principals(params = {}, options = {})
1350
+ req = build_request(:list_policy_principals, params)
1351
+ req.send_request(options)
1352
+ end
1353
+
1354
+ # Lists the versions of the specified policy and identifies the default
1355
+ # version.
1356
+ # @option params [required, String] :policy_name
1357
+ # The policy name.
1358
+ # @return [Types::ListPolicyVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1359
+ #
1360
+ # * {Types::ListPolicyVersionsResponse#policy_versions #policyVersions} => Array&lt;Types::PolicyVersion&gt;
1361
+ #
1362
+ # @example Request syntax with placeholder values
1363
+ # resp = client.list_policy_versions({
1364
+ # policy_name: "PolicyName", # required
1365
+ # })
1366
+ #
1367
+ # @example Response structure
1368
+ # resp.policy_versions #=> Array
1369
+ # resp.policy_versions[0].version_id #=> String
1370
+ # resp.policy_versions[0].is_default_version #=> Boolean
1371
+ # resp.policy_versions[0].create_date #=> Time
1372
+ # @overload list_policy_versions(params = {})
1373
+ # @param [Hash] params ({})
1374
+ def list_policy_versions(params = {}, options = {})
1375
+ req = build_request(:list_policy_versions, params)
1376
+ req.send_request(options)
1377
+ end
1378
+
1379
+ # Lists the policies attached to the specified principal. If you use an
1380
+ # Cognito identity, the ID must be in [AmazonCognito Identity
1381
+ # format][1].
1382
+ #
1383
+ #
1384
+ #
1385
+ # [1]: http://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetCredentialsForIdentity.html#API_GetCredentialsForIdentity_RequestSyntax
1386
+ # @option params [required, String] :principal
1387
+ # The principal.
1388
+ # @option params [String] :marker
1389
+ # The marker for the next set of results.
1390
+ # @option params [Integer] :page_size
1391
+ # The result page size.
1392
+ # @option params [Boolean] :ascending_order
1393
+ # Specifies the order for results. If true, results are returned in
1394
+ # ascending creation order.
1395
+ # @return [Types::ListPrincipalPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1396
+ #
1397
+ # * {Types::ListPrincipalPoliciesResponse#policies #policies} => Array&lt;Types::Policy&gt;
1398
+ # * {Types::ListPrincipalPoliciesResponse#next_marker #nextMarker} => String
1399
+ #
1400
+ # @example Request syntax with placeholder values
1401
+ # resp = client.list_principal_policies({
1402
+ # principal: "Principal", # required
1403
+ # marker: "Marker",
1404
+ # page_size: 1,
1405
+ # ascending_order: false,
1406
+ # })
1407
+ #
1408
+ # @example Response structure
1409
+ # resp.policies #=> Array
1410
+ # resp.policies[0].policy_name #=> String
1411
+ # resp.policies[0].policy_arn #=> String
1412
+ # resp.next_marker #=> String
1413
+ # @overload list_principal_policies(params = {})
1414
+ # @param [Hash] params ({})
1415
+ def list_principal_policies(params = {}, options = {})
1416
+ req = build_request(:list_principal_policies, params)
1417
+ req.send_request(options)
1418
+ end
1419
+
1420
+ # Lists the things associated with the specified principal.
1421
+ # @option params [String] :next_token
1422
+ # The token for the next set of results, or **null** if there are no
1423
+ # additional results.
1424
+ # @option params [Integer] :max_results
1425
+ # The maximum number of results to return in this operation.
1426
+ # @option params [required, String] :principal
1427
+ # The principal.
1428
+ # @return [Types::ListPrincipalThingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1429
+ #
1430
+ # * {Types::ListPrincipalThingsResponse#things #things} => Array&lt;String&gt;
1431
+ # * {Types::ListPrincipalThingsResponse#next_token #nextToken} => String
1432
+ #
1433
+ # @example Request syntax with placeholder values
1434
+ # resp = client.list_principal_things({
1435
+ # next_token: "NextToken",
1436
+ # max_results: 1,
1437
+ # principal: "Principal", # required
1438
+ # })
1439
+ #
1440
+ # @example Response structure
1441
+ # resp.things #=> Array
1442
+ # resp.things[0] #=> String
1443
+ # resp.next_token #=> String
1444
+ # @overload list_principal_things(params = {})
1445
+ # @param [Hash] params ({})
1446
+ def list_principal_things(params = {}, options = {})
1447
+ req = build_request(:list_principal_things, params)
1448
+ req.send_request(options)
1449
+ end
1450
+
1451
+ # Lists the principals associated with the specified thing.
1452
+ # @option params [required, String] :thing_name
1453
+ # The name of the thing.
1454
+ # @return [Types::ListThingPrincipalsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1455
+ #
1456
+ # * {Types::ListThingPrincipalsResponse#principals #principals} => Array&lt;String&gt;
1457
+ #
1458
+ # @example Request syntax with placeholder values
1459
+ # resp = client.list_thing_principals({
1460
+ # thing_name: "ThingName", # required
1461
+ # })
1462
+ #
1463
+ # @example Response structure
1464
+ # resp.principals #=> Array
1465
+ # resp.principals[0] #=> String
1466
+ # @overload list_thing_principals(params = {})
1467
+ # @param [Hash] params ({})
1468
+ def list_thing_principals(params = {}, options = {})
1469
+ req = build_request(:list_thing_principals, params)
1470
+ req.send_request(options)
1471
+ end
1472
+
1473
+ # Lists the existing thing types.
1474
+ # @option params [String] :next_token
1475
+ # The token for the next set of results, or **null** if there are no
1476
+ # additional results.
1477
+ # @option params [Integer] :max_results
1478
+ # The maximum number of results to return in this operation.
1479
+ # @option params [String] :thing_type_name
1480
+ # The name of the thing type.
1481
+ # @return [Types::ListThingTypesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1482
+ #
1483
+ # * {Types::ListThingTypesResponse#thing_types #thingTypes} => Array&lt;Types::ThingTypeDefinition&gt;
1484
+ # * {Types::ListThingTypesResponse#next_token #nextToken} => String
1485
+ #
1486
+ # @example Request syntax with placeholder values
1487
+ # resp = client.list_thing_types({
1488
+ # next_token: "NextToken",
1489
+ # max_results: 1,
1490
+ # thing_type_name: "ThingTypeName",
1491
+ # })
1492
+ #
1493
+ # @example Response structure
1494
+ # resp.thing_types #=> Array
1495
+ # resp.thing_types[0].thing_type_name #=> String
1496
+ # resp.thing_types[0].thing_type_properties.thing_type_description #=> String
1497
+ # resp.thing_types[0].thing_type_properties.searchable_attributes #=> Array
1498
+ # resp.thing_types[0].thing_type_properties.searchable_attributes[0] #=> String
1499
+ # resp.thing_types[0].thing_type_metadata.deprecated #=> Boolean
1500
+ # resp.thing_types[0].thing_type_metadata.deprecation_date #=> Time
1501
+ # resp.thing_types[0].thing_type_metadata.creation_date #=> Time
1502
+ # resp.next_token #=> String
1503
+ # @overload list_thing_types(params = {})
1504
+ # @param [Hash] params ({})
1505
+ def list_thing_types(params = {}, options = {})
1506
+ req = build_request(:list_thing_types, params)
1507
+ req.send_request(options)
1508
+ end
1509
+
1510
+ # Lists your things. Use the **attributeName** and **attributeValue**
1511
+ # parameters to filter your things. For example, calling `ListThings`
1512
+ # with attributeName=Color and attributeValue=Red retrieves all things
1513
+ # in the registry that contain an attribute **Color** with the value
1514
+ # **Red**.
1515
+ # @option params [String] :next_token
1516
+ # The token for the next set of results, or **null** if there are no
1517
+ # additional results.
1518
+ # @option params [Integer] :max_results
1519
+ # The maximum number of results to return in this operation.
1520
+ # @option params [String] :attribute_name
1521
+ # The attribute name used to search for things.
1522
+ # @option params [String] :attribute_value
1523
+ # The attribute value used to search for things.
1524
+ # @option params [String] :thing_type_name
1525
+ # The name of the thing type used to search for things.
1526
+ # @return [Types::ListThingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1527
+ #
1528
+ # * {Types::ListThingsResponse#things #things} => Array&lt;Types::ThingAttribute&gt;
1529
+ # * {Types::ListThingsResponse#next_token #nextToken} => String
1530
+ #
1531
+ # @example Request syntax with placeholder values
1532
+ # resp = client.list_things({
1533
+ # next_token: "NextToken",
1534
+ # max_results: 1,
1535
+ # attribute_name: "AttributeName",
1536
+ # attribute_value: "AttributeValue",
1537
+ # thing_type_name: "ThingTypeName",
1538
+ # })
1539
+ #
1540
+ # @example Response structure
1541
+ # resp.things #=> Array
1542
+ # resp.things[0].thing_name #=> String
1543
+ # resp.things[0].thing_type_name #=> String
1544
+ # resp.things[0].attributes #=> Hash
1545
+ # resp.things[0].attributes["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1546
+ # resp.things[0].version #=> Integer
1547
+ # resp.next_token #=> String
1548
+ # @overload list_things(params = {})
1549
+ # @param [Hash] params ({})
1550
+ def list_things(params = {}, options = {})
1551
+ req = build_request(:list_things, params)
1552
+ req.send_request(options)
1553
+ end
1554
+
1555
+ # Lists the rules for the specific topic.
1556
+ # @option params [String] :topic
1557
+ # The topic.
1558
+ # @option params [Integer] :max_results
1559
+ # The maximum number of results to return.
1560
+ # @option params [String] :next_token
1561
+ # A token used to retrieve the next value.
1562
+ # @option params [Boolean] :rule_disabled
1563
+ # Specifies whether the rule is disabled.
1564
+ # @return [Types::ListTopicRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1565
+ #
1566
+ # * {Types::ListTopicRulesResponse#rules #rules} => Array&lt;Types::TopicRuleListItem&gt;
1567
+ # * {Types::ListTopicRulesResponse#next_token #nextToken} => String
1568
+ #
1569
+ # @example Request syntax with placeholder values
1570
+ # resp = client.list_topic_rules({
1571
+ # topic: "Topic",
1572
+ # max_results: 1,
1573
+ # next_token: "NextToken",
1574
+ # rule_disabled: false,
1575
+ # })
1576
+ #
1577
+ # @example Response structure
1578
+ # resp.rules #=> Array
1579
+ # resp.rules[0].rule_arn #=> String
1580
+ # resp.rules[0].rule_name #=> String
1581
+ # resp.rules[0].topic_pattern #=> String
1582
+ # resp.rules[0].created_at #=> Time
1583
+ # resp.rules[0].rule_disabled #=> Boolean
1584
+ # resp.next_token #=> String
1585
+ # @overload list_topic_rules(params = {})
1586
+ # @param [Hash] params ({})
1587
+ def list_topic_rules(params = {}, options = {})
1588
+ req = build_request(:list_topic_rules, params)
1589
+ req.send_request(options)
1590
+ end
1591
+
1592
+ # Registers a CA certificate with AWS IoT. This CA certificate can then
1593
+ # be used to sign device certificates, which can be then registered with
1594
+ # AWS IoT. You can register up to 10 CA certificates per AWS account
1595
+ # that have the same subject field and public key. This enables you to
1596
+ # have up to 10 certificate authorities sign your device certificates.
1597
+ # If you have more than one CA certificate registered, make sure you
1598
+ # pass the CA certificate when you register your device certificates
1599
+ # with the RegisterCertificate API.
1600
+ # @option params [required, String] :ca_certificate
1601
+ # The CA certificate.
1602
+ # @option params [required, String] :verification_certificate
1603
+ # The private key verification certificate.
1604
+ # @option params [Boolean] :set_as_active
1605
+ # A boolean value that specifies if the CA certificate is set to active.
1606
+ # @option params [Boolean] :allow_auto_registration
1607
+ # Allows this CA certificate to be used for auto registration of device
1608
+ # certificates.
1609
+ # @return [Types::RegisterCACertificateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1610
+ #
1611
+ # * {Types::RegisterCACertificateResponse#certificate_arn #certificateArn} => String
1612
+ # * {Types::RegisterCACertificateResponse#certificate_id #certificateId} => String
1613
+ #
1614
+ # @example Request syntax with placeholder values
1615
+ # resp = client.register_ca_certificate({
1616
+ # ca_certificate: "CertificatePem", # required
1617
+ # verification_certificate: "CertificatePem", # required
1618
+ # set_as_active: false,
1619
+ # allow_auto_registration: false,
1620
+ # })
1621
+ #
1622
+ # @example Response structure
1623
+ # resp.certificate_arn #=> String
1624
+ # resp.certificate_id #=> String
1625
+ # @overload register_ca_certificate(params = {})
1626
+ # @param [Hash] params ({})
1627
+ def register_ca_certificate(params = {}, options = {})
1628
+ req = build_request(:register_ca_certificate, params)
1629
+ req.send_request(options)
1630
+ end
1631
+
1632
+ # Registers a device certificate with AWS IoT. If you have more than one
1633
+ # CA certificate that has the same subject field, you must specify the
1634
+ # CA certificate that was used to sign the device certificate being
1635
+ # registered.
1636
+ # @option params [required, String] :certificate_pem
1637
+ # The certificate data, in PEM format.
1638
+ # @option params [String] :ca_certificate_pem
1639
+ # The CA certificate used to sign the device certificate being
1640
+ # registered.
1641
+ # @option params [Boolean] :set_as_active
1642
+ # A boolean value that specifies if the CA certificate is set to active.
1643
+ # @option params [String] :status
1644
+ # @return [Types::RegisterCertificateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1645
+ #
1646
+ # * {Types::RegisterCertificateResponse#certificate_arn #certificateArn} => String
1647
+ # * {Types::RegisterCertificateResponse#certificate_id #certificateId} => String
1648
+ #
1649
+ # @example Request syntax with placeholder values
1650
+ # resp = client.register_certificate({
1651
+ # certificate_pem: "CertificatePem", # required
1652
+ # ca_certificate_pem: "CertificatePem",
1653
+ # set_as_active: false,
1654
+ # status: "ACTIVE", # accepts ACTIVE, INACTIVE, REVOKED, PENDING_TRANSFER, REGISTER_INACTIVE, PENDING_ACTIVATION
1655
+ # })
1656
+ #
1657
+ # @example Response structure
1658
+ # resp.certificate_arn #=> String
1659
+ # resp.certificate_id #=> String
1660
+ # @overload register_certificate(params = {})
1661
+ # @param [Hash] params ({})
1662
+ def register_certificate(params = {}, options = {})
1663
+ req = build_request(:register_certificate, params)
1664
+ req.send_request(options)
1665
+ end
1666
+
1667
+ # Rejects a pending certificate transfer. After AWS IoT rejects a
1668
+ # certificate transfer, the certificate status changes from
1669
+ # **PENDING\_TRANSFER** to **INACTIVE**.
1670
+ #
1671
+ # To check for pending certificate transfers, call ListCertificates to
1672
+ # enumerate your certificates.
1673
+ #
1674
+ # This operation can only be called by the transfer destination. After
1675
+ # it is called, the certificate will be returned to the source's
1676
+ # account in the INACTIVE state.
1677
+ # @option params [required, String] :certificate_id
1678
+ # The ID of the certificate.
1679
+ # @option params [String] :reject_reason
1680
+ # The reason the certificate transfer was rejected.
1681
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1682
+ #
1683
+ # @example Request syntax with placeholder values
1684
+ # resp = client.reject_certificate_transfer({
1685
+ # certificate_id: "CertificateId", # required
1686
+ # reject_reason: "Message",
1687
+ # })
1688
+ # @overload reject_certificate_transfer(params = {})
1689
+ # @param [Hash] params ({})
1690
+ def reject_certificate_transfer(params = {}, options = {})
1691
+ req = build_request(:reject_certificate_transfer, params)
1692
+ req.send_request(options)
1693
+ end
1694
+
1695
+ # Replaces the specified rule. You must specify all parameters for the
1696
+ # new rule. Creating rules is an administrator-level action. Any user
1697
+ # who has permission to create rules will be able to access data
1698
+ # processed by the rule.
1699
+ # @option params [required, String] :rule_name
1700
+ # The name of the rule.
1701
+ # @option params [required, Types::TopicRulePayload] :topic_rule_payload
1702
+ # The rule payload.
1703
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1704
+ #
1705
+ # @example Request syntax with placeholder values
1706
+ # resp = client.replace_topic_rule({
1707
+ # rule_name: "RuleName", # required
1708
+ # topic_rule_payload: { # required
1709
+ # sql: "SQL", # required
1710
+ # description: "Description",
1711
+ # actions: [ # required
1712
+ # {
1713
+ # dynamo_db: {
1714
+ # table_name: "TableName", # required
1715
+ # role_arn: "AwsArn", # required
1716
+ # operation: "DynamoOperation",
1717
+ # hash_key_field: "HashKeyField", # required
1718
+ # hash_key_value: "HashKeyValue", # required
1719
+ # hash_key_type: "STRING", # accepts STRING, NUMBER
1720
+ # range_key_field: "RangeKeyField",
1721
+ # range_key_value: "RangeKeyValue",
1722
+ # range_key_type: "STRING", # accepts STRING, NUMBER
1723
+ # payload_field: "PayloadField",
1724
+ # },
1725
+ # dynamo_d_bv_2: {
1726
+ # role_arn: "AwsArn",
1727
+ # put_item: {
1728
+ # table_name: "TableName", # required
1729
+ # },
1730
+ # },
1731
+ # lambda: {
1732
+ # function_arn: "FunctionArn", # required
1733
+ # },
1734
+ # sns: {
1735
+ # target_arn: "AwsArn", # required
1736
+ # role_arn: "AwsArn", # required
1737
+ # message_format: "RAW", # accepts RAW, JSON
1738
+ # },
1739
+ # sqs: {
1740
+ # role_arn: "AwsArn", # required
1741
+ # queue_url: "QueueUrl", # required
1742
+ # use_base_64: false,
1743
+ # },
1744
+ # kinesis: {
1745
+ # role_arn: "AwsArn", # required
1746
+ # stream_name: "StreamName", # required
1747
+ # partition_key: "PartitionKey",
1748
+ # },
1749
+ # republish: {
1750
+ # role_arn: "AwsArn", # required
1751
+ # topic: "TopicPattern", # required
1752
+ # },
1753
+ # s3: {
1754
+ # role_arn: "AwsArn", # required
1755
+ # bucket_name: "BucketName", # required
1756
+ # key: "Key", # required
1757
+ # canned_acl: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control, log-delivery-write
1758
+ # },
1759
+ # firehose: {
1760
+ # role_arn: "AwsArn", # required
1761
+ # delivery_stream_name: "DeliveryStreamName", # required
1762
+ # separator: "FirehoseSeparator",
1763
+ # },
1764
+ # cloudwatch_metric: {
1765
+ # role_arn: "AwsArn", # required
1766
+ # metric_namespace: "MetricNamespace", # required
1767
+ # metric_name: "MetricName", # required
1768
+ # metric_value: "MetricValue", # required
1769
+ # metric_unit: "MetricUnit", # required
1770
+ # metric_timestamp: "MetricTimestamp",
1771
+ # },
1772
+ # cloudwatch_alarm: {
1773
+ # role_arn: "AwsArn", # required
1774
+ # alarm_name: "AlarmName", # required
1775
+ # state_reason: "StateReason", # required
1776
+ # state_value: "StateValue", # required
1777
+ # },
1778
+ # elasticsearch: {
1779
+ # role_arn: "AwsArn", # required
1780
+ # endpoint: "ElasticsearchEndpoint", # required
1781
+ # index: "ElasticsearchIndex", # required
1782
+ # type: "ElasticsearchType", # required
1783
+ # id: "ElasticsearchId", # required
1784
+ # },
1785
+ # },
1786
+ # ],
1787
+ # rule_disabled: false,
1788
+ # aws_iot_sql_version: "AwsIotSqlVersion",
1789
+ # },
1790
+ # })
1791
+ # @overload replace_topic_rule(params = {})
1792
+ # @param [Hash] params ({})
1793
+ def replace_topic_rule(params = {}, options = {})
1794
+ req = build_request(:replace_topic_rule, params)
1795
+ req.send_request(options)
1796
+ end
1797
+
1798
+ # Sets the specified version of the specified policy as the policy's
1799
+ # default (operative) version. This action affects all certificates to
1800
+ # which the policy is attached. To list the principals the policy is
1801
+ # attached to, use the ListPrincipalPolicy API.
1802
+ # @option params [required, String] :policy_name
1803
+ # The policy name.
1804
+ # @option params [required, String] :policy_version_id
1805
+ # The policy version ID.
1806
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1807
+ #
1808
+ # @example Request syntax with placeholder values
1809
+ # resp = client.set_default_policy_version({
1810
+ # policy_name: "PolicyName", # required
1811
+ # policy_version_id: "PolicyVersionId", # required
1812
+ # })
1813
+ # @overload set_default_policy_version(params = {})
1814
+ # @param [Hash] params ({})
1815
+ def set_default_policy_version(params = {}, options = {})
1816
+ req = build_request(:set_default_policy_version, params)
1817
+ req.send_request(options)
1818
+ end
1819
+
1820
+ # Sets the logging options.
1821
+ # @option params [required, Types::LoggingOptionsPayload] :logging_options_payload
1822
+ # The logging options payload.
1823
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1824
+ #
1825
+ # @example Request syntax with placeholder values
1826
+ # resp = client.set_logging_options({
1827
+ # logging_options_payload: { # required
1828
+ # role_arn: "AwsArn", # required
1829
+ # log_level: "DEBUG", # accepts DEBUG, INFO, ERROR, WARN, DISABLED
1830
+ # },
1831
+ # })
1832
+ # @overload set_logging_options(params = {})
1833
+ # @param [Hash] params ({})
1834
+ def set_logging_options(params = {}, options = {})
1835
+ req = build_request(:set_logging_options, params)
1836
+ req.send_request(options)
1837
+ end
1838
+
1839
+ # Transfers the specified certificate to the specified AWS account.
1840
+ #
1841
+ # You can cancel the transfer until it is acknowledged by the recipient.
1842
+ #
1843
+ # No notification is sent to the transfer destination's account. It is
1844
+ # up to the caller to notify the transfer target.
1845
+ #
1846
+ # The certificate being transferred must not be in the ACTIVE state. You
1847
+ # can use the UpdateCertificate API to deactivate it.
1848
+ #
1849
+ # The certificate must not have any policies attached to it. You can use
1850
+ # the DetachPrincipalPolicy API to detach them.
1851
+ # @option params [required, String] :certificate_id
1852
+ # The ID of the certificate.
1853
+ # @option params [required, String] :target_aws_account
1854
+ # The AWS account.
1855
+ # @option params [String] :transfer_message
1856
+ # The transfer message.
1857
+ # @return [Types::TransferCertificateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1858
+ #
1859
+ # * {Types::TransferCertificateResponse#transferred_certificate_arn #transferredCertificateArn} => String
1860
+ #
1861
+ # @example Request syntax with placeholder values
1862
+ # resp = client.transfer_certificate({
1863
+ # certificate_id: "CertificateId", # required
1864
+ # target_aws_account: "AwsAccountId", # required
1865
+ # transfer_message: "Message",
1866
+ # })
1867
+ #
1868
+ # @example Response structure
1869
+ # resp.transferred_certificate_arn #=> String
1870
+ # @overload transfer_certificate(params = {})
1871
+ # @param [Hash] params ({})
1872
+ def transfer_certificate(params = {}, options = {})
1873
+ req = build_request(:transfer_certificate, params)
1874
+ req.send_request(options)
1875
+ end
1876
+
1877
+ # Updates a registered CA certificate.
1878
+ # @option params [required, String] :certificate_id
1879
+ # The CA certificate identifier.
1880
+ # @option params [String] :new_status
1881
+ # The updated status of the CA certificate.
1882
+ #
1883
+ # **Note:** The status value REGISTER\_INACTIVE is deprecated and should
1884
+ # not be used.
1885
+ # @option params [String] :new_auto_registration_status
1886
+ # The new value for the auto registration status. Valid values are:
1887
+ # "ENABLE" or "DISABLE".
1888
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1889
+ #
1890
+ # @example Request syntax with placeholder values
1891
+ # resp = client.update_ca_certificate({
1892
+ # certificate_id: "CertificateId", # required
1893
+ # new_status: "ACTIVE", # accepts ACTIVE, INACTIVE
1894
+ # new_auto_registration_status: "ENABLE", # accepts ENABLE, DISABLE
1895
+ # })
1896
+ # @overload update_ca_certificate(params = {})
1897
+ # @param [Hash] params ({})
1898
+ def update_ca_certificate(params = {}, options = {})
1899
+ req = build_request(:update_ca_certificate, params)
1900
+ req.send_request(options)
1901
+ end
1902
+
1903
+ # Updates the status of the specified certificate. This operation is
1904
+ # idempotent.
1905
+ #
1906
+ # Moving a certificate from the ACTIVE state (including REVOKED) will
1907
+ # not disconnect currently connected devices, but these devices will be
1908
+ # unable to reconnect.
1909
+ #
1910
+ # The ACTIVE state is required to authenticate devices connecting to AWS
1911
+ # IoT using a certificate.
1912
+ # @option params [required, String] :certificate_id
1913
+ # The ID of the certificate.
1914
+ # @option params [required, String] :new_status
1915
+ # The new status.
1916
+ #
1917
+ # **Note:** Setting the status to PENDING\_TRANSFER will result in an
1918
+ # exception being thrown. PENDING\_TRANSFER is a status used internally
1919
+ # by AWS IoT. It is not intended for developer use.
1920
+ #
1921
+ # **Note:** The status value REGISTER\_INACTIVE is deprecated and should
1922
+ # not be used.
1923
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1924
+ #
1925
+ # @example Request syntax with placeholder values
1926
+ # resp = client.update_certificate({
1927
+ # certificate_id: "CertificateId", # required
1928
+ # new_status: "ACTIVE", # required, accepts ACTIVE, INACTIVE, REVOKED, PENDING_TRANSFER, REGISTER_INACTIVE, PENDING_ACTIVATION
1929
+ # })
1930
+ # @overload update_certificate(params = {})
1931
+ # @param [Hash] params ({})
1932
+ def update_certificate(params = {}, options = {})
1933
+ req = build_request(:update_certificate, params)
1934
+ req.send_request(options)
1935
+ end
1936
+
1937
+ # Updates the data for a thing.
1938
+ # @option params [required, String] :thing_name
1939
+ # The name of the thing to update.
1940
+ # @option params [String] :thing_type_name
1941
+ # The name of the thing type.
1942
+ # @option params [Types::AttributePayload] :attribute_payload
1943
+ # A list of thing attributes, a JSON string containing name-value pairs.
1944
+ # For example:
1945
+ #
1946
+ # `\{"attributes":\{"name1":"value2"\}\})`
1947
+ #
1948
+ # This data is used to add new attributes or update existing attributes.
1949
+ # @option params [Integer] :expected_version
1950
+ # The expected version of the thing record in the registry. If the
1951
+ # version of the record in the registry does not match the expected
1952
+ # version specified in the request, the `UpdateThing` request is
1953
+ # rejected with a `VersionConflictException`.
1954
+ # @option params [Boolean] :remove_thing_type
1955
+ # Remove a thing type association. If **true**, the assocation is
1956
+ # removed.
1957
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1958
+ #
1959
+ # @example Request syntax with placeholder values
1960
+ # resp = client.update_thing({
1961
+ # thing_name: "ThingName", # required
1962
+ # thing_type_name: "ThingTypeName",
1963
+ # attribute_payload: {
1964
+ # attributes: {
1965
+ # "AttributeName" => "AttributeValue",
1966
+ # },
1967
+ # merge: false,
1968
+ # },
1969
+ # expected_version: 1,
1970
+ # remove_thing_type: false,
1971
+ # })
1972
+ # @overload update_thing(params = {})
1973
+ # @param [Hash] params ({})
1974
+ def update_thing(params = {}, options = {})
1975
+ req = build_request(:update_thing, params)
1976
+ req.send_request(options)
1977
+ end
1978
+
1979
+ # @!endgroup
1980
+
1981
+ # @param params ({})
1982
+ # @api private
1983
+ def build_request(operation_name, params = {})
1984
+ handlers = @handlers.for(operation_name)
1985
+ context = Seahorse::Client::RequestContext.new(
1986
+ operation_name: operation_name,
1987
+ operation: config.api.operation(operation_name),
1988
+ client: self,
1989
+ params: params,
1990
+ config: config)
1991
+ context[:gem_name] = 'aws-sdk-iot'
1992
+ context[:gem_version] = '1.0.0.rc1'
1993
+ Seahorse::Client::Request.new(handlers, context)
1994
+ end
1995
+
1996
+ # @api private
1997
+ # @deprecated
1998
+ def waiter_names
1999
+ []
2000
+ end
2001
+
2002
+ class << self
2003
+
2004
+ # @api private
2005
+ attr_reader :identifier
2006
+
2007
+ # @api private
2008
+ def errors_module
2009
+ Errors
2010
+ end
2011
+
2012
+ end
2013
+ end
2014
+ end
2015
+ end