aws-sdk-iot 1.0.0.rc1

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