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
+ # 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
+
@@ -0,0 +1,23 @@
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
+ module Aws
9
+ module IoT
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
14
+ # Raised when calling #load or #data on a resource class that can not be
15
+ # loaded. This can happen when:
16
+ #
17
+ # * A resource class has identifiers, but no data attributes.
18
+ # * Resource data is only available when making an API call that
19
+ # enumerates all resources of that type.
20
+ class ResourceNotLoadable < RuntimeError; end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
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
+ module Aws
9
+ module IoT
10
+ class Resource
11
+
12
+ # @param options ({})
13
+ # @option options [Client] :client
14
+ def initialize(options = {})
15
+ @client = options[:client] || Client.new(options)
16
+ end
17
+
18
+ # @return [Client]
19
+ def client
20
+ @client
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,3181 @@
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
+ module Aws
9
+ module IoT
10
+ module Types
11
+
12
+ # The input for the AcceptCertificateTransfer operation.
13
+ # @note When making an API call, pass AcceptCertificateTransferRequest
14
+ # data as a hash:
15
+ #
16
+ # {
17
+ # certificate_id: "CertificateId", # required
18
+ # set_as_active: false,
19
+ # }
20
+ # @!attribute [rw] certificate_id
21
+ # The ID of the certificate.
22
+ # @return [String]
23
+ #
24
+ # @!attribute [rw] set_as_active
25
+ # Specifies whether the certificate is active.
26
+ # @return [Boolean]
27
+ class AcceptCertificateTransferRequest < Struct.new(
28
+ :certificate_id,
29
+ :set_as_active)
30
+ include Aws::Structure
31
+ end
32
+
33
+ # Describes the actions associated with a rule.
34
+ # @note When making an API call, pass Action
35
+ # data as a hash:
36
+ #
37
+ # {
38
+ # dynamo_db: {
39
+ # table_name: "TableName", # required
40
+ # role_arn: "AwsArn", # required
41
+ # operation: "DynamoOperation",
42
+ # hash_key_field: "HashKeyField", # required
43
+ # hash_key_value: "HashKeyValue", # required
44
+ # hash_key_type: "STRING", # accepts STRING, NUMBER
45
+ # range_key_field: "RangeKeyField",
46
+ # range_key_value: "RangeKeyValue",
47
+ # range_key_type: "STRING", # accepts STRING, NUMBER
48
+ # payload_field: "PayloadField",
49
+ # },
50
+ # dynamo_d_bv_2: {
51
+ # role_arn: "AwsArn",
52
+ # put_item: {
53
+ # table_name: "TableName", # required
54
+ # },
55
+ # },
56
+ # lambda: {
57
+ # function_arn: "FunctionArn", # required
58
+ # },
59
+ # sns: {
60
+ # target_arn: "AwsArn", # required
61
+ # role_arn: "AwsArn", # required
62
+ # message_format: "RAW", # accepts RAW, JSON
63
+ # },
64
+ # sqs: {
65
+ # role_arn: "AwsArn", # required
66
+ # queue_url: "QueueUrl", # required
67
+ # use_base_64: false,
68
+ # },
69
+ # kinesis: {
70
+ # role_arn: "AwsArn", # required
71
+ # stream_name: "StreamName", # required
72
+ # partition_key: "PartitionKey",
73
+ # },
74
+ # republish: {
75
+ # role_arn: "AwsArn", # required
76
+ # topic: "TopicPattern", # required
77
+ # },
78
+ # s3: {
79
+ # role_arn: "AwsArn", # required
80
+ # bucket_name: "BucketName", # required
81
+ # key: "Key", # required
82
+ # 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
83
+ # },
84
+ # firehose: {
85
+ # role_arn: "AwsArn", # required
86
+ # delivery_stream_name: "DeliveryStreamName", # required
87
+ # separator: "FirehoseSeparator",
88
+ # },
89
+ # cloudwatch_metric: {
90
+ # role_arn: "AwsArn", # required
91
+ # metric_namespace: "MetricNamespace", # required
92
+ # metric_name: "MetricName", # required
93
+ # metric_value: "MetricValue", # required
94
+ # metric_unit: "MetricUnit", # required
95
+ # metric_timestamp: "MetricTimestamp",
96
+ # },
97
+ # cloudwatch_alarm: {
98
+ # role_arn: "AwsArn", # required
99
+ # alarm_name: "AlarmName", # required
100
+ # state_reason: "StateReason", # required
101
+ # state_value: "StateValue", # required
102
+ # },
103
+ # elasticsearch: {
104
+ # role_arn: "AwsArn", # required
105
+ # endpoint: "ElasticsearchEndpoint", # required
106
+ # index: "ElasticsearchIndex", # required
107
+ # type: "ElasticsearchType", # required
108
+ # id: "ElasticsearchId", # required
109
+ # },
110
+ # }
111
+ # @!attribute [rw] dynamo_db
112
+ # Write to a DynamoDB table.
113
+ # @return [Types::DynamoDBAction]
114
+ #
115
+ # @!attribute [rw] dynamo_d_bv_2
116
+ # Write to a DynamoDB table. This is a new version of the DynamoDB
117
+ # action. It allows you to write each attribute in an MQTT message
118
+ # payload into a separate DynamoDB column.
119
+ # @return [Types::DynamoDBv2Action]
120
+ #
121
+ # @!attribute [rw] lambda
122
+ # Invoke a Lambda function.
123
+ # @return [Types::LambdaAction]
124
+ #
125
+ # @!attribute [rw] sns
126
+ # Publish to an Amazon SNS topic.
127
+ # @return [Types::SnsAction]
128
+ #
129
+ # @!attribute [rw] sqs
130
+ # Publish to an Amazon SQS queue.
131
+ # @return [Types::SqsAction]
132
+ #
133
+ # @!attribute [rw] kinesis
134
+ # Write data to an Amazon Kinesis stream.
135
+ # @return [Types::KinesisAction]
136
+ #
137
+ # @!attribute [rw] republish
138
+ # Publish to another MQTT topic.
139
+ # @return [Types::RepublishAction]
140
+ #
141
+ # @!attribute [rw] s3
142
+ # Write to an Amazon S3 bucket.
143
+ # @return [Types::S3Action]
144
+ #
145
+ # @!attribute [rw] firehose
146
+ # Write to an Amazon Kinesis Firehose stream.
147
+ # @return [Types::FirehoseAction]
148
+ #
149
+ # @!attribute [rw] cloudwatch_metric
150
+ # Capture a CloudWatch metric.
151
+ # @return [Types::CloudwatchMetricAction]
152
+ #
153
+ # @!attribute [rw] cloudwatch_alarm
154
+ # Change the state of a CloudWatch alarm.
155
+ # @return [Types::CloudwatchAlarmAction]
156
+ #
157
+ # @!attribute [rw] elasticsearch
158
+ # Write data to an Amazon Elasticsearch Service domain.
159
+ # @return [Types::ElasticsearchAction]
160
+ class Action < Struct.new(
161
+ :dynamo_db,
162
+ :dynamo_d_bv_2,
163
+ :lambda,
164
+ :sns,
165
+ :sqs,
166
+ :kinesis,
167
+ :republish,
168
+ :s3,
169
+ :firehose,
170
+ :cloudwatch_metric,
171
+ :cloudwatch_alarm,
172
+ :elasticsearch)
173
+ include Aws::Structure
174
+ end
175
+
176
+ # The input for the AttachPrincipalPolicy operation.
177
+ # @note When making an API call, pass AttachPrincipalPolicyRequest
178
+ # data as a hash:
179
+ #
180
+ # {
181
+ # policy_name: "PolicyName", # required
182
+ # principal: "Principal", # required
183
+ # }
184
+ # @!attribute [rw] policy_name
185
+ # The policy name.
186
+ # @return [String]
187
+ #
188
+ # @!attribute [rw] principal
189
+ # The principal, which can be a certificate ARN (as returned from the
190
+ # CreateCertificate operation) or an Amazon Cognito ID.
191
+ # @return [String]
192
+ class AttachPrincipalPolicyRequest < Struct.new(
193
+ :policy_name,
194
+ :principal)
195
+ include Aws::Structure
196
+ end
197
+
198
+ # The input for the AttachThingPrincipal operation.
199
+ # @note When making an API call, pass AttachThingPrincipalRequest
200
+ # data as a hash:
201
+ #
202
+ # {
203
+ # thing_name: "ThingName", # required
204
+ # principal: "Principal", # required
205
+ # }
206
+ # @!attribute [rw] thing_name
207
+ # The name of the thing.
208
+ # @return [String]
209
+ #
210
+ # @!attribute [rw] principal
211
+ # The principal, such as a certificate or other credential.
212
+ # @return [String]
213
+ class AttachThingPrincipalRequest < Struct.new(
214
+ :thing_name,
215
+ :principal)
216
+ include Aws::Structure
217
+ end
218
+
219
+ # The output from the AttachThingPrincipal operation.
220
+ class AttachThingPrincipalResponse < Aws::EmptyStructure; end
221
+
222
+ # The attribute payload.
223
+ # @note When making an API call, pass AttributePayload
224
+ # data as a hash:
225
+ #
226
+ # {
227
+ # attributes: {
228
+ # "AttributeName" => "AttributeValue",
229
+ # },
230
+ # merge: false,
231
+ # }
232
+ # @!attribute [rw] attributes
233
+ # A JSON string containing up to three key-value pair in JSON format.
234
+ # For example:
235
+ #
236
+ # `\{"attributes":\{"string1":"string2"\}\})`
237
+ # @return [Hash<String,String>]
238
+ #
239
+ # @!attribute [rw] merge
240
+ # Specifies whether the list of attributes provided in the
241
+ # `AttributePayload` is merged with the attributes stored in the
242
+ # registry, instead of overwriting them.
243
+ #
244
+ # To remove an attribute, call `UpdateThing` with an empty attribute
245
+ # value.
246
+ #
247
+ # <note markdown="1"> The `merge` attribute is only valid when calling `UpdateThing`.
248
+ #
249
+ # </note>
250
+ # @return [Boolean]
251
+ class AttributePayload < Struct.new(
252
+ :attributes,
253
+ :merge)
254
+ include Aws::Structure
255
+ end
256
+
257
+ # A CA certificate.
258
+ # @!attribute [rw] certificate_arn
259
+ # The ARN of the CA certificate.
260
+ # @return [String]
261
+ #
262
+ # @!attribute [rw] certificate_id
263
+ # The ID of the CA certificate.
264
+ # @return [String]
265
+ #
266
+ # @!attribute [rw] status
267
+ # The status of the CA certificate.
268
+ #
269
+ # The status value REGISTER\_INACTIVE is deprecated and should not be
270
+ # used.
271
+ # @return [String]
272
+ #
273
+ # @!attribute [rw] creation_date
274
+ # The date the CA certificate was created.
275
+ # @return [Time]
276
+ class CACertificate < Struct.new(
277
+ :certificate_arn,
278
+ :certificate_id,
279
+ :status,
280
+ :creation_date)
281
+ include Aws::Structure
282
+ end
283
+
284
+ # Describes a CA certificate.
285
+ # @!attribute [rw] certificate_arn
286
+ # The CA certificate ARN.
287
+ # @return [String]
288
+ #
289
+ # @!attribute [rw] certificate_id
290
+ # The CA certificate ID.
291
+ # @return [String]
292
+ #
293
+ # @!attribute [rw] status
294
+ # The status of a CA certificate.
295
+ # @return [String]
296
+ #
297
+ # @!attribute [rw] certificate_pem
298
+ # The CA certificate data, in PEM format.
299
+ # @return [String]
300
+ #
301
+ # @!attribute [rw] owned_by
302
+ # The owner of the CA certificate.
303
+ # @return [String]
304
+ #
305
+ # @!attribute [rw] creation_date
306
+ # The date the CA certificate was created.
307
+ # @return [Time]
308
+ #
309
+ # @!attribute [rw] auto_registration_status
310
+ # Whether the CA certificate configured for auto registration of
311
+ # device certificates. Valid values are "ENABLE" and "DISABLE"
312
+ # @return [String]
313
+ class CACertificateDescription < Struct.new(
314
+ :certificate_arn,
315
+ :certificate_id,
316
+ :status,
317
+ :certificate_pem,
318
+ :owned_by,
319
+ :creation_date,
320
+ :auto_registration_status)
321
+ include Aws::Structure
322
+ end
323
+
324
+ # The input for the CancelCertificateTransfer operation.
325
+ # @note When making an API call, pass CancelCertificateTransferRequest
326
+ # data as a hash:
327
+ #
328
+ # {
329
+ # certificate_id: "CertificateId", # required
330
+ # }
331
+ # @!attribute [rw] certificate_id
332
+ # The ID of the certificate.
333
+ # @return [String]
334
+ class CancelCertificateTransferRequest < Struct.new(
335
+ :certificate_id)
336
+ include Aws::Structure
337
+ end
338
+
339
+ # Information about a certificate.
340
+ # @!attribute [rw] certificate_arn
341
+ # The ARN of the certificate.
342
+ # @return [String]
343
+ #
344
+ # @!attribute [rw] certificate_id
345
+ # The ID of the certificate.
346
+ # @return [String]
347
+ #
348
+ # @!attribute [rw] status
349
+ # The status of the certificate.
350
+ #
351
+ # The status value REGISTER\_INACTIVE is deprecated and should not be
352
+ # used.
353
+ # @return [String]
354
+ #
355
+ # @!attribute [rw] creation_date
356
+ # The date and time the certificate was created.
357
+ # @return [Time]
358
+ class Certificate < Struct.new(
359
+ :certificate_arn,
360
+ :certificate_id,
361
+ :status,
362
+ :creation_date)
363
+ include Aws::Structure
364
+ end
365
+
366
+ # Describes a certificate.
367
+ # @!attribute [rw] certificate_arn
368
+ # The ARN of the certificate.
369
+ # @return [String]
370
+ #
371
+ # @!attribute [rw] certificate_id
372
+ # The ID of the certificate.
373
+ # @return [String]
374
+ #
375
+ # @!attribute [rw] ca_certificate_id
376
+ # The certificate ID of the CA certificate used to sign this
377
+ # certificate.
378
+ # @return [String]
379
+ #
380
+ # @!attribute [rw] status
381
+ # The status of the certificate.
382
+ # @return [String]
383
+ #
384
+ # @!attribute [rw] certificate_pem
385
+ # The certificate data, in PEM format.
386
+ # @return [String]
387
+ #
388
+ # @!attribute [rw] owned_by
389
+ # The ID of the AWS account that owns the certificate.
390
+ # @return [String]
391
+ #
392
+ # @!attribute [rw] previous_owned_by
393
+ # The ID of the AWS account of the previous owner of the certificate.
394
+ # @return [String]
395
+ #
396
+ # @!attribute [rw] creation_date
397
+ # The date and time the certificate was created.
398
+ # @return [Time]
399
+ #
400
+ # @!attribute [rw] last_modified_date
401
+ # The date and time the certificate was last modified.
402
+ # @return [Time]
403
+ #
404
+ # @!attribute [rw] transfer_data
405
+ # The transfer data.
406
+ # @return [Types::TransferData]
407
+ class CertificateDescription < Struct.new(
408
+ :certificate_arn,
409
+ :certificate_id,
410
+ :ca_certificate_id,
411
+ :status,
412
+ :certificate_pem,
413
+ :owned_by,
414
+ :previous_owned_by,
415
+ :creation_date,
416
+ :last_modified_date,
417
+ :transfer_data)
418
+ include Aws::Structure
419
+ end
420
+
421
+ # Describes an action that updates a CloudWatch alarm.
422
+ # @note When making an API call, pass CloudwatchAlarmAction
423
+ # data as a hash:
424
+ #
425
+ # {
426
+ # role_arn: "AwsArn", # required
427
+ # alarm_name: "AlarmName", # required
428
+ # state_reason: "StateReason", # required
429
+ # state_value: "StateValue", # required
430
+ # }
431
+ # @!attribute [rw] role_arn
432
+ # The IAM role that allows access to the CloudWatch alarm.
433
+ # @return [String]
434
+ #
435
+ # @!attribute [rw] alarm_name
436
+ # The CloudWatch alarm name.
437
+ # @return [String]
438
+ #
439
+ # @!attribute [rw] state_reason
440
+ # The reason for the alarm change.
441
+ # @return [String]
442
+ #
443
+ # @!attribute [rw] state_value
444
+ # The value of the alarm state. Acceptable values are: OK, ALARM,
445
+ # INSUFFICIENT\_DATA.
446
+ # @return [String]
447
+ class CloudwatchAlarmAction < Struct.new(
448
+ :role_arn,
449
+ :alarm_name,
450
+ :state_reason,
451
+ :state_value)
452
+ include Aws::Structure
453
+ end
454
+
455
+ # Describes an action that captures a CloudWatch metric.
456
+ # @note When making an API call, pass CloudwatchMetricAction
457
+ # data as a hash:
458
+ #
459
+ # {
460
+ # role_arn: "AwsArn", # required
461
+ # metric_namespace: "MetricNamespace", # required
462
+ # metric_name: "MetricName", # required
463
+ # metric_value: "MetricValue", # required
464
+ # metric_unit: "MetricUnit", # required
465
+ # metric_timestamp: "MetricTimestamp",
466
+ # }
467
+ # @!attribute [rw] role_arn
468
+ # The IAM role that allows access to the CloudWatch metric.
469
+ # @return [String]
470
+ #
471
+ # @!attribute [rw] metric_namespace
472
+ # The CloudWatch metric namespace name.
473
+ # @return [String]
474
+ #
475
+ # @!attribute [rw] metric_name
476
+ # The CloudWatch metric name.
477
+ # @return [String]
478
+ #
479
+ # @!attribute [rw] metric_value
480
+ # The CloudWatch metric value.
481
+ # @return [String]
482
+ #
483
+ # @!attribute [rw] metric_unit
484
+ # The [metric unit][1] supported by CloudWatch.
485
+ #
486
+ #
487
+ #
488
+ # [1]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit
489
+ # @return [String]
490
+ #
491
+ # @!attribute [rw] metric_timestamp
492
+ # An optional [Unix timestamp][1].
493
+ #
494
+ #
495
+ #
496
+ # [1]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp
497
+ # @return [String]
498
+ class CloudwatchMetricAction < Struct.new(
499
+ :role_arn,
500
+ :metric_namespace,
501
+ :metric_name,
502
+ :metric_value,
503
+ :metric_unit,
504
+ :metric_timestamp)
505
+ include Aws::Structure
506
+ end
507
+
508
+ # The input for the CreateCertificateFromCsr operation.
509
+ # @note When making an API call, pass CreateCertificateFromCsrRequest
510
+ # data as a hash:
511
+ #
512
+ # {
513
+ # certificate_signing_request: "CertificateSigningRequest", # required
514
+ # set_as_active: false,
515
+ # }
516
+ # @!attribute [rw] certificate_signing_request
517
+ # The certificate signing request (CSR).
518
+ # @return [String]
519
+ #
520
+ # @!attribute [rw] set_as_active
521
+ # Specifies whether the certificate is active.
522
+ # @return [Boolean]
523
+ class CreateCertificateFromCsrRequest < Struct.new(
524
+ :certificate_signing_request,
525
+ :set_as_active)
526
+ include Aws::Structure
527
+ end
528
+
529
+ # The output from the CreateCertificateFromCsr operation.
530
+ # @!attribute [rw] certificate_arn
531
+ # The Amazon Resource Name (ARN) of the certificate. You can use the
532
+ # ARN as a principal for policy operations.
533
+ # @return [String]
534
+ #
535
+ # @!attribute [rw] certificate_id
536
+ # The ID of the certificate. Certificate management operations only
537
+ # take a certificateId.
538
+ # @return [String]
539
+ #
540
+ # @!attribute [rw] certificate_pem
541
+ # The certificate data, in PEM format.
542
+ # @return [String]
543
+ class CreateCertificateFromCsrResponse < Struct.new(
544
+ :certificate_arn,
545
+ :certificate_id,
546
+ :certificate_pem)
547
+ include Aws::Structure
548
+ end
549
+
550
+ # The input for the CreateKeysAndCertificate operation.
551
+ # @note When making an API call, pass CreateKeysAndCertificateRequest
552
+ # data as a hash:
553
+ #
554
+ # {
555
+ # set_as_active: false,
556
+ # }
557
+ # @!attribute [rw] set_as_active
558
+ # Specifies whether the certificate is active.
559
+ # @return [Boolean]
560
+ class CreateKeysAndCertificateRequest < Struct.new(
561
+ :set_as_active)
562
+ include Aws::Structure
563
+ end
564
+
565
+ # The output of the CreateKeysAndCertificate operation.
566
+ # @!attribute [rw] certificate_arn
567
+ # The ARN of the certificate.
568
+ # @return [String]
569
+ #
570
+ # @!attribute [rw] certificate_id
571
+ # The ID of the certificate. AWS IoT issues a default subject name for
572
+ # the certificate (for example, AWS IoT Certificate).
573
+ # @return [String]
574
+ #
575
+ # @!attribute [rw] certificate_pem
576
+ # The certificate data, in PEM format.
577
+ # @return [String]
578
+ #
579
+ # @!attribute [rw] key_pair
580
+ # The generated key pair.
581
+ # @return [Types::KeyPair]
582
+ class CreateKeysAndCertificateResponse < Struct.new(
583
+ :certificate_arn,
584
+ :certificate_id,
585
+ :certificate_pem,
586
+ :key_pair)
587
+ include Aws::Structure
588
+ end
589
+
590
+ # The input for the CreatePolicy operation.
591
+ # @note When making an API call, pass CreatePolicyRequest
592
+ # data as a hash:
593
+ #
594
+ # {
595
+ # policy_name: "PolicyName", # required
596
+ # policy_document: "PolicyDocument", # required
597
+ # }
598
+ # @!attribute [rw] policy_name
599
+ # The policy name.
600
+ # @return [String]
601
+ #
602
+ # @!attribute [rw] policy_document
603
+ # The JSON document that describes the policy. **policyDocument** must
604
+ # have a minimum length of 1, with a maximum length of 2048, excluding
605
+ # whitespace.
606
+ # @return [String]
607
+ class CreatePolicyRequest < Struct.new(
608
+ :policy_name,
609
+ :policy_document)
610
+ include Aws::Structure
611
+ end
612
+
613
+ # The output from the CreatePolicy operation.
614
+ # @!attribute [rw] policy_name
615
+ # The policy name.
616
+ # @return [String]
617
+ #
618
+ # @!attribute [rw] policy_arn
619
+ # The policy ARN.
620
+ # @return [String]
621
+ #
622
+ # @!attribute [rw] policy_document
623
+ # The JSON document that describes the policy.
624
+ # @return [String]
625
+ #
626
+ # @!attribute [rw] policy_version_id
627
+ # The policy version ID.
628
+ # @return [String]
629
+ class CreatePolicyResponse < Struct.new(
630
+ :policy_name,
631
+ :policy_arn,
632
+ :policy_document,
633
+ :policy_version_id)
634
+ include Aws::Structure
635
+ end
636
+
637
+ # The input for the CreatePolicyVersion operation.
638
+ # @note When making an API call, pass CreatePolicyVersionRequest
639
+ # data as a hash:
640
+ #
641
+ # {
642
+ # policy_name: "PolicyName", # required
643
+ # policy_document: "PolicyDocument", # required
644
+ # set_as_default: false,
645
+ # }
646
+ # @!attribute [rw] policy_name
647
+ # The policy name.
648
+ # @return [String]
649
+ #
650
+ # @!attribute [rw] policy_document
651
+ # The JSON document that describes the policy. Minimum length of 1.
652
+ # Maximum length of 2048, excluding whitespaces
653
+ # @return [String]
654
+ #
655
+ # @!attribute [rw] set_as_default
656
+ # Specifies whether the policy version is set as the default. When
657
+ # this parameter is true, the new policy version becomes the operative
658
+ # version (that is, the version that is in effect for the certificates
659
+ # to which the policy is attached).
660
+ # @return [Boolean]
661
+ class CreatePolicyVersionRequest < Struct.new(
662
+ :policy_name,
663
+ :policy_document,
664
+ :set_as_default)
665
+ include Aws::Structure
666
+ end
667
+
668
+ # The output of the CreatePolicyVersion operation.
669
+ # @!attribute [rw] policy_arn
670
+ # The policy ARN.
671
+ # @return [String]
672
+ #
673
+ # @!attribute [rw] policy_document
674
+ # The JSON document that describes the policy.
675
+ # @return [String]
676
+ #
677
+ # @!attribute [rw] policy_version_id
678
+ # The policy version ID.
679
+ # @return [String]
680
+ #
681
+ # @!attribute [rw] is_default_version
682
+ # Specifies whether the policy version is the default.
683
+ # @return [Boolean]
684
+ class CreatePolicyVersionResponse < Struct.new(
685
+ :policy_arn,
686
+ :policy_document,
687
+ :policy_version_id,
688
+ :is_default_version)
689
+ include Aws::Structure
690
+ end
691
+
692
+ # The input for the CreateThing operation.
693
+ # @note When making an API call, pass CreateThingRequest
694
+ # data as a hash:
695
+ #
696
+ # {
697
+ # thing_name: "ThingName", # required
698
+ # thing_type_name: "ThingTypeName",
699
+ # attribute_payload: {
700
+ # attributes: {
701
+ # "AttributeName" => "AttributeValue",
702
+ # },
703
+ # merge: false,
704
+ # },
705
+ # }
706
+ # @!attribute [rw] thing_name
707
+ # The name of the thing to create.
708
+ # @return [String]
709
+ #
710
+ # @!attribute [rw] thing_type_name
711
+ # The name of the thing type associated with the new thing.
712
+ # @return [String]
713
+ #
714
+ # @!attribute [rw] attribute_payload
715
+ # The attribute payload, which consists of up to three name/value
716
+ # pairs in a JSON document. For example:
717
+ #
718
+ # `\{"attributes":\{"string1":"string2"\}\})`
719
+ # @return [Types::AttributePayload]
720
+ class CreateThingRequest < Struct.new(
721
+ :thing_name,
722
+ :thing_type_name,
723
+ :attribute_payload)
724
+ include Aws::Structure
725
+ end
726
+
727
+ # The output of the CreateThing operation.
728
+ # @!attribute [rw] thing_name
729
+ # The name of the new thing.
730
+ # @return [String]
731
+ #
732
+ # @!attribute [rw] thing_arn
733
+ # The ARN of the new thing.
734
+ # @return [String]
735
+ class CreateThingResponse < Struct.new(
736
+ :thing_name,
737
+ :thing_arn)
738
+ include Aws::Structure
739
+ end
740
+
741
+ # The input for the CreateThingType operation.
742
+ # @note When making an API call, pass CreateThingTypeRequest
743
+ # data as a hash:
744
+ #
745
+ # {
746
+ # thing_type_name: "ThingTypeName", # required
747
+ # thing_type_properties: {
748
+ # thing_type_description: "ThingTypeDescription",
749
+ # searchable_attributes: ["AttributeName"],
750
+ # },
751
+ # }
752
+ # @!attribute [rw] thing_type_name
753
+ # The name of the thing type.
754
+ # @return [String]
755
+ #
756
+ # @!attribute [rw] thing_type_properties
757
+ # The ThingTypeProperties for the thing type to create. It contains
758
+ # information about the new thing type including a description, and a
759
+ # list of searchable thing attribute names.
760
+ # @return [Types::ThingTypeProperties]
761
+ class CreateThingTypeRequest < Struct.new(
762
+ :thing_type_name,
763
+ :thing_type_properties)
764
+ include Aws::Structure
765
+ end
766
+
767
+ # The output of the CreateThingType operation.
768
+ # @!attribute [rw] thing_type_name
769
+ # The name of the thing type.
770
+ # @return [String]
771
+ #
772
+ # @!attribute [rw] thing_type_arn
773
+ # The Amazon Resource Name (ARN) of the thing type.
774
+ # @return [String]
775
+ class CreateThingTypeResponse < Struct.new(
776
+ :thing_type_name,
777
+ :thing_type_arn)
778
+ include Aws::Structure
779
+ end
780
+
781
+ # The input for the CreateTopicRule operation.
782
+ # @note When making an API call, pass CreateTopicRuleRequest
783
+ # data as a hash:
784
+ #
785
+ # {
786
+ # rule_name: "RuleName", # required
787
+ # topic_rule_payload: { # required
788
+ # sql: "SQL", # required
789
+ # description: "Description",
790
+ # actions: [ # required
791
+ # {
792
+ # dynamo_db: {
793
+ # table_name: "TableName", # required
794
+ # role_arn: "AwsArn", # required
795
+ # operation: "DynamoOperation",
796
+ # hash_key_field: "HashKeyField", # required
797
+ # hash_key_value: "HashKeyValue", # required
798
+ # hash_key_type: "STRING", # accepts STRING, NUMBER
799
+ # range_key_field: "RangeKeyField",
800
+ # range_key_value: "RangeKeyValue",
801
+ # range_key_type: "STRING", # accepts STRING, NUMBER
802
+ # payload_field: "PayloadField",
803
+ # },
804
+ # dynamo_d_bv_2: {
805
+ # role_arn: "AwsArn",
806
+ # put_item: {
807
+ # table_name: "TableName", # required
808
+ # },
809
+ # },
810
+ # lambda: {
811
+ # function_arn: "FunctionArn", # required
812
+ # },
813
+ # sns: {
814
+ # target_arn: "AwsArn", # required
815
+ # role_arn: "AwsArn", # required
816
+ # message_format: "RAW", # accepts RAW, JSON
817
+ # },
818
+ # sqs: {
819
+ # role_arn: "AwsArn", # required
820
+ # queue_url: "QueueUrl", # required
821
+ # use_base_64: false,
822
+ # },
823
+ # kinesis: {
824
+ # role_arn: "AwsArn", # required
825
+ # stream_name: "StreamName", # required
826
+ # partition_key: "PartitionKey",
827
+ # },
828
+ # republish: {
829
+ # role_arn: "AwsArn", # required
830
+ # topic: "TopicPattern", # required
831
+ # },
832
+ # s3: {
833
+ # role_arn: "AwsArn", # required
834
+ # bucket_name: "BucketName", # required
835
+ # key: "Key", # required
836
+ # 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
837
+ # },
838
+ # firehose: {
839
+ # role_arn: "AwsArn", # required
840
+ # delivery_stream_name: "DeliveryStreamName", # required
841
+ # separator: "FirehoseSeparator",
842
+ # },
843
+ # cloudwatch_metric: {
844
+ # role_arn: "AwsArn", # required
845
+ # metric_namespace: "MetricNamespace", # required
846
+ # metric_name: "MetricName", # required
847
+ # metric_value: "MetricValue", # required
848
+ # metric_unit: "MetricUnit", # required
849
+ # metric_timestamp: "MetricTimestamp",
850
+ # },
851
+ # cloudwatch_alarm: {
852
+ # role_arn: "AwsArn", # required
853
+ # alarm_name: "AlarmName", # required
854
+ # state_reason: "StateReason", # required
855
+ # state_value: "StateValue", # required
856
+ # },
857
+ # elasticsearch: {
858
+ # role_arn: "AwsArn", # required
859
+ # endpoint: "ElasticsearchEndpoint", # required
860
+ # index: "ElasticsearchIndex", # required
861
+ # type: "ElasticsearchType", # required
862
+ # id: "ElasticsearchId", # required
863
+ # },
864
+ # },
865
+ # ],
866
+ # rule_disabled: false,
867
+ # aws_iot_sql_version: "AwsIotSqlVersion",
868
+ # },
869
+ # }
870
+ # @!attribute [rw] rule_name
871
+ # The name of the rule.
872
+ # @return [String]
873
+ #
874
+ # @!attribute [rw] topic_rule_payload
875
+ # The rule payload.
876
+ # @return [Types::TopicRulePayload]
877
+ class CreateTopicRuleRequest < Struct.new(
878
+ :rule_name,
879
+ :topic_rule_payload)
880
+ include Aws::Structure
881
+ end
882
+
883
+ # Input for the DeleteCACertificate operation.
884
+ # @note When making an API call, pass DeleteCACertificateRequest
885
+ # data as a hash:
886
+ #
887
+ # {
888
+ # certificate_id: "CertificateId", # required
889
+ # }
890
+ # @!attribute [rw] certificate_id
891
+ # The ID of the certificate to delete.
892
+ # @return [String]
893
+ class DeleteCACertificateRequest < Struct.new(
894
+ :certificate_id)
895
+ include Aws::Structure
896
+ end
897
+
898
+ # The output for the DeleteCACertificate operation.
899
+ class DeleteCACertificateResponse < Aws::EmptyStructure; end
900
+
901
+ # The input for the DeleteCertificate operation.
902
+ # @note When making an API call, pass DeleteCertificateRequest
903
+ # data as a hash:
904
+ #
905
+ # {
906
+ # certificate_id: "CertificateId", # required
907
+ # }
908
+ # @!attribute [rw] certificate_id
909
+ # The ID of the certificate.
910
+ # @return [String]
911
+ class DeleteCertificateRequest < Struct.new(
912
+ :certificate_id)
913
+ include Aws::Structure
914
+ end
915
+
916
+ # The input for the DeletePolicy operation.
917
+ # @note When making an API call, pass DeletePolicyRequest
918
+ # data as a hash:
919
+ #
920
+ # {
921
+ # policy_name: "PolicyName", # required
922
+ # }
923
+ # @!attribute [rw] policy_name
924
+ # The name of the policy to delete.
925
+ # @return [String]
926
+ class DeletePolicyRequest < Struct.new(
927
+ :policy_name)
928
+ include Aws::Structure
929
+ end
930
+
931
+ # The input for the DeletePolicyVersion operation.
932
+ # @note When making an API call, pass DeletePolicyVersionRequest
933
+ # data as a hash:
934
+ #
935
+ # {
936
+ # policy_name: "PolicyName", # required
937
+ # policy_version_id: "PolicyVersionId", # required
938
+ # }
939
+ # @!attribute [rw] policy_name
940
+ # The name of the policy.
941
+ # @return [String]
942
+ #
943
+ # @!attribute [rw] policy_version_id
944
+ # The policy version ID.
945
+ # @return [String]
946
+ class DeletePolicyVersionRequest < Struct.new(
947
+ :policy_name,
948
+ :policy_version_id)
949
+ include Aws::Structure
950
+ end
951
+
952
+ # The input for the DeleteRegistrationCode operation.
953
+ # @api private
954
+ class DeleteRegistrationCodeRequest < Aws::EmptyStructure; end
955
+
956
+ # The output for the DeleteRegistrationCode operation.
957
+ class DeleteRegistrationCodeResponse < Aws::EmptyStructure; end
958
+
959
+ # The input for the DeleteThing operation.
960
+ # @note When making an API call, pass DeleteThingRequest
961
+ # data as a hash:
962
+ #
963
+ # {
964
+ # thing_name: "ThingName", # required
965
+ # expected_version: 1,
966
+ # }
967
+ # @!attribute [rw] thing_name
968
+ # The name of the thing to delete.
969
+ # @return [String]
970
+ #
971
+ # @!attribute [rw] expected_version
972
+ # The expected version of the thing record in the registry. If the
973
+ # version of the record in the registry does not match the expected
974
+ # version specified in the request, the `DeleteThing` request is
975
+ # rejected with a `VersionConflictException`.
976
+ # @return [Integer]
977
+ class DeleteThingRequest < Struct.new(
978
+ :thing_name,
979
+ :expected_version)
980
+ include Aws::Structure
981
+ end
982
+
983
+ # The output of the DeleteThing operation.
984
+ class DeleteThingResponse < Aws::EmptyStructure; end
985
+
986
+ # The input for the DeleteThingType operation.
987
+ # @note When making an API call, pass DeleteThingTypeRequest
988
+ # data as a hash:
989
+ #
990
+ # {
991
+ # thing_type_name: "ThingTypeName", # required
992
+ # }
993
+ # @!attribute [rw] thing_type_name
994
+ # The name of the thing type.
995
+ # @return [String]
996
+ class DeleteThingTypeRequest < Struct.new(
997
+ :thing_type_name)
998
+ include Aws::Structure
999
+ end
1000
+
1001
+ # The output for the DeleteThingType operation.
1002
+ class DeleteThingTypeResponse < Aws::EmptyStructure; end
1003
+
1004
+ # The input for the DeleteTopicRule operation.
1005
+ # @note When making an API call, pass DeleteTopicRuleRequest
1006
+ # data as a hash:
1007
+ #
1008
+ # {
1009
+ # rule_name: "RuleName", # required
1010
+ # }
1011
+ # @!attribute [rw] rule_name
1012
+ # The name of the rule.
1013
+ # @return [String]
1014
+ class DeleteTopicRuleRequest < Struct.new(
1015
+ :rule_name)
1016
+ include Aws::Structure
1017
+ end
1018
+
1019
+ # The input for the DeprecateThingType operation.
1020
+ # @note When making an API call, pass DeprecateThingTypeRequest
1021
+ # data as a hash:
1022
+ #
1023
+ # {
1024
+ # thing_type_name: "ThingTypeName", # required
1025
+ # undo_deprecate: false,
1026
+ # }
1027
+ # @!attribute [rw] thing_type_name
1028
+ # The name of the thing type to deprecate.
1029
+ # @return [String]
1030
+ #
1031
+ # @!attribute [rw] undo_deprecate
1032
+ # Whether to undeprecate a deprecated thing type. If **true**, the
1033
+ # thing type will not be deprecated anymore and you can associate it
1034
+ # with things.
1035
+ # @return [Boolean]
1036
+ class DeprecateThingTypeRequest < Struct.new(
1037
+ :thing_type_name,
1038
+ :undo_deprecate)
1039
+ include Aws::Structure
1040
+ end
1041
+
1042
+ # The output for the DeprecateThingType operation.
1043
+ class DeprecateThingTypeResponse < Aws::EmptyStructure; end
1044
+
1045
+ # The input for the DescribeCACertificate operation.
1046
+ # @note When making an API call, pass DescribeCACertificateRequest
1047
+ # data as a hash:
1048
+ #
1049
+ # {
1050
+ # certificate_id: "CertificateId", # required
1051
+ # }
1052
+ # @!attribute [rw] certificate_id
1053
+ # The CA certificate identifier.
1054
+ # @return [String]
1055
+ class DescribeCACertificateRequest < Struct.new(
1056
+ :certificate_id)
1057
+ include Aws::Structure
1058
+ end
1059
+
1060
+ # The output from the DescribeCACertificate operation.
1061
+ # @!attribute [rw] certificate_description
1062
+ # The CA certificate description.
1063
+ # @return [Types::CACertificateDescription]
1064
+ class DescribeCACertificateResponse < Struct.new(
1065
+ :certificate_description)
1066
+ include Aws::Structure
1067
+ end
1068
+
1069
+ # The input for the DescribeCertificate operation.
1070
+ # @note When making an API call, pass DescribeCertificateRequest
1071
+ # data as a hash:
1072
+ #
1073
+ # {
1074
+ # certificate_id: "CertificateId", # required
1075
+ # }
1076
+ # @!attribute [rw] certificate_id
1077
+ # The ID of the certificate.
1078
+ # @return [String]
1079
+ class DescribeCertificateRequest < Struct.new(
1080
+ :certificate_id)
1081
+ include Aws::Structure
1082
+ end
1083
+
1084
+ # The output of the DescribeCertificate operation.
1085
+ # @!attribute [rw] certificate_description
1086
+ # The description of the certificate.
1087
+ # @return [Types::CertificateDescription]
1088
+ class DescribeCertificateResponse < Struct.new(
1089
+ :certificate_description)
1090
+ include Aws::Structure
1091
+ end
1092
+
1093
+ # The input for the DescribeEndpoint operation.
1094
+ # @api private
1095
+ class DescribeEndpointRequest < Aws::EmptyStructure; end
1096
+
1097
+ # The output from the DescribeEndpoint operation.
1098
+ # @!attribute [rw] endpoint_address
1099
+ # The endpoint. The format of the endpoint is as follows:
1100
+ # *identifier*.iot.*region*.amazonaws.com.
1101
+ # @return [String]
1102
+ class DescribeEndpointResponse < Struct.new(
1103
+ :endpoint_address)
1104
+ include Aws::Structure
1105
+ end
1106
+
1107
+ # The input for the DescribeThing operation.
1108
+ # @note When making an API call, pass DescribeThingRequest
1109
+ # data as a hash:
1110
+ #
1111
+ # {
1112
+ # thing_name: "ThingName", # required
1113
+ # }
1114
+ # @!attribute [rw] thing_name
1115
+ # The name of the thing.
1116
+ # @return [String]
1117
+ class DescribeThingRequest < Struct.new(
1118
+ :thing_name)
1119
+ include Aws::Structure
1120
+ end
1121
+
1122
+ # The output from the DescribeThing operation.
1123
+ # @!attribute [rw] default_client_id
1124
+ # The default client ID.
1125
+ # @return [String]
1126
+ #
1127
+ # @!attribute [rw] thing_name
1128
+ # The name of the thing.
1129
+ # @return [String]
1130
+ #
1131
+ # @!attribute [rw] thing_type_name
1132
+ # The thing type name.
1133
+ # @return [String]
1134
+ #
1135
+ # @!attribute [rw] attributes
1136
+ # The thing attributes.
1137
+ # @return [Hash<String,String>]
1138
+ #
1139
+ # @!attribute [rw] version
1140
+ # The current version of the thing record in the registry.
1141
+ #
1142
+ # <note markdown="1"> To avoid unintentional changes to the information in the registry,
1143
+ # you can pass the version information in the `expectedVersion`
1144
+ # parameter of the `UpdateThing` and `DeleteThing` calls.
1145
+ #
1146
+ # </note>
1147
+ # @return [Integer]
1148
+ class DescribeThingResponse < Struct.new(
1149
+ :default_client_id,
1150
+ :thing_name,
1151
+ :thing_type_name,
1152
+ :attributes,
1153
+ :version)
1154
+ include Aws::Structure
1155
+ end
1156
+
1157
+ # The input for the DescribeThingType operation.
1158
+ # @note When making an API call, pass DescribeThingTypeRequest
1159
+ # data as a hash:
1160
+ #
1161
+ # {
1162
+ # thing_type_name: "ThingTypeName", # required
1163
+ # }
1164
+ # @!attribute [rw] thing_type_name
1165
+ # The name of the thing type.
1166
+ # @return [String]
1167
+ class DescribeThingTypeRequest < Struct.new(
1168
+ :thing_type_name)
1169
+ include Aws::Structure
1170
+ end
1171
+
1172
+ # The output for the DescribeThingType operation.
1173
+ # @!attribute [rw] thing_type_name
1174
+ # The name of the thing type.
1175
+ # @return [String]
1176
+ #
1177
+ # @!attribute [rw] thing_type_properties
1178
+ # The ThingTypeProperties contains information about the thing type
1179
+ # including description, and a list of searchable thing attribute
1180
+ # names.
1181
+ # @return [Types::ThingTypeProperties]
1182
+ #
1183
+ # @!attribute [rw] thing_type_metadata
1184
+ # The ThingTypeMetadata contains additional information about the
1185
+ # thing type including: creation date and time, a value indicating
1186
+ # whether the thing type is deprecated, and a date and time when time
1187
+ # was deprecated.
1188
+ # @return [Types::ThingTypeMetadata]
1189
+ class DescribeThingTypeResponse < Struct.new(
1190
+ :thing_type_name,
1191
+ :thing_type_properties,
1192
+ :thing_type_metadata)
1193
+ include Aws::Structure
1194
+ end
1195
+
1196
+ # The input for the DetachPrincipalPolicy operation.
1197
+ # @note When making an API call, pass DetachPrincipalPolicyRequest
1198
+ # data as a hash:
1199
+ #
1200
+ # {
1201
+ # policy_name: "PolicyName", # required
1202
+ # principal: "Principal", # required
1203
+ # }
1204
+ # @!attribute [rw] policy_name
1205
+ # The name of the policy to detach.
1206
+ # @return [String]
1207
+ #
1208
+ # @!attribute [rw] principal
1209
+ # The principal.
1210
+ #
1211
+ # If the principal is a certificate, specify the certificate ARN. If
1212
+ # the principal is an Amazon Cognito identity, specify the identity
1213
+ # ID.
1214
+ # @return [String]
1215
+ class DetachPrincipalPolicyRequest < Struct.new(
1216
+ :policy_name,
1217
+ :principal)
1218
+ include Aws::Structure
1219
+ end
1220
+
1221
+ # The input for the DetachThingPrincipal operation.
1222
+ # @note When making an API call, pass DetachThingPrincipalRequest
1223
+ # data as a hash:
1224
+ #
1225
+ # {
1226
+ # thing_name: "ThingName", # required
1227
+ # principal: "Principal", # required
1228
+ # }
1229
+ # @!attribute [rw] thing_name
1230
+ # The name of the thing.
1231
+ # @return [String]
1232
+ #
1233
+ # @!attribute [rw] principal
1234
+ # If the principal is a certificate, this value must be ARN of the
1235
+ # certificate. If the principal is an Amazon Cognito identity, this
1236
+ # value must be the ID of the Amazon Cognito identity.
1237
+ # @return [String]
1238
+ class DetachThingPrincipalRequest < Struct.new(
1239
+ :thing_name,
1240
+ :principal)
1241
+ include Aws::Structure
1242
+ end
1243
+
1244
+ # The output from the DetachThingPrincipal operation.
1245
+ class DetachThingPrincipalResponse < Aws::EmptyStructure; end
1246
+
1247
+ # The input for the DisableTopicRuleRequest operation.
1248
+ # @note When making an API call, pass DisableTopicRuleRequest
1249
+ # data as a hash:
1250
+ #
1251
+ # {
1252
+ # rule_name: "RuleName", # required
1253
+ # }
1254
+ # @!attribute [rw] rule_name
1255
+ # The name of the rule to disable.
1256
+ # @return [String]
1257
+ class DisableTopicRuleRequest < Struct.new(
1258
+ :rule_name)
1259
+ include Aws::Structure
1260
+ end
1261
+
1262
+ # Describes an action to write to a DynamoDB table.
1263
+ #
1264
+ # The `tableName`, `hashKeyField`, and `rangeKeyField` values must match
1265
+ # the values used when you created the table.
1266
+ #
1267
+ # The `hashKeyValue` and `rangeKeyvalue` fields use a substitution
1268
+ # template syntax. These templates provide data at runtime. The syntax
1269
+ # is as follows: $\\\{*sql-expression*\\}.
1270
+ #
1271
+ # You can specify any valid expression in a WHERE or SELECT clause,
1272
+ # including JSON properties, comparisons, calculations, and functions.
1273
+ # For example, the following field uses the third level of the topic:
1274
+ #
1275
+ # `"hashKeyValue": "$\{topic(3)\}"`
1276
+ #
1277
+ # The following field uses the timestamp:
1278
+ #
1279
+ # `"rangeKeyValue": "$\{timestamp()\}"`
1280
+ # @note When making an API call, pass DynamoDBAction
1281
+ # data as a hash:
1282
+ #
1283
+ # {
1284
+ # table_name: "TableName", # required
1285
+ # role_arn: "AwsArn", # required
1286
+ # operation: "DynamoOperation",
1287
+ # hash_key_field: "HashKeyField", # required
1288
+ # hash_key_value: "HashKeyValue", # required
1289
+ # hash_key_type: "STRING", # accepts STRING, NUMBER
1290
+ # range_key_field: "RangeKeyField",
1291
+ # range_key_value: "RangeKeyValue",
1292
+ # range_key_type: "STRING", # accepts STRING, NUMBER
1293
+ # payload_field: "PayloadField",
1294
+ # }
1295
+ # @!attribute [rw] table_name
1296
+ # The name of the DynamoDB table.
1297
+ # @return [String]
1298
+ #
1299
+ # @!attribute [rw] role_arn
1300
+ # The ARN of the IAM role that grants access to the DynamoDB table.
1301
+ # @return [String]
1302
+ #
1303
+ # @!attribute [rw] operation
1304
+ # The type of operation to be performed. This follows the substitution
1305
+ # template, so it can be `$\{operation\}`, but the substitution must
1306
+ # result in one of the following: `INSERT`, `UPDATE`, or `DELETE`.
1307
+ # @return [String]
1308
+ #
1309
+ # @!attribute [rw] hash_key_field
1310
+ # The hash key name.
1311
+ # @return [String]
1312
+ #
1313
+ # @!attribute [rw] hash_key_value
1314
+ # The hash key value.
1315
+ # @return [String]
1316
+ #
1317
+ # @!attribute [rw] hash_key_type
1318
+ # The hash key type. Valid values are "STRING" or "NUMBER"
1319
+ # @return [String]
1320
+ #
1321
+ # @!attribute [rw] range_key_field
1322
+ # The range key name.
1323
+ # @return [String]
1324
+ #
1325
+ # @!attribute [rw] range_key_value
1326
+ # The range key value.
1327
+ # @return [String]
1328
+ #
1329
+ # @!attribute [rw] range_key_type
1330
+ # The range key type. Valid values are "STRING" or "NUMBER"
1331
+ # @return [String]
1332
+ #
1333
+ # @!attribute [rw] payload_field
1334
+ # The action payload. This name can be customized.
1335
+ # @return [String]
1336
+ class DynamoDBAction < Struct.new(
1337
+ :table_name,
1338
+ :role_arn,
1339
+ :operation,
1340
+ :hash_key_field,
1341
+ :hash_key_value,
1342
+ :hash_key_type,
1343
+ :range_key_field,
1344
+ :range_key_value,
1345
+ :range_key_type,
1346
+ :payload_field)
1347
+ include Aws::Structure
1348
+ end
1349
+
1350
+ # Describes an action to write to a DynamoDB table.
1351
+ #
1352
+ # This DynamoDB action writes each attribute in the message payload into
1353
+ # it's own column in the DynamoDB table.
1354
+ # @note When making an API call, pass DynamoDBv2Action
1355
+ # data as a hash:
1356
+ #
1357
+ # {
1358
+ # role_arn: "AwsArn",
1359
+ # put_item: {
1360
+ # table_name: "TableName", # required
1361
+ # },
1362
+ # }
1363
+ # @!attribute [rw] role_arn
1364
+ # The ARN of the IAM role that grants access to the DynamoDB table.
1365
+ # @return [String]
1366
+ #
1367
+ # @!attribute [rw] put_item
1368
+ # Specifies the DynamoDB table to which the message data will be
1369
+ # written. For example:
1370
+ #
1371
+ # `\{ "dynamoDBv2": \{ "roleArn": "aws:iam:12341251:my-role"
1372
+ # "putItem": \{ "tableName": "my-table" \} \} \}`
1373
+ #
1374
+ # Each attribute in the message payload will be written to a separate
1375
+ # column in the DynamoDB database.
1376
+ # @return [Types::PutItemInput]
1377
+ class DynamoDBv2Action < Struct.new(
1378
+ :role_arn,
1379
+ :put_item)
1380
+ include Aws::Structure
1381
+ end
1382
+
1383
+ # Describes an action that writes data to an Amazon Elasticsearch
1384
+ # Service domain.
1385
+ # @note When making an API call, pass ElasticsearchAction
1386
+ # data as a hash:
1387
+ #
1388
+ # {
1389
+ # role_arn: "AwsArn", # required
1390
+ # endpoint: "ElasticsearchEndpoint", # required
1391
+ # index: "ElasticsearchIndex", # required
1392
+ # type: "ElasticsearchType", # required
1393
+ # id: "ElasticsearchId", # required
1394
+ # }
1395
+ # @!attribute [rw] role_arn
1396
+ # The IAM role ARN that has access to Elasticsearch.
1397
+ # @return [String]
1398
+ #
1399
+ # @!attribute [rw] endpoint
1400
+ # The endpoint of your Elasticsearch domain.
1401
+ # @return [String]
1402
+ #
1403
+ # @!attribute [rw] index
1404
+ # The Elasticsearch index where you want to store your data.
1405
+ # @return [String]
1406
+ #
1407
+ # @!attribute [rw] type
1408
+ # The type of document you are storing.
1409
+ # @return [String]
1410
+ #
1411
+ # @!attribute [rw] id
1412
+ # The unique identifier for the document you are storing.
1413
+ # @return [String]
1414
+ class ElasticsearchAction < Struct.new(
1415
+ :role_arn,
1416
+ :endpoint,
1417
+ :index,
1418
+ :type,
1419
+ :id)
1420
+ include Aws::Structure
1421
+ end
1422
+
1423
+ # The input for the EnableTopicRuleRequest operation.
1424
+ # @note When making an API call, pass EnableTopicRuleRequest
1425
+ # data as a hash:
1426
+ #
1427
+ # {
1428
+ # rule_name: "RuleName", # required
1429
+ # }
1430
+ # @!attribute [rw] rule_name
1431
+ # The name of the topic rule to enable.
1432
+ # @return [String]
1433
+ class EnableTopicRuleRequest < Struct.new(
1434
+ :rule_name)
1435
+ include Aws::Structure
1436
+ end
1437
+
1438
+ # Describes an action that writes data to an Amazon Kinesis Firehose
1439
+ # stream.
1440
+ # @note When making an API call, pass FirehoseAction
1441
+ # data as a hash:
1442
+ #
1443
+ # {
1444
+ # role_arn: "AwsArn", # required
1445
+ # delivery_stream_name: "DeliveryStreamName", # required
1446
+ # separator: "FirehoseSeparator",
1447
+ # }
1448
+ # @!attribute [rw] role_arn
1449
+ # The IAM role that grants access to the Amazon Kinesis Firehost
1450
+ # stream.
1451
+ # @return [String]
1452
+ #
1453
+ # @!attribute [rw] delivery_stream_name
1454
+ # The delivery stream name.
1455
+ # @return [String]
1456
+ #
1457
+ # @!attribute [rw] separator
1458
+ # A character separator that will be used to separate records written
1459
+ # to the Firehose stream. Valid values are: '\\n' (newline), '\\t'
1460
+ # (tab), '\\r\\n' (Windows newline), ',' (comma).
1461
+ # @return [String]
1462
+ class FirehoseAction < Struct.new(
1463
+ :role_arn,
1464
+ :delivery_stream_name,
1465
+ :separator)
1466
+ include Aws::Structure
1467
+ end
1468
+
1469
+ # The input for the GetLoggingOptions operation.
1470
+ # @api private
1471
+ class GetLoggingOptionsRequest < Aws::EmptyStructure; end
1472
+
1473
+ # The output from the GetLoggingOptions operation.
1474
+ # @!attribute [rw] role_arn
1475
+ # The ARN of the IAM role that grants access.
1476
+ # @return [String]
1477
+ #
1478
+ # @!attribute [rw] log_level
1479
+ # The logging level.
1480
+ # @return [String]
1481
+ class GetLoggingOptionsResponse < Struct.new(
1482
+ :role_arn,
1483
+ :log_level)
1484
+ include Aws::Structure
1485
+ end
1486
+
1487
+ # The input for the GetPolicy operation.
1488
+ # @note When making an API call, pass GetPolicyRequest
1489
+ # data as a hash:
1490
+ #
1491
+ # {
1492
+ # policy_name: "PolicyName", # required
1493
+ # }
1494
+ # @!attribute [rw] policy_name
1495
+ # The name of the policy.
1496
+ # @return [String]
1497
+ class GetPolicyRequest < Struct.new(
1498
+ :policy_name)
1499
+ include Aws::Structure
1500
+ end
1501
+
1502
+ # The output from the GetPolicy operation.
1503
+ # @!attribute [rw] policy_name
1504
+ # The policy name.
1505
+ # @return [String]
1506
+ #
1507
+ # @!attribute [rw] policy_arn
1508
+ # The policy ARN.
1509
+ # @return [String]
1510
+ #
1511
+ # @!attribute [rw] policy_document
1512
+ # The JSON document that describes the policy.
1513
+ # @return [String]
1514
+ #
1515
+ # @!attribute [rw] default_version_id
1516
+ # The default policy version ID.
1517
+ # @return [String]
1518
+ class GetPolicyResponse < Struct.new(
1519
+ :policy_name,
1520
+ :policy_arn,
1521
+ :policy_document,
1522
+ :default_version_id)
1523
+ include Aws::Structure
1524
+ end
1525
+
1526
+ # The input for the GetPolicyVersion operation.
1527
+ # @note When making an API call, pass GetPolicyVersionRequest
1528
+ # data as a hash:
1529
+ #
1530
+ # {
1531
+ # policy_name: "PolicyName", # required
1532
+ # policy_version_id: "PolicyVersionId", # required
1533
+ # }
1534
+ # @!attribute [rw] policy_name
1535
+ # The name of the policy.
1536
+ # @return [String]
1537
+ #
1538
+ # @!attribute [rw] policy_version_id
1539
+ # The policy version ID.
1540
+ # @return [String]
1541
+ class GetPolicyVersionRequest < Struct.new(
1542
+ :policy_name,
1543
+ :policy_version_id)
1544
+ include Aws::Structure
1545
+ end
1546
+
1547
+ # The output from the GetPolicyVersion operation.
1548
+ # @!attribute [rw] policy_arn
1549
+ # The policy ARN.
1550
+ # @return [String]
1551
+ #
1552
+ # @!attribute [rw] policy_name
1553
+ # The policy name.
1554
+ # @return [String]
1555
+ #
1556
+ # @!attribute [rw] policy_document
1557
+ # The JSON document that describes the policy.
1558
+ # @return [String]
1559
+ #
1560
+ # @!attribute [rw] policy_version_id
1561
+ # The policy version ID.
1562
+ # @return [String]
1563
+ #
1564
+ # @!attribute [rw] is_default_version
1565
+ # Specifies whether the policy version is the default.
1566
+ # @return [Boolean]
1567
+ class GetPolicyVersionResponse < Struct.new(
1568
+ :policy_arn,
1569
+ :policy_name,
1570
+ :policy_document,
1571
+ :policy_version_id,
1572
+ :is_default_version)
1573
+ include Aws::Structure
1574
+ end
1575
+
1576
+ # The input to the GetRegistrationCode operation.
1577
+ # @api private
1578
+ class GetRegistrationCodeRequest < Aws::EmptyStructure; end
1579
+
1580
+ # The output from the GetRegistrationCode operation.
1581
+ # @!attribute [rw] registration_code
1582
+ # The CA certificate registration code.
1583
+ # @return [String]
1584
+ class GetRegistrationCodeResponse < Struct.new(
1585
+ :registration_code)
1586
+ include Aws::Structure
1587
+ end
1588
+
1589
+ # The input for the GetTopicRule operation.
1590
+ # @note When making an API call, pass GetTopicRuleRequest
1591
+ # data as a hash:
1592
+ #
1593
+ # {
1594
+ # rule_name: "RuleName", # required
1595
+ # }
1596
+ # @!attribute [rw] rule_name
1597
+ # The name of the rule.
1598
+ # @return [String]
1599
+ class GetTopicRuleRequest < Struct.new(
1600
+ :rule_name)
1601
+ include Aws::Structure
1602
+ end
1603
+
1604
+ # The output from the GetTopicRule operation.
1605
+ # @!attribute [rw] rule_arn
1606
+ # The rule ARN.
1607
+ # @return [String]
1608
+ #
1609
+ # @!attribute [rw] rule
1610
+ # The rule.
1611
+ # @return [Types::TopicRule]
1612
+ class GetTopicRuleResponse < Struct.new(
1613
+ :rule_arn,
1614
+ :rule)
1615
+ include Aws::Structure
1616
+ end
1617
+
1618
+ # Describes a key pair.
1619
+ # @!attribute [rw] public_key
1620
+ # The public key.
1621
+ # @return [String]
1622
+ #
1623
+ # @!attribute [rw] private_key
1624
+ # The private key.
1625
+ # @return [String]
1626
+ class KeyPair < Struct.new(
1627
+ :public_key,
1628
+ :private_key)
1629
+ include Aws::Structure
1630
+ end
1631
+
1632
+ # Describes an action to write data to an Amazon Kinesis stream.
1633
+ # @note When making an API call, pass KinesisAction
1634
+ # data as a hash:
1635
+ #
1636
+ # {
1637
+ # role_arn: "AwsArn", # required
1638
+ # stream_name: "StreamName", # required
1639
+ # partition_key: "PartitionKey",
1640
+ # }
1641
+ # @!attribute [rw] role_arn
1642
+ # The ARN of the IAM role that grants access to the Amazon Kinesis
1643
+ # stream.
1644
+ # @return [String]
1645
+ #
1646
+ # @!attribute [rw] stream_name
1647
+ # The name of the Amazon Kinesis stream.
1648
+ # @return [String]
1649
+ #
1650
+ # @!attribute [rw] partition_key
1651
+ # The partition key.
1652
+ # @return [String]
1653
+ class KinesisAction < Struct.new(
1654
+ :role_arn,
1655
+ :stream_name,
1656
+ :partition_key)
1657
+ include Aws::Structure
1658
+ end
1659
+
1660
+ # Describes an action to invoke a Lambda function.
1661
+ # @note When making an API call, pass LambdaAction
1662
+ # data as a hash:
1663
+ #
1664
+ # {
1665
+ # function_arn: "FunctionArn", # required
1666
+ # }
1667
+ # @!attribute [rw] function_arn
1668
+ # The ARN of the Lambda function.
1669
+ # @return [String]
1670
+ class LambdaAction < Struct.new(
1671
+ :function_arn)
1672
+ include Aws::Structure
1673
+ end
1674
+
1675
+ # Input for the ListCACertificates operation.
1676
+ # @note When making an API call, pass ListCACertificatesRequest
1677
+ # data as a hash:
1678
+ #
1679
+ # {
1680
+ # page_size: 1,
1681
+ # marker: "Marker",
1682
+ # ascending_order: false,
1683
+ # }
1684
+ # @!attribute [rw] page_size
1685
+ # The result page size.
1686
+ # @return [Integer]
1687
+ #
1688
+ # @!attribute [rw] marker
1689
+ # The marker for the next set of results.
1690
+ # @return [String]
1691
+ #
1692
+ # @!attribute [rw] ascending_order
1693
+ # Determines the order of the results.
1694
+ # @return [Boolean]
1695
+ class ListCACertificatesRequest < Struct.new(
1696
+ :page_size,
1697
+ :marker,
1698
+ :ascending_order)
1699
+ include Aws::Structure
1700
+ end
1701
+
1702
+ # The output from the ListCACertificates operation.
1703
+ # @!attribute [rw] certificates
1704
+ # The CA certificates registered in your AWS account.
1705
+ # @return [Array<Types::CACertificate>]
1706
+ #
1707
+ # @!attribute [rw] next_marker
1708
+ # The current position within the list of CA certificates.
1709
+ # @return [String]
1710
+ class ListCACertificatesResponse < Struct.new(
1711
+ :certificates,
1712
+ :next_marker)
1713
+ include Aws::Structure
1714
+ end
1715
+
1716
+ # The input to the ListCertificatesByCA operation.
1717
+ # @note When making an API call, pass ListCertificatesByCARequest
1718
+ # data as a hash:
1719
+ #
1720
+ # {
1721
+ # ca_certificate_id: "CertificateId", # required
1722
+ # page_size: 1,
1723
+ # marker: "Marker",
1724
+ # ascending_order: false,
1725
+ # }
1726
+ # @!attribute [rw] ca_certificate_id
1727
+ # The ID of the CA certificate. This operation will list all
1728
+ # registered device certificate that were signed by this CA
1729
+ # certificate.
1730
+ # @return [String]
1731
+ #
1732
+ # @!attribute [rw] page_size
1733
+ # The result page size.
1734
+ # @return [Integer]
1735
+ #
1736
+ # @!attribute [rw] marker
1737
+ # The marker for the next set of results.
1738
+ # @return [String]
1739
+ #
1740
+ # @!attribute [rw] ascending_order
1741
+ # Specifies the order for results. If True, the results are returned
1742
+ # in ascending order, based on the creation date.
1743
+ # @return [Boolean]
1744
+ class ListCertificatesByCARequest < Struct.new(
1745
+ :ca_certificate_id,
1746
+ :page_size,
1747
+ :marker,
1748
+ :ascending_order)
1749
+ include Aws::Structure
1750
+ end
1751
+
1752
+ # The output of the ListCertificatesByCA operation.
1753
+ # @!attribute [rw] certificates
1754
+ # The device certificates signed by the specified CA certificate.
1755
+ # @return [Array<Types::Certificate>]
1756
+ #
1757
+ # @!attribute [rw] next_marker
1758
+ # The marker for the next set of results, or null if there are no
1759
+ # additional results.
1760
+ # @return [String]
1761
+ class ListCertificatesByCAResponse < Struct.new(
1762
+ :certificates,
1763
+ :next_marker)
1764
+ include Aws::Structure
1765
+ end
1766
+
1767
+ # The input for the ListCertificates operation.
1768
+ # @note When making an API call, pass ListCertificatesRequest
1769
+ # data as a hash:
1770
+ #
1771
+ # {
1772
+ # page_size: 1,
1773
+ # marker: "Marker",
1774
+ # ascending_order: false,
1775
+ # }
1776
+ # @!attribute [rw] page_size
1777
+ # The result page size.
1778
+ # @return [Integer]
1779
+ #
1780
+ # @!attribute [rw] marker
1781
+ # The marker for the next set of results.
1782
+ # @return [String]
1783
+ #
1784
+ # @!attribute [rw] ascending_order
1785
+ # Specifies the order for results. If True, the results are returned
1786
+ # in ascending order, based on the creation date.
1787
+ # @return [Boolean]
1788
+ class ListCertificatesRequest < Struct.new(
1789
+ :page_size,
1790
+ :marker,
1791
+ :ascending_order)
1792
+ include Aws::Structure
1793
+ end
1794
+
1795
+ # The output of the ListCertificates operation.
1796
+ # @!attribute [rw] certificates
1797
+ # The descriptions of the certificates.
1798
+ # @return [Array<Types::Certificate>]
1799
+ #
1800
+ # @!attribute [rw] next_marker
1801
+ # The marker for the next set of results, or null if there are no
1802
+ # additional results.
1803
+ # @return [String]
1804
+ class ListCertificatesResponse < Struct.new(
1805
+ :certificates,
1806
+ :next_marker)
1807
+ include Aws::Structure
1808
+ end
1809
+
1810
+ # The input to the ListOutgoingCertificates operation.
1811
+ # @note When making an API call, pass ListOutgoingCertificatesRequest
1812
+ # data as a hash:
1813
+ #
1814
+ # {
1815
+ # page_size: 1,
1816
+ # marker: "Marker",
1817
+ # ascending_order: false,
1818
+ # }
1819
+ # @!attribute [rw] page_size
1820
+ # The result page size.
1821
+ # @return [Integer]
1822
+ #
1823
+ # @!attribute [rw] marker
1824
+ # The marker for the next set of results.
1825
+ # @return [String]
1826
+ #
1827
+ # @!attribute [rw] ascending_order
1828
+ # Specifies the order for results. If True, the results are returned
1829
+ # in ascending order, based on the creation date.
1830
+ # @return [Boolean]
1831
+ class ListOutgoingCertificatesRequest < Struct.new(
1832
+ :page_size,
1833
+ :marker,
1834
+ :ascending_order)
1835
+ include Aws::Structure
1836
+ end
1837
+
1838
+ # The output from the ListOutgoingCertificates operation.
1839
+ # @!attribute [rw] outgoing_certificates
1840
+ # The certificates that are being transfered but not yet accepted.
1841
+ # @return [Array<Types::OutgoingCertificate>]
1842
+ #
1843
+ # @!attribute [rw] next_marker
1844
+ # The marker for the next set of results.
1845
+ # @return [String]
1846
+ class ListOutgoingCertificatesResponse < Struct.new(
1847
+ :outgoing_certificates,
1848
+ :next_marker)
1849
+ include Aws::Structure
1850
+ end
1851
+
1852
+ # The input for the ListPolicies operation.
1853
+ # @note When making an API call, pass ListPoliciesRequest
1854
+ # data as a hash:
1855
+ #
1856
+ # {
1857
+ # marker: "Marker",
1858
+ # page_size: 1,
1859
+ # ascending_order: false,
1860
+ # }
1861
+ # @!attribute [rw] marker
1862
+ # The marker for the next set of results.
1863
+ # @return [String]
1864
+ #
1865
+ # @!attribute [rw] page_size
1866
+ # The result page size.
1867
+ # @return [Integer]
1868
+ #
1869
+ # @!attribute [rw] ascending_order
1870
+ # Specifies the order for results. If true, the results are returned
1871
+ # in ascending creation order.
1872
+ # @return [Boolean]
1873
+ class ListPoliciesRequest < Struct.new(
1874
+ :marker,
1875
+ :page_size,
1876
+ :ascending_order)
1877
+ include Aws::Structure
1878
+ end
1879
+
1880
+ # The output from the ListPolicies operation.
1881
+ # @!attribute [rw] policies
1882
+ # The descriptions of the policies.
1883
+ # @return [Array<Types::Policy>]
1884
+ #
1885
+ # @!attribute [rw] next_marker
1886
+ # The marker for the next set of results, or null if there are no
1887
+ # additional results.
1888
+ # @return [String]
1889
+ class ListPoliciesResponse < Struct.new(
1890
+ :policies,
1891
+ :next_marker)
1892
+ include Aws::Structure
1893
+ end
1894
+
1895
+ # The input for the ListPolicyPrincipals operation.
1896
+ # @note When making an API call, pass ListPolicyPrincipalsRequest
1897
+ # data as a hash:
1898
+ #
1899
+ # {
1900
+ # policy_name: "PolicyName", # required
1901
+ # marker: "Marker",
1902
+ # page_size: 1,
1903
+ # ascending_order: false,
1904
+ # }
1905
+ # @!attribute [rw] policy_name
1906
+ # The policy name.
1907
+ # @return [String]
1908
+ #
1909
+ # @!attribute [rw] marker
1910
+ # The marker for the next set of results.
1911
+ # @return [String]
1912
+ #
1913
+ # @!attribute [rw] page_size
1914
+ # The result page size.
1915
+ # @return [Integer]
1916
+ #
1917
+ # @!attribute [rw] ascending_order
1918
+ # Specifies the order for results. If true, the results are returned
1919
+ # in ascending creation order.
1920
+ # @return [Boolean]
1921
+ class ListPolicyPrincipalsRequest < Struct.new(
1922
+ :policy_name,
1923
+ :marker,
1924
+ :page_size,
1925
+ :ascending_order)
1926
+ include Aws::Structure
1927
+ end
1928
+
1929
+ # The output from the ListPolicyPrincipals operation.
1930
+ # @!attribute [rw] principals
1931
+ # The descriptions of the principals.
1932
+ # @return [Array<String>]
1933
+ #
1934
+ # @!attribute [rw] next_marker
1935
+ # The marker for the next set of results, or null if there are no
1936
+ # additional results.
1937
+ # @return [String]
1938
+ class ListPolicyPrincipalsResponse < Struct.new(
1939
+ :principals,
1940
+ :next_marker)
1941
+ include Aws::Structure
1942
+ end
1943
+
1944
+ # The input for the ListPolicyVersions operation.
1945
+ # @note When making an API call, pass ListPolicyVersionsRequest
1946
+ # data as a hash:
1947
+ #
1948
+ # {
1949
+ # policy_name: "PolicyName", # required
1950
+ # }
1951
+ # @!attribute [rw] policy_name
1952
+ # The policy name.
1953
+ # @return [String]
1954
+ class ListPolicyVersionsRequest < Struct.new(
1955
+ :policy_name)
1956
+ include Aws::Structure
1957
+ end
1958
+
1959
+ # The output from the ListPolicyVersions operation.
1960
+ # @!attribute [rw] policy_versions
1961
+ # The policy versions.
1962
+ # @return [Array<Types::PolicyVersion>]
1963
+ class ListPolicyVersionsResponse < Struct.new(
1964
+ :policy_versions)
1965
+ include Aws::Structure
1966
+ end
1967
+
1968
+ # The input for the ListPrincipalPolicies operation.
1969
+ # @note When making an API call, pass ListPrincipalPoliciesRequest
1970
+ # data as a hash:
1971
+ #
1972
+ # {
1973
+ # principal: "Principal", # required
1974
+ # marker: "Marker",
1975
+ # page_size: 1,
1976
+ # ascending_order: false,
1977
+ # }
1978
+ # @!attribute [rw] principal
1979
+ # The principal.
1980
+ # @return [String]
1981
+ #
1982
+ # @!attribute [rw] marker
1983
+ # The marker for the next set of results.
1984
+ # @return [String]
1985
+ #
1986
+ # @!attribute [rw] page_size
1987
+ # The result page size.
1988
+ # @return [Integer]
1989
+ #
1990
+ # @!attribute [rw] ascending_order
1991
+ # Specifies the order for results. If true, results are returned in
1992
+ # ascending creation order.
1993
+ # @return [Boolean]
1994
+ class ListPrincipalPoliciesRequest < Struct.new(
1995
+ :principal,
1996
+ :marker,
1997
+ :page_size,
1998
+ :ascending_order)
1999
+ include Aws::Structure
2000
+ end
2001
+
2002
+ # The output from the ListPrincipalPolicies operation.
2003
+ # @!attribute [rw] policies
2004
+ # The policies.
2005
+ # @return [Array<Types::Policy>]
2006
+ #
2007
+ # @!attribute [rw] next_marker
2008
+ # The marker for the next set of results, or null if there are no
2009
+ # additional results.
2010
+ # @return [String]
2011
+ class ListPrincipalPoliciesResponse < Struct.new(
2012
+ :policies,
2013
+ :next_marker)
2014
+ include Aws::Structure
2015
+ end
2016
+
2017
+ # The input for the ListPrincipalThings operation.
2018
+ # @note When making an API call, pass ListPrincipalThingsRequest
2019
+ # data as a hash:
2020
+ #
2021
+ # {
2022
+ # next_token: "NextToken",
2023
+ # max_results: 1,
2024
+ # principal: "Principal", # required
2025
+ # }
2026
+ # @!attribute [rw] next_token
2027
+ # The token for the next set of results, or **null** if there are no
2028
+ # additional results.
2029
+ # @return [String]
2030
+ #
2031
+ # @!attribute [rw] max_results
2032
+ # The maximum number of results to return in this operation.
2033
+ # @return [Integer]
2034
+ #
2035
+ # @!attribute [rw] principal
2036
+ # The principal.
2037
+ # @return [String]
2038
+ class ListPrincipalThingsRequest < Struct.new(
2039
+ :next_token,
2040
+ :max_results,
2041
+ :principal)
2042
+ include Aws::Structure
2043
+ end
2044
+
2045
+ # The output from the ListPrincipalThings operation.
2046
+ # @!attribute [rw] things
2047
+ # The things.
2048
+ # @return [Array<String>]
2049
+ #
2050
+ # @!attribute [rw] next_token
2051
+ # The token for the next set of results, or **null** if there are no
2052
+ # additional results.
2053
+ # @return [String]
2054
+ class ListPrincipalThingsResponse < Struct.new(
2055
+ :things,
2056
+ :next_token)
2057
+ include Aws::Structure
2058
+ end
2059
+
2060
+ # The input for the ListThingPrincipal operation.
2061
+ # @note When making an API call, pass ListThingPrincipalsRequest
2062
+ # data as a hash:
2063
+ #
2064
+ # {
2065
+ # thing_name: "ThingName", # required
2066
+ # }
2067
+ # @!attribute [rw] thing_name
2068
+ # The name of the thing.
2069
+ # @return [String]
2070
+ class ListThingPrincipalsRequest < Struct.new(
2071
+ :thing_name)
2072
+ include Aws::Structure
2073
+ end
2074
+
2075
+ # The output from the ListThingPrincipals operation.
2076
+ # @!attribute [rw] principals
2077
+ # The principals associated with the thing.
2078
+ # @return [Array<String>]
2079
+ class ListThingPrincipalsResponse < Struct.new(
2080
+ :principals)
2081
+ include Aws::Structure
2082
+ end
2083
+
2084
+ # The input for the ListThingTypes operation.
2085
+ # @note When making an API call, pass ListThingTypesRequest
2086
+ # data as a hash:
2087
+ #
2088
+ # {
2089
+ # next_token: "NextToken",
2090
+ # max_results: 1,
2091
+ # thing_type_name: "ThingTypeName",
2092
+ # }
2093
+ # @!attribute [rw] next_token
2094
+ # The token for the next set of results, or **null** if there are no
2095
+ # additional results.
2096
+ # @return [String]
2097
+ #
2098
+ # @!attribute [rw] max_results
2099
+ # The maximum number of results to return in this operation.
2100
+ # @return [Integer]
2101
+ #
2102
+ # @!attribute [rw] thing_type_name
2103
+ # The name of the thing type.
2104
+ # @return [String]
2105
+ class ListThingTypesRequest < Struct.new(
2106
+ :next_token,
2107
+ :max_results,
2108
+ :thing_type_name)
2109
+ include Aws::Structure
2110
+ end
2111
+
2112
+ # The output for the ListThingTypes operation.
2113
+ # @!attribute [rw] thing_types
2114
+ # The thing types.
2115
+ # @return [Array<Types::ThingTypeDefinition>]
2116
+ #
2117
+ # @!attribute [rw] next_token
2118
+ # The token for the next set of results, or **null** if there are no
2119
+ # additional results.
2120
+ # @return [String]
2121
+ class ListThingTypesResponse < Struct.new(
2122
+ :thing_types,
2123
+ :next_token)
2124
+ include Aws::Structure
2125
+ end
2126
+
2127
+ # The input for the ListThings operation.
2128
+ # @note When making an API call, pass ListThingsRequest
2129
+ # data as a hash:
2130
+ #
2131
+ # {
2132
+ # next_token: "NextToken",
2133
+ # max_results: 1,
2134
+ # attribute_name: "AttributeName",
2135
+ # attribute_value: "AttributeValue",
2136
+ # thing_type_name: "ThingTypeName",
2137
+ # }
2138
+ # @!attribute [rw] next_token
2139
+ # The token for the next set of results, or **null** if there are no
2140
+ # additional results.
2141
+ # @return [String]
2142
+ #
2143
+ # @!attribute [rw] max_results
2144
+ # The maximum number of results to return in this operation.
2145
+ # @return [Integer]
2146
+ #
2147
+ # @!attribute [rw] attribute_name
2148
+ # The attribute name used to search for things.
2149
+ # @return [String]
2150
+ #
2151
+ # @!attribute [rw] attribute_value
2152
+ # The attribute value used to search for things.
2153
+ # @return [String]
2154
+ #
2155
+ # @!attribute [rw] thing_type_name
2156
+ # The name of the thing type used to search for things.
2157
+ # @return [String]
2158
+ class ListThingsRequest < Struct.new(
2159
+ :next_token,
2160
+ :max_results,
2161
+ :attribute_name,
2162
+ :attribute_value,
2163
+ :thing_type_name)
2164
+ include Aws::Structure
2165
+ end
2166
+
2167
+ # The output from the ListThings operation.
2168
+ # @!attribute [rw] things
2169
+ # The things.
2170
+ # @return [Array<Types::ThingAttribute>]
2171
+ #
2172
+ # @!attribute [rw] next_token
2173
+ # The token for the next set of results, or **null** if there are no
2174
+ # additional results.
2175
+ # @return [String]
2176
+ class ListThingsResponse < Struct.new(
2177
+ :things,
2178
+ :next_token)
2179
+ include Aws::Structure
2180
+ end
2181
+
2182
+ # The input for the ListTopicRules operation.
2183
+ # @note When making an API call, pass ListTopicRulesRequest
2184
+ # data as a hash:
2185
+ #
2186
+ # {
2187
+ # topic: "Topic",
2188
+ # max_results: 1,
2189
+ # next_token: "NextToken",
2190
+ # rule_disabled: false,
2191
+ # }
2192
+ # @!attribute [rw] topic
2193
+ # The topic.
2194
+ # @return [String]
2195
+ #
2196
+ # @!attribute [rw] max_results
2197
+ # The maximum number of results to return.
2198
+ # @return [Integer]
2199
+ #
2200
+ # @!attribute [rw] next_token
2201
+ # A token used to retrieve the next value.
2202
+ # @return [String]
2203
+ #
2204
+ # @!attribute [rw] rule_disabled
2205
+ # Specifies whether the rule is disabled.
2206
+ # @return [Boolean]
2207
+ class ListTopicRulesRequest < Struct.new(
2208
+ :topic,
2209
+ :max_results,
2210
+ :next_token,
2211
+ :rule_disabled)
2212
+ include Aws::Structure
2213
+ end
2214
+
2215
+ # The output from the ListTopicRules operation.
2216
+ # @!attribute [rw] rules
2217
+ # The rules.
2218
+ # @return [Array<Types::TopicRuleListItem>]
2219
+ #
2220
+ # @!attribute [rw] next_token
2221
+ # A token used to retrieve the next value.
2222
+ # @return [String]
2223
+ class ListTopicRulesResponse < Struct.new(
2224
+ :rules,
2225
+ :next_token)
2226
+ include Aws::Structure
2227
+ end
2228
+
2229
+ # Describes the logging options payload.
2230
+ # @note When making an API call, pass LoggingOptionsPayload
2231
+ # data as a hash:
2232
+ #
2233
+ # {
2234
+ # role_arn: "AwsArn", # required
2235
+ # log_level: "DEBUG", # accepts DEBUG, INFO, ERROR, WARN, DISABLED
2236
+ # }
2237
+ # @!attribute [rw] role_arn
2238
+ # The ARN of the IAM role that grants access.
2239
+ # @return [String]
2240
+ #
2241
+ # @!attribute [rw] log_level
2242
+ # The logging level.
2243
+ # @return [String]
2244
+ class LoggingOptionsPayload < Struct.new(
2245
+ :role_arn,
2246
+ :log_level)
2247
+ include Aws::Structure
2248
+ end
2249
+
2250
+ # A certificate that has been transfered but not yet accepted.
2251
+ # @!attribute [rw] certificate_arn
2252
+ # The certificate ARN.
2253
+ # @return [String]
2254
+ #
2255
+ # @!attribute [rw] certificate_id
2256
+ # The certificate ID.
2257
+ # @return [String]
2258
+ #
2259
+ # @!attribute [rw] transferred_to
2260
+ # The AWS account to which the transfer was made.
2261
+ # @return [String]
2262
+ #
2263
+ # @!attribute [rw] transfer_date
2264
+ # The date the transfer was initiated.
2265
+ # @return [Time]
2266
+ #
2267
+ # @!attribute [rw] transfer_message
2268
+ # The transfer message.
2269
+ # @return [String]
2270
+ #
2271
+ # @!attribute [rw] creation_date
2272
+ # The certificate creation date.
2273
+ # @return [Time]
2274
+ class OutgoingCertificate < Struct.new(
2275
+ :certificate_arn,
2276
+ :certificate_id,
2277
+ :transferred_to,
2278
+ :transfer_date,
2279
+ :transfer_message,
2280
+ :creation_date)
2281
+ include Aws::Structure
2282
+ end
2283
+
2284
+ # Describes an AWS IoT policy.
2285
+ # @!attribute [rw] policy_name
2286
+ # The policy name.
2287
+ # @return [String]
2288
+ #
2289
+ # @!attribute [rw] policy_arn
2290
+ # The policy ARN.
2291
+ # @return [String]
2292
+ class Policy < Struct.new(
2293
+ :policy_name,
2294
+ :policy_arn)
2295
+ include Aws::Structure
2296
+ end
2297
+
2298
+ # Describes a policy version.
2299
+ # @!attribute [rw] version_id
2300
+ # The policy version ID.
2301
+ # @return [String]
2302
+ #
2303
+ # @!attribute [rw] is_default_version
2304
+ # Specifies whether the policy version is the default.
2305
+ # @return [Boolean]
2306
+ #
2307
+ # @!attribute [rw] create_date
2308
+ # The date and time the policy was created.
2309
+ # @return [Time]
2310
+ class PolicyVersion < Struct.new(
2311
+ :version_id,
2312
+ :is_default_version,
2313
+ :create_date)
2314
+ include Aws::Structure
2315
+ end
2316
+
2317
+ # The input for the DynamoActionVS action that specifies the DynamoDB
2318
+ # table to which the message data will be written.
2319
+ # @note When making an API call, pass PutItemInput
2320
+ # data as a hash:
2321
+ #
2322
+ # {
2323
+ # table_name: "TableName", # required
2324
+ # }
2325
+ # @!attribute [rw] table_name
2326
+ # The table where the message data will be written
2327
+ # @return [String]
2328
+ class PutItemInput < Struct.new(
2329
+ :table_name)
2330
+ include Aws::Structure
2331
+ end
2332
+
2333
+ # The input to the RegisterCACertificate operation.
2334
+ # @note When making an API call, pass RegisterCACertificateRequest
2335
+ # data as a hash:
2336
+ #
2337
+ # {
2338
+ # ca_certificate: "CertificatePem", # required
2339
+ # verification_certificate: "CertificatePem", # required
2340
+ # set_as_active: false,
2341
+ # allow_auto_registration: false,
2342
+ # }
2343
+ # @!attribute [rw] ca_certificate
2344
+ # The CA certificate.
2345
+ # @return [String]
2346
+ #
2347
+ # @!attribute [rw] verification_certificate
2348
+ # The private key verification certificate.
2349
+ # @return [String]
2350
+ #
2351
+ # @!attribute [rw] set_as_active
2352
+ # A boolean value that specifies if the CA certificate is set to
2353
+ # active.
2354
+ # @return [Boolean]
2355
+ #
2356
+ # @!attribute [rw] allow_auto_registration
2357
+ # Allows this CA certificate to be used for auto registration of
2358
+ # device certificates.
2359
+ # @return [Boolean]
2360
+ class RegisterCACertificateRequest < Struct.new(
2361
+ :ca_certificate,
2362
+ :verification_certificate,
2363
+ :set_as_active,
2364
+ :allow_auto_registration)
2365
+ include Aws::Structure
2366
+ end
2367
+
2368
+ # The output from the RegisterCACertificateResponse operation.
2369
+ # @!attribute [rw] certificate_arn
2370
+ # The CA certificate ARN.
2371
+ # @return [String]
2372
+ #
2373
+ # @!attribute [rw] certificate_id
2374
+ # The CA certificate identifier.
2375
+ # @return [String]
2376
+ class RegisterCACertificateResponse < Struct.new(
2377
+ :certificate_arn,
2378
+ :certificate_id)
2379
+ include Aws::Structure
2380
+ end
2381
+
2382
+ # The input to the RegisterCertificate operation.
2383
+ # @note When making an API call, pass RegisterCertificateRequest
2384
+ # data as a hash:
2385
+ #
2386
+ # {
2387
+ # certificate_pem: "CertificatePem", # required
2388
+ # ca_certificate_pem: "CertificatePem",
2389
+ # set_as_active: false,
2390
+ # status: "ACTIVE", # accepts ACTIVE, INACTIVE, REVOKED, PENDING_TRANSFER, REGISTER_INACTIVE, PENDING_ACTIVATION
2391
+ # }
2392
+ # @!attribute [rw] certificate_pem
2393
+ # The certificate data, in PEM format.
2394
+ # @return [String]
2395
+ #
2396
+ # @!attribute [rw] ca_certificate_pem
2397
+ # The CA certificate used to sign the device certificate being
2398
+ # registered.
2399
+ # @return [String]
2400
+ #
2401
+ # @!attribute [rw] set_as_active
2402
+ # A boolean value that specifies if the CA certificate is set to
2403
+ # active.
2404
+ # @return [Boolean]
2405
+ #
2406
+ # @!attribute [rw] status
2407
+ # @return [String]
2408
+ class RegisterCertificateRequest < Struct.new(
2409
+ :certificate_pem,
2410
+ :ca_certificate_pem,
2411
+ :set_as_active,
2412
+ :status)
2413
+ include Aws::Structure
2414
+ end
2415
+
2416
+ # The output from the RegisterCertificate operation.
2417
+ # @!attribute [rw] certificate_arn
2418
+ # The certificate ARN.
2419
+ # @return [String]
2420
+ #
2421
+ # @!attribute [rw] certificate_id
2422
+ # The certificate identifier.
2423
+ # @return [String]
2424
+ class RegisterCertificateResponse < Struct.new(
2425
+ :certificate_arn,
2426
+ :certificate_id)
2427
+ include Aws::Structure
2428
+ end
2429
+
2430
+ # The input for the RejectCertificateTransfer operation.
2431
+ # @note When making an API call, pass RejectCertificateTransferRequest
2432
+ # data as a hash:
2433
+ #
2434
+ # {
2435
+ # certificate_id: "CertificateId", # required
2436
+ # reject_reason: "Message",
2437
+ # }
2438
+ # @!attribute [rw] certificate_id
2439
+ # The ID of the certificate.
2440
+ # @return [String]
2441
+ #
2442
+ # @!attribute [rw] reject_reason
2443
+ # The reason the certificate transfer was rejected.
2444
+ # @return [String]
2445
+ class RejectCertificateTransferRequest < Struct.new(
2446
+ :certificate_id,
2447
+ :reject_reason)
2448
+ include Aws::Structure
2449
+ end
2450
+
2451
+ # The input for the ReplaceTopicRule operation.
2452
+ # @note When making an API call, pass ReplaceTopicRuleRequest
2453
+ # data as a hash:
2454
+ #
2455
+ # {
2456
+ # rule_name: "RuleName", # required
2457
+ # topic_rule_payload: { # required
2458
+ # sql: "SQL", # required
2459
+ # description: "Description",
2460
+ # actions: [ # required
2461
+ # {
2462
+ # dynamo_db: {
2463
+ # table_name: "TableName", # required
2464
+ # role_arn: "AwsArn", # required
2465
+ # operation: "DynamoOperation",
2466
+ # hash_key_field: "HashKeyField", # required
2467
+ # hash_key_value: "HashKeyValue", # required
2468
+ # hash_key_type: "STRING", # accepts STRING, NUMBER
2469
+ # range_key_field: "RangeKeyField",
2470
+ # range_key_value: "RangeKeyValue",
2471
+ # range_key_type: "STRING", # accepts STRING, NUMBER
2472
+ # payload_field: "PayloadField",
2473
+ # },
2474
+ # dynamo_d_bv_2: {
2475
+ # role_arn: "AwsArn",
2476
+ # put_item: {
2477
+ # table_name: "TableName", # required
2478
+ # },
2479
+ # },
2480
+ # lambda: {
2481
+ # function_arn: "FunctionArn", # required
2482
+ # },
2483
+ # sns: {
2484
+ # target_arn: "AwsArn", # required
2485
+ # role_arn: "AwsArn", # required
2486
+ # message_format: "RAW", # accepts RAW, JSON
2487
+ # },
2488
+ # sqs: {
2489
+ # role_arn: "AwsArn", # required
2490
+ # queue_url: "QueueUrl", # required
2491
+ # use_base_64: false,
2492
+ # },
2493
+ # kinesis: {
2494
+ # role_arn: "AwsArn", # required
2495
+ # stream_name: "StreamName", # required
2496
+ # partition_key: "PartitionKey",
2497
+ # },
2498
+ # republish: {
2499
+ # role_arn: "AwsArn", # required
2500
+ # topic: "TopicPattern", # required
2501
+ # },
2502
+ # s3: {
2503
+ # role_arn: "AwsArn", # required
2504
+ # bucket_name: "BucketName", # required
2505
+ # key: "Key", # required
2506
+ # 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
2507
+ # },
2508
+ # firehose: {
2509
+ # role_arn: "AwsArn", # required
2510
+ # delivery_stream_name: "DeliveryStreamName", # required
2511
+ # separator: "FirehoseSeparator",
2512
+ # },
2513
+ # cloudwatch_metric: {
2514
+ # role_arn: "AwsArn", # required
2515
+ # metric_namespace: "MetricNamespace", # required
2516
+ # metric_name: "MetricName", # required
2517
+ # metric_value: "MetricValue", # required
2518
+ # metric_unit: "MetricUnit", # required
2519
+ # metric_timestamp: "MetricTimestamp",
2520
+ # },
2521
+ # cloudwatch_alarm: {
2522
+ # role_arn: "AwsArn", # required
2523
+ # alarm_name: "AlarmName", # required
2524
+ # state_reason: "StateReason", # required
2525
+ # state_value: "StateValue", # required
2526
+ # },
2527
+ # elasticsearch: {
2528
+ # role_arn: "AwsArn", # required
2529
+ # endpoint: "ElasticsearchEndpoint", # required
2530
+ # index: "ElasticsearchIndex", # required
2531
+ # type: "ElasticsearchType", # required
2532
+ # id: "ElasticsearchId", # required
2533
+ # },
2534
+ # },
2535
+ # ],
2536
+ # rule_disabled: false,
2537
+ # aws_iot_sql_version: "AwsIotSqlVersion",
2538
+ # },
2539
+ # }
2540
+ # @!attribute [rw] rule_name
2541
+ # The name of the rule.
2542
+ # @return [String]
2543
+ #
2544
+ # @!attribute [rw] topic_rule_payload
2545
+ # The rule payload.
2546
+ # @return [Types::TopicRulePayload]
2547
+ class ReplaceTopicRuleRequest < Struct.new(
2548
+ :rule_name,
2549
+ :topic_rule_payload)
2550
+ include Aws::Structure
2551
+ end
2552
+
2553
+ # Describes an action to republish to another topic.
2554
+ # @note When making an API call, pass RepublishAction
2555
+ # data as a hash:
2556
+ #
2557
+ # {
2558
+ # role_arn: "AwsArn", # required
2559
+ # topic: "TopicPattern", # required
2560
+ # }
2561
+ # @!attribute [rw] role_arn
2562
+ # The ARN of the IAM role that grants access.
2563
+ # @return [String]
2564
+ #
2565
+ # @!attribute [rw] topic
2566
+ # The name of the MQTT topic.
2567
+ # @return [String]
2568
+ class RepublishAction < Struct.new(
2569
+ :role_arn,
2570
+ :topic)
2571
+ include Aws::Structure
2572
+ end
2573
+
2574
+ # Describes an action to write data to an Amazon S3 bucket.
2575
+ # @note When making an API call, pass S3Action
2576
+ # data as a hash:
2577
+ #
2578
+ # {
2579
+ # role_arn: "AwsArn", # required
2580
+ # bucket_name: "BucketName", # required
2581
+ # key: "Key", # required
2582
+ # 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
2583
+ # }
2584
+ # @!attribute [rw] role_arn
2585
+ # The ARN of the IAM role that grants access.
2586
+ # @return [String]
2587
+ #
2588
+ # @!attribute [rw] bucket_name
2589
+ # The Amazon S3 bucket.
2590
+ # @return [String]
2591
+ #
2592
+ # @!attribute [rw] key
2593
+ # The object key.
2594
+ # @return [String]
2595
+ #
2596
+ # @!attribute [rw] canned_acl
2597
+ # The Amazon S3 canned ACL that controls access to the object
2598
+ # identified by the object key. For more information, see [S3 canned
2599
+ # ACLs][1].
2600
+ #
2601
+ #
2602
+ #
2603
+ # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
2604
+ # @return [String]
2605
+ class S3Action < Struct.new(
2606
+ :role_arn,
2607
+ :bucket_name,
2608
+ :key,
2609
+ :canned_acl)
2610
+ include Aws::Structure
2611
+ end
2612
+
2613
+ # The input for the SetDefaultPolicyVersion operation.
2614
+ # @note When making an API call, pass SetDefaultPolicyVersionRequest
2615
+ # data as a hash:
2616
+ #
2617
+ # {
2618
+ # policy_name: "PolicyName", # required
2619
+ # policy_version_id: "PolicyVersionId", # required
2620
+ # }
2621
+ # @!attribute [rw] policy_name
2622
+ # The policy name.
2623
+ # @return [String]
2624
+ #
2625
+ # @!attribute [rw] policy_version_id
2626
+ # The policy version ID.
2627
+ # @return [String]
2628
+ class SetDefaultPolicyVersionRequest < Struct.new(
2629
+ :policy_name,
2630
+ :policy_version_id)
2631
+ include Aws::Structure
2632
+ end
2633
+
2634
+ # The input for the SetLoggingOptions operation.
2635
+ # @note When making an API call, pass SetLoggingOptionsRequest
2636
+ # data as a hash:
2637
+ #
2638
+ # {
2639
+ # logging_options_payload: { # required
2640
+ # role_arn: "AwsArn", # required
2641
+ # log_level: "DEBUG", # accepts DEBUG, INFO, ERROR, WARN, DISABLED
2642
+ # },
2643
+ # }
2644
+ # @!attribute [rw] logging_options_payload
2645
+ # The logging options payload.
2646
+ # @return [Types::LoggingOptionsPayload]
2647
+ class SetLoggingOptionsRequest < Struct.new(
2648
+ :logging_options_payload)
2649
+ include Aws::Structure
2650
+ end
2651
+
2652
+ # Describes an action to publish to an Amazon SNS topic.
2653
+ # @note When making an API call, pass SnsAction
2654
+ # data as a hash:
2655
+ #
2656
+ # {
2657
+ # target_arn: "AwsArn", # required
2658
+ # role_arn: "AwsArn", # required
2659
+ # message_format: "RAW", # accepts RAW, JSON
2660
+ # }
2661
+ # @!attribute [rw] target_arn
2662
+ # The ARN of the SNS topic.
2663
+ # @return [String]
2664
+ #
2665
+ # @!attribute [rw] role_arn
2666
+ # The ARN of the IAM role that grants access.
2667
+ # @return [String]
2668
+ #
2669
+ # @!attribute [rw] message_format
2670
+ # The message format of the message to publish. Optional. Accepted
2671
+ # values are "JSON" and "RAW". The default value of the attribute
2672
+ # is "RAW". SNS uses this setting to determine if the payload should
2673
+ # be parsed and relevant platform-specific bits of the payload should
2674
+ # be extracted. To read more about SNS message formats, see [][1]
2675
+ # refer to their official documentation.
2676
+ #
2677
+ #
2678
+ #
2679
+ # [1]: http://docs.aws.amazon.com/sns/latest/dg/json-formats.html
2680
+ # @return [String]
2681
+ class SnsAction < Struct.new(
2682
+ :target_arn,
2683
+ :role_arn,
2684
+ :message_format)
2685
+ include Aws::Structure
2686
+ end
2687
+
2688
+ # Describes an action to publish data to an Amazon SQS queue.
2689
+ # @note When making an API call, pass SqsAction
2690
+ # data as a hash:
2691
+ #
2692
+ # {
2693
+ # role_arn: "AwsArn", # required
2694
+ # queue_url: "QueueUrl", # required
2695
+ # use_base_64: false,
2696
+ # }
2697
+ # @!attribute [rw] role_arn
2698
+ # The ARN of the IAM role that grants access.
2699
+ # @return [String]
2700
+ #
2701
+ # @!attribute [rw] queue_url
2702
+ # The URL of the Amazon SQS queue.
2703
+ # @return [String]
2704
+ #
2705
+ # @!attribute [rw] use_base_64
2706
+ # Specifies whether to use Base64 encoding.
2707
+ # @return [Boolean]
2708
+ class SqsAction < Struct.new(
2709
+ :role_arn,
2710
+ :queue_url,
2711
+ :use_base_64)
2712
+ include Aws::Structure
2713
+ end
2714
+
2715
+ # The properties of the thing, including thing name, thing type name,
2716
+ # and a list of thing attributes.
2717
+ # @!attribute [rw] thing_name
2718
+ # The name of the thing.
2719
+ # @return [String]
2720
+ #
2721
+ # @!attribute [rw] thing_type_name
2722
+ # The name of the thing type, if the thing has been associated with a
2723
+ # type.
2724
+ # @return [String]
2725
+ #
2726
+ # @!attribute [rw] attributes
2727
+ # A list of thing attributes which are name-value pairs.
2728
+ # @return [Hash<String,String>]
2729
+ #
2730
+ # @!attribute [rw] version
2731
+ # The version of the thing record in the registry.
2732
+ # @return [Integer]
2733
+ class ThingAttribute < Struct.new(
2734
+ :thing_name,
2735
+ :thing_type_name,
2736
+ :attributes,
2737
+ :version)
2738
+ include Aws::Structure
2739
+ end
2740
+
2741
+ # The definition of the thing type, including thing type name and
2742
+ # description.
2743
+ # @!attribute [rw] thing_type_name
2744
+ # The name of the thing type.
2745
+ # @return [String]
2746
+ #
2747
+ # @!attribute [rw] thing_type_properties
2748
+ # The ThingTypeProperties for the thing type.
2749
+ # @return [Types::ThingTypeProperties]
2750
+ #
2751
+ # @!attribute [rw] thing_type_metadata
2752
+ # The ThingTypeMetadata contains additional information about the
2753
+ # thing type including: creation date and time, a value indicating
2754
+ # whether the thing type is deprecated, and a date and time when time
2755
+ # was deprecated.
2756
+ # @return [Types::ThingTypeMetadata]
2757
+ class ThingTypeDefinition < Struct.new(
2758
+ :thing_type_name,
2759
+ :thing_type_properties,
2760
+ :thing_type_metadata)
2761
+ include Aws::Structure
2762
+ end
2763
+
2764
+ # The ThingTypeMetadata contains additional information about the thing
2765
+ # type including: creation date and time, a value indicating whether the
2766
+ # thing type is deprecated, and a date and time when time was
2767
+ # deprecated.
2768
+ # @!attribute [rw] deprecated
2769
+ # Whether the thing type is deprecated. If **true**, no new things
2770
+ # could be associated with this type.
2771
+ # @return [Boolean]
2772
+ #
2773
+ # @!attribute [rw] deprecation_date
2774
+ # The date and time when the thing type was deprecated.
2775
+ # @return [Time]
2776
+ #
2777
+ # @!attribute [rw] creation_date
2778
+ # The date and time when the thing type was created.
2779
+ # @return [Time]
2780
+ class ThingTypeMetadata < Struct.new(
2781
+ :deprecated,
2782
+ :deprecation_date,
2783
+ :creation_date)
2784
+ include Aws::Structure
2785
+ end
2786
+
2787
+ # The ThingTypeProperties contains information about the thing type
2788
+ # including: a thing type description, and a list of searchable thing
2789
+ # attribute names.
2790
+ # @note When making an API call, pass ThingTypeProperties
2791
+ # data as a hash:
2792
+ #
2793
+ # {
2794
+ # thing_type_description: "ThingTypeDescription",
2795
+ # searchable_attributes: ["AttributeName"],
2796
+ # }
2797
+ # @!attribute [rw] thing_type_description
2798
+ # The description of the thing type.
2799
+ # @return [String]
2800
+ #
2801
+ # @!attribute [rw] searchable_attributes
2802
+ # A list of searchable thing attribute names.
2803
+ # @return [Array<String>]
2804
+ class ThingTypeProperties < Struct.new(
2805
+ :thing_type_description,
2806
+ :searchable_attributes)
2807
+ include Aws::Structure
2808
+ end
2809
+
2810
+ # Describes a rule.
2811
+ # @!attribute [rw] rule_name
2812
+ # The name of the rule.
2813
+ # @return [String]
2814
+ #
2815
+ # @!attribute [rw] sql
2816
+ # The SQL statement used to query the topic. When using a SQL query
2817
+ # with multiple lines, be sure to escape the newline characters.
2818
+ # @return [String]
2819
+ #
2820
+ # @!attribute [rw] description
2821
+ # The description of the rule.
2822
+ # @return [String]
2823
+ #
2824
+ # @!attribute [rw] created_at
2825
+ # The date and time the rule was created.
2826
+ # @return [Time]
2827
+ #
2828
+ # @!attribute [rw] actions
2829
+ # The actions associated with the rule.
2830
+ # @return [Array<Types::Action>]
2831
+ #
2832
+ # @!attribute [rw] rule_disabled
2833
+ # Specifies whether the rule is disabled.
2834
+ # @return [Boolean]
2835
+ #
2836
+ # @!attribute [rw] aws_iot_sql_version
2837
+ # The version of the SQL rules engine to use when evaluating the rule.
2838
+ # @return [String]
2839
+ class TopicRule < Struct.new(
2840
+ :rule_name,
2841
+ :sql,
2842
+ :description,
2843
+ :created_at,
2844
+ :actions,
2845
+ :rule_disabled,
2846
+ :aws_iot_sql_version)
2847
+ include Aws::Structure
2848
+ end
2849
+
2850
+ # Describes a rule.
2851
+ # @!attribute [rw] rule_arn
2852
+ # The rule ARN.
2853
+ # @return [String]
2854
+ #
2855
+ # @!attribute [rw] rule_name
2856
+ # The name of the rule.
2857
+ # @return [String]
2858
+ #
2859
+ # @!attribute [rw] topic_pattern
2860
+ # The pattern for the topic names that apply.
2861
+ # @return [String]
2862
+ #
2863
+ # @!attribute [rw] created_at
2864
+ # The date and time the rule was created.
2865
+ # @return [Time]
2866
+ #
2867
+ # @!attribute [rw] rule_disabled
2868
+ # Specifies whether the rule is disabled.
2869
+ # @return [Boolean]
2870
+ class TopicRuleListItem < Struct.new(
2871
+ :rule_arn,
2872
+ :rule_name,
2873
+ :topic_pattern,
2874
+ :created_at,
2875
+ :rule_disabled)
2876
+ include Aws::Structure
2877
+ end
2878
+
2879
+ # Describes a rule.
2880
+ # @note When making an API call, pass TopicRulePayload
2881
+ # data as a hash:
2882
+ #
2883
+ # {
2884
+ # sql: "SQL", # required
2885
+ # description: "Description",
2886
+ # actions: [ # required
2887
+ # {
2888
+ # dynamo_db: {
2889
+ # table_name: "TableName", # required
2890
+ # role_arn: "AwsArn", # required
2891
+ # operation: "DynamoOperation",
2892
+ # hash_key_field: "HashKeyField", # required
2893
+ # hash_key_value: "HashKeyValue", # required
2894
+ # hash_key_type: "STRING", # accepts STRING, NUMBER
2895
+ # range_key_field: "RangeKeyField",
2896
+ # range_key_value: "RangeKeyValue",
2897
+ # range_key_type: "STRING", # accepts STRING, NUMBER
2898
+ # payload_field: "PayloadField",
2899
+ # },
2900
+ # dynamo_d_bv_2: {
2901
+ # role_arn: "AwsArn",
2902
+ # put_item: {
2903
+ # table_name: "TableName", # required
2904
+ # },
2905
+ # },
2906
+ # lambda: {
2907
+ # function_arn: "FunctionArn", # required
2908
+ # },
2909
+ # sns: {
2910
+ # target_arn: "AwsArn", # required
2911
+ # role_arn: "AwsArn", # required
2912
+ # message_format: "RAW", # accepts RAW, JSON
2913
+ # },
2914
+ # sqs: {
2915
+ # role_arn: "AwsArn", # required
2916
+ # queue_url: "QueueUrl", # required
2917
+ # use_base_64: false,
2918
+ # },
2919
+ # kinesis: {
2920
+ # role_arn: "AwsArn", # required
2921
+ # stream_name: "StreamName", # required
2922
+ # partition_key: "PartitionKey",
2923
+ # },
2924
+ # republish: {
2925
+ # role_arn: "AwsArn", # required
2926
+ # topic: "TopicPattern", # required
2927
+ # },
2928
+ # s3: {
2929
+ # role_arn: "AwsArn", # required
2930
+ # bucket_name: "BucketName", # required
2931
+ # key: "Key", # required
2932
+ # 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
2933
+ # },
2934
+ # firehose: {
2935
+ # role_arn: "AwsArn", # required
2936
+ # delivery_stream_name: "DeliveryStreamName", # required
2937
+ # separator: "FirehoseSeparator",
2938
+ # },
2939
+ # cloudwatch_metric: {
2940
+ # role_arn: "AwsArn", # required
2941
+ # metric_namespace: "MetricNamespace", # required
2942
+ # metric_name: "MetricName", # required
2943
+ # metric_value: "MetricValue", # required
2944
+ # metric_unit: "MetricUnit", # required
2945
+ # metric_timestamp: "MetricTimestamp",
2946
+ # },
2947
+ # cloudwatch_alarm: {
2948
+ # role_arn: "AwsArn", # required
2949
+ # alarm_name: "AlarmName", # required
2950
+ # state_reason: "StateReason", # required
2951
+ # state_value: "StateValue", # required
2952
+ # },
2953
+ # elasticsearch: {
2954
+ # role_arn: "AwsArn", # required
2955
+ # endpoint: "ElasticsearchEndpoint", # required
2956
+ # index: "ElasticsearchIndex", # required
2957
+ # type: "ElasticsearchType", # required
2958
+ # id: "ElasticsearchId", # required
2959
+ # },
2960
+ # },
2961
+ # ],
2962
+ # rule_disabled: false,
2963
+ # aws_iot_sql_version: "AwsIotSqlVersion",
2964
+ # }
2965
+ # @!attribute [rw] sql
2966
+ # The SQL statement used to query the topic. For more information, see
2967
+ # [AWS IoT SQL Reference][1] in the *AWS IoT Developer Guide*.
2968
+ #
2969
+ #
2970
+ #
2971
+ # [1]: http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference
2972
+ # @return [String]
2973
+ #
2974
+ # @!attribute [rw] description
2975
+ # The description of the rule.
2976
+ # @return [String]
2977
+ #
2978
+ # @!attribute [rw] actions
2979
+ # The actions associated with the rule.
2980
+ # @return [Array<Types::Action>]
2981
+ #
2982
+ # @!attribute [rw] rule_disabled
2983
+ # Specifies whether the rule is disabled.
2984
+ # @return [Boolean]
2985
+ #
2986
+ # @!attribute [rw] aws_iot_sql_version
2987
+ # The version of the SQL rules engine to use when evaluating the rule.
2988
+ # @return [String]
2989
+ class TopicRulePayload < Struct.new(
2990
+ :sql,
2991
+ :description,
2992
+ :actions,
2993
+ :rule_disabled,
2994
+ :aws_iot_sql_version)
2995
+ include Aws::Structure
2996
+ end
2997
+
2998
+ # The input for the TransferCertificate operation.
2999
+ # @note When making an API call, pass TransferCertificateRequest
3000
+ # data as a hash:
3001
+ #
3002
+ # {
3003
+ # certificate_id: "CertificateId", # required
3004
+ # target_aws_account: "AwsAccountId", # required
3005
+ # transfer_message: "Message",
3006
+ # }
3007
+ # @!attribute [rw] certificate_id
3008
+ # The ID of the certificate.
3009
+ # @return [String]
3010
+ #
3011
+ # @!attribute [rw] target_aws_account
3012
+ # The AWS account.
3013
+ # @return [String]
3014
+ #
3015
+ # @!attribute [rw] transfer_message
3016
+ # The transfer message.
3017
+ # @return [String]
3018
+ class TransferCertificateRequest < Struct.new(
3019
+ :certificate_id,
3020
+ :target_aws_account,
3021
+ :transfer_message)
3022
+ include Aws::Structure
3023
+ end
3024
+
3025
+ # The output from the TransferCertificate operation.
3026
+ # @!attribute [rw] transferred_certificate_arn
3027
+ # The ARN of the certificate.
3028
+ # @return [String]
3029
+ class TransferCertificateResponse < Struct.new(
3030
+ :transferred_certificate_arn)
3031
+ include Aws::Structure
3032
+ end
3033
+
3034
+ # Data used to transfer a certificate to an AWS account.
3035
+ # @!attribute [rw] transfer_message
3036
+ # The transfer message.
3037
+ # @return [String]
3038
+ #
3039
+ # @!attribute [rw] reject_reason
3040
+ # The reason why the transfer was rejected.
3041
+ # @return [String]
3042
+ #
3043
+ # @!attribute [rw] transfer_date
3044
+ # The date the transfer took place.
3045
+ # @return [Time]
3046
+ #
3047
+ # @!attribute [rw] accept_date
3048
+ # The date the transfer was accepted.
3049
+ # @return [Time]
3050
+ #
3051
+ # @!attribute [rw] reject_date
3052
+ # The date the transfer was rejected.
3053
+ # @return [Time]
3054
+ class TransferData < Struct.new(
3055
+ :transfer_message,
3056
+ :reject_reason,
3057
+ :transfer_date,
3058
+ :accept_date,
3059
+ :reject_date)
3060
+ include Aws::Structure
3061
+ end
3062
+
3063
+ # The input to the UpdateCACertificate operation.
3064
+ # @note When making an API call, pass UpdateCACertificateRequest
3065
+ # data as a hash:
3066
+ #
3067
+ # {
3068
+ # certificate_id: "CertificateId", # required
3069
+ # new_status: "ACTIVE", # accepts ACTIVE, INACTIVE
3070
+ # new_auto_registration_status: "ENABLE", # accepts ENABLE, DISABLE
3071
+ # }
3072
+ # @!attribute [rw] certificate_id
3073
+ # The CA certificate identifier.
3074
+ # @return [String]
3075
+ #
3076
+ # @!attribute [rw] new_status
3077
+ # The updated status of the CA certificate.
3078
+ #
3079
+ # **Note:** The status value REGISTER\_INACTIVE is deprecated and
3080
+ # should not be used.
3081
+ # @return [String]
3082
+ #
3083
+ # @!attribute [rw] new_auto_registration_status
3084
+ # The new value for the auto registration status. Valid values are:
3085
+ # "ENABLE" or "DISABLE".
3086
+ # @return [String]
3087
+ class UpdateCACertificateRequest < Struct.new(
3088
+ :certificate_id,
3089
+ :new_status,
3090
+ :new_auto_registration_status)
3091
+ include Aws::Structure
3092
+ end
3093
+
3094
+ # The input for the UpdateCertificate operation.
3095
+ # @note When making an API call, pass UpdateCertificateRequest
3096
+ # data as a hash:
3097
+ #
3098
+ # {
3099
+ # certificate_id: "CertificateId", # required
3100
+ # new_status: "ACTIVE", # required, accepts ACTIVE, INACTIVE, REVOKED, PENDING_TRANSFER, REGISTER_INACTIVE, PENDING_ACTIVATION
3101
+ # }
3102
+ # @!attribute [rw] certificate_id
3103
+ # The ID of the certificate.
3104
+ # @return [String]
3105
+ #
3106
+ # @!attribute [rw] new_status
3107
+ # The new status.
3108
+ #
3109
+ # **Note:** Setting the status to PENDING\_TRANSFER will result in an
3110
+ # exception being thrown. PENDING\_TRANSFER is a status used
3111
+ # internally by AWS IoT. It is not intended for developer use.
3112
+ #
3113
+ # **Note:** The status value REGISTER\_INACTIVE is deprecated and
3114
+ # should not be used.
3115
+ # @return [String]
3116
+ class UpdateCertificateRequest < Struct.new(
3117
+ :certificate_id,
3118
+ :new_status)
3119
+ include Aws::Structure
3120
+ end
3121
+
3122
+ # The input for the UpdateThing operation.
3123
+ # @note When making an API call, pass UpdateThingRequest
3124
+ # data as a hash:
3125
+ #
3126
+ # {
3127
+ # thing_name: "ThingName", # required
3128
+ # thing_type_name: "ThingTypeName",
3129
+ # attribute_payload: {
3130
+ # attributes: {
3131
+ # "AttributeName" => "AttributeValue",
3132
+ # },
3133
+ # merge: false,
3134
+ # },
3135
+ # expected_version: 1,
3136
+ # remove_thing_type: false,
3137
+ # }
3138
+ # @!attribute [rw] thing_name
3139
+ # The name of the thing to update.
3140
+ # @return [String]
3141
+ #
3142
+ # @!attribute [rw] thing_type_name
3143
+ # The name of the thing type.
3144
+ # @return [String]
3145
+ #
3146
+ # @!attribute [rw] attribute_payload
3147
+ # A list of thing attributes, a JSON string containing name-value
3148
+ # pairs. For example:
3149
+ #
3150
+ # `\{"attributes":\{"name1":"value2"\}\})`
3151
+ #
3152
+ # This data is used to add new attributes or update existing
3153
+ # attributes.
3154
+ # @return [Types::AttributePayload]
3155
+ #
3156
+ # @!attribute [rw] expected_version
3157
+ # The expected version of the thing record in the registry. If the
3158
+ # version of the record in the registry does not match the expected
3159
+ # version specified in the request, the `UpdateThing` request is
3160
+ # rejected with a `VersionConflictException`.
3161
+ # @return [Integer]
3162
+ #
3163
+ # @!attribute [rw] remove_thing_type
3164
+ # Remove a thing type association. If **true**, the assocation is
3165
+ # removed.
3166
+ # @return [Boolean]
3167
+ class UpdateThingRequest < Struct.new(
3168
+ :thing_name,
3169
+ :thing_type_name,
3170
+ :attribute_payload,
3171
+ :expected_version,
3172
+ :remove_thing_type)
3173
+ include Aws::Structure
3174
+ end
3175
+
3176
+ # The output from the UpdateThing operation.
3177
+ class UpdateThingResponse < Aws::EmptyStructure; end
3178
+
3179
+ end
3180
+ end
3181
+ end