aws-sdk-iot 1.18.0 → 1.19.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,6 +8,72 @@
8
8
  module Aws::IoT
9
9
  module Types
10
10
 
11
+ # Details of abort criteria to abort the job.
12
+ #
13
+ # @note When making an API call, you may pass AbortConfig
14
+ # data as a hash:
15
+ #
16
+ # {
17
+ # criteria_list: [ # required
18
+ # {
19
+ # failure_type: "FAILED", # required, accepts FAILED, REJECTED, TIMED_OUT, ALL
20
+ # action: "CANCEL", # required, accepts CANCEL
21
+ # threshold_percentage: 1.0, # required
22
+ # min_number_of_executed_things: 1, # required
23
+ # },
24
+ # ],
25
+ # }
26
+ #
27
+ # @!attribute [rw] criteria_list
28
+ # The list of abort criteria to define rules to abort the job.
29
+ # @return [Array<Types::AbortCriteria>]
30
+ #
31
+ class AbortConfig < Struct.new(
32
+ :criteria_list)
33
+ include Aws::Structure
34
+ end
35
+
36
+ # Details of abort criteria to define rules to abort the job.
37
+ #
38
+ # @note When making an API call, you may pass AbortCriteria
39
+ # data as a hash:
40
+ #
41
+ # {
42
+ # failure_type: "FAILED", # required, accepts FAILED, REJECTED, TIMED_OUT, ALL
43
+ # action: "CANCEL", # required, accepts CANCEL
44
+ # threshold_percentage: 1.0, # required
45
+ # min_number_of_executed_things: 1, # required
46
+ # }
47
+ #
48
+ # @!attribute [rw] failure_type
49
+ # The type of job execution failure to define a rule to initiate a job
50
+ # abort.
51
+ # @return [String]
52
+ #
53
+ # @!attribute [rw] action
54
+ # The type of abort action to initiate a job abort.
55
+ # @return [String]
56
+ #
57
+ # @!attribute [rw] threshold_percentage
58
+ # The threshold as a percentage of the total number of executed things
59
+ # that will initiate a job abort.
60
+ #
61
+ # AWS IoT supports up to two digits after the decimal (for example,
62
+ # 10.9 and 10.99, but not 10.999).
63
+ # @return [Float]
64
+ #
65
+ # @!attribute [rw] min_number_of_executed_things
66
+ # Minimum number of executed things before evaluating an abort rule.
67
+ # @return [Integer]
68
+ #
69
+ class AbortCriteria < Struct.new(
70
+ :failure_type,
71
+ :action,
72
+ :threshold_percentage,
73
+ :min_number_of_executed_things)
74
+ include Aws::Structure
75
+ end
76
+
11
77
  # The input for the AcceptCertificateTransfer operation.
12
78
  #
13
79
  # @note When making an API call, you may pass AcceptCertificateTransferRequest
@@ -251,6 +317,42 @@ module Aws::IoT
251
317
  include Aws::Structure
252
318
  end
253
319
 
320
+ # @note When making an API call, you may pass AddThingToBillingGroupRequest
321
+ # data as a hash:
322
+ #
323
+ # {
324
+ # billing_group_name: "BillingGroupName",
325
+ # billing_group_arn: "BillingGroupArn",
326
+ # thing_name: "ThingName",
327
+ # thing_arn: "ThingArn",
328
+ # }
329
+ #
330
+ # @!attribute [rw] billing_group_name
331
+ # The name of the billing group.
332
+ # @return [String]
333
+ #
334
+ # @!attribute [rw] billing_group_arn
335
+ # The ARN of the billing group.
336
+ # @return [String]
337
+ #
338
+ # @!attribute [rw] thing_name
339
+ # The name of the thing to be added to the billing group.
340
+ # @return [String]
341
+ #
342
+ # @!attribute [rw] thing_arn
343
+ # The ARN of the thing to be added to the billing group.
344
+ # @return [String]
345
+ #
346
+ class AddThingToBillingGroupRequest < Struct.new(
347
+ :billing_group_name,
348
+ :billing_group_arn,
349
+ :thing_name,
350
+ :thing_arn)
351
+ include Aws::Structure
352
+ end
353
+
354
+ class AddThingToBillingGroupResponse < Aws::EmptyStructure; end
355
+
254
356
  # @note When making an API call, you may pass AddThingToThingGroupRequest
255
357
  # data as a hash:
256
358
  #
@@ -259,6 +361,7 @@ module Aws::IoT
259
361
  # thing_group_arn: "ThingGroupArn",
260
362
  # thing_name: "ThingName",
261
363
  # thing_arn: "ThingArn",
364
+ # override_dynamic_groups: false,
262
365
  # }
263
366
  #
264
367
  # @!attribute [rw] thing_group_name
@@ -277,11 +380,19 @@ module Aws::IoT
277
380
  # The ARN of the thing to add to a group.
278
381
  # @return [String]
279
382
  #
383
+ # @!attribute [rw] override_dynamic_groups
384
+ # Override dynamic thing groups with static thing groups when 10-group
385
+ # limit is reached. If a thing belongs to 10 thing groups, and one or
386
+ # more of those groups are dynamic thing groups, adding a thing to a
387
+ # static group removes the thing from the last dynamic group.
388
+ # @return [Boolean]
389
+ #
280
390
  class AddThingToThingGroupRequest < Struct.new(
281
391
  :thing_group_name,
282
392
  :thing_group_arn,
283
393
  :thing_name,
284
- :thing_arn)
394
+ :thing_arn,
395
+ :override_dynamic_groups)
285
396
  include Aws::Structure
286
397
  end
287
398
 
@@ -384,7 +495,11 @@ module Aws::IoT
384
495
  # @return [String]
385
496
  #
386
497
  # @!attribute [rw] target
387
- # The identity to which the policy is attached.
498
+ # The [identity][1] to which the policy is attached.
499
+ #
500
+ #
501
+ #
502
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-security-identity.html
388
503
  # @return [String]
389
504
  #
390
505
  class AttachPolicyRequest < Struct.new(
@@ -893,6 +1008,35 @@ module Aws::IoT
893
1008
  include Aws::Structure
894
1009
  end
895
1010
 
1011
+ # Additional information about the billing group.
1012
+ #
1013
+ # @!attribute [rw] creation_date
1014
+ # The date the billing group was created.
1015
+ # @return [Time]
1016
+ #
1017
+ class BillingGroupMetadata < Struct.new(
1018
+ :creation_date)
1019
+ include Aws::Structure
1020
+ end
1021
+
1022
+ # The properties of a billing group.
1023
+ #
1024
+ # @note When making an API call, you may pass BillingGroupProperties
1025
+ # data as a hash:
1026
+ #
1027
+ # {
1028
+ # billing_group_description: "BillingGroupDescription",
1029
+ # }
1030
+ #
1031
+ # @!attribute [rw] billing_group_description
1032
+ # The description of the billing group.
1033
+ # @return [String]
1034
+ #
1035
+ class BillingGroupProperties < Struct.new(
1036
+ :billing_group_description)
1037
+ include Aws::Structure
1038
+ end
1039
+
896
1040
  # A CA certificate.
897
1041
  #
898
1042
  # @!attribute [rw] certificate_arn
@@ -1087,6 +1231,7 @@ module Aws::IoT
1087
1231
  #
1088
1232
  # {
1089
1233
  # job_id: "JobId", # required
1234
+ # reason_code: "ReasonCode",
1090
1235
  # comment: "Comment",
1091
1236
  # force: false,
1092
1237
  # }
@@ -1095,6 +1240,11 @@ module Aws::IoT
1095
1240
  # The unique identifier you assigned to this job when it was created.
1096
1241
  # @return [String]
1097
1242
  #
1243
+ # @!attribute [rw] reason_code
1244
+ # (Optional)A reason code string that explains why the job was
1245
+ # canceled.
1246
+ # @return [String]
1247
+ #
1098
1248
  # @!attribute [rw] comment
1099
1249
  # An optional comment string describing why the job was canceled.
1100
1250
  # @return [String]
@@ -1112,6 +1262,7 @@ module Aws::IoT
1112
1262
  #
1113
1263
  class CancelJobRequest < Struct.new(
1114
1264
  :job_id,
1265
+ :reason_code,
1115
1266
  :comment,
1116
1267
  :force)
1117
1268
  include Aws::Structure
@@ -1526,6 +1677,60 @@ module Aws::IoT
1526
1677
  include Aws::Structure
1527
1678
  end
1528
1679
 
1680
+ # @note When making an API call, you may pass CreateBillingGroupRequest
1681
+ # data as a hash:
1682
+ #
1683
+ # {
1684
+ # billing_group_name: "BillingGroupName", # required
1685
+ # billing_group_properties: {
1686
+ # billing_group_description: "BillingGroupDescription",
1687
+ # },
1688
+ # tags: [
1689
+ # {
1690
+ # key: "TagKey",
1691
+ # value: "TagValue",
1692
+ # },
1693
+ # ],
1694
+ # }
1695
+ #
1696
+ # @!attribute [rw] billing_group_name
1697
+ # The name you wish to give to the billing group.
1698
+ # @return [String]
1699
+ #
1700
+ # @!attribute [rw] billing_group_properties
1701
+ # The properties of the billing group.
1702
+ # @return [Types::BillingGroupProperties]
1703
+ #
1704
+ # @!attribute [rw] tags
1705
+ # Metadata which can be used to manage the billing group.
1706
+ # @return [Array<Types::Tag>]
1707
+ #
1708
+ class CreateBillingGroupRequest < Struct.new(
1709
+ :billing_group_name,
1710
+ :billing_group_properties,
1711
+ :tags)
1712
+ include Aws::Structure
1713
+ end
1714
+
1715
+ # @!attribute [rw] billing_group_name
1716
+ # The name you gave to the billing group.
1717
+ # @return [String]
1718
+ #
1719
+ # @!attribute [rw] billing_group_arn
1720
+ # The ARN of the billing group.
1721
+ # @return [String]
1722
+ #
1723
+ # @!attribute [rw] billing_group_id
1724
+ # The ID of the billing group.
1725
+ # @return [String]
1726
+ #
1727
+ class CreateBillingGroupResponse < Struct.new(
1728
+ :billing_group_name,
1729
+ :billing_group_arn,
1730
+ :billing_group_id)
1731
+ include Aws::Structure
1732
+ end
1733
+
1529
1734
  # The input for the CreateCertificateFromCsr operation.
1530
1735
  #
1531
1736
  # @note When making an API call, you may pass CreateCertificateFromCsrRequest
@@ -1573,6 +1778,114 @@ module Aws::IoT
1573
1778
  include Aws::Structure
1574
1779
  end
1575
1780
 
1781
+ # @note When making an API call, you may pass CreateDynamicThingGroupRequest
1782
+ # data as a hash:
1783
+ #
1784
+ # {
1785
+ # thing_group_name: "ThingGroupName", # required
1786
+ # thing_group_properties: {
1787
+ # thing_group_description: "ThingGroupDescription",
1788
+ # attribute_payload: {
1789
+ # attributes: {
1790
+ # "AttributeName" => "AttributeValue",
1791
+ # },
1792
+ # merge: false,
1793
+ # },
1794
+ # },
1795
+ # index_name: "IndexName",
1796
+ # query_string: "QueryString", # required
1797
+ # query_version: "QueryVersion",
1798
+ # tags: [
1799
+ # {
1800
+ # key: "TagKey",
1801
+ # value: "TagValue",
1802
+ # },
1803
+ # ],
1804
+ # }
1805
+ #
1806
+ # @!attribute [rw] thing_group_name
1807
+ # The dynamic thing group name to create.
1808
+ # @return [String]
1809
+ #
1810
+ # @!attribute [rw] thing_group_properties
1811
+ # The dynamic thing group properties.
1812
+ # @return [Types::ThingGroupProperties]
1813
+ #
1814
+ # @!attribute [rw] index_name
1815
+ # The dynamic thing group index name.
1816
+ #
1817
+ # <note markdown="1"> Currently one index is supported: "AWS\_Things".
1818
+ #
1819
+ # </note>
1820
+ # @return [String]
1821
+ #
1822
+ # @!attribute [rw] query_string
1823
+ # The dynamic thing group search query string.
1824
+ #
1825
+ # See [Query Syntax][1] for information about query string syntax.
1826
+ #
1827
+ #
1828
+ #
1829
+ # [1]: http://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html
1830
+ # @return [String]
1831
+ #
1832
+ # @!attribute [rw] query_version
1833
+ # The dynamic thing group query version.
1834
+ #
1835
+ # <note markdown="1"> Currently one query version is supported: "2017-09-30". If not
1836
+ # specified, the query version defaults to this value.
1837
+ #
1838
+ # </note>
1839
+ # @return [String]
1840
+ #
1841
+ # @!attribute [rw] tags
1842
+ # Metadata which can be used to manage the dynamic thing group.
1843
+ # @return [Array<Types::Tag>]
1844
+ #
1845
+ class CreateDynamicThingGroupRequest < Struct.new(
1846
+ :thing_group_name,
1847
+ :thing_group_properties,
1848
+ :index_name,
1849
+ :query_string,
1850
+ :query_version,
1851
+ :tags)
1852
+ include Aws::Structure
1853
+ end
1854
+
1855
+ # @!attribute [rw] thing_group_name
1856
+ # The dynamic thing group name.
1857
+ # @return [String]
1858
+ #
1859
+ # @!attribute [rw] thing_group_arn
1860
+ # The dynamic thing group ARN.
1861
+ # @return [String]
1862
+ #
1863
+ # @!attribute [rw] thing_group_id
1864
+ # The dynamic thing group ID.
1865
+ # @return [String]
1866
+ #
1867
+ # @!attribute [rw] index_name
1868
+ # The dynamic thing group index name.
1869
+ # @return [String]
1870
+ #
1871
+ # @!attribute [rw] query_string
1872
+ # The dynamic thing group search query string.
1873
+ # @return [String]
1874
+ #
1875
+ # @!attribute [rw] query_version
1876
+ # The dynamic thing group query version.
1877
+ # @return [String]
1878
+ #
1879
+ class CreateDynamicThingGroupResponse < Struct.new(
1880
+ :thing_group_name,
1881
+ :thing_group_arn,
1882
+ :thing_group_id,
1883
+ :index_name,
1884
+ :query_string,
1885
+ :query_version)
1886
+ include Aws::Structure
1887
+ end
1888
+
1576
1889
  # @note When making an API call, you may pass CreateJobRequest
1577
1890
  # data as a hash:
1578
1891
  #
@@ -1589,10 +1902,34 @@ module Aws::IoT
1589
1902
  # target_selection: "CONTINUOUS", # accepts CONTINUOUS, SNAPSHOT
1590
1903
  # job_executions_rollout_config: {
1591
1904
  # maximum_per_minute: 1,
1905
+ # exponential_rate: {
1906
+ # base_rate_per_minute: 1, # required
1907
+ # increment_factor: 1.0, # required
1908
+ # rate_increase_criteria: { # required
1909
+ # number_of_notified_things: 1,
1910
+ # number_of_succeeded_things: 1,
1911
+ # },
1912
+ # },
1913
+ # },
1914
+ # abort_config: {
1915
+ # criteria_list: [ # required
1916
+ # {
1917
+ # failure_type: "FAILED", # required, accepts FAILED, REJECTED, TIMED_OUT, ALL
1918
+ # action: "CANCEL", # required, accepts CANCEL
1919
+ # threshold_percentage: 1.0, # required
1920
+ # min_number_of_executed_things: 1, # required
1921
+ # },
1922
+ # ],
1592
1923
  # },
1593
1924
  # timeout_config: {
1594
1925
  # in_progress_timeout_in_minutes: 1,
1595
1926
  # },
1927
+ # tags: [
1928
+ # {
1929
+ # key: "TagKey",
1930
+ # value: "TagValue",
1931
+ # },
1932
+ # ],
1596
1933
  # }
1597
1934
  #
1598
1935
  # @!attribute [rw] job_id
@@ -1611,6 +1948,18 @@ module Aws::IoT
1611
1948
  #
1612
1949
  # @!attribute [rw] document
1613
1950
  # The job document.
1951
+ #
1952
+ # <note markdown="1"> If the job document resides in an S3 bucket, you must use a
1953
+ # placeholder link when specifying the document.
1954
+ #
1955
+ # The placeholder link is of the following form:
1956
+ #
1957
+ # `$\{aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key\}`
1958
+ #
1959
+ # where *bucket* is your bucket name and *key* is the object in the
1960
+ # bucket to which you are linking.
1961
+ #
1962
+ # </note>
1614
1963
  # @return [String]
1615
1964
  #
1616
1965
  # @!attribute [rw] description
@@ -1634,6 +1983,10 @@ module Aws::IoT
1634
1983
  # Allows you to create a staged rollout of the job.
1635
1984
  # @return [Types::JobExecutionsRolloutConfig]
1636
1985
  #
1986
+ # @!attribute [rw] abort_config
1987
+ # Allows you to create criteria to abort a job.
1988
+ # @return [Types::AbortConfig]
1989
+ #
1637
1990
  # @!attribute [rw] timeout_config
1638
1991
  # Specifies the amount of time each device has to finish its execution
1639
1992
  # of the job. The timer is started when the job execution status is
@@ -1642,6 +1995,10 @@ module Aws::IoT
1642
1995
  # automatically set to `TIMED_OUT`.
1643
1996
  # @return [Types::TimeoutConfig]
1644
1997
  #
1998
+ # @!attribute [rw] tags
1999
+ # Metadata which can be used to manage the job.
2000
+ # @return [Array<Types::Tag>]
2001
+ #
1645
2002
  class CreateJobRequest < Struct.new(
1646
2003
  :job_id,
1647
2004
  :targets,
@@ -1651,7 +2008,9 @@ module Aws::IoT
1651
2008
  :presigned_url_config,
1652
2009
  :target_selection,
1653
2010
  :job_executions_rollout_config,
1654
- :timeout_config)
2011
+ :abort_config,
2012
+ :timeout_config,
2013
+ :tags)
1655
2014
  include Aws::Structure
1656
2015
  end
1657
2016
 
@@ -2109,6 +2468,12 @@ module Aws::IoT
2109
2468
  # role_arn: "RoleArn", # required
2110
2469
  # },
2111
2470
  # },
2471
+ # tags: [
2472
+ # {
2473
+ # key: "TagKey",
2474
+ # value: "TagValue",
2475
+ # },
2476
+ # ],
2112
2477
  # }
2113
2478
  #
2114
2479
  # @!attribute [rw] security_profile_name
@@ -2130,11 +2495,16 @@ module Aws::IoT
2130
2495
  # (thing) violates a behavior.
2131
2496
  # @return [Hash<String,Types::AlertTarget>]
2132
2497
  #
2498
+ # @!attribute [rw] tags
2499
+ # Metadata which can be used to manage the security profile.
2500
+ # @return [Array<Types::Tag>]
2501
+ #
2133
2502
  class CreateSecurityProfileRequest < Struct.new(
2134
2503
  :security_profile_name,
2135
2504
  :security_profile_description,
2136
2505
  :behaviors,
2137
- :alert_targets)
2506
+ :alert_targets,
2507
+ :tags)
2138
2508
  include Aws::Structure
2139
2509
  end
2140
2510
 
@@ -2235,6 +2605,12 @@ module Aws::IoT
2235
2605
  # merge: false,
2236
2606
  # },
2237
2607
  # },
2608
+ # tags: [
2609
+ # {
2610
+ # key: "TagKey",
2611
+ # value: "TagValue",
2612
+ # },
2613
+ # ],
2238
2614
  # }
2239
2615
  #
2240
2616
  # @!attribute [rw] thing_group_name
@@ -2249,10 +2625,15 @@ module Aws::IoT
2249
2625
  # The thing group properties.
2250
2626
  # @return [Types::ThingGroupProperties]
2251
2627
  #
2628
+ # @!attribute [rw] tags
2629
+ # Metadata which can be used to manage the thing group.
2630
+ # @return [Array<Types::Tag>]
2631
+ #
2252
2632
  class CreateThingGroupRequest < Struct.new(
2253
2633
  :thing_group_name,
2254
2634
  :parent_group_name,
2255
- :thing_group_properties)
2635
+ :thing_group_properties,
2636
+ :tags)
2256
2637
  include Aws::Structure
2257
2638
  end
2258
2639
 
@@ -2289,6 +2670,7 @@ module Aws::IoT
2289
2670
  # },
2290
2671
  # merge: false,
2291
2672
  # },
2673
+ # billing_group_name: "BillingGroupName",
2292
2674
  # }
2293
2675
  #
2294
2676
  # @!attribute [rw] thing_name
@@ -2306,10 +2688,15 @@ module Aws::IoT
2306
2688
  # `\{"attributes":\{"string1":"string2"\}\}`
2307
2689
  # @return [Types::AttributePayload]
2308
2690
  #
2691
+ # @!attribute [rw] billing_group_name
2692
+ # The name of the billing group the thing will be added to.
2693
+ # @return [String]
2694
+ #
2309
2695
  class CreateThingRequest < Struct.new(
2310
2696
  :thing_name,
2311
2697
  :thing_type_name,
2312
- :attribute_payload)
2698
+ :attribute_payload,
2699
+ :billing_group_name)
2313
2700
  include Aws::Structure
2314
2701
  end
2315
2702
 
@@ -2345,6 +2732,12 @@ module Aws::IoT
2345
2732
  # thing_type_description: "ThingTypeDescription",
2346
2733
  # searchable_attributes: ["AttributeName"],
2347
2734
  # },
2735
+ # tags: [
2736
+ # {
2737
+ # key: "TagKey",
2738
+ # value: "TagValue",
2739
+ # },
2740
+ # ],
2348
2741
  # }
2349
2742
  #
2350
2743
  # @!attribute [rw] thing_type_name
@@ -2357,9 +2750,14 @@ module Aws::IoT
2357
2750
  # list of searchable thing attribute names.
2358
2751
  # @return [Types::ThingTypeProperties]
2359
2752
  #
2753
+ # @!attribute [rw] tags
2754
+ # Metadata which can be used to manage the thing type.
2755
+ # @return [Array<Types::Tag>]
2756
+ #
2360
2757
  class CreateThingTypeRequest < Struct.new(
2361
2758
  :thing_type_name,
2362
- :thing_type_properties)
2759
+ :thing_type_properties,
2760
+ :tags)
2363
2761
  include Aws::Structure
2364
2762
  end
2365
2763
 
@@ -2668,6 +3066,33 @@ module Aws::IoT
2668
3066
 
2669
3067
  class DeleteAuthorizerResponse < Aws::EmptyStructure; end
2670
3068
 
3069
+ # @note When making an API call, you may pass DeleteBillingGroupRequest
3070
+ # data as a hash:
3071
+ #
3072
+ # {
3073
+ # billing_group_name: "BillingGroupName", # required
3074
+ # expected_version: 1,
3075
+ # }
3076
+ #
3077
+ # @!attribute [rw] billing_group_name
3078
+ # The name of the billing group.
3079
+ # @return [String]
3080
+ #
3081
+ # @!attribute [rw] expected_version
3082
+ # The expected version of the billing group. If the version of the
3083
+ # billing group does not match the expected version specified in the
3084
+ # request, the `DeleteBillingGroup` request is rejected with a
3085
+ # `VersionConflictException`.
3086
+ # @return [Integer]
3087
+ #
3088
+ class DeleteBillingGroupRequest < Struct.new(
3089
+ :billing_group_name,
3090
+ :expected_version)
3091
+ include Aws::Structure
3092
+ end
3093
+
3094
+ class DeleteBillingGroupResponse < Aws::EmptyStructure; end
3095
+
2671
3096
  # Input for the DeleteCACertificate operation.
2672
3097
  #
2673
3098
  # @note When making an API call, you may pass DeleteCACertificateRequest
@@ -2716,6 +3141,30 @@ module Aws::IoT
2716
3141
  include Aws::Structure
2717
3142
  end
2718
3143
 
3144
+ # @note When making an API call, you may pass DeleteDynamicThingGroupRequest
3145
+ # data as a hash:
3146
+ #
3147
+ # {
3148
+ # thing_group_name: "ThingGroupName", # required
3149
+ # expected_version: 1,
3150
+ # }
3151
+ #
3152
+ # @!attribute [rw] thing_group_name
3153
+ # The name of the dynamic thing group to delete.
3154
+ # @return [String]
3155
+ #
3156
+ # @!attribute [rw] expected_version
3157
+ # The expected version of the dynamic thing group to delete.
3158
+ # @return [Integer]
3159
+ #
3160
+ class DeleteDynamicThingGroupRequest < Struct.new(
3161
+ :thing_group_name,
3162
+ :expected_version)
3163
+ include Aws::Structure
3164
+ end
3165
+
3166
+ class DeleteDynamicThingGroupResponse < Aws::EmptyStructure; end
3167
+
2719
3168
  # @note When making an API call, you may pass DeleteJobExecutionRequest
2720
3169
  # data as a hash:
2721
3170
  #
@@ -3242,6 +3691,56 @@ module Aws::IoT
3242
3691
  include Aws::Structure
3243
3692
  end
3244
3693
 
3694
+ # @note When making an API call, you may pass DescribeBillingGroupRequest
3695
+ # data as a hash:
3696
+ #
3697
+ # {
3698
+ # billing_group_name: "BillingGroupName", # required
3699
+ # }
3700
+ #
3701
+ # @!attribute [rw] billing_group_name
3702
+ # The name of the billing group.
3703
+ # @return [String]
3704
+ #
3705
+ class DescribeBillingGroupRequest < Struct.new(
3706
+ :billing_group_name)
3707
+ include Aws::Structure
3708
+ end
3709
+
3710
+ # @!attribute [rw] billing_group_name
3711
+ # The name of the billing group.
3712
+ # @return [String]
3713
+ #
3714
+ # @!attribute [rw] billing_group_id
3715
+ # The ID of the billing group.
3716
+ # @return [String]
3717
+ #
3718
+ # @!attribute [rw] billing_group_arn
3719
+ # The ARN of the billing group.
3720
+ # @return [String]
3721
+ #
3722
+ # @!attribute [rw] version
3723
+ # The version of the billing group.
3724
+ # @return [Integer]
3725
+ #
3726
+ # @!attribute [rw] billing_group_properties
3727
+ # The properties of the billing group.
3728
+ # @return [Types::BillingGroupProperties]
3729
+ #
3730
+ # @!attribute [rw] billing_group_metadata
3731
+ # Additional information about the billing group.
3732
+ # @return [Types::BillingGroupMetadata]
3733
+ #
3734
+ class DescribeBillingGroupResponse < Struct.new(
3735
+ :billing_group_name,
3736
+ :billing_group_id,
3737
+ :billing_group_arn,
3738
+ :version,
3739
+ :billing_group_properties,
3740
+ :billing_group_metadata)
3741
+ include Aws::Structure
3742
+ end
3743
+
3245
3744
  # The input for the DescribeCACertificate operation.
3246
3745
  #
3247
3746
  # @note When making an API call, you may pass DescribeCACertificateRequest
@@ -3421,10 +3920,17 @@ module Aws::IoT
3421
3920
  # Contains a value that specifies the type of indexing performed.
3422
3921
  # Valid values are:
3423
3922
  #
3424
- # 1. REGISTRY – Your thing index will contain only registry data.
3923
+ # * REGISTRY – Your thing index will contain only registry data.
3924
+ #
3925
+ # * REGISTRY\_AND\_SHADOW - Your thing index will contain registry
3926
+ # data and shadow data.
3425
3927
  #
3426
- # 2. REGISTRY\_AND\_SHADOW - Your thing index will contain registry
3427
- # and shadow data.
3928
+ # * REGISTRY\_AND\_CONNECTIVITY\_STATUS - Your thing index will
3929
+ # contain registry data and thing connectivity status data.
3930
+ #
3931
+ # * REGISTRY\_AND\_SHADOW\_AND\_CONNECTIVITY\_STATUS - Your thing
3932
+ # index will contain registry data, shadow data, and thing
3933
+ # connectivity status data.
3428
3934
  # @return [String]
3429
3935
  #
3430
3936
  class DescribeIndexResponse < Struct.new(
@@ -3716,13 +4222,33 @@ module Aws::IoT
3716
4222
  # Thing group metadata.
3717
4223
  # @return [Types::ThingGroupMetadata]
3718
4224
  #
4225
+ # @!attribute [rw] index_name
4226
+ # The dynamic thing group index name.
4227
+ # @return [String]
4228
+ #
4229
+ # @!attribute [rw] query_string
4230
+ # The dynamic thing group search query string.
4231
+ # @return [String]
4232
+ #
4233
+ # @!attribute [rw] query_version
4234
+ # The dynamic thing group query version.
4235
+ # @return [String]
4236
+ #
4237
+ # @!attribute [rw] status
4238
+ # The dynamic thing group status.
4239
+ # @return [String]
4240
+ #
3719
4241
  class DescribeThingGroupResponse < Struct.new(
3720
4242
  :thing_group_name,
3721
4243
  :thing_group_id,
3722
4244
  :thing_group_arn,
3723
4245
  :version,
3724
4246
  :thing_group_properties,
3725
- :thing_group_metadata)
4247
+ :thing_group_metadata,
4248
+ :index_name,
4249
+ :query_string,
4250
+ :query_version,
4251
+ :status)
3726
4252
  include Aws::Structure
3727
4253
  end
3728
4254
 
@@ -3861,6 +4387,10 @@ module Aws::IoT
3861
4387
  # </note>
3862
4388
  # @return [Integer]
3863
4389
  #
4390
+ # @!attribute [rw] billing_group_name
4391
+ # The name of the billing group the thing belongs to.
4392
+ # @return [String]
4393
+ #
3864
4394
  class DescribeThingResponse < Struct.new(
3865
4395
  :default_client_id,
3866
4396
  :thing_name,
@@ -3868,7 +4398,8 @@ module Aws::IoT
3868
4398
  :thing_arn,
3869
4399
  :thing_type_name,
3870
4400
  :attributes,
3871
- :version)
4401
+ :version,
4402
+ :billing_group_name)
3872
4403
  include Aws::Structure
3873
4404
  end
3874
4405
 
@@ -4306,6 +4837,44 @@ module Aws::IoT
4306
4837
  include Aws::Structure
4307
4838
  end
4308
4839
 
4840
+ # Allows you to create an exponential rate of rollout for a job.
4841
+ #
4842
+ # @note When making an API call, you may pass ExponentialRolloutRate
4843
+ # data as a hash:
4844
+ #
4845
+ # {
4846
+ # base_rate_per_minute: 1, # required
4847
+ # increment_factor: 1.0, # required
4848
+ # rate_increase_criteria: { # required
4849
+ # number_of_notified_things: 1,
4850
+ # number_of_succeeded_things: 1,
4851
+ # },
4852
+ # }
4853
+ #
4854
+ # @!attribute [rw] base_rate_per_minute
4855
+ # The minimum number of things that will be notified of a pending job,
4856
+ # per minute at the start of job rollout. This parameter allows you to
4857
+ # define the initial rate of rollout.
4858
+ # @return [Integer]
4859
+ #
4860
+ # @!attribute [rw] increment_factor
4861
+ # The exponential factor to increase the rate of rollout for a job.
4862
+ # @return [Float]
4863
+ #
4864
+ # @!attribute [rw] rate_increase_criteria
4865
+ # The criteria to initiate the increase in rate of rollout for a job.
4866
+ #
4867
+ # AWS IoT supports up to one digit after the decimal (for example,
4868
+ # 1.5, but not 1.55).
4869
+ # @return [Types::RateIncreaseCriteria]
4870
+ #
4871
+ class ExponentialRolloutRate < Struct.new(
4872
+ :base_rate_per_minute,
4873
+ :increment_factor,
4874
+ :rate_increase_criteria)
4875
+ include Aws::Structure
4876
+ end
4877
+
4309
4878
  # The location of the OTA update.
4310
4879
  #
4311
4880
  # @note When making an API call, you may pass FileLocation
@@ -4796,6 +5365,10 @@ module Aws::IoT
4796
5365
  # parameter set to `true`.
4797
5366
  # @return [Boolean]
4798
5367
  #
5368
+ # @!attribute [rw] reason_code
5369
+ # If the job was updated, provides the reason code for the update.
5370
+ # @return [String]
5371
+ #
4799
5372
  # @!attribute [rw] comment
4800
5373
  # If the job was updated, describes the reason for the update.
4801
5374
  # @return [String]
@@ -4817,6 +5390,10 @@ module Aws::IoT
4817
5390
  # Allows you to create a staged rollout of a job.
4818
5391
  # @return [Types::JobExecutionsRolloutConfig]
4819
5392
  #
5393
+ # @!attribute [rw] abort_config
5394
+ # Configuration for criteria to abort the job.
5395
+ # @return [Types::AbortConfig]
5396
+ #
4820
5397
  # @!attribute [rw] created_at
4821
5398
  # The time, in milliseconds since the epoch, when the job was created.
4822
5399
  # @return [Time]
@@ -4849,11 +5426,13 @@ module Aws::IoT
4849
5426
  :target_selection,
4850
5427
  :status,
4851
5428
  :force_canceled,
5429
+ :reason_code,
4852
5430
  :comment,
4853
5431
  :targets,
4854
5432
  :description,
4855
5433
  :presigned_url_config,
4856
5434
  :job_executions_rollout_config,
5435
+ :abort_config,
4857
5436
  :created_at,
4858
5437
  :last_updated_at,
4859
5438
  :completed_at,
@@ -4917,7 +5496,11 @@ module Aws::IoT
4917
5496
  #
4918
5497
  # @!attribute [rw] approximate_seconds_before_timed_out
4919
5498
  # The estimated number of seconds that remain before the job execution
4920
- # status will be changed to `TIMED_OUT`.
5499
+ # status will be changed to `TIMED_OUT`. The timeout interval can be
5500
+ # anywhere between 1 minute and 7 days (1 to 10080 minutes). The
5501
+ # actual job execution timeout can occur up to 60 seconds later than
5502
+ # the estimated duration. This value will not be included if the job
5503
+ # execution has reached a terminal status.
4921
5504
  # @return [Integer]
4922
5505
  #
4923
5506
  class JobExecution < Struct.new(
@@ -5023,6 +5606,14 @@ module Aws::IoT
5023
5606
  #
5024
5607
  # {
5025
5608
  # maximum_per_minute: 1,
5609
+ # exponential_rate: {
5610
+ # base_rate_per_minute: 1, # required
5611
+ # increment_factor: 1.0, # required
5612
+ # rate_increase_criteria: { # required
5613
+ # number_of_notified_things: 1,
5614
+ # number_of_succeeded_things: 1,
5615
+ # },
5616
+ # },
5026
5617
  # }
5027
5618
  #
5028
5619
  # @!attribute [rw] maximum_per_minute
@@ -5030,8 +5621,14 @@ module Aws::IoT
5030
5621
  # per minute. This parameter allows you to create a staged rollout.
5031
5622
  # @return [Integer]
5032
5623
  #
5624
+ # @!attribute [rw] exponential_rate
5625
+ # The rate of increase for a job rollout. This parameter allows you to
5626
+ # define an exponential rate for a job rollout.
5627
+ # @return [Types::ExponentialRolloutRate]
5628
+ #
5033
5629
  class JobExecutionsRolloutConfig < Struct.new(
5034
- :maximum_per_minute)
5630
+ :maximum_per_minute,
5631
+ :exponential_rate)
5035
5632
  include Aws::Structure
5036
5633
  end
5037
5634
 
@@ -5506,6 +6103,50 @@ module Aws::IoT
5506
6103
  include Aws::Structure
5507
6104
  end
5508
6105
 
6106
+ # @note When making an API call, you may pass ListBillingGroupsRequest
6107
+ # data as a hash:
6108
+ #
6109
+ # {
6110
+ # next_token: "NextToken",
6111
+ # max_results: 1,
6112
+ # name_prefix_filter: "BillingGroupName",
6113
+ # }
6114
+ #
6115
+ # @!attribute [rw] next_token
6116
+ # The token to retrieve the next set of results.
6117
+ # @return [String]
6118
+ #
6119
+ # @!attribute [rw] max_results
6120
+ # The maximum number of results to return per request.
6121
+ # @return [Integer]
6122
+ #
6123
+ # @!attribute [rw] name_prefix_filter
6124
+ # Limit the results to billing groups whose names have the given
6125
+ # prefix.
6126
+ # @return [String]
6127
+ #
6128
+ class ListBillingGroupsRequest < Struct.new(
6129
+ :next_token,
6130
+ :max_results,
6131
+ :name_prefix_filter)
6132
+ include Aws::Structure
6133
+ end
6134
+
6135
+ # @!attribute [rw] billing_groups
6136
+ # The list of billing groups.
6137
+ # @return [Array<Types::GroupNameAndArn>]
6138
+ #
6139
+ # @!attribute [rw] next_token
6140
+ # The token used to get the next set of results, or **null** if there
6141
+ # are no additional results.
6142
+ # @return [String]
6143
+ #
6144
+ class ListBillingGroupsResponse < Struct.new(
6145
+ :billing_groups,
6146
+ :next_token)
6147
+ include Aws::Structure
6148
+ end
6149
+
5509
6150
  # Input for the ListCACertificates operation.
5510
6151
  #
5511
6152
  # @note When making an API call, you may pass ListCACertificatesRequest
@@ -6392,6 +7033,43 @@ module Aws::IoT
6392
7033
  include Aws::Structure
6393
7034
  end
6394
7035
 
7036
+ # @note When making an API call, you may pass ListTagsForResourceRequest
7037
+ # data as a hash:
7038
+ #
7039
+ # {
7040
+ # resource_arn: "ResourceArn", # required
7041
+ # next_token: "NextToken",
7042
+ # }
7043
+ #
7044
+ # @!attribute [rw] resource_arn
7045
+ # The ARN of the resource.
7046
+ # @return [String]
7047
+ #
7048
+ # @!attribute [rw] next_token
7049
+ # The token to retrieve the next set of results.
7050
+ # @return [String]
7051
+ #
7052
+ class ListTagsForResourceRequest < Struct.new(
7053
+ :resource_arn,
7054
+ :next_token)
7055
+ include Aws::Structure
7056
+ end
7057
+
7058
+ # @!attribute [rw] tags
7059
+ # The list of tags assigned to the resource.
7060
+ # @return [Array<Types::Tag>]
7061
+ #
7062
+ # @!attribute [rw] next_token
7063
+ # The token used to get the next set of results, or **null** if there
7064
+ # are no additional results.
7065
+ # @return [String]
7066
+ #
7067
+ class ListTagsForResourceResponse < Struct.new(
7068
+ :tags,
7069
+ :next_token)
7070
+ include Aws::Structure
7071
+ end
7072
+
6395
7073
  # @note When making an API call, you may pass ListTargetsForPolicyRequest
6396
7074
  # data as a hash:
6397
7075
  #
@@ -6726,26 +7404,69 @@ module Aws::IoT
6726
7404
  # The name of the thing type.
6727
7405
  # @return [String]
6728
7406
  #
6729
- class ListThingTypesRequest < Struct.new(
7407
+ class ListThingTypesRequest < Struct.new(
7408
+ :next_token,
7409
+ :max_results,
7410
+ :thing_type_name)
7411
+ include Aws::Structure
7412
+ end
7413
+
7414
+ # The output for the ListThingTypes operation.
7415
+ #
7416
+ # @!attribute [rw] thing_types
7417
+ # The thing types.
7418
+ # @return [Array<Types::ThingTypeDefinition>]
7419
+ #
7420
+ # @!attribute [rw] next_token
7421
+ # The token for the next set of results, or **null** if there are no
7422
+ # additional results.
7423
+ # @return [String]
7424
+ #
7425
+ class ListThingTypesResponse < Struct.new(
7426
+ :thing_types,
7427
+ :next_token)
7428
+ include Aws::Structure
7429
+ end
7430
+
7431
+ # @note When making an API call, you may pass ListThingsInBillingGroupRequest
7432
+ # data as a hash:
7433
+ #
7434
+ # {
7435
+ # billing_group_name: "BillingGroupName", # required
7436
+ # next_token: "NextToken",
7437
+ # max_results: 1,
7438
+ # }
7439
+ #
7440
+ # @!attribute [rw] billing_group_name
7441
+ # The name of the billing group.
7442
+ # @return [String]
7443
+ #
7444
+ # @!attribute [rw] next_token
7445
+ # The token to retrieve the next set of results.
7446
+ # @return [String]
7447
+ #
7448
+ # @!attribute [rw] max_results
7449
+ # The maximum number of results to return per request.
7450
+ # @return [Integer]
7451
+ #
7452
+ class ListThingsInBillingGroupRequest < Struct.new(
7453
+ :billing_group_name,
6730
7454
  :next_token,
6731
- :max_results,
6732
- :thing_type_name)
7455
+ :max_results)
6733
7456
  include Aws::Structure
6734
7457
  end
6735
7458
 
6736
- # The output for the ListThingTypes operation.
6737
- #
6738
- # @!attribute [rw] thing_types
6739
- # The thing types.
6740
- # @return [Array<Types::ThingTypeDefinition>]
7459
+ # @!attribute [rw] things
7460
+ # A list of things in the billing group.
7461
+ # @return [Array<String>]
6741
7462
  #
6742
7463
  # @!attribute [rw] next_token
6743
- # The token for the next set of results, or **null** if there are no
6744
- # additional results.
7464
+ # The token used to get the next set of results, or **null** if there
7465
+ # are no additional results.
6745
7466
  # @return [String]
6746
7467
  #
6747
- class ListThingTypesResponse < Struct.new(
6748
- :thing_types,
7468
+ class ListThingsInBillingGroupResponse < Struct.new(
7469
+ :things,
6749
7470
  :next_token)
6750
7471
  include Aws::Structure
6751
7472
  end
@@ -7469,6 +8190,33 @@ module Aws::IoT
7469
8190
  include Aws::Structure
7470
8191
  end
7471
8192
 
8193
+ # Allows you to define a criteria to initiate the increase in rate of
8194
+ # rollout for a job.
8195
+ #
8196
+ # @note When making an API call, you may pass RateIncreaseCriteria
8197
+ # data as a hash:
8198
+ #
8199
+ # {
8200
+ # number_of_notified_things: 1,
8201
+ # number_of_succeeded_things: 1,
8202
+ # }
8203
+ #
8204
+ # @!attribute [rw] number_of_notified_things
8205
+ # The threshold for number of notified things that will initiate the
8206
+ # increase in rate of rollout.
8207
+ # @return [Integer]
8208
+ #
8209
+ # @!attribute [rw] number_of_succeeded_things
8210
+ # The threshold for number of succeeded things that will initiate the
8211
+ # increase in rate of rollout.
8212
+ # @return [Integer]
8213
+ #
8214
+ class RateIncreaseCriteria < Struct.new(
8215
+ :number_of_notified_things,
8216
+ :number_of_succeeded_things)
8217
+ include Aws::Structure
8218
+ end
8219
+
7472
8220
  # The input to the RegisterCACertificate operation.
7473
8221
  #
7474
8222
  # @note When making an API call, you may pass RegisterCACertificateRequest
@@ -7704,6 +8452,42 @@ module Aws::IoT
7704
8452
  include Aws::Structure
7705
8453
  end
7706
8454
 
8455
+ # @note When making an API call, you may pass RemoveThingFromBillingGroupRequest
8456
+ # data as a hash:
8457
+ #
8458
+ # {
8459
+ # billing_group_name: "BillingGroupName",
8460
+ # billing_group_arn: "BillingGroupArn",
8461
+ # thing_name: "ThingName",
8462
+ # thing_arn: "ThingArn",
8463
+ # }
8464
+ #
8465
+ # @!attribute [rw] billing_group_name
8466
+ # The name of the billing group.
8467
+ # @return [String]
8468
+ #
8469
+ # @!attribute [rw] billing_group_arn
8470
+ # The ARN of the billing group.
8471
+ # @return [String]
8472
+ #
8473
+ # @!attribute [rw] thing_name
8474
+ # The name of the thing to be removed from the billing group.
8475
+ # @return [String]
8476
+ #
8477
+ # @!attribute [rw] thing_arn
8478
+ # The ARN of the thing to be removed from the billing group.
8479
+ # @return [String]
8480
+ #
8481
+ class RemoveThingFromBillingGroupRequest < Struct.new(
8482
+ :billing_group_name,
8483
+ :billing_group_arn,
8484
+ :thing_name,
8485
+ :thing_arn)
8486
+ include Aws::Structure
8487
+ end
8488
+
8489
+ class RemoveThingFromBillingGroupResponse < Aws::EmptyStructure; end
8490
+
7707
8491
  # @note When making an API call, you may pass RemoveThingFromThingGroupRequest
7708
8492
  # data as a hash:
7709
8493
  #
@@ -8849,6 +9633,59 @@ module Aws::IoT
8849
9633
  include Aws::Structure
8850
9634
  end
8851
9635
 
9636
+ # A set of key/value pairs that are used to manage the resource.
9637
+ #
9638
+ # @note When making an API call, you may pass Tag
9639
+ # data as a hash:
9640
+ #
9641
+ # {
9642
+ # key: "TagKey",
9643
+ # value: "TagValue",
9644
+ # }
9645
+ #
9646
+ # @!attribute [rw] key
9647
+ # The tag's key.
9648
+ # @return [String]
9649
+ #
9650
+ # @!attribute [rw] value
9651
+ # The tag's value.
9652
+ # @return [String]
9653
+ #
9654
+ class Tag < Struct.new(
9655
+ :key,
9656
+ :value)
9657
+ include Aws::Structure
9658
+ end
9659
+
9660
+ # @note When making an API call, you may pass TagResourceRequest
9661
+ # data as a hash:
9662
+ #
9663
+ # {
9664
+ # resource_arn: "ResourceArn", # required
9665
+ # tags: [ # required
9666
+ # {
9667
+ # key: "TagKey",
9668
+ # value: "TagValue",
9669
+ # },
9670
+ # ],
9671
+ # }
9672
+ #
9673
+ # @!attribute [rw] resource_arn
9674
+ # The ARN of the resource.
9675
+ # @return [String]
9676
+ #
9677
+ # @!attribute [rw] tags
9678
+ # The new or modified tags for the resource.
9679
+ # @return [Array<Types::Tag>]
9680
+ #
9681
+ class TagResourceRequest < Struct.new(
9682
+ :resource_arn,
9683
+ :tags)
9684
+ include Aws::Structure
9685
+ end
9686
+
9687
+ class TagResourceResponse < Aws::EmptyStructure; end
9688
+
8852
9689
  # Statistics for the checks performed during the audit.
8853
9690
  #
8854
9691
  # @!attribute [rw] total_checks
@@ -9047,6 +9884,25 @@ module Aws::IoT
9047
9884
  include Aws::Structure
9048
9885
  end
9049
9886
 
9887
+ # The connectivity status of the thing.
9888
+ #
9889
+ # @!attribute [rw] connected
9890
+ # True if the thing is connected to the AWS IoT service, false if it
9891
+ # is not connected.
9892
+ # @return [Boolean]
9893
+ #
9894
+ # @!attribute [rw] timestamp
9895
+ # The epoch time (in milliseconds) when the thing last connected or
9896
+ # disconnected. Note that if the thing has been disconnected for more
9897
+ # than a few weeks, the time value can be missing.
9898
+ # @return [Integer]
9899
+ #
9900
+ class ThingConnectivity < Struct.new(
9901
+ :connected,
9902
+ :timestamp)
9903
+ include Aws::Structure
9904
+ end
9905
+
9050
9906
  # The thing search index document.
9051
9907
  #
9052
9908
  # @!attribute [rw] thing_name
@@ -9073,13 +9929,19 @@ module Aws::IoT
9073
9929
  # The shadow.
9074
9930
  # @return [String]
9075
9931
  #
9932
+ # @!attribute [rw] connectivity
9933
+ # Indicates whether or not the thing is connected to the AWS IoT
9934
+ # service.
9935
+ # @return [Types::ThingConnectivity]
9936
+ #
9076
9937
  class ThingDocument < Struct.new(
9077
9938
  :thing_name,
9078
9939
  :thing_id,
9079
9940
  :thing_type_name,
9080
9941
  :thing_group_names,
9081
9942
  :attributes,
9082
- :shadow)
9943
+ :shadow,
9944
+ :connectivity)
9083
9945
  include Aws::Structure
9084
9946
  end
9085
9947
 
@@ -9182,13 +10044,19 @@ module Aws::IoT
9182
10044
  include Aws::Structure
9183
10045
  end
9184
10046
 
9185
- # Thing indexing configuration.
10047
+ # The thing indexing configuration. For more information, see [Managing
10048
+ # Thing Indexing][1].
10049
+ #
10050
+ #
10051
+ #
10052
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/managing-index.html
9186
10053
  #
9187
10054
  # @note When making an API call, you may pass ThingIndexingConfiguration
9188
10055
  # data as a hash:
9189
10056
  #
9190
10057
  # {
9191
10058
  # thing_indexing_mode: "OFF", # required, accepts OFF, REGISTRY, REGISTRY_AND_SHADOW
10059
+ # thing_connectivity_indexing_mode: "OFF", # accepts OFF, STATUS
9192
10060
  # }
9193
10061
  #
9194
10062
  # @!attribute [rw] thing_indexing_mode
@@ -9202,8 +10070,19 @@ module Aws::IoT
9202
10070
  # * OFF - Thing indexing is disabled.
9203
10071
  # @return [String]
9204
10072
  #
10073
+ # @!attribute [rw] thing_connectivity_indexing_mode
10074
+ # Thing connectivity indexing mode. Valid values are:
10075
+ #
10076
+ # * STATUS – Your thing index will contain connectivity status. In
10077
+ # order to enable thing connectivity indexing, thingIndexMode must
10078
+ # not be set to OFF.
10079
+ #
10080
+ # * OFF - Thing connectivity status indexing is disabled.
10081
+ # @return [String]
10082
+ #
9205
10083
  class ThingIndexingConfiguration < Struct.new(
9206
- :thing_indexing_mode)
10084
+ :thing_indexing_mode,
10085
+ :thing_connectivity_indexing_mode)
9207
10086
  include Aws::Structure
9208
10087
  end
9209
10088
 
@@ -9303,15 +10182,12 @@ module Aws::IoT
9303
10182
  #
9304
10183
  # @!attribute [rw] in_progress_timeout_in_minutes
9305
10184
  # Specifies the amount of time, in minutes, this device has to finish
9306
- # execution of this job. A timer is started, or restarted, whenever
9307
- # this job's execution status is specified as `IN_PROGRESS` with this
9308
- # field populated. If the job execution status is not set to a
9309
- # terminal state before the timer expires, or before another job
9310
- # execution status update is sent with this field populated, the
9311
- # status will be automatically set to `TIMED_OUT`. Note that
9312
- # setting/resetting this timer has no effect on the job execution
9313
- # timeout timer which may have been specified when the job was created
9314
- # (`CreateJobExecution` using the field `timeoutConfig`).
10185
+ # execution of this job. The timeout interval can be anywhere between
10186
+ # 1 minute and 7 days (1 to 10080 minutes). The in progress timer
10187
+ # can't be updated and will apply to all job executions for the job.
10188
+ # Whenever a job execution remains in the IN\_PROGRESS status for
10189
+ # longer than this interval, the job execution will fail and switch to
10190
+ # the terminal `TIMED_OUT` status.
9315
10191
  # @return [Integer]
9316
10192
  #
9317
10193
  class TimeoutConfig < Struct.new(
@@ -9699,6 +10575,30 @@ module Aws::IoT
9699
10575
  include Aws::Structure
9700
10576
  end
9701
10577
 
10578
+ # @note When making an API call, you may pass UntagResourceRequest
10579
+ # data as a hash:
10580
+ #
10581
+ # {
10582
+ # resource_arn: "ResourceArn", # required
10583
+ # tag_keys: ["TagKey"], # required
10584
+ # }
10585
+ #
10586
+ # @!attribute [rw] resource_arn
10587
+ # The ARN of the resource.
10588
+ # @return [String]
10589
+ #
10590
+ # @!attribute [rw] tag_keys
10591
+ # A list of the keys of the tags to be removed from the resource.
10592
+ # @return [Array<String>]
10593
+ #
10594
+ class UntagResourceRequest < Struct.new(
10595
+ :resource_arn,
10596
+ :tag_keys)
10597
+ include Aws::Structure
10598
+ end
10599
+
10600
+ class UntagResourceResponse < Aws::EmptyStructure; end
10601
+
9702
10602
  # @note When making an API call, you may pass UpdateAccountAuditConfigurationRequest
9703
10603
  # data as a hash:
9704
10604
  #
@@ -9810,6 +10710,48 @@ module Aws::IoT
9810
10710
  include Aws::Structure
9811
10711
  end
9812
10712
 
10713
+ # @note When making an API call, you may pass UpdateBillingGroupRequest
10714
+ # data as a hash:
10715
+ #
10716
+ # {
10717
+ # billing_group_name: "BillingGroupName", # required
10718
+ # billing_group_properties: { # required
10719
+ # billing_group_description: "BillingGroupDescription",
10720
+ # },
10721
+ # expected_version: 1,
10722
+ # }
10723
+ #
10724
+ # @!attribute [rw] billing_group_name
10725
+ # The name of the billing group.
10726
+ # @return [String]
10727
+ #
10728
+ # @!attribute [rw] billing_group_properties
10729
+ # The properties of the billing group.
10730
+ # @return [Types::BillingGroupProperties]
10731
+ #
10732
+ # @!attribute [rw] expected_version
10733
+ # The expected version of the billing group. If the version of the
10734
+ # billing group does not match the expected version specified in the
10735
+ # request, the `UpdateBillingGroup` request is rejected with a
10736
+ # `VersionConflictException`.
10737
+ # @return [Integer]
10738
+ #
10739
+ class UpdateBillingGroupRequest < Struct.new(
10740
+ :billing_group_name,
10741
+ :billing_group_properties,
10742
+ :expected_version)
10743
+ include Aws::Structure
10744
+ end
10745
+
10746
+ # @!attribute [rw] version
10747
+ # The latest version of the billing group.
10748
+ # @return [Integer]
10749
+ #
10750
+ class UpdateBillingGroupResponse < Struct.new(
10751
+ :version)
10752
+ include Aws::Structure
10753
+ end
10754
+
9813
10755
  # The input to the UpdateCACertificate operation.
9814
10756
  #
9815
10757
  # @note When making an API call, you may pass UpdateCACertificateRequest
@@ -9891,6 +10833,78 @@ module Aws::IoT
9891
10833
  include Aws::Structure
9892
10834
  end
9893
10835
 
10836
+ # @note When making an API call, you may pass UpdateDynamicThingGroupRequest
10837
+ # data as a hash:
10838
+ #
10839
+ # {
10840
+ # thing_group_name: "ThingGroupName", # required
10841
+ # thing_group_properties: { # required
10842
+ # thing_group_description: "ThingGroupDescription",
10843
+ # attribute_payload: {
10844
+ # attributes: {
10845
+ # "AttributeName" => "AttributeValue",
10846
+ # },
10847
+ # merge: false,
10848
+ # },
10849
+ # },
10850
+ # expected_version: 1,
10851
+ # index_name: "IndexName",
10852
+ # query_string: "QueryString",
10853
+ # query_version: "QueryVersion",
10854
+ # }
10855
+ #
10856
+ # @!attribute [rw] thing_group_name
10857
+ # The name of the dynamic thing group to update.
10858
+ # @return [String]
10859
+ #
10860
+ # @!attribute [rw] thing_group_properties
10861
+ # The dynamic thing group properties to update.
10862
+ # @return [Types::ThingGroupProperties]
10863
+ #
10864
+ # @!attribute [rw] expected_version
10865
+ # The expected version of the dynamic thing group to update.
10866
+ # @return [Integer]
10867
+ #
10868
+ # @!attribute [rw] index_name
10869
+ # The dynamic thing group index to update.
10870
+ #
10871
+ # <note markdown="1"> Currently one index is supported: 'AWS\_Things'.
10872
+ #
10873
+ # </note>
10874
+ # @return [String]
10875
+ #
10876
+ # @!attribute [rw] query_string
10877
+ # The dynamic thing group search query string to update.
10878
+ # @return [String]
10879
+ #
10880
+ # @!attribute [rw] query_version
10881
+ # The dynamic thing group query version to update.
10882
+ #
10883
+ # <note markdown="1"> Currently one query version is supported: "2017-09-30". If not
10884
+ # specified, the query version defaults to this value.
10885
+ #
10886
+ # </note>
10887
+ # @return [String]
10888
+ #
10889
+ class UpdateDynamicThingGroupRequest < Struct.new(
10890
+ :thing_group_name,
10891
+ :thing_group_properties,
10892
+ :expected_version,
10893
+ :index_name,
10894
+ :query_string,
10895
+ :query_version)
10896
+ include Aws::Structure
10897
+ end
10898
+
10899
+ # @!attribute [rw] version
10900
+ # The dynamic thing group version.
10901
+ # @return [Integer]
10902
+ #
10903
+ class UpdateDynamicThingGroupResponse < Struct.new(
10904
+ :version)
10905
+ include Aws::Structure
10906
+ end
10907
+
9894
10908
  # @note When making an API call, you may pass UpdateEventConfigurationsRequest
9895
10909
  # data as a hash:
9896
10910
  #
@@ -9919,6 +10933,7 @@ module Aws::IoT
9919
10933
  # {
9920
10934
  # thing_indexing_configuration: {
9921
10935
  # thing_indexing_mode: "OFF", # required, accepts OFF, REGISTRY, REGISTRY_AND_SHADOW
10936
+ # thing_connectivity_indexing_mode: "OFF", # accepts OFF, STATUS
9922
10937
  # },
9923
10938
  # thing_group_indexing_configuration: {
9924
10939
  # thing_group_indexing_mode: "OFF", # required, accepts OFF, ON
@@ -9941,6 +10956,80 @@ module Aws::IoT
9941
10956
 
9942
10957
  class UpdateIndexingConfigurationResponse < Aws::EmptyStructure; end
9943
10958
 
10959
+ # @note When making an API call, you may pass UpdateJobRequest
10960
+ # data as a hash:
10961
+ #
10962
+ # {
10963
+ # job_id: "JobId", # required
10964
+ # description: "JobDescription",
10965
+ # presigned_url_config: {
10966
+ # role_arn: "RoleArn",
10967
+ # expires_in_sec: 1,
10968
+ # },
10969
+ # job_executions_rollout_config: {
10970
+ # maximum_per_minute: 1,
10971
+ # exponential_rate: {
10972
+ # base_rate_per_minute: 1, # required
10973
+ # increment_factor: 1.0, # required
10974
+ # rate_increase_criteria: { # required
10975
+ # number_of_notified_things: 1,
10976
+ # number_of_succeeded_things: 1,
10977
+ # },
10978
+ # },
10979
+ # },
10980
+ # abort_config: {
10981
+ # criteria_list: [ # required
10982
+ # {
10983
+ # failure_type: "FAILED", # required, accepts FAILED, REJECTED, TIMED_OUT, ALL
10984
+ # action: "CANCEL", # required, accepts CANCEL
10985
+ # threshold_percentage: 1.0, # required
10986
+ # min_number_of_executed_things: 1, # required
10987
+ # },
10988
+ # ],
10989
+ # },
10990
+ # timeout_config: {
10991
+ # in_progress_timeout_in_minutes: 1,
10992
+ # },
10993
+ # }
10994
+ #
10995
+ # @!attribute [rw] job_id
10996
+ # The ID of the job to be updated.
10997
+ # @return [String]
10998
+ #
10999
+ # @!attribute [rw] description
11000
+ # A short text description of the job.
11001
+ # @return [String]
11002
+ #
11003
+ # @!attribute [rw] presigned_url_config
11004
+ # Configuration information for pre-signed S3 URLs.
11005
+ # @return [Types::PresignedUrlConfig]
11006
+ #
11007
+ # @!attribute [rw] job_executions_rollout_config
11008
+ # Allows you to create a staged rollout of the job.
11009
+ # @return [Types::JobExecutionsRolloutConfig]
11010
+ #
11011
+ # @!attribute [rw] abort_config
11012
+ # Allows you to create criteria to abort a job.
11013
+ # @return [Types::AbortConfig]
11014
+ #
11015
+ # @!attribute [rw] timeout_config
11016
+ # Specifies the amount of time each device has to finish its execution
11017
+ # of the job. The timer is started when the job execution status is
11018
+ # set to `IN_PROGRESS`. If the job execution status is not set to
11019
+ # another terminal state before the time expires, it will be
11020
+ # automatically set to `TIMED_OUT`.
11021
+ # @return [Types::TimeoutConfig]
11022
+ #
11023
+ class UpdateJobRequest < Struct.new(
11024
+ :job_id,
11025
+ :description,
11026
+ :presigned_url_config,
11027
+ :job_executions_rollout_config,
11028
+ :abort_config,
11029
+ :timeout_config)
11030
+ include Aws::Structure
11031
+ end
11032
+
9944
11033
  # @note When making an API call, you may pass UpdateRoleAliasRequest
9945
11034
  # data as a hash:
9946
11035
  #
@@ -10275,6 +11364,7 @@ module Aws::IoT
10275
11364
  # thing_name: "ThingName",
10276
11365
  # thing_groups_to_add: ["ThingGroupName"],
10277
11366
  # thing_groups_to_remove: ["ThingGroupName"],
11367
+ # override_dynamic_groups: false,
10278
11368
  # }
10279
11369
  #
10280
11370
  # @!attribute [rw] thing_name
@@ -10289,10 +11379,18 @@ module Aws::IoT
10289
11379
  # The groups from which the thing will be removed.
10290
11380
  # @return [Array<String>]
10291
11381
  #
11382
+ # @!attribute [rw] override_dynamic_groups
11383
+ # Override dynamic thing groups with static thing groups when 10-group
11384
+ # limit is reached. If a thing belongs to 10 thing groups, and one or
11385
+ # more of those groups are dynamic thing groups, adding a thing to a
11386
+ # static group removes the thing from the last dynamic group.
11387
+ # @return [Boolean]
11388
+ #
10292
11389
  class UpdateThingGroupsForThingRequest < Struct.new(
10293
11390
  :thing_name,
10294
11391
  :thing_groups_to_add,
10295
- :thing_groups_to_remove)
11392
+ :thing_groups_to_remove,
11393
+ :override_dynamic_groups)
10296
11394
  include Aws::Structure
10297
11395
  end
10298
11396