aws-sdk-iot 1.10.0 → 1.11.0

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