aws-sdk-iot 1.53.0 → 1.58.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -232,6 +232,21 @@ module Aws::IoT
232
232
  # state_machine_name: "StateMachineName", # required
233
233
  # role_arn: "AwsArn", # required
234
234
  # },
235
+ # timestream: {
236
+ # role_arn: "AwsArn", # required
237
+ # database_name: "TimestreamDatabaseName", # required
238
+ # table_name: "TimestreamTableName", # required
239
+ # dimensions: [ # required
240
+ # {
241
+ # name: "TimestreamDimensionName", # required
242
+ # value: "TimestreamDimensionValue", # required
243
+ # },
244
+ # ],
245
+ # timestamp: {
246
+ # value: "TimestreamTimestampValue", # required
247
+ # unit: "TimestreamTimestampUnit", # required
248
+ # },
249
+ # },
235
250
  # http: {
236
251
  # url: "Url", # required
237
252
  # confirmation_url: "Url",
@@ -326,6 +341,16 @@ module Aws::IoT
326
341
  # Starts execution of a Step Functions state machine.
327
342
  # @return [Types::StepFunctionsAction]
328
343
  #
344
+ # @!attribute [rw] timestream
345
+ # The Timestream rule action writes attributes (measures) from an MQTT
346
+ # message into an Amazon Timestream table. For more information, see
347
+ # the [Timestream][1] topic rule action documentation.
348
+ #
349
+ #
350
+ #
351
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/timestream-rule-action.html
352
+ # @return [Types::TimestreamAction]
353
+ #
329
354
  # @!attribute [rw] http
330
355
  # Send data to an HTTPS endpoint.
331
356
  # @return [Types::HttpAction]
@@ -349,6 +374,7 @@ module Aws::IoT
349
374
  :iot_events,
350
375
  :iot_site_wise,
351
376
  :step_functions,
377
+ :timestream,
352
378
  :http)
353
379
  SENSITIVE = []
354
380
  include Aws::Structure
@@ -899,6 +925,11 @@ module Aws::IoT
899
925
  # check.
900
926
  # @return [Integer]
901
927
  #
928
+ # @!attribute [rw] suppressed_non_compliant_resources_count
929
+ # Describes how many of the non-compliant resources created during the
930
+ # evaluation of an audit check were marked as suppressed.
931
+ # @return [Integer]
932
+ #
902
933
  # @!attribute [rw] error_code
903
934
  # The code of any error encountered when this check is performed
904
935
  # during this audit. One of "INSUFFICIENT\_PERMISSIONS" or
@@ -915,6 +946,7 @@ module Aws::IoT
915
946
  :check_compliant,
916
947
  :total_resources_count,
917
948
  :non_compliant_resources_count,
949
+ :suppressed_non_compliant_resources_count,
918
950
  :error_code,
919
951
  :message)
920
952
  SENSITIVE = []
@@ -964,6 +996,11 @@ module Aws::IoT
964
996
  # A code that indicates the reason that the resource was noncompliant.
965
997
  # @return [String]
966
998
  #
999
+ # @!attribute [rw] is_suppressed
1000
+ # Indicates whether the audit finding was suppressed or not during
1001
+ # reporting.
1002
+ # @return [Boolean]
1003
+ #
967
1004
  class AuditFinding < Struct.new(
968
1005
  :finding_id,
969
1006
  :task_id,
@@ -974,7 +1011,8 @@ module Aws::IoT
974
1011
  :non_compliant_resource,
975
1012
  :related_resources,
976
1013
  :reason_for_non_compliance,
977
- :reason_for_non_compliance_code)
1014
+ :reason_for_non_compliance_code,
1015
+ :is_suppressed)
978
1016
  SENSITIVE = []
979
1017
  include Aws::Structure
980
1018
  end
@@ -1133,6 +1171,43 @@ module Aws::IoT
1133
1171
  include Aws::Structure
1134
1172
  end
1135
1173
 
1174
+ # Filters out specific findings of a Device Defender audit.
1175
+ #
1176
+ # @!attribute [rw] check_name
1177
+ # An audit check name. Checks must be enabled for your account. (Use
1178
+ # `DescribeAccountAuditConfiguration` to see the list of all checks,
1179
+ # including those that are enabled or use
1180
+ # `UpdateAccountAuditConfiguration` to select which checks are
1181
+ # enabled.)
1182
+ # @return [String]
1183
+ #
1184
+ # @!attribute [rw] resource_identifier
1185
+ # Information that identifies the noncompliant resource.
1186
+ # @return [Types::ResourceIdentifier]
1187
+ #
1188
+ # @!attribute [rw] expiration_date
1189
+ # The expiration date (epoch timestamp in seconds) that you want the
1190
+ # suppression to adhere to.
1191
+ # @return [Time]
1192
+ #
1193
+ # @!attribute [rw] suppress_indefinitely
1194
+ # Indicates whether a suppression should exist indefinitely or not.
1195
+ # @return [Boolean]
1196
+ #
1197
+ # @!attribute [rw] description
1198
+ # The description of the audit suppression.
1199
+ # @return [String]
1200
+ #
1201
+ class AuditSuppression < Struct.new(
1202
+ :check_name,
1203
+ :resource_identifier,
1204
+ :expiration_date,
1205
+ :suppress_indefinitely,
1206
+ :description)
1207
+ SENSITIVE = []
1208
+ include Aws::Structure
1209
+ end
1210
+
1136
1211
  # The audits that were performed.
1137
1212
  #
1138
1213
  # @!attribute [rw] task_id
@@ -2416,6 +2491,74 @@ module Aws::IoT
2416
2491
  include Aws::Structure
2417
2492
  end
2418
2493
 
2494
+ # @note When making an API call, you may pass CreateAuditSuppressionRequest
2495
+ # data as a hash:
2496
+ #
2497
+ # {
2498
+ # check_name: "AuditCheckName", # required
2499
+ # resource_identifier: { # required
2500
+ # device_certificate_id: "CertificateId",
2501
+ # ca_certificate_id: "CertificateId",
2502
+ # cognito_identity_pool_id: "CognitoIdentityPoolId",
2503
+ # client_id: "ClientId",
2504
+ # policy_version_identifier: {
2505
+ # policy_name: "PolicyName",
2506
+ # policy_version_id: "PolicyVersionId",
2507
+ # },
2508
+ # account: "AwsAccountId",
2509
+ # iam_role_arn: "RoleArn",
2510
+ # role_alias_arn: "RoleAliasArn",
2511
+ # },
2512
+ # expiration_date: Time.now,
2513
+ # suppress_indefinitely: false,
2514
+ # description: "AuditDescription",
2515
+ # client_request_token: "ClientRequestToken", # required
2516
+ # }
2517
+ #
2518
+ # @!attribute [rw] check_name
2519
+ # An audit check name. Checks must be enabled for your account. (Use
2520
+ # `DescribeAccountAuditConfiguration` to see the list of all checks,
2521
+ # including those that are enabled or use
2522
+ # `UpdateAccountAuditConfiguration` to select which checks are
2523
+ # enabled.)
2524
+ # @return [String]
2525
+ #
2526
+ # @!attribute [rw] resource_identifier
2527
+ # Information that identifies the noncompliant resource.
2528
+ # @return [Types::ResourceIdentifier]
2529
+ #
2530
+ # @!attribute [rw] expiration_date
2531
+ # The epoch timestamp in seconds at which this suppression expires.
2532
+ # @return [Time]
2533
+ #
2534
+ # @!attribute [rw] suppress_indefinitely
2535
+ # Indicates whether a suppression should exist indefinitely or not.
2536
+ # @return [Boolean]
2537
+ #
2538
+ # @!attribute [rw] description
2539
+ # The description of the audit suppression.
2540
+ # @return [String]
2541
+ #
2542
+ # @!attribute [rw] client_request_token
2543
+ # The epoch timestamp in seconds at which this suppression expires.
2544
+ #
2545
+ # **A suitable default value is auto-generated.** You should normally
2546
+ # not need to pass this option.
2547
+ # @return [String]
2548
+ #
2549
+ class CreateAuditSuppressionRequest < Struct.new(
2550
+ :check_name,
2551
+ :resource_identifier,
2552
+ :expiration_date,
2553
+ :suppress_indefinitely,
2554
+ :description,
2555
+ :client_request_token)
2556
+ SENSITIVE = []
2557
+ include Aws::Structure
2558
+ end
2559
+
2560
+ class CreateAuditSuppressionResponse < Aws::EmptyStructure; end
2561
+
2419
2562
  # @note When making an API call, you may pass CreateAuthorizerRequest
2420
2563
  # data as a hash:
2421
2564
  #
@@ -4411,6 +4554,21 @@ module Aws::IoT
4411
4554
  # state_machine_name: "StateMachineName", # required
4412
4555
  # role_arn: "AwsArn", # required
4413
4556
  # },
4557
+ # timestream: {
4558
+ # role_arn: "AwsArn", # required
4559
+ # database_name: "TimestreamDatabaseName", # required
4560
+ # table_name: "TimestreamTableName", # required
4561
+ # dimensions: [ # required
4562
+ # {
4563
+ # name: "TimestreamDimensionName", # required
4564
+ # value: "TimestreamDimensionValue", # required
4565
+ # },
4566
+ # ],
4567
+ # timestamp: {
4568
+ # value: "TimestreamTimestampValue", # required
4569
+ # unit: "TimestreamTimestampUnit", # required
4570
+ # },
4571
+ # },
4414
4572
  # http: {
4415
4573
  # url: "Url", # required
4416
4574
  # confirmation_url: "Url",
@@ -4555,6 +4713,21 @@ module Aws::IoT
4555
4713
  # state_machine_name: "StateMachineName", # required
4556
4714
  # role_arn: "AwsArn", # required
4557
4715
  # },
4716
+ # timestream: {
4717
+ # role_arn: "AwsArn", # required
4718
+ # database_name: "TimestreamDatabaseName", # required
4719
+ # table_name: "TimestreamTableName", # required
4720
+ # dimensions: [ # required
4721
+ # {
4722
+ # name: "TimestreamDimensionName", # required
4723
+ # value: "TimestreamDimensionValue", # required
4724
+ # },
4725
+ # ],
4726
+ # timestamp: {
4727
+ # value: "TimestreamTimestampValue", # required
4728
+ # unit: "TimestreamTimestampUnit", # required
4729
+ # },
4730
+ # },
4558
4731
  # http: {
4559
4732
  # url: "Url", # required
4560
4733
  # confirmation_url: "Url",
@@ -4669,6 +4842,47 @@ module Aws::IoT
4669
4842
 
4670
4843
  class DeleteAccountAuditConfigurationResponse < Aws::EmptyStructure; end
4671
4844
 
4845
+ # @note When making an API call, you may pass DeleteAuditSuppressionRequest
4846
+ # data as a hash:
4847
+ #
4848
+ # {
4849
+ # check_name: "AuditCheckName", # required
4850
+ # resource_identifier: { # required
4851
+ # device_certificate_id: "CertificateId",
4852
+ # ca_certificate_id: "CertificateId",
4853
+ # cognito_identity_pool_id: "CognitoIdentityPoolId",
4854
+ # client_id: "ClientId",
4855
+ # policy_version_identifier: {
4856
+ # policy_name: "PolicyName",
4857
+ # policy_version_id: "PolicyVersionId",
4858
+ # },
4859
+ # account: "AwsAccountId",
4860
+ # iam_role_arn: "RoleArn",
4861
+ # role_alias_arn: "RoleAliasArn",
4862
+ # },
4863
+ # }
4864
+ #
4865
+ # @!attribute [rw] check_name
4866
+ # An audit check name. Checks must be enabled for your account. (Use
4867
+ # `DescribeAccountAuditConfiguration` to see the list of all checks,
4868
+ # including those that are enabled or use
4869
+ # `UpdateAccountAuditConfiguration` to select which checks are
4870
+ # enabled.)
4871
+ # @return [String]
4872
+ #
4873
+ # @!attribute [rw] resource_identifier
4874
+ # Information that identifies the noncompliant resource.
4875
+ # @return [Types::ResourceIdentifier]
4876
+ #
4877
+ class DeleteAuditSuppressionRequest < Struct.new(
4878
+ :check_name,
4879
+ :resource_identifier)
4880
+ SENSITIVE = []
4881
+ include Aws::Structure
4882
+ end
4883
+
4884
+ class DeleteAuditSuppressionResponse < Aws::EmptyStructure; end
4885
+
4672
4886
  # @note When making an API call, you may pass DeleteAuthorizerRequest
4673
4887
  # data as a hash:
4674
4888
  #
@@ -5479,6 +5693,79 @@ module Aws::IoT
5479
5693
  include Aws::Structure
5480
5694
  end
5481
5695
 
5696
+ # @note When making an API call, you may pass DescribeAuditSuppressionRequest
5697
+ # data as a hash:
5698
+ #
5699
+ # {
5700
+ # check_name: "AuditCheckName", # required
5701
+ # resource_identifier: { # required
5702
+ # device_certificate_id: "CertificateId",
5703
+ # ca_certificate_id: "CertificateId",
5704
+ # cognito_identity_pool_id: "CognitoIdentityPoolId",
5705
+ # client_id: "ClientId",
5706
+ # policy_version_identifier: {
5707
+ # policy_name: "PolicyName",
5708
+ # policy_version_id: "PolicyVersionId",
5709
+ # },
5710
+ # account: "AwsAccountId",
5711
+ # iam_role_arn: "RoleArn",
5712
+ # role_alias_arn: "RoleAliasArn",
5713
+ # },
5714
+ # }
5715
+ #
5716
+ # @!attribute [rw] check_name
5717
+ # An audit check name. Checks must be enabled for your account. (Use
5718
+ # `DescribeAccountAuditConfiguration` to see the list of all checks,
5719
+ # including those that are enabled or use
5720
+ # `UpdateAccountAuditConfiguration` to select which checks are
5721
+ # enabled.)
5722
+ # @return [String]
5723
+ #
5724
+ # @!attribute [rw] resource_identifier
5725
+ # Information that identifies the noncompliant resource.
5726
+ # @return [Types::ResourceIdentifier]
5727
+ #
5728
+ class DescribeAuditSuppressionRequest < Struct.new(
5729
+ :check_name,
5730
+ :resource_identifier)
5731
+ SENSITIVE = []
5732
+ include Aws::Structure
5733
+ end
5734
+
5735
+ # @!attribute [rw] check_name
5736
+ # An audit check name. Checks must be enabled for your account. (Use
5737
+ # `DescribeAccountAuditConfiguration` to see the list of all checks,
5738
+ # including those that are enabled or use
5739
+ # `UpdateAccountAuditConfiguration` to select which checks are
5740
+ # enabled.)
5741
+ # @return [String]
5742
+ #
5743
+ # @!attribute [rw] resource_identifier
5744
+ # Information that identifies the noncompliant resource.
5745
+ # @return [Types::ResourceIdentifier]
5746
+ #
5747
+ # @!attribute [rw] expiration_date
5748
+ # The epoch timestamp in seconds at which this suppression expires.
5749
+ # @return [Time]
5750
+ #
5751
+ # @!attribute [rw] suppress_indefinitely
5752
+ # Indicates whether a suppression should exist indefinitely or not.
5753
+ # @return [Boolean]
5754
+ #
5755
+ # @!attribute [rw] description
5756
+ # The description of the audit suppression.
5757
+ # @return [String]
5758
+ #
5759
+ class DescribeAuditSuppressionResponse < Struct.new(
5760
+ :check_name,
5761
+ :resource_identifier,
5762
+ :expiration_date,
5763
+ :suppress_indefinitely,
5764
+ :description)
5765
+ SENSITIVE = []
5766
+ include Aws::Structure
5767
+ end
5768
+
5482
5769
  # @note When making an API call, you may pass DescribeAuditTaskRequest
5483
5770
  # data as a hash:
5484
5771
  #
@@ -6756,9 +7043,11 @@ module Aws::IoT
6756
7043
  # @!attribute [rw] principal
6757
7044
  # The principal.
6758
7045
  #
6759
- # If the principal is a certificate, specify the certificate ARN. If
6760
- # the principal is an Amazon Cognito identity, specify the identity
6761
- # ID.
7046
+ # Valid principals are CertificateArn
7047
+ # (arn:aws:iot:*region*\:*accountId*\:cert/*certificateId*),
7048
+ # thingGroupArn
7049
+ # (arn:aws:iot:*region*\:*accountId*\:thinggroup/*groupName*) and
7050
+ # CognitoId (*region*\:*id*).
6762
7051
  # @return [String]
6763
7052
  #
6764
7053
  class DetachPrincipalPolicyRequest < Struct.new(
@@ -7337,7 +7626,11 @@ module Aws::IoT
7337
7626
  # }
7338
7627
  #
7339
7628
  # @!attribute [rw] principal
7340
- # The principal.
7629
+ # The principal. Valid principals are CertificateArn
7630
+ # (arn:aws:iot:*region*\:*accountId*\:cert/*certificateId*),
7631
+ # thingGroupArn
7632
+ # (arn:aws:iot:*region*\:*accountId*\:thinggroup/*groupName*) and
7633
+ # CognitoId (*region*\:*id*).
7341
7634
  # @return [String]
7342
7635
  #
7343
7636
  # @!attribute [rw] cognito_identity_pool_id
@@ -8784,7 +9077,12 @@ module Aws::IoT
8784
9077
  # }
8785
9078
  #
8786
9079
  # @!attribute [rw] target
8787
- # The group or principal for which the policies will be listed.
9080
+ # The group or principal for which the policies will be listed. Valid
9081
+ # principals are CertificateArn
9082
+ # (arn:aws:iot:*region*\:*accountId*\:cert/*certificateId*),
9083
+ # thingGroupArn
9084
+ # (arn:aws:iot:*region*\:*accountId*\:thinggroup/*groupName*) and
9085
+ # CognitoId (*region*\:*id*).
8788
9086
  # @return [String]
8789
9087
  #
8790
9088
  # @!attribute [rw] recursive
@@ -8847,6 +9145,7 @@ module Aws::IoT
8847
9145
  # next_token: "NextToken",
8848
9146
  # start_time: Time.now,
8849
9147
  # end_time: Time.now,
9148
+ # list_suppressed_findings: false,
8850
9149
  # }
8851
9150
  #
8852
9151
  # @!attribute [rw] task_id
@@ -8885,6 +9184,13 @@ module Aws::IoT
8885
9184
  # not both.
8886
9185
  # @return [Time]
8887
9186
  #
9187
+ # @!attribute [rw] list_suppressed_findings
9188
+ # Boolean flag indicating whether only the suppressed findings or the
9189
+ # unsuppressed findings should be listed. If this parameter isn't
9190
+ # provided, the response will list both suppressed and unsuppressed
9191
+ # findings.
9192
+ # @return [Boolean]
9193
+ #
8888
9194
  class ListAuditFindingsRequest < Struct.new(
8889
9195
  :task_id,
8890
9196
  :check_name,
@@ -8892,7 +9198,8 @@ module Aws::IoT
8892
9198
  :max_results,
8893
9199
  :next_token,
8894
9200
  :start_time,
8895
- :end_time)
9201
+ :end_time,
9202
+ :list_suppressed_findings)
8896
9203
  SENSITIVE = []
8897
9204
  include Aws::Structure
8898
9205
  end
@@ -9050,6 +9357,82 @@ module Aws::IoT
9050
9357
  include Aws::Structure
9051
9358
  end
9052
9359
 
9360
+ # @note When making an API call, you may pass ListAuditSuppressionsRequest
9361
+ # data as a hash:
9362
+ #
9363
+ # {
9364
+ # check_name: "AuditCheckName",
9365
+ # resource_identifier: {
9366
+ # device_certificate_id: "CertificateId",
9367
+ # ca_certificate_id: "CertificateId",
9368
+ # cognito_identity_pool_id: "CognitoIdentityPoolId",
9369
+ # client_id: "ClientId",
9370
+ # policy_version_identifier: {
9371
+ # policy_name: "PolicyName",
9372
+ # policy_version_id: "PolicyVersionId",
9373
+ # },
9374
+ # account: "AwsAccountId",
9375
+ # iam_role_arn: "RoleArn",
9376
+ # role_alias_arn: "RoleAliasArn",
9377
+ # },
9378
+ # ascending_order: false,
9379
+ # next_token: "NextToken",
9380
+ # max_results: 1,
9381
+ # }
9382
+ #
9383
+ # @!attribute [rw] check_name
9384
+ # An audit check name. Checks must be enabled for your account. (Use
9385
+ # `DescribeAccountAuditConfiguration` to see the list of all checks,
9386
+ # including those that are enabled or use
9387
+ # `UpdateAccountAuditConfiguration` to select which checks are
9388
+ # enabled.)
9389
+ # @return [String]
9390
+ #
9391
+ # @!attribute [rw] resource_identifier
9392
+ # Information that identifies the noncompliant resource.
9393
+ # @return [Types::ResourceIdentifier]
9394
+ #
9395
+ # @!attribute [rw] ascending_order
9396
+ # Determines whether suppressions are listed in ascending order by
9397
+ # expiration date or not. If parameter isn't provided,
9398
+ # `ascendingOrder=true`.
9399
+ # @return [Boolean]
9400
+ #
9401
+ # @!attribute [rw] next_token
9402
+ # The token for the next set of results.
9403
+ # @return [String]
9404
+ #
9405
+ # @!attribute [rw] max_results
9406
+ # The maximum number of results to return at one time. The default is
9407
+ # 25.
9408
+ # @return [Integer]
9409
+ #
9410
+ class ListAuditSuppressionsRequest < Struct.new(
9411
+ :check_name,
9412
+ :resource_identifier,
9413
+ :ascending_order,
9414
+ :next_token,
9415
+ :max_results)
9416
+ SENSITIVE = []
9417
+ include Aws::Structure
9418
+ end
9419
+
9420
+ # @!attribute [rw] suppressions
9421
+ # List of audit suppressions.
9422
+ # @return [Array<Types::AuditSuppression>]
9423
+ #
9424
+ # @!attribute [rw] next_token
9425
+ # A token that can be used to retrieve the next set of results, or
9426
+ # `null` if there are no additional results.
9427
+ # @return [String]
9428
+ #
9429
+ class ListAuditSuppressionsResponse < Struct.new(
9430
+ :suppressions,
9431
+ :next_token)
9432
+ SENSITIVE = []
9433
+ include Aws::Structure
9434
+ end
9435
+
9053
9436
  # @note When making an API call, you may pass ListAuditTasksRequest
9054
9437
  # data as a hash:
9055
9438
  #
@@ -9064,7 +9447,7 @@ module Aws::IoT
9064
9447
  #
9065
9448
  # @!attribute [rw] start_time
9066
9449
  # The beginning of the time period. Audit information is retained for
9067
- # a limited time (180 days). Requesting a start time prior to what is
9450
+ # a limited time (90 days). Requesting a start time prior to what is
9068
9451
  # retained results in an "InvalidRequestException".
9069
9452
  # @return [Time]
9070
9453
  #
@@ -9959,7 +10342,11 @@ module Aws::IoT
9959
10342
  # }
9960
10343
  #
9961
10344
  # @!attribute [rw] principal
9962
- # The principal.
10345
+ # The principal. Valid principals are CertificateArn
10346
+ # (arn:aws:iot:*region*\:*accountId*\:cert/*certificateId*),
10347
+ # thingGroupArn
10348
+ # (arn:aws:iot:*region*\:*accountId*\:thinggroup/*groupName*) and
10349
+ # CognitoId (*region*\:*id*).
9963
10350
  # @return [String]
9964
10351
  #
9965
10352
  # @!attribute [rw] marker
@@ -10580,8 +10967,8 @@ module Aws::IoT
10580
10967
  # @return [Array<Types::GroupNameAndArn>]
10581
10968
  #
10582
10969
  # @!attribute [rw] next_token
10583
- # The token used to get the next set of results, or **null** if there
10584
- # are no additional results.
10970
+ # The token used to get the next set of results. Will not be returned
10971
+ # if operation has returned all results.
10585
10972
  # @return [String]
10586
10973
  #
10587
10974
  class ListThingGroupsResponse < Struct.new(
@@ -10761,8 +11148,8 @@ module Aws::IoT
10761
11148
  # @return [Array<Types::ThingTypeDefinition>]
10762
11149
  #
10763
11150
  # @!attribute [rw] next_token
10764
- # The token for the next set of results, or **null** if there are no
10765
- # additional results.
11151
+ # The token for the next set of results. Will not be returned if
11152
+ # operation has returned all results.
10766
11153
  # @return [String]
10767
11154
  #
10768
11155
  class ListThingTypesResponse < Struct.new(
@@ -10806,8 +11193,8 @@ module Aws::IoT
10806
11193
  # @return [Array<String>]
10807
11194
  #
10808
11195
  # @!attribute [rw] next_token
10809
- # The token used to get the next set of results, or **null** if there
10810
- # are no additional results.
11196
+ # The token used to get the next set of results. Will not be returned
11197
+ # if operation has returned all results.
10811
11198
  # @return [String]
10812
11199
  #
10813
11200
  class ListThingsInBillingGroupResponse < Struct.new(
@@ -10919,8 +11306,8 @@ module Aws::IoT
10919
11306
  # @return [Array<Types::ThingAttribute>]
10920
11307
  #
10921
11308
  # @!attribute [rw] next_token
10922
- # The token used to get the next set of results, or **null** if there
10923
- # are no additional results.
11309
+ # The token used to get the next set of results. Will not be returned
11310
+ # if operation has returned all results.
10924
11311
  # @return [String]
10925
11312
  #
10926
11313
  class ListThingsResponse < Struct.new(
@@ -12617,6 +13004,21 @@ module Aws::IoT
12617
13004
  # state_machine_name: "StateMachineName", # required
12618
13005
  # role_arn: "AwsArn", # required
12619
13006
  # },
13007
+ # timestream: {
13008
+ # role_arn: "AwsArn", # required
13009
+ # database_name: "TimestreamDatabaseName", # required
13010
+ # table_name: "TimestreamTableName", # required
13011
+ # dimensions: [ # required
13012
+ # {
13013
+ # name: "TimestreamDimensionName", # required
13014
+ # value: "TimestreamDimensionValue", # required
13015
+ # },
13016
+ # ],
13017
+ # timestamp: {
13018
+ # value: "TimestreamTimestampValue", # required
13019
+ # unit: "TimestreamTimestampUnit", # required
13020
+ # },
13021
+ # },
12620
13022
  # http: {
12621
13023
  # url: "Url", # required
12622
13024
  # confirmation_url: "Url",
@@ -12761,6 +13163,21 @@ module Aws::IoT
12761
13163
  # state_machine_name: "StateMachineName", # required
12762
13164
  # role_arn: "AwsArn", # required
12763
13165
  # },
13166
+ # timestream: {
13167
+ # role_arn: "AwsArn", # required
13168
+ # database_name: "TimestreamDatabaseName", # required
13169
+ # table_name: "TimestreamTableName", # required
13170
+ # dimensions: [ # required
13171
+ # {
13172
+ # name: "TimestreamDimensionName", # required
13173
+ # value: "TimestreamDimensionValue", # required
13174
+ # },
13175
+ # ],
13176
+ # timestamp: {
13177
+ # value: "TimestreamTimestampValue", # required
13178
+ # unit: "TimestreamTimestampUnit", # required
13179
+ # },
13180
+ # },
12764
13181
  # http: {
12765
13182
  # url: "Url", # required
12766
13183
  # confirmation_url: "Url",
@@ -14181,7 +14598,11 @@ module Aws::IoT
14181
14598
  # }
14182
14599
  #
14183
14600
  # @!attribute [rw] principal
14184
- # The principal.
14601
+ # The principal. Valid principals are CertificateArn
14602
+ # (arn:aws:iot:*region*\:*accountId*\:cert/*certificateId*),
14603
+ # thingGroupArn
14604
+ # (arn:aws:iot:*region*\:*accountId*\:thinggroup/*groupName*) and
14605
+ # CognitoId (*region*\:*id*).
14185
14606
  # @return [String]
14186
14607
  #
14187
14608
  # @!attribute [rw] cognito_identity_pool_id
@@ -14736,6 +15157,136 @@ module Aws::IoT
14736
15157
  include Aws::Structure
14737
15158
  end
14738
15159
 
15160
+ # The Timestream rule action writes attributes (measures) from an MQTT
15161
+ # message into an Amazon Timestream table. For more information, see the
15162
+ # [Timestream][1] topic rule action documentation.
15163
+ #
15164
+ #
15165
+ #
15166
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/timestream-rule-action.html
15167
+ #
15168
+ # @note When making an API call, you may pass TimestreamAction
15169
+ # data as a hash:
15170
+ #
15171
+ # {
15172
+ # role_arn: "AwsArn", # required
15173
+ # database_name: "TimestreamDatabaseName", # required
15174
+ # table_name: "TimestreamTableName", # required
15175
+ # dimensions: [ # required
15176
+ # {
15177
+ # name: "TimestreamDimensionName", # required
15178
+ # value: "TimestreamDimensionValue", # required
15179
+ # },
15180
+ # ],
15181
+ # timestamp: {
15182
+ # value: "TimestreamTimestampValue", # required
15183
+ # unit: "TimestreamTimestampUnit", # required
15184
+ # },
15185
+ # }
15186
+ #
15187
+ # @!attribute [rw] role_arn
15188
+ # The ARN of the role that grants permission to write to the Amazon
15189
+ # Timestream database table.
15190
+ # @return [String]
15191
+ #
15192
+ # @!attribute [rw] database_name
15193
+ # The name of an Amazon Timestream database.
15194
+ # @return [String]
15195
+ #
15196
+ # @!attribute [rw] table_name
15197
+ # The name of the database table into which to write the measure
15198
+ # records.
15199
+ # @return [String]
15200
+ #
15201
+ # @!attribute [rw] dimensions
15202
+ # Metadata attributes of the time series that are written in each
15203
+ # measure record.
15204
+ # @return [Array<Types::TimestreamDimension>]
15205
+ #
15206
+ # @!attribute [rw] timestamp
15207
+ # Specifies an application-defined value to replace the default value
15208
+ # assigned to the Timestream record's timestamp in the `time` column.
15209
+ #
15210
+ # You can use this property to specify the value and the precision of
15211
+ # the Timestream record's timestamp. You can specify a value from the
15212
+ # message payload or a value computed by a substitution template.
15213
+ #
15214
+ # If omitted, the topic rule action assigns the timestamp, in
15215
+ # milliseconds, at the time it processed the rule.
15216
+ # @return [Types::TimestreamTimestamp]
15217
+ #
15218
+ class TimestreamAction < Struct.new(
15219
+ :role_arn,
15220
+ :database_name,
15221
+ :table_name,
15222
+ :dimensions,
15223
+ :timestamp)
15224
+ SENSITIVE = []
15225
+ include Aws::Structure
15226
+ end
15227
+
15228
+ # Metadata attributes of the time series that are written in each
15229
+ # measure record.
15230
+ #
15231
+ # @note When making an API call, you may pass TimestreamDimension
15232
+ # data as a hash:
15233
+ #
15234
+ # {
15235
+ # name: "TimestreamDimensionName", # required
15236
+ # value: "TimestreamDimensionValue", # required
15237
+ # }
15238
+ #
15239
+ # @!attribute [rw] name
15240
+ # The metadata dimension name. This is the name of the column in the
15241
+ # Amazon Timestream database table record.
15242
+ #
15243
+ # Dimensions cannot be named: `measure_name`, `measure_value`, or
15244
+ # `time`. These names are reserved. Dimension names cannot start with
15245
+ # `ts_` or `measure_value` and they cannot contain the colon (`:`)
15246
+ # character.
15247
+ # @return [String]
15248
+ #
15249
+ # @!attribute [rw] value
15250
+ # The value to write in this column of the database record.
15251
+ # @return [String]
15252
+ #
15253
+ class TimestreamDimension < Struct.new(
15254
+ :name,
15255
+ :value)
15256
+ SENSITIVE = []
15257
+ include Aws::Structure
15258
+ end
15259
+
15260
+ # Describes how to interpret an application-defined timestamp value from
15261
+ # an MQTT message payload and the precision of that value.
15262
+ #
15263
+ # @note When making an API call, you may pass TimestreamTimestamp
15264
+ # data as a hash:
15265
+ #
15266
+ # {
15267
+ # value: "TimestreamTimestampValue", # required
15268
+ # unit: "TimestreamTimestampUnit", # required
15269
+ # }
15270
+ #
15271
+ # @!attribute [rw] value
15272
+ # An expression that returns a long epoch time value.
15273
+ # @return [String]
15274
+ #
15275
+ # @!attribute [rw] unit
15276
+ # The precision of the timestamp value that results from the
15277
+ # expression described in `value`.
15278
+ #
15279
+ # Valid values: `SECONDS` \| `MILLISECONDS` \| `MICROSECONDS` \|
15280
+ # `NANOSECONDS`. The default is `MILLISECONDS`.
15281
+ # @return [String]
15282
+ #
15283
+ class TimestreamTimestamp < Struct.new(
15284
+ :value,
15285
+ :unit)
15286
+ SENSITIVE = []
15287
+ include Aws::Structure
15288
+ end
15289
+
14739
15290
  # Specifies the TLS context to use for the test authorizer request.
14740
15291
  #
14741
15292
  # @note When making an API call, you may pass TlsContext
@@ -15101,6 +15652,21 @@ module Aws::IoT
15101
15652
  # state_machine_name: "StateMachineName", # required
15102
15653
  # role_arn: "AwsArn", # required
15103
15654
  # },
15655
+ # timestream: {
15656
+ # role_arn: "AwsArn", # required
15657
+ # database_name: "TimestreamDatabaseName", # required
15658
+ # table_name: "TimestreamTableName", # required
15659
+ # dimensions: [ # required
15660
+ # {
15661
+ # name: "TimestreamDimensionName", # required
15662
+ # value: "TimestreamDimensionValue", # required
15663
+ # },
15664
+ # ],
15665
+ # timestamp: {
15666
+ # value: "TimestreamTimestampValue", # required
15667
+ # unit: "TimestreamTimestampUnit", # required
15668
+ # },
15669
+ # },
15104
15670
  # http: {
15105
15671
  # url: "Url", # required
15106
15672
  # confirmation_url: "Url",
@@ -15245,6 +15811,21 @@ module Aws::IoT
15245
15811
  # state_machine_name: "StateMachineName", # required
15246
15812
  # role_arn: "AwsArn", # required
15247
15813
  # },
15814
+ # timestream: {
15815
+ # role_arn: "AwsArn", # required
15816
+ # database_name: "TimestreamDatabaseName", # required
15817
+ # table_name: "TimestreamTableName", # required
15818
+ # dimensions: [ # required
15819
+ # {
15820
+ # name: "TimestreamDimensionName", # required
15821
+ # value: "TimestreamDimensionValue", # required
15822
+ # },
15823
+ # ],
15824
+ # timestamp: {
15825
+ # value: "TimestreamTimestampValue", # required
15826
+ # unit: "TimestreamTimestampUnit", # required
15827
+ # },
15828
+ # },
15248
15829
  # http: {
15249
15830
  # url: "Url", # required
15250
15831
  # confirmation_url: "Url",
@@ -15500,6 +16081,66 @@ module Aws::IoT
15500
16081
 
15501
16082
  class UpdateAccountAuditConfigurationResponse < Aws::EmptyStructure; end
15502
16083
 
16084
+ # @note When making an API call, you may pass UpdateAuditSuppressionRequest
16085
+ # data as a hash:
16086
+ #
16087
+ # {
16088
+ # check_name: "AuditCheckName", # required
16089
+ # resource_identifier: { # required
16090
+ # device_certificate_id: "CertificateId",
16091
+ # ca_certificate_id: "CertificateId",
16092
+ # cognito_identity_pool_id: "CognitoIdentityPoolId",
16093
+ # client_id: "ClientId",
16094
+ # policy_version_identifier: {
16095
+ # policy_name: "PolicyName",
16096
+ # policy_version_id: "PolicyVersionId",
16097
+ # },
16098
+ # account: "AwsAccountId",
16099
+ # iam_role_arn: "RoleArn",
16100
+ # role_alias_arn: "RoleAliasArn",
16101
+ # },
16102
+ # expiration_date: Time.now,
16103
+ # suppress_indefinitely: false,
16104
+ # description: "AuditDescription",
16105
+ # }
16106
+ #
16107
+ # @!attribute [rw] check_name
16108
+ # An audit check name. Checks must be enabled for your account. (Use
16109
+ # `DescribeAccountAuditConfiguration` to see the list of all checks,
16110
+ # including those that are enabled or use
16111
+ # `UpdateAccountAuditConfiguration` to select which checks are
16112
+ # enabled.)
16113
+ # @return [String]
16114
+ #
16115
+ # @!attribute [rw] resource_identifier
16116
+ # Information that identifies the noncompliant resource.
16117
+ # @return [Types::ResourceIdentifier]
16118
+ #
16119
+ # @!attribute [rw] expiration_date
16120
+ # The expiration date (epoch timestamp in seconds) that you want the
16121
+ # suppression to adhere to.
16122
+ # @return [Time]
16123
+ #
16124
+ # @!attribute [rw] suppress_indefinitely
16125
+ # Indicates whether a suppression should exist indefinitely or not.
16126
+ # @return [Boolean]
16127
+ #
16128
+ # @!attribute [rw] description
16129
+ # The description of the audit suppression.
16130
+ # @return [String]
16131
+ #
16132
+ class UpdateAuditSuppressionRequest < Struct.new(
16133
+ :check_name,
16134
+ :resource_identifier,
16135
+ :expiration_date,
16136
+ :suppress_indefinitely,
16137
+ :description)
16138
+ SENSITIVE = []
16139
+ include Aws::Structure
16140
+ end
16141
+
16142
+ class UpdateAuditSuppressionResponse < Aws::EmptyStructure; end
16143
+
15503
16144
  # @note When making an API call, you may pass UpdateAuthorizerRequest
15504
16145
  # data as a hash:
15505
16146
  #