aws-sdk-iot 1.18.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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