aws-sdk-iot 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -92,11 +92,11 @@ module Aws::IoT
92
92
  # },
93
93
  # cloudwatch_metric: {
94
94
  # role_arn: "AwsArn", # required
95
- # metric_namespace: "MetricNamespace", # required
96
- # metric_name: "MetricName", # required
97
- # metric_value: "MetricValue", # required
98
- # metric_unit: "MetricUnit", # required
99
- # metric_timestamp: "MetricTimestamp",
95
+ # metric_namespace: "String", # required
96
+ # metric_name: "String", # required
97
+ # metric_value: "String", # required
98
+ # metric_unit: "String", # required
99
+ # metric_timestamp: "String",
100
100
  # },
101
101
  # cloudwatch_alarm: {
102
102
  # role_arn: "AwsArn", # required
@@ -120,6 +120,11 @@ module Aws::IoT
120
120
  # channel_name: "ChannelName",
121
121
  # role_arn: "AwsArn",
122
122
  # },
123
+ # step_functions: {
124
+ # execution_name_prefix: "ExecutionNamePrefix",
125
+ # state_machine_name: "StateMachineName", # required
126
+ # role_arn: "AwsArn", # required
127
+ # },
123
128
  # }
124
129
  #
125
130
  # @!attribute [rw] dynamo_db
@@ -180,6 +185,10 @@ module Aws::IoT
180
185
  # Sends message data to an AWS IoT Analytics channel.
181
186
  # @return [Types::IotAnalyticsAction]
182
187
  #
188
+ # @!attribute [rw] step_functions
189
+ # Starts execution of a Step Functions state machine.
190
+ # @return [Types::StepFunctionsAction]
191
+ #
183
192
  class Action < Struct.new(
184
193
  :dynamo_db,
185
194
  :dynamo_d_bv_2,
@@ -194,7 +203,51 @@ module Aws::IoT
194
203
  :cloudwatch_alarm,
195
204
  :elasticsearch,
196
205
  :salesforce,
197
- :iot_analytics)
206
+ :iot_analytics,
207
+ :step_functions)
208
+ include Aws::Structure
209
+ end
210
+
211
+ # Information about an active Device Defender security profile behavior
212
+ # violation.
213
+ #
214
+ # @!attribute [rw] violation_id
215
+ # The ID of the active violation.
216
+ # @return [String]
217
+ #
218
+ # @!attribute [rw] thing_name
219
+ # The name of the thing responsible for the active violation.
220
+ # @return [String]
221
+ #
222
+ # @!attribute [rw] security_profile_name
223
+ # The security profile whose behavior is in violation.
224
+ # @return [String]
225
+ #
226
+ # @!attribute [rw] behavior
227
+ # The behavior which is being violated.
228
+ # @return [Types::Behavior]
229
+ #
230
+ # @!attribute [rw] last_violation_value
231
+ # The value of the metric (the measurement) which caused the most
232
+ # recent violation.
233
+ # @return [Types::MetricValue]
234
+ #
235
+ # @!attribute [rw] last_violation_time
236
+ # The time the most recent violation occurred.
237
+ # @return [Time]
238
+ #
239
+ # @!attribute [rw] violation_start_time
240
+ # The time the violation started.
241
+ # @return [Time]
242
+ #
243
+ class ActiveViolation < Struct.new(
244
+ :violation_id,
245
+ :thing_name,
246
+ :security_profile_name,
247
+ :behavior,
248
+ :last_violation_value,
249
+ :last_violation_time,
250
+ :violation_start_time)
198
251
  include Aws::Structure
199
252
  end
200
253
 
@@ -234,6 +287,31 @@ module Aws::IoT
234
287
 
235
288
  class AddThingToThingGroupResponse < Aws::EmptyStructure; end
236
289
 
290
+ # A structure containing the alert target ARN and the role ARN.
291
+ #
292
+ # @note When making an API call, you may pass AlertTarget
293
+ # data as a hash:
294
+ #
295
+ # {
296
+ # alert_target_arn: "AlertTargetArn", # required
297
+ # role_arn: "RoleArn", # required
298
+ # }
299
+ #
300
+ # @!attribute [rw] alert_target_arn
301
+ # The ARN of the notification target to which alerts are sent.
302
+ # @return [String]
303
+ #
304
+ # @!attribute [rw] role_arn
305
+ # The ARN of the role that grants permission to send alerts to the
306
+ # notification target.
307
+ # @return [String]
308
+ #
309
+ class AlertTarget < Struct.new(
310
+ :alert_target_arn,
311
+ :role_arn)
312
+ include Aws::Structure
313
+ end
314
+
237
315
  # Contains information that allowed the authorization.
238
316
  #
239
317
  # @!attribute [rw] policies
@@ -340,6 +418,31 @@ module Aws::IoT
340
418
  include Aws::Structure
341
419
  end
342
420
 
421
+ # @note When making an API call, you may pass AttachSecurityProfileRequest
422
+ # data as a hash:
423
+ #
424
+ # {
425
+ # security_profile_name: "SecurityProfileName", # required
426
+ # security_profile_target_arn: "SecurityProfileTargetArn", # required
427
+ # }
428
+ #
429
+ # @!attribute [rw] security_profile_name
430
+ # The security profile that is attached.
431
+ # @return [String]
432
+ #
433
+ # @!attribute [rw] security_profile_target_arn
434
+ # The ARN of the target (thing group) to which the security profile is
435
+ # attached.
436
+ # @return [String]
437
+ #
438
+ class AttachSecurityProfileRequest < Struct.new(
439
+ :security_profile_name,
440
+ :security_profile_target_arn)
441
+ include Aws::Structure
442
+ end
443
+
444
+ class AttachSecurityProfileResponse < Aws::EmptyStructure; end
445
+
343
446
  # The input for the AttachThingPrincipal operation.
344
447
  #
345
448
  # @note When making an API call, you may pass AttachThingPrincipalRequest
@@ -406,6 +509,174 @@ module Aws::IoT
406
509
  include Aws::Structure
407
510
  end
408
511
 
512
+ # Which audit checks are enabled and disabled for this account.
513
+ #
514
+ # @note When making an API call, you may pass AuditCheckConfiguration
515
+ # data as a hash:
516
+ #
517
+ # {
518
+ # enabled: false,
519
+ # }
520
+ #
521
+ # @!attribute [rw] enabled
522
+ # True if this audit check is enabled for this account.
523
+ # @return [Boolean]
524
+ #
525
+ class AuditCheckConfiguration < Struct.new(
526
+ :enabled)
527
+ include Aws::Structure
528
+ end
529
+
530
+ # Information about the audit check.
531
+ #
532
+ # @!attribute [rw] check_run_status
533
+ # The completion status of this check, one of "IN\_PROGRESS",
534
+ # "WAITING\_FOR\_DATA\_COLLECTION", "CANCELED",
535
+ # "COMPLETED\_COMPLIANT", "COMPLETED\_NON\_COMPLIANT", or
536
+ # "FAILED".
537
+ # @return [String]
538
+ #
539
+ # @!attribute [rw] check_compliant
540
+ # True if the check completed and found all resources compliant.
541
+ # @return [Boolean]
542
+ #
543
+ # @!attribute [rw] total_resources_count
544
+ # The number of resources on which the check was performed.
545
+ # @return [Integer]
546
+ #
547
+ # @!attribute [rw] non_compliant_resources_count
548
+ # The number of resources that the check found non-compliant.
549
+ # @return [Integer]
550
+ #
551
+ # @!attribute [rw] error_code
552
+ # The code of any error encountered when performing this check during
553
+ # this audit. One of "INSUFFICIENT\_PERMISSIONS", or
554
+ # "AUDIT\_CHECK\_DISABLED".
555
+ # @return [String]
556
+ #
557
+ # @!attribute [rw] message
558
+ # The message associated with any error encountered when performing
559
+ # this check during this audit.
560
+ # @return [String]
561
+ #
562
+ class AuditCheckDetails < Struct.new(
563
+ :check_run_status,
564
+ :check_compliant,
565
+ :total_resources_count,
566
+ :non_compliant_resources_count,
567
+ :error_code,
568
+ :message)
569
+ include Aws::Structure
570
+ end
571
+
572
+ # The findings (results) of the audit.
573
+ #
574
+ # @!attribute [rw] task_id
575
+ # The ID of the audit that generated this result (finding)
576
+ # @return [String]
577
+ #
578
+ # @!attribute [rw] check_name
579
+ # The audit check that generated this result.
580
+ # @return [String]
581
+ #
582
+ # @!attribute [rw] task_start_time
583
+ # The time the audit started.
584
+ # @return [Time]
585
+ #
586
+ # @!attribute [rw] finding_time
587
+ # The time the result (finding) was discovered.
588
+ # @return [Time]
589
+ #
590
+ # @!attribute [rw] severity
591
+ # The severity of the result (finding).
592
+ # @return [String]
593
+ #
594
+ # @!attribute [rw] non_compliant_resource
595
+ # The resource that was found to be non-compliant with the audit
596
+ # check.
597
+ # @return [Types::NonCompliantResource]
598
+ #
599
+ # @!attribute [rw] related_resources
600
+ # The list of related resources.
601
+ # @return [Array<Types::RelatedResource>]
602
+ #
603
+ # @!attribute [rw] reason_for_non_compliance
604
+ # The reason the resource was non-compliant.
605
+ # @return [String]
606
+ #
607
+ # @!attribute [rw] reason_for_non_compliance_code
608
+ # A code which indicates the reason that the resource was
609
+ # non-compliant.
610
+ # @return [String]
611
+ #
612
+ class AuditFinding < Struct.new(
613
+ :task_id,
614
+ :check_name,
615
+ :task_start_time,
616
+ :finding_time,
617
+ :severity,
618
+ :non_compliant_resource,
619
+ :related_resources,
620
+ :reason_for_non_compliance,
621
+ :reason_for_non_compliance_code)
622
+ include Aws::Structure
623
+ end
624
+
625
+ # Information about the targets to which audit notifications are sent.
626
+ #
627
+ # @note When making an API call, you may pass AuditNotificationTarget
628
+ # data as a hash:
629
+ #
630
+ # {
631
+ # target_arn: "TargetArn",
632
+ # role_arn: "RoleArn",
633
+ # enabled: false,
634
+ # }
635
+ #
636
+ # @!attribute [rw] target_arn
637
+ # The ARN of the target (SNS topic) to which audit notifications are
638
+ # sent.
639
+ # @return [String]
640
+ #
641
+ # @!attribute [rw] role_arn
642
+ # The ARN of the role that grants permission to send notifications to
643
+ # the target.
644
+ # @return [String]
645
+ #
646
+ # @!attribute [rw] enabled
647
+ # True if notifications to the target are enabled.
648
+ # @return [Boolean]
649
+ #
650
+ class AuditNotificationTarget < Struct.new(
651
+ :target_arn,
652
+ :role_arn,
653
+ :enabled)
654
+ include Aws::Structure
655
+ end
656
+
657
+ # The audits that were performed.
658
+ #
659
+ # @!attribute [rw] task_id
660
+ # The ID of this audit.
661
+ # @return [String]
662
+ #
663
+ # @!attribute [rw] task_status
664
+ # The status of this audit: one of "IN\_PROGRESS", "COMPLETED",
665
+ # "FAILED" or "CANCELED".
666
+ # @return [String]
667
+ #
668
+ # @!attribute [rw] task_type
669
+ # The type of this audit: one of "ON\_DEMAND\_AUDIT\_TASK" or
670
+ # "SCHEDULED\_AUDIT\_TASK".
671
+ # @return [String]
672
+ #
673
+ class AuditTaskMetadata < Struct.new(
674
+ :task_id,
675
+ :task_status,
676
+ :task_type)
677
+ include Aws::Structure
678
+ end
679
+
409
680
  # A collection of authorization information.
410
681
  #
411
682
  # @note When making an API call, you may pass AuthInfo
@@ -528,6 +799,82 @@ module Aws::IoT
528
799
  include Aws::Structure
529
800
  end
530
801
 
802
+ # A Device Defender security profile behavior.
803
+ #
804
+ # @note When making an API call, you may pass Behavior
805
+ # data as a hash:
806
+ #
807
+ # {
808
+ # name: "BehaviorName", # required
809
+ # metric: "BehaviorMetric",
810
+ # criteria: {
811
+ # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
812
+ # value: {
813
+ # count: 1,
814
+ # cidrs: ["Cidr"],
815
+ # ports: [1],
816
+ # },
817
+ # duration_seconds: 1,
818
+ # },
819
+ # }
820
+ #
821
+ # @!attribute [rw] name
822
+ # The name you have given to the behavior.
823
+ # @return [String]
824
+ #
825
+ # @!attribute [rw] metric
826
+ # What is measured by the behavior.
827
+ # @return [String]
828
+ #
829
+ # @!attribute [rw] criteria
830
+ # The criteria that determine if a device is behaving normally in
831
+ # regard to the `metric`.
832
+ # @return [Types::BehaviorCriteria]
833
+ #
834
+ class Behavior < Struct.new(
835
+ :name,
836
+ :metric,
837
+ :criteria)
838
+ include Aws::Structure
839
+ end
840
+
841
+ # The criteria by which the behavior is determined to be normal.
842
+ #
843
+ # @note When making an API call, you may pass BehaviorCriteria
844
+ # data as a hash:
845
+ #
846
+ # {
847
+ # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
848
+ # value: {
849
+ # count: 1,
850
+ # cidrs: ["Cidr"],
851
+ # ports: [1],
852
+ # },
853
+ # duration_seconds: 1,
854
+ # }
855
+ #
856
+ # @!attribute [rw] comparison_operator
857
+ # The operator that relates the thing measured (`metric`) to the
858
+ # criteria (`value`).
859
+ # @return [String]
860
+ #
861
+ # @!attribute [rw] value
862
+ # The value to be compared with the `metric`.
863
+ # @return [Types::MetricValue]
864
+ #
865
+ # @!attribute [rw] duration_seconds
866
+ # Use this to specify the period of time over which the behavior is
867
+ # evaluated, for those criteria which have a time dimension (for
868
+ # example, `NUM_MESSAGES_SENT`).
869
+ # @return [Integer]
870
+ #
871
+ class BehaviorCriteria < Struct.new(
872
+ :comparison_operator,
873
+ :value,
874
+ :duration_seconds)
875
+ include Aws::Structure
876
+ end
877
+
531
878
  # A CA certificate.
532
879
  #
533
880
  # @!attribute [rw] certificate_arn
@@ -600,6 +947,10 @@ module Aws::IoT
600
947
  # The generation ID of the CA certificate.
601
948
  # @return [String]
602
949
  #
950
+ # @!attribute [rw] validity
951
+ # When the CA certificate is valid.
952
+ # @return [Types::CertificateValidity]
953
+ #
603
954
  class CACertificateDescription < Struct.new(
604
955
  :certificate_arn,
605
956
  :certificate_id,
@@ -610,10 +961,30 @@ module Aws::IoT
610
961
  :auto_registration_status,
611
962
  :last_modified_date,
612
963
  :customer_version,
613
- :generation_id)
964
+ :generation_id,
965
+ :validity)
966
+ include Aws::Structure
967
+ end
968
+
969
+ # @note When making an API call, you may pass CancelAuditTaskRequest
970
+ # data as a hash:
971
+ #
972
+ # {
973
+ # task_id: "AuditTaskId", # required
974
+ # }
975
+ #
976
+ # @!attribute [rw] task_id
977
+ # The ID of the audit you want to cancel. You can only cancel an audit
978
+ # that is "IN\_PROGRESS".
979
+ # @return [String]
980
+ #
981
+ class CancelAuditTaskRequest < Struct.new(
982
+ :task_id)
614
983
  include Aws::Structure
615
984
  end
616
985
 
986
+ class CancelAuditTaskResponse < Aws::EmptyStructure; end
987
+
617
988
  # The input for the CancelCertificateTransfer operation.
618
989
  #
619
990
  # @note When making an API call, you may pass CancelCertificateTransferRequest
@@ -828,6 +1199,10 @@ module Aws::IoT
828
1199
  # The generation ID of the certificate.
829
1200
  # @return [String]
830
1201
  #
1202
+ # @!attribute [rw] validity
1203
+ # When the certificate is valid.
1204
+ # @return [Types::CertificateValidity]
1205
+ #
831
1206
  class CertificateDescription < Struct.new(
832
1207
  :certificate_arn,
833
1208
  :certificate_id,
@@ -840,7 +1215,24 @@ module Aws::IoT
840
1215
  :last_modified_date,
841
1216
  :customer_version,
842
1217
  :transfer_data,
843
- :generation_id)
1218
+ :generation_id,
1219
+ :validity)
1220
+ include Aws::Structure
1221
+ end
1222
+
1223
+ # When the certificate is valid.
1224
+ #
1225
+ # @!attribute [rw] not_before
1226
+ # The certificate is not valid before this date.
1227
+ # @return [Time]
1228
+ #
1229
+ # @!attribute [rw] not_after
1230
+ # The certificate is not valid after this date.
1231
+ # @return [Time]
1232
+ #
1233
+ class CertificateValidity < Struct.new(
1234
+ :not_before,
1235
+ :not_after)
844
1236
  include Aws::Structure
845
1237
  end
846
1238
 
@@ -894,11 +1286,11 @@ module Aws::IoT
894
1286
  #
895
1287
  # {
896
1288
  # role_arn: "AwsArn", # required
897
- # metric_namespace: "MetricNamespace", # required
898
- # metric_name: "MetricName", # required
899
- # metric_value: "MetricValue", # required
900
- # metric_unit: "MetricUnit", # required
901
- # metric_timestamp: "MetricTimestamp",
1289
+ # metric_namespace: "String", # required
1290
+ # metric_name: "String", # required
1291
+ # metric_value: "String", # required
1292
+ # metric_unit: "String", # required
1293
+ # metric_timestamp: "String",
902
1294
  # }
903
1295
  #
904
1296
  # @!attribute [rw] role_arn
@@ -1000,7 +1392,7 @@ module Aws::IoT
1000
1392
  # }
1001
1393
  #
1002
1394
  # @!attribute [rw] stream
1003
- # Describes a group of files that can be streamed.
1395
+ # A stream of the certificate chain files.
1004
1396
  # @return [Types::Stream]
1005
1397
  #
1006
1398
  # @!attribute [rw] certificate_name
@@ -1033,7 +1425,7 @@ module Aws::IoT
1033
1425
  # }
1034
1426
  #
1035
1427
  # @!attribute [rw] stream
1036
- # Describes a group of files that can be streamed.
1428
+ # A stream of the code signing signature.
1037
1429
  # @return [Types::Stream]
1038
1430
  #
1039
1431
  # @!attribute [rw] inline_document
@@ -1583,6 +1975,139 @@ module Aws::IoT
1583
1975
  include Aws::Structure
1584
1976
  end
1585
1977
 
1978
+ # @note When making an API call, you may pass CreateScheduledAuditRequest
1979
+ # data as a hash:
1980
+ #
1981
+ # {
1982
+ # frequency: "DAILY", # required, accepts DAILY, WEEKLY, BIWEEKLY, MONTHLY
1983
+ # day_of_month: "DayOfMonth",
1984
+ # day_of_week: "SUN", # accepts SUN, MON, TUE, WED, THU, FRI, SAT
1985
+ # target_check_names: ["AuditCheckName"], # required
1986
+ # scheduled_audit_name: "ScheduledAuditName", # required
1987
+ # }
1988
+ #
1989
+ # @!attribute [rw] frequency
1990
+ # How often the scheduled audit takes place. Can be one of "DAILY",
1991
+ # "WEEKLY", "BIWEEKLY" or "MONTHLY". The actual start time of
1992
+ # each audit is determined by the system.
1993
+ # @return [String]
1994
+ #
1995
+ # @!attribute [rw] day_of_month
1996
+ # The day of the month on which the scheduled audit takes place. Can
1997
+ # be "1" through "31" or "LAST". This field is required if the
1998
+ # "frequency" parameter is set to "MONTHLY". If days 29-31 are
1999
+ # specified, and the month does not have that many days, the audit
2000
+ # takes place on the "LAST" day of the month.
2001
+ # @return [String]
2002
+ #
2003
+ # @!attribute [rw] day_of_week
2004
+ # The day of the week on which the scheduled audit takes place. Can be
2005
+ # one of "SUN", "MON", "TUE", "WED", "THU", "FRI" or
2006
+ # "SAT". This field is required if the "frequency" parameter is
2007
+ # set to "WEEKLY" or "BIWEEKLY".
2008
+ # @return [String]
2009
+ #
2010
+ # @!attribute [rw] target_check_names
2011
+ # Which checks are performed during the scheduled audit. Checks must
2012
+ # be enabled for your account. (Use
2013
+ # `DescribeAccountAuditConfiguration` to see the list of all checks
2014
+ # including those that are enabled or
2015
+ # `UpdateAccountAuditConfiguration` to select which checks are
2016
+ # enabled.)
2017
+ # @return [Array<String>]
2018
+ #
2019
+ # @!attribute [rw] scheduled_audit_name
2020
+ # The name you want to give to the scheduled audit. (Max. 128 chars)
2021
+ # @return [String]
2022
+ #
2023
+ class CreateScheduledAuditRequest < Struct.new(
2024
+ :frequency,
2025
+ :day_of_month,
2026
+ :day_of_week,
2027
+ :target_check_names,
2028
+ :scheduled_audit_name)
2029
+ include Aws::Structure
2030
+ end
2031
+
2032
+ # @!attribute [rw] scheduled_audit_arn
2033
+ # The ARN of the scheduled audit.
2034
+ # @return [String]
2035
+ #
2036
+ class CreateScheduledAuditResponse < Struct.new(
2037
+ :scheduled_audit_arn)
2038
+ include Aws::Structure
2039
+ end
2040
+
2041
+ # @note When making an API call, you may pass CreateSecurityProfileRequest
2042
+ # data as a hash:
2043
+ #
2044
+ # {
2045
+ # security_profile_name: "SecurityProfileName", # required
2046
+ # security_profile_description: "SecurityProfileDescription",
2047
+ # behaviors: [ # required
2048
+ # {
2049
+ # name: "BehaviorName", # required
2050
+ # metric: "BehaviorMetric",
2051
+ # criteria: {
2052
+ # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
2053
+ # value: {
2054
+ # count: 1,
2055
+ # cidrs: ["Cidr"],
2056
+ # ports: [1],
2057
+ # },
2058
+ # duration_seconds: 1,
2059
+ # },
2060
+ # },
2061
+ # ],
2062
+ # alert_targets: {
2063
+ # "SNS" => {
2064
+ # alert_target_arn: "AlertTargetArn", # required
2065
+ # role_arn: "RoleArn", # required
2066
+ # },
2067
+ # },
2068
+ # }
2069
+ #
2070
+ # @!attribute [rw] security_profile_name
2071
+ # The name you are giving to the security profile.
2072
+ # @return [String]
2073
+ #
2074
+ # @!attribute [rw] security_profile_description
2075
+ # A description of the security profile.
2076
+ # @return [String]
2077
+ #
2078
+ # @!attribute [rw] behaviors
2079
+ # Specifies the behaviors that, when violated by a device (thing),
2080
+ # cause an alert.
2081
+ # @return [Array<Types::Behavior>]
2082
+ #
2083
+ # @!attribute [rw] alert_targets
2084
+ # Specifies the destinations to which alerts are sent. (Alerts are
2085
+ # always sent to the console.) Alerts are generated when a device
2086
+ # (thing) violates a behavior.
2087
+ # @return [Hash<String,Types::AlertTarget>]
2088
+ #
2089
+ class CreateSecurityProfileRequest < Struct.new(
2090
+ :security_profile_name,
2091
+ :security_profile_description,
2092
+ :behaviors,
2093
+ :alert_targets)
2094
+ include Aws::Structure
2095
+ end
2096
+
2097
+ # @!attribute [rw] security_profile_name
2098
+ # The name you gave to the security profile.
2099
+ # @return [String]
2100
+ #
2101
+ # @!attribute [rw] security_profile_arn
2102
+ # The ARN of the security profile.
2103
+ # @return [String]
2104
+ #
2105
+ class CreateSecurityProfileResponse < Struct.new(
2106
+ :security_profile_name,
2107
+ :security_profile_arn)
2108
+ include Aws::Structure
2109
+ end
2110
+
1586
2111
  # @note When making an API call, you may pass CreateStreamRequest
1587
2112
  # data as a hash:
1588
2113
  #
@@ -1880,11 +2405,11 @@ module Aws::IoT
1880
2405
  # },
1881
2406
  # cloudwatch_metric: {
1882
2407
  # role_arn: "AwsArn", # required
1883
- # metric_namespace: "MetricNamespace", # required
1884
- # metric_name: "MetricName", # required
1885
- # metric_value: "MetricValue", # required
1886
- # metric_unit: "MetricUnit", # required
1887
- # metric_timestamp: "MetricTimestamp",
2408
+ # metric_namespace: "String", # required
2409
+ # metric_name: "String", # required
2410
+ # metric_value: "String", # required
2411
+ # metric_unit: "String", # required
2412
+ # metric_timestamp: "String",
1888
2413
  # },
1889
2414
  # cloudwatch_alarm: {
1890
2415
  # role_arn: "AwsArn", # required
@@ -1908,6 +2433,11 @@ module Aws::IoT
1908
2433
  # channel_name: "ChannelName",
1909
2434
  # role_arn: "AwsArn",
1910
2435
  # },
2436
+ # step_functions: {
2437
+ # execution_name_prefix: "ExecutionNamePrefix",
2438
+ # state_machine_name: "StateMachineName", # required
2439
+ # role_arn: "AwsArn", # required
2440
+ # },
1911
2441
  # },
1912
2442
  # ],
1913
2443
  # rule_disabled: false,
@@ -1966,11 +2496,11 @@ module Aws::IoT
1966
2496
  # },
1967
2497
  # cloudwatch_metric: {
1968
2498
  # role_arn: "AwsArn", # required
1969
- # metric_namespace: "MetricNamespace", # required
1970
- # metric_name: "MetricName", # required
1971
- # metric_value: "MetricValue", # required
1972
- # metric_unit: "MetricUnit", # required
1973
- # metric_timestamp: "MetricTimestamp",
2499
+ # metric_namespace: "String", # required
2500
+ # metric_name: "String", # required
2501
+ # metric_value: "String", # required
2502
+ # metric_unit: "String", # required
2503
+ # metric_timestamp: "String",
1974
2504
  # },
1975
2505
  # cloudwatch_alarm: {
1976
2506
  # role_arn: "AwsArn", # required
@@ -1994,6 +2524,11 @@ module Aws::IoT
1994
2524
  # channel_name: "ChannelName",
1995
2525
  # role_arn: "AwsArn",
1996
2526
  # },
2527
+ # step_functions: {
2528
+ # execution_name_prefix: "ExecutionNamePrefix",
2529
+ # state_machine_name: "StateMachineName", # required
2530
+ # role_arn: "AwsArn", # required
2531
+ # },
1997
2532
  # },
1998
2533
  # },
1999
2534
  # }
@@ -2061,16 +2596,34 @@ module Aws::IoT
2061
2596
  include Aws::Structure
2062
2597
  end
2063
2598
 
2064
- # @note When making an API call, you may pass DeleteAuthorizerRequest
2599
+ # @note When making an API call, you may pass DeleteAccountAuditConfigurationRequest
2065
2600
  # data as a hash:
2066
2601
  #
2067
2602
  # {
2068
- # authorizer_name: "AuthorizerName", # required
2603
+ # delete_scheduled_audits: false,
2069
2604
  # }
2070
2605
  #
2071
- # @!attribute [rw] authorizer_name
2072
- # The name of the authorizer to delete.
2073
- # @return [String]
2606
+ # @!attribute [rw] delete_scheduled_audits
2607
+ # If true, all scheduled audits are deleted.
2608
+ # @return [Boolean]
2609
+ #
2610
+ class DeleteAccountAuditConfigurationRequest < Struct.new(
2611
+ :delete_scheduled_audits)
2612
+ include Aws::Structure
2613
+ end
2614
+
2615
+ class DeleteAccountAuditConfigurationResponse < Aws::EmptyStructure; end
2616
+
2617
+ # @note When making an API call, you may pass DeleteAuthorizerRequest
2618
+ # data as a hash:
2619
+ #
2620
+ # {
2621
+ # authorizer_name: "AuthorizerName", # required
2622
+ # }
2623
+ #
2624
+ # @!attribute [rw] authorizer_name
2625
+ # The name of the authorizer to delete.
2626
+ # @return [String]
2074
2627
  #
2075
2628
  class DeleteAuthorizerRequest < Struct.new(
2076
2629
  :authorizer_name)
@@ -2303,6 +2856,51 @@ module Aws::IoT
2303
2856
 
2304
2857
  class DeleteRoleAliasResponse < Aws::EmptyStructure; end
2305
2858
 
2859
+ # @note When making an API call, you may pass DeleteScheduledAuditRequest
2860
+ # data as a hash:
2861
+ #
2862
+ # {
2863
+ # scheduled_audit_name: "ScheduledAuditName", # required
2864
+ # }
2865
+ #
2866
+ # @!attribute [rw] scheduled_audit_name
2867
+ # The name of the scheduled audit you want to delete.
2868
+ # @return [String]
2869
+ #
2870
+ class DeleteScheduledAuditRequest < Struct.new(
2871
+ :scheduled_audit_name)
2872
+ include Aws::Structure
2873
+ end
2874
+
2875
+ class DeleteScheduledAuditResponse < Aws::EmptyStructure; end
2876
+
2877
+ # @note When making an API call, you may pass DeleteSecurityProfileRequest
2878
+ # data as a hash:
2879
+ #
2880
+ # {
2881
+ # security_profile_name: "SecurityProfileName", # required
2882
+ # expected_version: 1,
2883
+ # }
2884
+ #
2885
+ # @!attribute [rw] security_profile_name
2886
+ # The name of the security profile to be deleted.
2887
+ # @return [String]
2888
+ #
2889
+ # @!attribute [rw] expected_version
2890
+ # The expected version of the security profile. A new version is
2891
+ # generated whenever the security profile is updated. If you specify a
2892
+ # value that is different than the actual version, a
2893
+ # `VersionConflictException` is thrown.
2894
+ # @return [Integer]
2895
+ #
2896
+ class DeleteSecurityProfileRequest < Struct.new(
2897
+ :security_profile_name,
2898
+ :expected_version)
2899
+ include Aws::Structure
2900
+ end
2901
+
2902
+ class DeleteSecurityProfileResponse < Aws::EmptyStructure; end
2903
+
2306
2904
  # @note When making an API call, you may pass DeleteStreamRequest
2307
2905
  # data as a hash:
2308
2906
  #
@@ -2487,6 +3085,88 @@ module Aws::IoT
2487
3085
  #
2488
3086
  class DeprecateThingTypeResponse < Aws::EmptyStructure; end
2489
3087
 
3088
+ # @api private
3089
+ #
3090
+ class DescribeAccountAuditConfigurationRequest < Aws::EmptyStructure; end
3091
+
3092
+ # @!attribute [rw] role_arn
3093
+ # The ARN of the role that grants permission to AWS IoT to access
3094
+ # information about your devices, policies, certificates and other
3095
+ # items as necessary when performing an audit.
3096
+ #
3097
+ # On the first call to `UpdateAccountAuditConfiguration` this
3098
+ # parameter is required.
3099
+ # @return [String]
3100
+ #
3101
+ # @!attribute [rw] audit_notification_target_configurations
3102
+ # Information about the targets to which audit notifications are sent
3103
+ # for this account.
3104
+ # @return [Hash<String,Types::AuditNotificationTarget>]
3105
+ #
3106
+ # @!attribute [rw] audit_check_configurations
3107
+ # Which audit checks are enabled and disabled for this account.
3108
+ # @return [Hash<String,Types::AuditCheckConfiguration>]
3109
+ #
3110
+ class DescribeAccountAuditConfigurationResponse < Struct.new(
3111
+ :role_arn,
3112
+ :audit_notification_target_configurations,
3113
+ :audit_check_configurations)
3114
+ include Aws::Structure
3115
+ end
3116
+
3117
+ # @note When making an API call, you may pass DescribeAuditTaskRequest
3118
+ # data as a hash:
3119
+ #
3120
+ # {
3121
+ # task_id: "AuditTaskId", # required
3122
+ # }
3123
+ #
3124
+ # @!attribute [rw] task_id
3125
+ # The ID of the audit whose information you want to get.
3126
+ # @return [String]
3127
+ #
3128
+ class DescribeAuditTaskRequest < Struct.new(
3129
+ :task_id)
3130
+ include Aws::Structure
3131
+ end
3132
+
3133
+ # @!attribute [rw] task_status
3134
+ # The status of the audit: one of "IN\_PROGRESS", "COMPLETED",
3135
+ # "FAILED", or "CANCELED".
3136
+ # @return [String]
3137
+ #
3138
+ # @!attribute [rw] task_type
3139
+ # The type of audit: "ON\_DEMAND\_AUDIT\_TASK" or
3140
+ # "SCHEDULED\_AUDIT\_TASK".
3141
+ # @return [String]
3142
+ #
3143
+ # @!attribute [rw] task_start_time
3144
+ # The time the audit started.
3145
+ # @return [Time]
3146
+ #
3147
+ # @!attribute [rw] task_statistics
3148
+ # Statistical information about the audit.
3149
+ # @return [Types::TaskStatistics]
3150
+ #
3151
+ # @!attribute [rw] scheduled_audit_name
3152
+ # The name of the scheduled audit (only if the audit was a scheduled
3153
+ # audit).
3154
+ # @return [String]
3155
+ #
3156
+ # @!attribute [rw] audit_details
3157
+ # Detailed information about each check performed during this audit.
3158
+ # @return [Hash<String,Types::AuditCheckDetails>]
3159
+ #
3160
+ class DescribeAuditTaskResponse < Struct.new(
3161
+ :task_status,
3162
+ :task_type,
3163
+ :task_start_time,
3164
+ :task_statistics,
3165
+ :scheduled_audit_name,
3166
+ :audit_details)
3167
+ include Aws::Structure
3168
+ end
3169
+
2490
3170
  # @note When making an API call, you may pass DescribeAuthorizerRequest
2491
3171
  # data as a hash:
2492
3172
  #
@@ -2776,6 +3456,130 @@ module Aws::IoT
2776
3456
  include Aws::Structure
2777
3457
  end
2778
3458
 
3459
+ # @note When making an API call, you may pass DescribeScheduledAuditRequest
3460
+ # data as a hash:
3461
+ #
3462
+ # {
3463
+ # scheduled_audit_name: "ScheduledAuditName", # required
3464
+ # }
3465
+ #
3466
+ # @!attribute [rw] scheduled_audit_name
3467
+ # The name of the scheduled audit whose information you want to get.
3468
+ # @return [String]
3469
+ #
3470
+ class DescribeScheduledAuditRequest < Struct.new(
3471
+ :scheduled_audit_name)
3472
+ include Aws::Structure
3473
+ end
3474
+
3475
+ # @!attribute [rw] frequency
3476
+ # How often the scheduled audit takes place. One of "DAILY",
3477
+ # "WEEKLY", "BIWEEKLY" or "MONTHLY". The actual start time of
3478
+ # each audit is determined by the system.
3479
+ # @return [String]
3480
+ #
3481
+ # @!attribute [rw] day_of_month
3482
+ # The day of the month on which the scheduled audit takes place. Will
3483
+ # be "1" through "31" or "LAST". If days 29-31 are specified,
3484
+ # and the month does not have that many days, the audit takes place on
3485
+ # the "LAST" day of the month.
3486
+ # @return [String]
3487
+ #
3488
+ # @!attribute [rw] day_of_week
3489
+ # The day of the week on which the scheduled audit takes place. One of
3490
+ # "SUN", "MON", "TUE", "WED", "THU", "FRI" or "SAT".
3491
+ # @return [String]
3492
+ #
3493
+ # @!attribute [rw] target_check_names
3494
+ # Which checks are performed during the scheduled audit. (Note that
3495
+ # checks must be enabled for your account. (Use
3496
+ # `DescribeAccountAuditConfiguration` to see the list of all checks
3497
+ # including those that are enabled or
3498
+ # `UpdateAccountAuditConfiguration` to select which checks are
3499
+ # enabled.)
3500
+ # @return [Array<String>]
3501
+ #
3502
+ # @!attribute [rw] scheduled_audit_name
3503
+ # The name of the scheduled audit.
3504
+ # @return [String]
3505
+ #
3506
+ # @!attribute [rw] scheduled_audit_arn
3507
+ # The ARN of the scheduled audit.
3508
+ # @return [String]
3509
+ #
3510
+ class DescribeScheduledAuditResponse < Struct.new(
3511
+ :frequency,
3512
+ :day_of_month,
3513
+ :day_of_week,
3514
+ :target_check_names,
3515
+ :scheduled_audit_name,
3516
+ :scheduled_audit_arn)
3517
+ include Aws::Structure
3518
+ end
3519
+
3520
+ # @note When making an API call, you may pass DescribeSecurityProfileRequest
3521
+ # data as a hash:
3522
+ #
3523
+ # {
3524
+ # security_profile_name: "SecurityProfileName", # required
3525
+ # }
3526
+ #
3527
+ # @!attribute [rw] security_profile_name
3528
+ # The name of the security profile whose information you want to get.
3529
+ # @return [String]
3530
+ #
3531
+ class DescribeSecurityProfileRequest < Struct.new(
3532
+ :security_profile_name)
3533
+ include Aws::Structure
3534
+ end
3535
+
3536
+ # @!attribute [rw] security_profile_name
3537
+ # The name of the security profile.
3538
+ # @return [String]
3539
+ #
3540
+ # @!attribute [rw] security_profile_arn
3541
+ # The ARN of the security profile.
3542
+ # @return [String]
3543
+ #
3544
+ # @!attribute [rw] security_profile_description
3545
+ # A description of the security profile (associated with the security
3546
+ # profile when it was created or updated).
3547
+ # @return [String]
3548
+ #
3549
+ # @!attribute [rw] behaviors
3550
+ # Specifies the behaviors that, when violated by a device (thing),
3551
+ # cause an alert.
3552
+ # @return [Array<Types::Behavior>]
3553
+ #
3554
+ # @!attribute [rw] alert_targets
3555
+ # Where the alerts are sent. (Alerts are always sent to the console.)
3556
+ # @return [Hash<String,Types::AlertTarget>]
3557
+ #
3558
+ # @!attribute [rw] version
3559
+ # The version of the security profile. A new version is generated
3560
+ # whenever the security profile is updated.
3561
+ # @return [Integer]
3562
+ #
3563
+ # @!attribute [rw] creation_date
3564
+ # The time the security profile was created.
3565
+ # @return [Time]
3566
+ #
3567
+ # @!attribute [rw] last_modified_date
3568
+ # The time the security profile was last modified.
3569
+ # @return [Time]
3570
+ #
3571
+ class DescribeSecurityProfileResponse < Struct.new(
3572
+ :security_profile_name,
3573
+ :security_profile_arn,
3574
+ :security_profile_description,
3575
+ :behaviors,
3576
+ :alert_targets,
3577
+ :version,
3578
+ :creation_date,
3579
+ :last_modified_date)
3580
+ include Aws::Structure
3581
+ end
3582
+
2779
3583
  # @note When making an API call, you may pass DescribeStreamRequest
2780
3584
  # data as a hash:
2781
3585
  #
@@ -3101,6 +3905,31 @@ module Aws::IoT
3101
3905
  include Aws::Structure
3102
3906
  end
3103
3907
 
3908
+ # @note When making an API call, you may pass DetachSecurityProfileRequest
3909
+ # data as a hash:
3910
+ #
3911
+ # {
3912
+ # security_profile_name: "SecurityProfileName", # required
3913
+ # security_profile_target_arn: "SecurityProfileTargetArn", # required
3914
+ # }
3915
+ #
3916
+ # @!attribute [rw] security_profile_name
3917
+ # The security profile that is detached.
3918
+ # @return [String]
3919
+ #
3920
+ # @!attribute [rw] security_profile_target_arn
3921
+ # The ARN of the thing group from which the security profile is
3922
+ # detached.
3923
+ # @return [String]
3924
+ #
3925
+ class DetachSecurityProfileRequest < Struct.new(
3926
+ :security_profile_name,
3927
+ :security_profile_target_arn)
3928
+ include Aws::Structure
3929
+ end
3930
+
3931
+ class DetachSecurityProfileResponse < Aws::EmptyStructure; end
3932
+
3104
3933
  # The input for the DetachThingPrincipal operation.
3105
3934
  #
3106
3935
  # @note When making an API call, you may pass DetachThingPrincipalRequest
@@ -4230,6 +5059,56 @@ module Aws::IoT
4230
5059
  include Aws::Structure
4231
5060
  end
4232
5061
 
5062
+ # @note When making an API call, you may pass ListActiveViolationsRequest
5063
+ # data as a hash:
5064
+ #
5065
+ # {
5066
+ # thing_name: "ThingName",
5067
+ # security_profile_name: "SecurityProfileName",
5068
+ # next_token: "NextToken",
5069
+ # max_results: 1,
5070
+ # }
5071
+ #
5072
+ # @!attribute [rw] thing_name
5073
+ # The name of the thing whose active violations are listed.
5074
+ # @return [String]
5075
+ #
5076
+ # @!attribute [rw] security_profile_name
5077
+ # The name of the Device Defender security profile for which
5078
+ # violations are listed.
5079
+ # @return [String]
5080
+ #
5081
+ # @!attribute [rw] next_token
5082
+ # The token for the next set of results.
5083
+ # @return [String]
5084
+ #
5085
+ # @!attribute [rw] max_results
5086
+ # The maximum number of results to return at one time.
5087
+ # @return [Integer]
5088
+ #
5089
+ class ListActiveViolationsRequest < Struct.new(
5090
+ :thing_name,
5091
+ :security_profile_name,
5092
+ :next_token,
5093
+ :max_results)
5094
+ include Aws::Structure
5095
+ end
5096
+
5097
+ # @!attribute [rw] active_violations
5098
+ # The list of active violations.
5099
+ # @return [Array<Types::ActiveViolation>]
5100
+ #
5101
+ # @!attribute [rw] next_token
5102
+ # A token that can be used to retrieve the next set of results, or
5103
+ # `null` if there are no additional results.
5104
+ # @return [String]
5105
+ #
5106
+ class ListActiveViolationsResponse < Struct.new(
5107
+ :active_violations,
5108
+ :next_token)
5109
+ include Aws::Structure
5110
+ end
5111
+
4233
5112
  # @note When making an API call, you may pass ListAttachedPoliciesRequest
4234
5113
  # data as a hash:
4235
5114
  #
@@ -4279,80 +5158,232 @@ module Aws::IoT
4279
5158
  include Aws::Structure
4280
5159
  end
4281
5160
 
4282
- # @note When making an API call, you may pass ListAuthorizersRequest
5161
+ # @note When making an API call, you may pass ListAuditFindingsRequest
4283
5162
  # data as a hash:
4284
5163
  #
4285
5164
  # {
4286
- # page_size: 1,
4287
- # marker: "Marker",
4288
- # ascending_order: false,
4289
- # status: "ACTIVE", # accepts ACTIVE, INACTIVE
5165
+ # task_id: "AuditTaskId",
5166
+ # check_name: "AuditCheckName",
5167
+ # resource_identifier: {
5168
+ # device_certificate_id: "CertificateId",
5169
+ # ca_certificate_id: "CertificateId",
5170
+ # cognito_identity_pool_id: "CognitoIdentityPoolId",
5171
+ # client_id: "ClientId",
5172
+ # policy_version_identifier: {
5173
+ # policy_name: "PolicyName",
5174
+ # policy_version_id: "PolicyVersionId",
5175
+ # },
5176
+ # account: "AwsAccountId",
5177
+ # },
5178
+ # max_results: 1,
5179
+ # next_token: "NextToken",
5180
+ # start_time: Time.now,
5181
+ # end_time: Time.now,
4290
5182
  # }
4291
5183
  #
4292
- # @!attribute [rw] page_size
4293
- # The maximum number of results to return at one time.
4294
- # @return [Integer]
5184
+ # @!attribute [rw] task_id
5185
+ # A filter to limit results to the audit with the specified ID. You
5186
+ # must specify either the taskId or the startTime and endTime, but not
5187
+ # both.
5188
+ # @return [String]
4295
5189
  #
4296
- # @!attribute [rw] marker
4297
- # A marker used to get the next set of results.
5190
+ # @!attribute [rw] check_name
5191
+ # A filter to limit results to the findings for the specified audit
5192
+ # check.
4298
5193
  # @return [String]
4299
5194
  #
4300
- # @!attribute [rw] ascending_order
4301
- # Return the list of authorizers in ascending alphabetical order.
4302
- # @return [Boolean]
5195
+ # @!attribute [rw] resource_identifier
5196
+ # Information identifying the non-compliant resource.
5197
+ # @return [Types::ResourceIdentifier]
4303
5198
  #
4304
- # @!attribute [rw] status
4305
- # The status of the list authorizers request.
5199
+ # @!attribute [rw] max_results
5200
+ # The maximum number of results to return at one time. The default is
5201
+ # 25.
5202
+ # @return [Integer]
5203
+ #
5204
+ # @!attribute [rw] next_token
5205
+ # The token for the next set of results.
4306
5206
  # @return [String]
4307
5207
  #
4308
- class ListAuthorizersRequest < Struct.new(
4309
- :page_size,
4310
- :marker,
4311
- :ascending_order,
4312
- :status)
5208
+ # @!attribute [rw] start_time
5209
+ # A filter to limit results to those found after the specified time.
5210
+ # You must specify either the startTime and endTime or the taskId, but
5211
+ # not both.
5212
+ # @return [Time]
5213
+ #
5214
+ # @!attribute [rw] end_time
5215
+ # A filter to limit results to those found before the specified time.
5216
+ # You must specify either the startTime and endTime or the taskId, but
5217
+ # not both.
5218
+ # @return [Time]
5219
+ #
5220
+ class ListAuditFindingsRequest < Struct.new(
5221
+ :task_id,
5222
+ :check_name,
5223
+ :resource_identifier,
5224
+ :max_results,
5225
+ :next_token,
5226
+ :start_time,
5227
+ :end_time)
4313
5228
  include Aws::Structure
4314
5229
  end
4315
5230
 
4316
- # @!attribute [rw] authorizers
4317
- # The authorizers.
4318
- # @return [Array<Types::AuthorizerSummary>]
5231
+ # @!attribute [rw] findings
5232
+ # The findings (results) of the audit.
5233
+ # @return [Array<Types::AuditFinding>]
4319
5234
  #
4320
- # @!attribute [rw] next_marker
4321
- # A marker used to get the next set of results.
5235
+ # @!attribute [rw] next_token
5236
+ # A token that can be used to retrieve the next set of results, or
5237
+ # `null` if there are no additional results.
4322
5238
  # @return [String]
4323
5239
  #
4324
- class ListAuthorizersResponse < Struct.new(
4325
- :authorizers,
4326
- :next_marker)
5240
+ class ListAuditFindingsResponse < Struct.new(
5241
+ :findings,
5242
+ :next_token)
4327
5243
  include Aws::Structure
4328
5244
  end
4329
5245
 
4330
- # Input for the ListCACertificates operation.
4331
- #
4332
- # @note When making an API call, you may pass ListCACertificatesRequest
5246
+ # @note When making an API call, you may pass ListAuditTasksRequest
4333
5247
  # data as a hash:
4334
5248
  #
4335
5249
  # {
4336
- # page_size: 1,
4337
- # marker: "Marker",
4338
- # ascending_order: false,
5250
+ # start_time: Time.now, # required
5251
+ # end_time: Time.now, # required
5252
+ # task_type: "ON_DEMAND_AUDIT_TASK", # accepts ON_DEMAND_AUDIT_TASK, SCHEDULED_AUDIT_TASK
5253
+ # task_status: "IN_PROGRESS", # accepts IN_PROGRESS, COMPLETED, FAILED, CANCELED
5254
+ # next_token: "NextToken",
5255
+ # max_results: 1,
4339
5256
  # }
4340
5257
  #
4341
- # @!attribute [rw] page_size
4342
- # The result page size.
4343
- # @return [Integer]
5258
+ # @!attribute [rw] start_time
5259
+ # The beginning of the time period. Note that audit information is
5260
+ # retained for a limited time (180 days). Requesting a start time
5261
+ # prior to what is retained results in an "InvalidRequestException".
5262
+ # @return [Time]
4344
5263
  #
4345
- # @!attribute [rw] marker
4346
- # The marker for the next set of results.
5264
+ # @!attribute [rw] end_time
5265
+ # The end of the time period.
5266
+ # @return [Time]
5267
+ #
5268
+ # @!attribute [rw] task_type
5269
+ # A filter to limit the output to the specified type of audit: can be
5270
+ # one of "ON\_DEMAND\_AUDIT\_TASK" or "SCHEDULED\_\_AUDIT\_TASK".
4347
5271
  # @return [String]
4348
5272
  #
4349
- # @!attribute [rw] ascending_order
4350
- # Determines the order of the results.
4351
- # @return [Boolean]
5273
+ # @!attribute [rw] task_status
5274
+ # A filter to limit the output to audits with the specified completion
5275
+ # status: can be one of "IN\_PROGRESS", "COMPLETED", "FAILED" or
5276
+ # "CANCELED".
5277
+ # @return [String]
4352
5278
  #
4353
- class ListCACertificatesRequest < Struct.new(
4354
- :page_size,
4355
- :marker,
5279
+ # @!attribute [rw] next_token
5280
+ # The token for the next set of results.
5281
+ # @return [String]
5282
+ #
5283
+ # @!attribute [rw] max_results
5284
+ # The maximum number of results to return at one time. The default is
5285
+ # 25.
5286
+ # @return [Integer]
5287
+ #
5288
+ class ListAuditTasksRequest < Struct.new(
5289
+ :start_time,
5290
+ :end_time,
5291
+ :task_type,
5292
+ :task_status,
5293
+ :next_token,
5294
+ :max_results)
5295
+ include Aws::Structure
5296
+ end
5297
+
5298
+ # @!attribute [rw] tasks
5299
+ # The audits that were performed during the specified time period.
5300
+ # @return [Array<Types::AuditTaskMetadata>]
5301
+ #
5302
+ # @!attribute [rw] next_token
5303
+ # A token that can be used to retrieve the next set of results, or
5304
+ # `null` if there are no additional results.
5305
+ # @return [String]
5306
+ #
5307
+ class ListAuditTasksResponse < Struct.new(
5308
+ :tasks,
5309
+ :next_token)
5310
+ include Aws::Structure
5311
+ end
5312
+
5313
+ # @note When making an API call, you may pass ListAuthorizersRequest
5314
+ # data as a hash:
5315
+ #
5316
+ # {
5317
+ # page_size: 1,
5318
+ # marker: "Marker",
5319
+ # ascending_order: false,
5320
+ # status: "ACTIVE", # accepts ACTIVE, INACTIVE
5321
+ # }
5322
+ #
5323
+ # @!attribute [rw] page_size
5324
+ # The maximum number of results to return at one time.
5325
+ # @return [Integer]
5326
+ #
5327
+ # @!attribute [rw] marker
5328
+ # A marker used to get the next set of results.
5329
+ # @return [String]
5330
+ #
5331
+ # @!attribute [rw] ascending_order
5332
+ # Return the list of authorizers in ascending alphabetical order.
5333
+ # @return [Boolean]
5334
+ #
5335
+ # @!attribute [rw] status
5336
+ # The status of the list authorizers request.
5337
+ # @return [String]
5338
+ #
5339
+ class ListAuthorizersRequest < Struct.new(
5340
+ :page_size,
5341
+ :marker,
5342
+ :ascending_order,
5343
+ :status)
5344
+ include Aws::Structure
5345
+ end
5346
+
5347
+ # @!attribute [rw] authorizers
5348
+ # The authorizers.
5349
+ # @return [Array<Types::AuthorizerSummary>]
5350
+ #
5351
+ # @!attribute [rw] next_marker
5352
+ # A marker used to get the next set of results.
5353
+ # @return [String]
5354
+ #
5355
+ class ListAuthorizersResponse < Struct.new(
5356
+ :authorizers,
5357
+ :next_marker)
5358
+ include Aws::Structure
5359
+ end
5360
+
5361
+ # Input for the ListCACertificates operation.
5362
+ #
5363
+ # @note When making an API call, you may pass ListCACertificatesRequest
5364
+ # data as a hash:
5365
+ #
5366
+ # {
5367
+ # page_size: 1,
5368
+ # marker: "Marker",
5369
+ # ascending_order: false,
5370
+ # }
5371
+ #
5372
+ # @!attribute [rw] page_size
5373
+ # The result page size.
5374
+ # @return [Integer]
5375
+ #
5376
+ # @!attribute [rw] marker
5377
+ # The marker for the next set of results.
5378
+ # @return [String]
5379
+ #
5380
+ # @!attribute [rw] ascending_order
5381
+ # Determines the order of the results.
5382
+ # @return [Boolean]
5383
+ #
5384
+ class ListCACertificatesRequest < Struct.new(
5385
+ :page_size,
5386
+ :marker,
4356
5387
  :ascending_order)
4357
5388
  include Aws::Structure
4358
5389
  end
@@ -4969,8 +6000,7 @@ module Aws::IoT
4969
6000
  # }
4970
6001
  #
4971
6002
  # @!attribute [rw] next_token
4972
- # The token used to get the next set of results, or **null** if there
4973
- # are no additional results.
6003
+ # The token to retrieve the next set of results.
4974
6004
  # @return [String]
4975
6005
  #
4976
6006
  # @!attribute [rw] max_results
@@ -5047,6 +6077,131 @@ module Aws::IoT
5047
6077
  include Aws::Structure
5048
6078
  end
5049
6079
 
6080
+ # @note When making an API call, you may pass ListScheduledAuditsRequest
6081
+ # data as a hash:
6082
+ #
6083
+ # {
6084
+ # next_token: "NextToken",
6085
+ # max_results: 1,
6086
+ # }
6087
+ #
6088
+ # @!attribute [rw] next_token
6089
+ # The token for the next set of results.
6090
+ # @return [String]
6091
+ #
6092
+ # @!attribute [rw] max_results
6093
+ # The maximum number of results to return at one time. The default is
6094
+ # 25.
6095
+ # @return [Integer]
6096
+ #
6097
+ class ListScheduledAuditsRequest < Struct.new(
6098
+ :next_token,
6099
+ :max_results)
6100
+ include Aws::Structure
6101
+ end
6102
+
6103
+ # @!attribute [rw] scheduled_audits
6104
+ # The list of scheduled audits.
6105
+ # @return [Array<Types::ScheduledAuditMetadata>]
6106
+ #
6107
+ # @!attribute [rw] next_token
6108
+ # A token that can be used to retrieve the next set of results, or
6109
+ # `null` if there are no additional results.
6110
+ # @return [String]
6111
+ #
6112
+ class ListScheduledAuditsResponse < Struct.new(
6113
+ :scheduled_audits,
6114
+ :next_token)
6115
+ include Aws::Structure
6116
+ end
6117
+
6118
+ # @note When making an API call, you may pass ListSecurityProfilesForTargetRequest
6119
+ # data as a hash:
6120
+ #
6121
+ # {
6122
+ # next_token: "NextToken",
6123
+ # max_results: 1,
6124
+ # recursive: false,
6125
+ # security_profile_target_arn: "SecurityProfileTargetArn", # required
6126
+ # }
6127
+ #
6128
+ # @!attribute [rw] next_token
6129
+ # The token for the next set of results.
6130
+ # @return [String]
6131
+ #
6132
+ # @!attribute [rw] max_results
6133
+ # The maximum number of results to return at one time.
6134
+ # @return [Integer]
6135
+ #
6136
+ # @!attribute [rw] recursive
6137
+ # If true, return child groups as well.
6138
+ # @return [Boolean]
6139
+ #
6140
+ # @!attribute [rw] security_profile_target_arn
6141
+ # The ARN of the target (thing group) whose attached security profiles
6142
+ # you want to get.
6143
+ # @return [String]
6144
+ #
6145
+ class ListSecurityProfilesForTargetRequest < Struct.new(
6146
+ :next_token,
6147
+ :max_results,
6148
+ :recursive,
6149
+ :security_profile_target_arn)
6150
+ include Aws::Structure
6151
+ end
6152
+
6153
+ # @!attribute [rw] security_profile_target_mappings
6154
+ # A list of security profiles and their associated targets.
6155
+ # @return [Array<Types::SecurityProfileTargetMapping>]
6156
+ #
6157
+ # @!attribute [rw] next_token
6158
+ # A token that can be used to retrieve the next set of results, or
6159
+ # `null` if there are no additional results.
6160
+ # @return [String]
6161
+ #
6162
+ class ListSecurityProfilesForTargetResponse < Struct.new(
6163
+ :security_profile_target_mappings,
6164
+ :next_token)
6165
+ include Aws::Structure
6166
+ end
6167
+
6168
+ # @note When making an API call, you may pass ListSecurityProfilesRequest
6169
+ # data as a hash:
6170
+ #
6171
+ # {
6172
+ # next_token: "NextToken",
6173
+ # max_results: 1,
6174
+ # }
6175
+ #
6176
+ # @!attribute [rw] next_token
6177
+ # The token for the next set of results.
6178
+ # @return [String]
6179
+ #
6180
+ # @!attribute [rw] max_results
6181
+ # The maximum number of results to return at one time.
6182
+ # @return [Integer]
6183
+ #
6184
+ class ListSecurityProfilesRequest < Struct.new(
6185
+ :next_token,
6186
+ :max_results)
6187
+ include Aws::Structure
6188
+ end
6189
+
6190
+ # @!attribute [rw] security_profile_identifiers
6191
+ # A list of security profile identifiers (names and ARNs).
6192
+ # @return [Array<Types::SecurityProfileIdentifier>]
6193
+ #
6194
+ # @!attribute [rw] next_token
6195
+ # A token that can be used to retrieve the next set of results, or
6196
+ # `null` if there are no additional results.
6197
+ # @return [String]
6198
+ #
6199
+ class ListSecurityProfilesResponse < Struct.new(
6200
+ :security_profile_identifiers,
6201
+ :next_token)
6202
+ include Aws::Structure
6203
+ end
6204
+
5050
6205
  # @note When making an API call, you may pass ListStreamsRequest
5051
6206
  # data as a hash:
5052
6207
  #
@@ -5131,6 +6286,49 @@ module Aws::IoT
5131
6286
  include Aws::Structure
5132
6287
  end
5133
6288
 
6289
+ # @note When making an API call, you may pass ListTargetsForSecurityProfileRequest
6290
+ # data as a hash:
6291
+ #
6292
+ # {
6293
+ # security_profile_name: "SecurityProfileName", # required
6294
+ # next_token: "NextToken",
6295
+ # max_results: 1,
6296
+ # }
6297
+ #
6298
+ # @!attribute [rw] security_profile_name
6299
+ # The security profile.
6300
+ # @return [String]
6301
+ #
6302
+ # @!attribute [rw] next_token
6303
+ # The token for the next set of results.
6304
+ # @return [String]
6305
+ #
6306
+ # @!attribute [rw] max_results
6307
+ # The maximum number of results to return at one time.
6308
+ # @return [Integer]
6309
+ #
6310
+ class ListTargetsForSecurityProfileRequest < Struct.new(
6311
+ :security_profile_name,
6312
+ :next_token,
6313
+ :max_results)
6314
+ include Aws::Structure
6315
+ end
6316
+
6317
+ # @!attribute [rw] security_profile_targets
6318
+ # The thing groups to which the security profile is attached.
6319
+ # @return [Array<Types::SecurityProfileTarget>]
6320
+ #
6321
+ # @!attribute [rw] next_token
6322
+ # A token that can be used to retrieve the next set of results, or
6323
+ # `null` if there are no additional results.
6324
+ # @return [String]
6325
+ #
6326
+ class ListTargetsForSecurityProfileResponse < Struct.new(
6327
+ :security_profile_targets,
6328
+ :next_token)
6329
+ include Aws::Structure
6330
+ end
6331
+
5134
6332
  # @note When making an API call, you may pass ListThingGroupsForThingRequest
5135
6333
  # data as a hash:
5136
6334
  #
@@ -5145,8 +6343,7 @@ module Aws::IoT
5145
6343
  # @return [String]
5146
6344
  #
5147
6345
  # @!attribute [rw] next_token
5148
- # The token used to get the next set of results, or **null** if there
5149
- # are no additional results.
6346
+ # The token to retrieve the next set of results.
5150
6347
  # @return [String]
5151
6348
  #
5152
6349
  # @!attribute [rw] max_results
@@ -5187,8 +6384,7 @@ module Aws::IoT
5187
6384
  # }
5188
6385
  #
5189
6386
  # @!attribute [rw] next_token
5190
- # The token used to get the next set of results, or **null** if there
5191
- # are no additional results.
6387
+ # The token to retrieve the next set of results.
5192
6388
  # @return [String]
5193
6389
  #
5194
6390
  # @!attribute [rw] max_results
@@ -5305,7 +6501,8 @@ module Aws::IoT
5305
6501
  # @return [String]
5306
6502
  #
5307
6503
  # @!attribute [rw] next_token
5308
- # The token to retrieve the next set of results.
6504
+ # The token used to get the next set of results, or **null** if there
6505
+ # are no additional results.
5309
6506
  # @return [String]
5310
6507
  #
5311
6508
  class ListThingRegistrationTaskReportsResponse < Struct.new(
@@ -5325,8 +6522,7 @@ module Aws::IoT
5325
6522
  # }
5326
6523
  #
5327
6524
  # @!attribute [rw] next_token
5328
- # The token used to get the next set of results, or **null** if there
5329
- # are no additional results.
6525
+ # The token to retrieve the next set of results.
5330
6526
  # @return [String]
5331
6527
  #
5332
6528
  # @!attribute [rw] max_results
@@ -5371,8 +6567,7 @@ module Aws::IoT
5371
6567
  # }
5372
6568
  #
5373
6569
  # @!attribute [rw] next_token
5374
- # The token for the next set of results, or **null** if there are no
5375
- # additional results.
6570
+ # The token to retrieve the next set of results.
5376
6571
  # @return [String]
5377
6572
  #
5378
6573
  # @!attribute [rw] max_results
@@ -5427,8 +6622,7 @@ module Aws::IoT
5427
6622
  # @return [Boolean]
5428
6623
  #
5429
6624
  # @!attribute [rw] next_token
5430
- # The token used to get the next set of results, or **null** if there
5431
- # are no additional results.
6625
+ # The token to retrieve the next set of results.
5432
6626
  # @return [String]
5433
6627
  #
5434
6628
  # @!attribute [rw] max_results
@@ -5472,8 +6666,7 @@ module Aws::IoT
5472
6666
  # }
5473
6667
  #
5474
6668
  # @!attribute [rw] next_token
5475
- # The token used to get the next set of results, or **null** if there
5476
- # are no additional results.
6669
+ # The token to retrieve the next set of results.
5477
6670
  # @return [String]
5478
6671
  #
5479
6672
  # @!attribute [rw] max_results
@@ -5615,6 +6808,71 @@ module Aws::IoT
5615
6808
  include Aws::Structure
5616
6809
  end
5617
6810
 
6811
+ # @note When making an API call, you may pass ListViolationEventsRequest
6812
+ # data as a hash:
6813
+ #
6814
+ # {
6815
+ # start_time: Time.now, # required
6816
+ # end_time: Time.now, # required
6817
+ # thing_name: "ThingName",
6818
+ # security_profile_name: "SecurityProfileName",
6819
+ # next_token: "NextToken",
6820
+ # max_results: 1,
6821
+ # }
6822
+ #
6823
+ # @!attribute [rw] start_time
6824
+ # The start time for the alerts to be listed.
6825
+ # @return [Time]
6826
+ #
6827
+ # @!attribute [rw] end_time
6828
+ # The end time for the alerts to be listed.
6829
+ # @return [Time]
6830
+ #
6831
+ # @!attribute [rw] thing_name
6832
+ # A filter to limit results to those alerts caused by the specified
6833
+ # thing.
6834
+ # @return [String]
6835
+ #
6836
+ # @!attribute [rw] security_profile_name
6837
+ # A filter to limit results to those alerts generated by the specified
6838
+ # security profile.
6839
+ # @return [String]
6840
+ #
6841
+ # @!attribute [rw] next_token
6842
+ # The token for the next set of results.
6843
+ # @return [String]
6844
+ #
6845
+ # @!attribute [rw] max_results
6846
+ # The maximum number of results to return at one time.
6847
+ # @return [Integer]
6848
+ #
6849
+ class ListViolationEventsRequest < Struct.new(
6850
+ :start_time,
6851
+ :end_time,
6852
+ :thing_name,
6853
+ :security_profile_name,
6854
+ :next_token,
6855
+ :max_results)
6856
+ include Aws::Structure
6857
+ end
6858
+
6859
+ # @!attribute [rw] violation_events
6860
+ # The security profile violation alerts issued for this account during
6861
+ # the given time frame, potentially filtered by security profile,
6862
+ # behavior violated, or thing (device) violating.
6863
+ # @return [Array<Types::ViolationEvent>]
6864
+ #
6865
+ # @!attribute [rw] next_token
6866
+ # A token that can be used to retrieve the next set of results, or
6867
+ # `null` if there are no additional results.
6868
+ # @return [String]
6869
+ #
6870
+ class ListViolationEventsResponse < Struct.new(
6871
+ :violation_events,
6872
+ :next_token)
6873
+ include Aws::Structure
6874
+ end
6875
+
5618
6876
  # A log target.
5619
6877
  #
5620
6878
  # @note When making an API call, you may pass LogTarget
@@ -5679,6 +6937,61 @@ module Aws::IoT
5679
6937
  include Aws::Structure
5680
6938
  end
5681
6939
 
6940
+ # The value to be compared with the `metric`.
6941
+ #
6942
+ # @note When making an API call, you may pass MetricValue
6943
+ # data as a hash:
6944
+ #
6945
+ # {
6946
+ # count: 1,
6947
+ # cidrs: ["Cidr"],
6948
+ # ports: [1],
6949
+ # }
6950
+ #
6951
+ # @!attribute [rw] count
6952
+ # If the `comparisonOperator` calls for a numeric value, use this to
6953
+ # specify that numeric value to be compared with the `metric`.
6954
+ # @return [Integer]
6955
+ #
6956
+ # @!attribute [rw] cidrs
6957
+ # If the `comparisonOperator` calls for a set of CIDRs, use this to
6958
+ # specify that set to be compared with the `metric`.
6959
+ # @return [Array<String>]
6960
+ #
6961
+ # @!attribute [rw] ports
6962
+ # If the `comparisonOperator` calls for a set of ports, use this to
6963
+ # specify that set to be compared with the `metric`.
6964
+ # @return [Array<Integer>]
6965
+ #
6966
+ class MetricValue < Struct.new(
6967
+ :count,
6968
+ :cidrs,
6969
+ :ports)
6970
+ include Aws::Structure
6971
+ end
6972
+
6973
+ # Information about the resource that was non-compliant with the audit
6974
+ # check.
6975
+ #
6976
+ # @!attribute [rw] resource_type
6977
+ # The type of the non-compliant resource.
6978
+ # @return [String]
6979
+ #
6980
+ # @!attribute [rw] resource_identifier
6981
+ # Information identifying the non-compliant resource.
6982
+ # @return [Types::ResourceIdentifier]
6983
+ #
6984
+ # @!attribute [rw] additional_info
6985
+ # Additional information about the non-compliant resource.
6986
+ # @return [Hash<String,String>]
6987
+ #
6988
+ class NonCompliantResource < Struct.new(
6989
+ :resource_type,
6990
+ :resource_identifier,
6991
+ :additional_info)
6992
+ include Aws::Structure
6993
+ end
6994
+
5682
6995
  # Describes a file to be associated with an OTA update.
5683
6996
  #
5684
6997
  # @note When making an API call, you may pass OTAUpdateFile
@@ -5918,6 +7231,31 @@ module Aws::IoT
5918
7231
  include Aws::Structure
5919
7232
  end
5920
7233
 
7234
+ # Information about the version of the policy associated with the
7235
+ # resource.
7236
+ #
7237
+ # @note When making an API call, you may pass PolicyVersionIdentifier
7238
+ # data as a hash:
7239
+ #
7240
+ # {
7241
+ # policy_name: "PolicyName",
7242
+ # policy_version_id: "PolicyVersionId",
7243
+ # }
7244
+ #
7245
+ # @!attribute [rw] policy_name
7246
+ # The name of the policy.
7247
+ # @return [String]
7248
+ #
7249
+ # @!attribute [rw] policy_version_id
7250
+ # The ID of the version of the policy associated with the resource.
7251
+ # @return [String]
7252
+ #
7253
+ class PolicyVersionIdentifier < Struct.new(
7254
+ :policy_name,
7255
+ :policy_version_id)
7256
+ include Aws::Structure
7257
+ end
7258
+
5921
7259
  # Configuration for pre-signed S3 URLs.
5922
7260
  #
5923
7261
  # @note When making an API call, you may pass PresignedUrlConfig
@@ -6117,7 +7455,7 @@ module Aws::IoT
6117
7455
  end
6118
7456
 
6119
7457
  # @!attribute [rw] certificate_pem
6120
- # The PEM of a certificate.
7458
+ # .
6121
7459
  # @return [String]
6122
7460
  #
6123
7461
  # @!attribute [rw] resource_arns
@@ -6179,6 +7517,27 @@ module Aws::IoT
6179
7517
  include Aws::Structure
6180
7518
  end
6181
7519
 
7520
+ # Information about a related resource.
7521
+ #
7522
+ # @!attribute [rw] resource_type
7523
+ # The type of resource.
7524
+ # @return [String]
7525
+ #
7526
+ # @!attribute [rw] resource_identifier
7527
+ # Information identifying the resource.
7528
+ # @return [Types::ResourceIdentifier]
7529
+ #
7530
+ # @!attribute [rw] additional_info
7531
+ # Additional information about the resource.
7532
+ # @return [Hash<String,String>]
7533
+ #
7534
+ class RelatedResource < Struct.new(
7535
+ :resource_type,
7536
+ :resource_identifier,
7537
+ :additional_info)
7538
+ include Aws::Structure
7539
+ end
7540
+
6182
7541
  # @note When making an API call, you may pass RemoveThingFromThingGroupRequest
6183
7542
  # data as a hash:
6184
7543
  #
@@ -6280,11 +7639,11 @@ module Aws::IoT
6280
7639
  # },
6281
7640
  # cloudwatch_metric: {
6282
7641
  # role_arn: "AwsArn", # required
6283
- # metric_namespace: "MetricNamespace", # required
6284
- # metric_name: "MetricName", # required
6285
- # metric_value: "MetricValue", # required
6286
- # metric_unit: "MetricUnit", # required
6287
- # metric_timestamp: "MetricTimestamp",
7642
+ # metric_namespace: "String", # required
7643
+ # metric_name: "String", # required
7644
+ # metric_value: "String", # required
7645
+ # metric_unit: "String", # required
7646
+ # metric_timestamp: "String",
6288
7647
  # },
6289
7648
  # cloudwatch_alarm: {
6290
7649
  # role_arn: "AwsArn", # required
@@ -6308,6 +7667,11 @@ module Aws::IoT
6308
7667
  # channel_name: "ChannelName",
6309
7668
  # role_arn: "AwsArn",
6310
7669
  # },
7670
+ # step_functions: {
7671
+ # execution_name_prefix: "ExecutionNamePrefix",
7672
+ # state_machine_name: "StateMachineName", # required
7673
+ # role_arn: "AwsArn", # required
7674
+ # },
6311
7675
  # },
6312
7676
  # ],
6313
7677
  # rule_disabled: false,
@@ -6366,11 +7730,11 @@ module Aws::IoT
6366
7730
  # },
6367
7731
  # cloudwatch_metric: {
6368
7732
  # role_arn: "AwsArn", # required
6369
- # metric_namespace: "MetricNamespace", # required
6370
- # metric_name: "MetricName", # required
6371
- # metric_value: "MetricValue", # required
6372
- # metric_unit: "MetricUnit", # required
6373
- # metric_timestamp: "MetricTimestamp",
7733
+ # metric_namespace: "String", # required
7734
+ # metric_name: "String", # required
7735
+ # metric_value: "String", # required
7736
+ # metric_unit: "String", # required
7737
+ # metric_timestamp: "String",
6374
7738
  # },
6375
7739
  # cloudwatch_alarm: {
6376
7740
  # role_arn: "AwsArn", # required
@@ -6394,6 +7758,11 @@ module Aws::IoT
6394
7758
  # channel_name: "ChannelName",
6395
7759
  # role_arn: "AwsArn",
6396
7760
  # },
7761
+ # step_functions: {
7762
+ # execution_name_prefix: "ExecutionNamePrefix",
7763
+ # state_machine_name: "StateMachineName", # required
7764
+ # role_arn: "AwsArn", # required
7765
+ # },
6397
7766
  # },
6398
7767
  # },
6399
7768
  # }
@@ -6422,17 +7791,68 @@ module Aws::IoT
6422
7791
  # topic: "TopicPattern", # required
6423
7792
  # }
6424
7793
  #
6425
- # @!attribute [rw] role_arn
6426
- # The ARN of the IAM role that grants access.
7794
+ # @!attribute [rw] role_arn
7795
+ # The ARN of the IAM role that grants access.
7796
+ # @return [String]
7797
+ #
7798
+ # @!attribute [rw] topic
7799
+ # The name of the MQTT topic.
7800
+ # @return [String]
7801
+ #
7802
+ class RepublishAction < Struct.new(
7803
+ :role_arn,
7804
+ :topic)
7805
+ include Aws::Structure
7806
+ end
7807
+
7808
+ # Information identifying the non-compliant resource.
7809
+ #
7810
+ # @note When making an API call, you may pass ResourceIdentifier
7811
+ # data as a hash:
7812
+ #
7813
+ # {
7814
+ # device_certificate_id: "CertificateId",
7815
+ # ca_certificate_id: "CertificateId",
7816
+ # cognito_identity_pool_id: "CognitoIdentityPoolId",
7817
+ # client_id: "ClientId",
7818
+ # policy_version_identifier: {
7819
+ # policy_name: "PolicyName",
7820
+ # policy_version_id: "PolicyVersionId",
7821
+ # },
7822
+ # account: "AwsAccountId",
7823
+ # }
7824
+ #
7825
+ # @!attribute [rw] device_certificate_id
7826
+ # The ID of the certificate attached to the resource.
7827
+ # @return [String]
7828
+ #
7829
+ # @!attribute [rw] ca_certificate_id
7830
+ # The ID of the CA certificate used to authorize the certificate.
7831
+ # @return [String]
7832
+ #
7833
+ # @!attribute [rw] cognito_identity_pool_id
7834
+ # The ID of the Cognito Identity Pool.
6427
7835
  # @return [String]
6428
7836
  #
6429
- # @!attribute [rw] topic
6430
- # The name of the MQTT topic.
7837
+ # @!attribute [rw] client_id
7838
+ # The client ID.
6431
7839
  # @return [String]
6432
7840
  #
6433
- class RepublishAction < Struct.new(
6434
- :role_arn,
6435
- :topic)
7841
+ # @!attribute [rw] policy_version_identifier
7842
+ # The version of the policy associated with the resource.
7843
+ # @return [Types::PolicyVersionIdentifier]
7844
+ #
7845
+ # @!attribute [rw] account
7846
+ # The account with which the resource is associated.
7847
+ # @return [String]
7848
+ #
7849
+ class ResourceIdentifier < Struct.new(
7850
+ :device_certificate_id,
7851
+ :ca_certificate_id,
7852
+ :cognito_identity_pool_id,
7853
+ :client_id,
7854
+ :policy_version_identifier,
7855
+ :account)
6436
7856
  include Aws::Structure
6437
7857
  end
6438
7858
 
@@ -6519,6 +7939,8 @@ module Aws::IoT
6519
7939
  include Aws::Structure
6520
7940
  end
6521
7941
 
7942
+ # The location in S3 the contains the files to stream.
7943
+ #
6522
7944
  # @note When making an API call, you may pass S3Location
6523
7945
  # data as a hash:
6524
7946
  #
@@ -6529,12 +7951,15 @@ module Aws::IoT
6529
7951
  # }
6530
7952
  #
6531
7953
  # @!attribute [rw] bucket
7954
+ # The S3 bucket that contains the file to stream.
6532
7955
  # @return [String]
6533
7956
  #
6534
7957
  # @!attribute [rw] key
7958
+ # The name of the file within the S3 bucket to stream.
6535
7959
  # @return [String]
6536
7960
  #
6537
7961
  # @!attribute [rw] version
7962
+ # The file version.
6538
7963
  # @return [String]
6539
7964
  #
6540
7965
  class S3Location < Struct.new(
@@ -6573,6 +7998,41 @@ module Aws::IoT
6573
7998
  include Aws::Structure
6574
7999
  end
6575
8000
 
8001
+ # Information about the scheduled audit.
8002
+ #
8003
+ # @!attribute [rw] scheduled_audit_name
8004
+ # The name of the scheduled audit.
8005
+ # @return [String]
8006
+ #
8007
+ # @!attribute [rw] scheduled_audit_arn
8008
+ # The ARN of the scheduled audit.
8009
+ # @return [String]
8010
+ #
8011
+ # @!attribute [rw] frequency
8012
+ # How often the scheduled audit takes place.
8013
+ # @return [String]
8014
+ #
8015
+ # @!attribute [rw] day_of_month
8016
+ # The day of the month on which the scheduled audit is run (if the
8017
+ # `frequency` is "MONTHLY"). If days 29-31 are specified, and the
8018
+ # month does not have that many days, the audit takes place on the
8019
+ # "LAST" day of the month.
8020
+ # @return [String]
8021
+ #
8022
+ # @!attribute [rw] day_of_week
8023
+ # The day of the week on which the scheduled audit is run (if the
8024
+ # `frequency` is "WEEKLY" or "BIWEEKLY").
8025
+ # @return [String]
8026
+ #
8027
+ class ScheduledAuditMetadata < Struct.new(
8028
+ :scheduled_audit_name,
8029
+ :scheduled_audit_arn,
8030
+ :frequency,
8031
+ :day_of_month,
8032
+ :day_of_week)
8033
+ include Aws::Structure
8034
+ end
8035
+
6576
8036
  # @note When making an API call, you may pass SearchIndexRequest
6577
8037
  # data as a hash:
6578
8038
  #
@@ -6629,6 +8089,52 @@ module Aws::IoT
6629
8089
  include Aws::Structure
6630
8090
  end
6631
8091
 
8092
+ # Identifying information for a Device Defender security profile.
8093
+ #
8094
+ # @!attribute [rw] name
8095
+ # The name you have given to the security profile.
8096
+ # @return [String]
8097
+ #
8098
+ # @!attribute [rw] arn
8099
+ # The ARN of the security profile.
8100
+ # @return [String]
8101
+ #
8102
+ class SecurityProfileIdentifier < Struct.new(
8103
+ :name,
8104
+ :arn)
8105
+ include Aws::Structure
8106
+ end
8107
+
8108
+ # A target to which an alert is sent when a security profile behavior is
8109
+ # violated.
8110
+ #
8111
+ # @!attribute [rw] arn
8112
+ # The ARN of the security profile.
8113
+ # @return [String]
8114
+ #
8115
+ class SecurityProfileTarget < Struct.new(
8116
+ :arn)
8117
+ include Aws::Structure
8118
+ end
8119
+
8120
+ # Information about a security profile and the target associated with
8121
+ # it.
8122
+ #
8123
+ # @!attribute [rw] security_profile_identifier
8124
+ # Information that identifies the security profile.
8125
+ # @return [Types::SecurityProfileIdentifier]
8126
+ #
8127
+ # @!attribute [rw] target
8128
+ # Information about the target (thing group) associated with the
8129
+ # security profile.
8130
+ # @return [Types::SecurityProfileTarget]
8131
+ #
8132
+ class SecurityProfileTargetMapping < Struct.new(
8133
+ :security_profile_identifier,
8134
+ :target)
8135
+ include Aws::Structure
8136
+ end
8137
+
6632
8138
  # @note When making an API call, you may pass SetDefaultAuthorizerRequest
6633
8139
  # data as a hash:
6634
8140
  #
@@ -6827,6 +8333,36 @@ module Aws::IoT
6827
8333
  include Aws::Structure
6828
8334
  end
6829
8335
 
8336
+ # @note When making an API call, you may pass StartOnDemandAuditTaskRequest
8337
+ # data as a hash:
8338
+ #
8339
+ # {
8340
+ # target_check_names: ["AuditCheckName"], # required
8341
+ # }
8342
+ #
8343
+ # @!attribute [rw] target_check_names
8344
+ # Which checks are performed during the audit. The checks you specify
8345
+ # must be enabled for your account or an exception occurs. Use
8346
+ # `DescribeAccountAuditConfiguration` to see the list of all checks
8347
+ # including those that are enabled or
8348
+ # `UpdateAccountAuditConfiguration` to select which checks are
8349
+ # enabled.
8350
+ # @return [Array<String>]
8351
+ #
8352
+ class StartOnDemandAuditTaskRequest < Struct.new(
8353
+ :target_check_names)
8354
+ include Aws::Structure
8355
+ end
8356
+
8357
+ # @!attribute [rw] task_id
8358
+ # The ID of the on-demand audit you started.
8359
+ # @return [String]
8360
+ #
8361
+ class StartOnDemandAuditTaskResponse < Struct.new(
8362
+ :task_id)
8363
+ include Aws::Structure
8364
+ end
8365
+
6830
8366
  # @note When making an API call, you may pass StartThingRegistrationTaskRequest
6831
8367
  # data as a hash:
6832
8368
  #
@@ -6872,6 +8408,41 @@ module Aws::IoT
6872
8408
  include Aws::Structure
6873
8409
  end
6874
8410
 
8411
+ # Starts execution of a Step Functions state machine.
8412
+ #
8413
+ # @note When making an API call, you may pass StepFunctionsAction
8414
+ # data as a hash:
8415
+ #
8416
+ # {
8417
+ # execution_name_prefix: "ExecutionNamePrefix",
8418
+ # state_machine_name: "StateMachineName", # required
8419
+ # role_arn: "AwsArn", # required
8420
+ # }
8421
+ #
8422
+ # @!attribute [rw] execution_name_prefix
8423
+ # (Optional) A name will be given to the state machine execution
8424
+ # consisting of this prefix followed by a UUID. Step Functions
8425
+ # automatically creates a unique name for each state machine execution
8426
+ # if one is not provided.
8427
+ # @return [String]
8428
+ #
8429
+ # @!attribute [rw] state_machine_name
8430
+ # The name of the Step Functions state machine whose execution will be
8431
+ # started.
8432
+ # @return [String]
8433
+ #
8434
+ # @!attribute [rw] role_arn
8435
+ # The ARN of the role that grants IoT permission to start execution of
8436
+ # a state machine ("Action":"states:StartExecution").
8437
+ # @return [String]
8438
+ #
8439
+ class StepFunctionsAction < Struct.new(
8440
+ :execution_name_prefix,
8441
+ :state_machine_name,
8442
+ :role_arn)
8443
+ include Aws::Structure
8444
+ end
8445
+
6875
8446
  # @note When making an API call, you may pass StopThingRegistrationTaskRequest
6876
8447
  # data as a hash:
6877
8448
  #
@@ -7014,6 +8585,48 @@ module Aws::IoT
7014
8585
  include Aws::Structure
7015
8586
  end
7016
8587
 
8588
+ # Statistics for the checks performed during the audit.
8589
+ #
8590
+ # @!attribute [rw] total_checks
8591
+ # The number of checks in this audit.
8592
+ # @return [Integer]
8593
+ #
8594
+ # @!attribute [rw] in_progress_checks
8595
+ # The number of checks in progress.
8596
+ # @return [Integer]
8597
+ #
8598
+ # @!attribute [rw] waiting_for_data_collection_checks
8599
+ # The number of checks waiting for data collection.
8600
+ # @return [Integer]
8601
+ #
8602
+ # @!attribute [rw] compliant_checks
8603
+ # The number of checks that found compliant resources.
8604
+ # @return [Integer]
8605
+ #
8606
+ # @!attribute [rw] non_compliant_checks
8607
+ # The number of checks that found non-compliant resources.
8608
+ # @return [Integer]
8609
+ #
8610
+ # @!attribute [rw] failed_checks
8611
+ # The number of checks
8612
+ # @return [Integer]
8613
+ #
8614
+ # @!attribute [rw] canceled_checks
8615
+ # The number of checks that did not run because the audit was
8616
+ # canceled.
8617
+ # @return [Integer]
8618
+ #
8619
+ class TaskStatistics < Struct.new(
8620
+ :total_checks,
8621
+ :in_progress_checks,
8622
+ :waiting_for_data_collection_checks,
8623
+ :compliant_checks,
8624
+ :non_compliant_checks,
8625
+ :failed_checks,
8626
+ :canceled_checks)
8627
+ include Aws::Structure
8628
+ end
8629
+
7017
8630
  # @note When making an API call, you may pass TestAuthorizationRequest
7018
8631
  # data as a hash:
7019
8632
  #
@@ -7503,11 +9116,11 @@ module Aws::IoT
7503
9116
  # },
7504
9117
  # cloudwatch_metric: {
7505
9118
  # role_arn: "AwsArn", # required
7506
- # metric_namespace: "MetricNamespace", # required
7507
- # metric_name: "MetricName", # required
7508
- # metric_value: "MetricValue", # required
7509
- # metric_unit: "MetricUnit", # required
7510
- # metric_timestamp: "MetricTimestamp",
9119
+ # metric_namespace: "String", # required
9120
+ # metric_name: "String", # required
9121
+ # metric_value: "String", # required
9122
+ # metric_unit: "String", # required
9123
+ # metric_timestamp: "String",
7511
9124
  # },
7512
9125
  # cloudwatch_alarm: {
7513
9126
  # role_arn: "AwsArn", # required
@@ -7531,6 +9144,11 @@ module Aws::IoT
7531
9144
  # channel_name: "ChannelName",
7532
9145
  # role_arn: "AwsArn",
7533
9146
  # },
9147
+ # step_functions: {
9148
+ # execution_name_prefix: "ExecutionNamePrefix",
9149
+ # state_machine_name: "StateMachineName", # required
9150
+ # role_arn: "AwsArn", # required
9151
+ # },
7534
9152
  # },
7535
9153
  # ],
7536
9154
  # rule_disabled: false,
@@ -7589,11 +9207,11 @@ module Aws::IoT
7589
9207
  # },
7590
9208
  # cloudwatch_metric: {
7591
9209
  # role_arn: "AwsArn", # required
7592
- # metric_namespace: "MetricNamespace", # required
7593
- # metric_name: "MetricName", # required
7594
- # metric_value: "MetricValue", # required
7595
- # metric_unit: "MetricUnit", # required
7596
- # metric_timestamp: "MetricTimestamp",
9210
+ # metric_namespace: "String", # required
9211
+ # metric_name: "String", # required
9212
+ # metric_value: "String", # required
9213
+ # metric_unit: "String", # required
9214
+ # metric_timestamp: "String",
7597
9215
  # },
7598
9216
  # cloudwatch_alarm: {
7599
9217
  # role_arn: "AwsArn", # required
@@ -7617,6 +9235,11 @@ module Aws::IoT
7617
9235
  # channel_name: "ChannelName",
7618
9236
  # role_arn: "AwsArn",
7619
9237
  # },
9238
+ # step_functions: {
9239
+ # execution_name_prefix: "ExecutionNamePrefix",
9240
+ # state_machine_name: "StateMachineName", # required
9241
+ # role_arn: "AwsArn", # required
9242
+ # },
7620
9243
  # },
7621
9244
  # }
7622
9245
  #
@@ -7732,6 +9355,61 @@ module Aws::IoT
7732
9355
  include Aws::Structure
7733
9356
  end
7734
9357
 
9358
+ # @note When making an API call, you may pass UpdateAccountAuditConfigurationRequest
9359
+ # data as a hash:
9360
+ #
9361
+ # {
9362
+ # role_arn: "RoleArn",
9363
+ # audit_notification_target_configurations: {
9364
+ # "SNS" => {
9365
+ # target_arn: "TargetArn",
9366
+ # role_arn: "RoleArn",
9367
+ # enabled: false,
9368
+ # },
9369
+ # },
9370
+ # audit_check_configurations: {
9371
+ # "AuditCheckName" => {
9372
+ # enabled: false,
9373
+ # },
9374
+ # },
9375
+ # }
9376
+ #
9377
+ # @!attribute [rw] role_arn
9378
+ # The ARN of the role that grants permission to AWS IoT to access
9379
+ # information about your devices, policies, certificates and other
9380
+ # items as necessary when performing an audit.
9381
+ # @return [String]
9382
+ #
9383
+ # @!attribute [rw] audit_notification_target_configurations
9384
+ # Information about the targets to which audit notifications are sent.
9385
+ # @return [Hash<String,Types::AuditNotificationTarget>]
9386
+ #
9387
+ # @!attribute [rw] audit_check_configurations
9388
+ # Specifies which audit checks are enabled and disabled for this
9389
+ # account. Use `DescribeAccountAuditConfiguration` to see the list of
9390
+ # all checks including those that are currently enabled.
9391
+ #
9392
+ # Note that some data collection may begin immediately when certain
9393
+ # checks are enabled. When a check is disabled, any data collected so
9394
+ # far in relation to the check is deleted.
9395
+ #
9396
+ # You cannot disable a check if it is used by any scheduled audit. You
9397
+ # must first delete the check from the scheduled audit or delete the
9398
+ # scheduled audit itself.
9399
+ #
9400
+ # On the first call to `UpdateAccountAuditConfiguration` this
9401
+ # parameter is required and must specify at least one enabled check.
9402
+ # @return [Hash<String,Types::AuditCheckConfiguration>]
9403
+ #
9404
+ class UpdateAccountAuditConfigurationRequest < Struct.new(
9405
+ :role_arn,
9406
+ :audit_notification_target_configurations,
9407
+ :audit_check_configurations)
9408
+ include Aws::Structure
9409
+ end
9410
+
9411
+ class UpdateAccountAuditConfigurationResponse < Aws::EmptyStructure; end
9412
+
7735
9413
  # @note When making an API call, you may pass UpdateAuthorizerRequest
7736
9414
  # data as a hash:
7737
9415
  #
@@ -7953,6 +9631,177 @@ module Aws::IoT
7953
9631
  include Aws::Structure
7954
9632
  end
7955
9633
 
9634
+ # @note When making an API call, you may pass UpdateScheduledAuditRequest
9635
+ # data as a hash:
9636
+ #
9637
+ # {
9638
+ # frequency: "DAILY", # accepts DAILY, WEEKLY, BIWEEKLY, MONTHLY
9639
+ # day_of_month: "DayOfMonth",
9640
+ # day_of_week: "SUN", # accepts SUN, MON, TUE, WED, THU, FRI, SAT
9641
+ # target_check_names: ["AuditCheckName"],
9642
+ # scheduled_audit_name: "ScheduledAuditName", # required
9643
+ # }
9644
+ #
9645
+ # @!attribute [rw] frequency
9646
+ # How often the scheduled audit takes place. Can be one of "DAILY",
9647
+ # "WEEKLY", "BIWEEKLY" or "MONTHLY". The actual start time of
9648
+ # each audit is determined by the system.
9649
+ # @return [String]
9650
+ #
9651
+ # @!attribute [rw] day_of_month
9652
+ # The day of the month on which the scheduled audit takes place. Can
9653
+ # be "1" through "31" or "LAST". This field is required if the
9654
+ # "frequency" parameter is set to "MONTHLY". If days 29-31 are
9655
+ # specified, and the month does not have that many days, the audit
9656
+ # takes place on the "LAST" day of the month.
9657
+ # @return [String]
9658
+ #
9659
+ # @!attribute [rw] day_of_week
9660
+ # The day of the week on which the scheduled audit takes place. Can be
9661
+ # one of "SUN", "MON", "TUE", "WED", "THU", "FRI" or
9662
+ # "SAT". This field is required if the "frequency" parameter is
9663
+ # set to "WEEKLY" or "BIWEEKLY".
9664
+ # @return [String]
9665
+ #
9666
+ # @!attribute [rw] target_check_names
9667
+ # Which checks are performed during the scheduled audit. Checks must
9668
+ # be enabled for your account. (Use
9669
+ # `DescribeAccountAuditConfiguration` to see the list of all checks
9670
+ # including those that are enabled or
9671
+ # `UpdateAccountAuditConfiguration` to select which checks are
9672
+ # enabled.)
9673
+ # @return [Array<String>]
9674
+ #
9675
+ # @!attribute [rw] scheduled_audit_name
9676
+ # The name of the scheduled audit. (Max. 128 chars)
9677
+ # @return [String]
9678
+ #
9679
+ class UpdateScheduledAuditRequest < Struct.new(
9680
+ :frequency,
9681
+ :day_of_month,
9682
+ :day_of_week,
9683
+ :target_check_names,
9684
+ :scheduled_audit_name)
9685
+ include Aws::Structure
9686
+ end
9687
+
9688
+ # @!attribute [rw] scheduled_audit_arn
9689
+ # The ARN of the scheduled audit.
9690
+ # @return [String]
9691
+ #
9692
+ class UpdateScheduledAuditResponse < Struct.new(
9693
+ :scheduled_audit_arn)
9694
+ include Aws::Structure
9695
+ end
9696
+
9697
+ # @note When making an API call, you may pass UpdateSecurityProfileRequest
9698
+ # data as a hash:
9699
+ #
9700
+ # {
9701
+ # security_profile_name: "SecurityProfileName", # required
9702
+ # security_profile_description: "SecurityProfileDescription",
9703
+ # behaviors: [
9704
+ # {
9705
+ # name: "BehaviorName", # required
9706
+ # metric: "BehaviorMetric",
9707
+ # criteria: {
9708
+ # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
9709
+ # value: {
9710
+ # count: 1,
9711
+ # cidrs: ["Cidr"],
9712
+ # ports: [1],
9713
+ # },
9714
+ # duration_seconds: 1,
9715
+ # },
9716
+ # },
9717
+ # ],
9718
+ # alert_targets: {
9719
+ # "SNS" => {
9720
+ # alert_target_arn: "AlertTargetArn", # required
9721
+ # role_arn: "RoleArn", # required
9722
+ # },
9723
+ # },
9724
+ # expected_version: 1,
9725
+ # }
9726
+ #
9727
+ # @!attribute [rw] security_profile_name
9728
+ # The name of the security profile you want to update.
9729
+ # @return [String]
9730
+ #
9731
+ # @!attribute [rw] security_profile_description
9732
+ # A description of the security profile.
9733
+ # @return [String]
9734
+ #
9735
+ # @!attribute [rw] behaviors
9736
+ # Specifies the behaviors that, when violated by a device (thing),
9737
+ # cause an alert.
9738
+ # @return [Array<Types::Behavior>]
9739
+ #
9740
+ # @!attribute [rw] alert_targets
9741
+ # Where the alerts are sent. (Alerts are always sent to the console.)
9742
+ # @return [Hash<String,Types::AlertTarget>]
9743
+ #
9744
+ # @!attribute [rw] expected_version
9745
+ # The expected version of the security profile. A new version is
9746
+ # generated whenever the security profile is updated. If you specify a
9747
+ # value that is different than the actual version, a
9748
+ # `VersionConflictException` is thrown.
9749
+ # @return [Integer]
9750
+ #
9751
+ class UpdateSecurityProfileRequest < Struct.new(
9752
+ :security_profile_name,
9753
+ :security_profile_description,
9754
+ :behaviors,
9755
+ :alert_targets,
9756
+ :expected_version)
9757
+ include Aws::Structure
9758
+ end
9759
+
9760
+ # @!attribute [rw] security_profile_name
9761
+ # The name of the security profile that was updated.
9762
+ # @return [String]
9763
+ #
9764
+ # @!attribute [rw] security_profile_arn
9765
+ # The ARN of the security profile that was updated.
9766
+ # @return [String]
9767
+ #
9768
+ # @!attribute [rw] security_profile_description
9769
+ # The description of the security profile.
9770
+ # @return [String]
9771
+ #
9772
+ # @!attribute [rw] behaviors
9773
+ # Specifies the behaviors that, when violated by a device (thing),
9774
+ # cause an alert.
9775
+ # @return [Array<Types::Behavior>]
9776
+ #
9777
+ # @!attribute [rw] alert_targets
9778
+ # Where the alerts are sent. (Alerts are always sent to the console.)
9779
+ # @return [Hash<String,Types::AlertTarget>]
9780
+ #
9781
+ # @!attribute [rw] version
9782
+ # The updated version of the security profile.
9783
+ # @return [Integer]
9784
+ #
9785
+ # @!attribute [rw] creation_date
9786
+ # The time the security profile was created.
9787
+ # @return [Time]
9788
+ #
9789
+ # @!attribute [rw] last_modified_date
9790
+ # The time the security profile was last modified.
9791
+ # @return [Time]
9792
+ #
9793
+ class UpdateSecurityProfileResponse < Struct.new(
9794
+ :security_profile_name,
9795
+ :security_profile_arn,
9796
+ :security_profile_description,
9797
+ :behaviors,
9798
+ :alert_targets,
9799
+ :version,
9800
+ :creation_date,
9801
+ :last_modified_date)
9802
+ include Aws::Structure
9803
+ end
9804
+
7956
9805
  # @note When making an API call, you may pass UpdateStreamRequest
7957
9806
  # data as a hash:
7958
9807
  #
@@ -8158,5 +10007,103 @@ module Aws::IoT
8158
10007
  #
8159
10008
  class UpdateThingResponse < Aws::EmptyStructure; end
8160
10009
 
10010
+ # @note When making an API call, you may pass ValidateSecurityProfileBehaviorsRequest
10011
+ # data as a hash:
10012
+ #
10013
+ # {
10014
+ # behaviors: [ # required
10015
+ # {
10016
+ # name: "BehaviorName", # required
10017
+ # metric: "BehaviorMetric",
10018
+ # criteria: {
10019
+ # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
10020
+ # value: {
10021
+ # count: 1,
10022
+ # cidrs: ["Cidr"],
10023
+ # ports: [1],
10024
+ # },
10025
+ # duration_seconds: 1,
10026
+ # },
10027
+ # },
10028
+ # ],
10029
+ # }
10030
+ #
10031
+ # @!attribute [rw] behaviors
10032
+ # Specifies the behaviors that, when violated by a device (thing),
10033
+ # cause an alert.
10034
+ # @return [Array<Types::Behavior>]
10035
+ #
10036
+ class ValidateSecurityProfileBehaviorsRequest < Struct.new(
10037
+ :behaviors)
10038
+ include Aws::Structure
10039
+ end
10040
+
10041
+ # @!attribute [rw] valid
10042
+ # True if the behaviors were valid.
10043
+ # @return [Boolean]
10044
+ #
10045
+ # @!attribute [rw] validation_errors
10046
+ # The list of any errors found in the behaviors.
10047
+ # @return [Array<Types::ValidationError>]
10048
+ #
10049
+ class ValidateSecurityProfileBehaviorsResponse < Struct.new(
10050
+ :valid,
10051
+ :validation_errors)
10052
+ include Aws::Structure
10053
+ end
10054
+
10055
+ # Information about an error found in a behavior specification.
10056
+ #
10057
+ # @!attribute [rw] error_message
10058
+ # The description of an error found in the behaviors.
10059
+ # @return [String]
10060
+ #
10061
+ class ValidationError < Struct.new(
10062
+ :error_message)
10063
+ include Aws::Structure
10064
+ end
10065
+
10066
+ # Information about a Device Defender security profile behavior
10067
+ # violation.
10068
+ #
10069
+ # @!attribute [rw] violation_id
10070
+ # The ID of the violation event.
10071
+ # @return [String]
10072
+ #
10073
+ # @!attribute [rw] thing_name
10074
+ # The name of the thing responsible for the violation event.
10075
+ # @return [String]
10076
+ #
10077
+ # @!attribute [rw] security_profile_name
10078
+ # The name of the security profile whose behavior was violated.
10079
+ # @return [String]
10080
+ #
10081
+ # @!attribute [rw] behavior
10082
+ # The behavior which was violated.
10083
+ # @return [Types::Behavior]
10084
+ #
10085
+ # @!attribute [rw] metric_value
10086
+ # The value of the metric (the measurement).
10087
+ # @return [Types::MetricValue]
10088
+ #
10089
+ # @!attribute [rw] violation_event_type
10090
+ # The type of violation event.
10091
+ # @return [String]
10092
+ #
10093
+ # @!attribute [rw] violation_event_time
10094
+ # The time the violation event occurred.
10095
+ # @return [Time]
10096
+ #
10097
+ class ViolationEvent < Struct.new(
10098
+ :violation_id,
10099
+ :thing_name,
10100
+ :security_profile_name,
10101
+ :behavior,
10102
+ :metric_value,
10103
+ :violation_event_type,
10104
+ :violation_event_time)
10105
+ include Aws::Structure
10106
+ end
10107
+
8161
10108
  end
8162
10109
  end