aws-sdk-iot 1.45.0 → 1.50.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3e8d2e53276b04ad2282b5d2e43438facd487869142548e8b7a24b900a5f85f9
4
- data.tar.gz: 39e28e44523037fefc8ba4d41dd538b7398faacb2400b8a73158c23ef8a37d7a
3
+ metadata.gz: 01b35368d21e6fb72fc3b60803febf189323891c92877891eba4b101a26a69e4
4
+ data.tar.gz: 2b1d6d71fb500d7a7847b58f4c753b5871dbd877e563a74e9b6a68b9e10f849f
5
5
  SHA512:
6
- metadata.gz: 2ac0b8aad04714e57f4ce43257cf6bf86320482ef7a0246cd7cddd82ad36416e5258cb7f1c54d6978a8d17cf306c70ea0bed6f8c94a1b47c00b94fa308ab22d8
7
- data.tar.gz: ced9f72cbd1ff1aec07ecd1ab0f7df12e7c78e82cf75b39222ef65fed0ad09e3b504abed221b39b5bb52280eabd6c1f9b861e26cf198e422b401c663281a3600
6
+ metadata.gz: ada436a013eaf94d2c938a3254e03c5185407af27ebe527e8c66f5bb5ef8ce8534a1f218643f917a155aac8a26a1474f390bf21ce4d3f942881af7c58db00e75
7
+ data.tar.gz: 6093005b5df62dccfab3df3d9790e95778257f9622006c84e51e755c0cbf59091803234799e4f4a1df2cb5e6543ee70ca1bbab2a7e4873463bd54a207b7926d8
@@ -45,6 +45,6 @@ require_relative 'aws-sdk-iot/customizations'
45
45
  # @service
46
46
  module Aws::IoT
47
47
 
48
- GEM_VERSION = '1.45.0'
48
+ GEM_VERSION = '1.50.0'
49
49
 
50
50
  end
@@ -105,7 +105,7 @@ module Aws::IoT
105
105
  # @option options [required, String] :region
106
106
  # The AWS region to connect to. The configured `:region` is
107
107
  # used to determine the service `:endpoint`. When not passed,
108
- # a default `:region` is search for in the following locations:
108
+ # a default `:region` is searched for in the following locations:
109
109
  #
110
110
  # * `Aws.config[:region]`
111
111
  # * `ENV['AWS_REGION']`
@@ -161,7 +161,7 @@ module Aws::IoT
161
161
  # @option options [String] :endpoint
162
162
  # The client endpoint is normally constructed from the `:region`
163
163
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be avalid HTTP(S) URI.
164
+ # to test endpoints. This should be a valid HTTP(S) URI.
165
165
  #
166
166
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
167
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -176,7 +176,7 @@ module Aws::IoT
176
176
  # requests fetching endpoints information. Defaults to 60 sec.
177
177
  #
178
178
  # @option options [Boolean] :endpoint_discovery (false)
179
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
179
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
180
180
  #
181
181
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
182
182
  # The log formatter.
@@ -269,8 +269,7 @@ module Aws::IoT
269
269
  #
270
270
  # @option options [Integer] :http_read_timeout (60) The default
271
271
  # number of seconds to wait for response data. This value can
272
- # safely be set
273
- # per-request on the session yielded by {#session_for}.
272
+ # safely be set per-request on the session.
274
273
  #
275
274
  # @option options [Float] :http_idle_timeout (5) The number of
276
275
  # seconds a connection is allowed to sit idle before it is
@@ -282,7 +281,7 @@ module Aws::IoT
282
281
  # request body. This option has no effect unless the request has
283
282
  # "Expect" header set to "100-continue". Defaults to `nil` which
284
283
  # disables this behaviour. This value can safely be set per
285
- # request on the session yielded by {#session_for}.
284
+ # request on the session.
286
285
  #
287
286
  # @option options [Boolean] :http_wire_trace (false) When `true`,
288
287
  # HTTP debug output will be sent to the `:logger`.
@@ -801,6 +800,20 @@ module Aws::IoT
801
800
  # @option params [String] :status
802
801
  # The status of the create authorizer request.
803
802
  #
803
+ # @option params [Array<Types::Tag>] :tags
804
+ # Metadata which can be used to manage the custom authorizer.
805
+ #
806
+ # <note markdown="1"> For URI Request parameters use format:
807
+ # ...key1=value1&amp;key2=value2...
808
+ #
809
+ # For the CLI command-line parameter use format: &amp;&amp;tags
810
+ # "key1=value1&amp;key2=value2..."
811
+ #
812
+ # For the cli-input-json file use format: "tags":
813
+ # "key1=value1&amp;key2=value2..."
814
+ #
815
+ # </note>
816
+ #
804
817
  # @option params [Boolean] :signing_disabled
805
818
  # Specifies whether AWS IoT validates the token signature in an
806
819
  # authorization request.
@@ -820,6 +833,12 @@ module Aws::IoT
820
833
  # "KeyName" => "KeyValue",
821
834
  # },
822
835
  # status: "ACTIVE", # accepts ACTIVE, INACTIVE
836
+ # tags: [
837
+ # {
838
+ # key: "TagKey", # required
839
+ # value: "TagValue",
840
+ # },
841
+ # ],
823
842
  # signing_disabled: false,
824
843
  # })
825
844
  #
@@ -861,7 +880,7 @@ module Aws::IoT
861
880
  # },
862
881
  # tags: [
863
882
  # {
864
- # key: "TagKey",
883
+ # key: "TagKey", # required
865
884
  # value: "TagValue",
866
885
  # },
867
886
  # ],
@@ -961,6 +980,68 @@ module Aws::IoT
961
980
  req.send_request(options)
962
981
  end
963
982
 
983
+ # Create a dimension that you can use to limit the scope of a metric
984
+ # used in a security profile for AWS IoT Device Defender. For example,
985
+ # using a `TOPIC_FILTER` dimension, you can narrow down the scope of the
986
+ # metric only to MQTT topics whose name match the pattern specified in
987
+ # the dimension.
988
+ #
989
+ # @option params [required, String] :name
990
+ # A unique identifier for the dimension. Choose something that describes
991
+ # the type and value to make it easy to remember what it does.
992
+ #
993
+ # @option params [required, String] :type
994
+ # Specifies the type of dimension. Supported types: `TOPIC_FILTER.`
995
+ #
996
+ # @option params [required, Array<String>] :string_values
997
+ # Specifies the value or list of values for the dimension. For
998
+ # `TOPIC_FILTER` dimensions, this is a pattern used to match the MQTT
999
+ # topic (for example, "admin/#").
1000
+ #
1001
+ # @option params [Array<Types::Tag>] :tags
1002
+ # Metadata that can be used to manage the dimension.
1003
+ #
1004
+ # @option params [required, String] :client_request_token
1005
+ # Each dimension must have a unique client request token. If you try to
1006
+ # create a new dimension with the same token as a dimension that already
1007
+ # exists, an exception occurs. If you omit this value, AWS SDKs will
1008
+ # automatically generate a unique client request.
1009
+ #
1010
+ # **A suitable default value is auto-generated.** You should normally
1011
+ # not need to pass this option.**
1012
+ #
1013
+ # @return [Types::CreateDimensionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1014
+ #
1015
+ # * {Types::CreateDimensionResponse#name #name} => String
1016
+ # * {Types::CreateDimensionResponse#arn #arn} => String
1017
+ #
1018
+ # @example Request syntax with placeholder values
1019
+ #
1020
+ # resp = client.create_dimension({
1021
+ # name: "DimensionName", # required
1022
+ # type: "TOPIC_FILTER", # required, accepts TOPIC_FILTER
1023
+ # string_values: ["DimensionStringValue"], # required
1024
+ # tags: [
1025
+ # {
1026
+ # key: "TagKey", # required
1027
+ # value: "TagValue",
1028
+ # },
1029
+ # ],
1030
+ # client_request_token: "ClientRequestToken", # required
1031
+ # })
1032
+ #
1033
+ # @example Response structure
1034
+ #
1035
+ # resp.name #=> String
1036
+ # resp.arn #=> String
1037
+ #
1038
+ # @overload create_dimension(params = {})
1039
+ # @param [Hash] params ({})
1040
+ def create_dimension(params = {}, options = {})
1041
+ req = build_request(:create_dimension, params)
1042
+ req.send_request(options)
1043
+ end
1044
+
964
1045
  # Creates a domain configuration.
965
1046
  #
966
1047
  # <note markdown="1"> The domain configuration feature is in public preview and is subject
@@ -992,6 +1073,24 @@ module Aws::IoT
992
1073
  # @option params [String] :service_type
993
1074
  # The type of service delivered by the endpoint.
994
1075
  #
1076
+ # <note markdown="1"> AWS IoT Core currently supports only the `DATA` service type.
1077
+ #
1078
+ # </note>
1079
+ #
1080
+ # @option params [Array<Types::Tag>] :tags
1081
+ # Metadata which can be used to manage the domain configuration.
1082
+ #
1083
+ # <note markdown="1"> For URI Request parameters use format:
1084
+ # ...key1=value1&amp;key2=value2...
1085
+ #
1086
+ # For the CLI command-line parameter use format: &amp;&amp;tags
1087
+ # "key1=value1&amp;key2=value2..."
1088
+ #
1089
+ # For the cli-input-json file use format: "tags":
1090
+ # "key1=value1&amp;key2=value2..."
1091
+ #
1092
+ # </note>
1093
+ #
995
1094
  # @return [Types::CreateDomainConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
996
1095
  #
997
1096
  # * {Types::CreateDomainConfigurationResponse#domain_configuration_name #domain_configuration_name} => String
@@ -1009,6 +1108,12 @@ module Aws::IoT
1009
1108
  # allow_authorizer_override: false,
1010
1109
  # },
1011
1110
  # service_type: "DATA", # accepts DATA, CREDENTIAL_PROVIDER, JOBS
1111
+ # tags: [
1112
+ # {
1113
+ # key: "TagKey", # required
1114
+ # value: "TagValue",
1115
+ # },
1116
+ # ],
1012
1117
  # })
1013
1118
  #
1014
1119
  # @example Response structure
@@ -1085,7 +1190,7 @@ module Aws::IoT
1085
1190
  # query_version: "QueryVersion",
1086
1191
  # tags: [
1087
1192
  # {
1088
- # key: "TagKey",
1193
+ # key: "TagKey", # required
1089
1194
  # value: "TagValue",
1090
1195
  # },
1091
1196
  # ],
@@ -1210,7 +1315,7 @@ module Aws::IoT
1210
1315
  # },
1211
1316
  # tags: [
1212
1317
  # {
1213
- # key: "TagKey",
1318
+ # key: "TagKey", # required
1214
1319
  # value: "TagValue",
1215
1320
  # },
1216
1321
  # ],
@@ -1323,7 +1428,7 @@ module Aws::IoT
1323
1428
  # },
1324
1429
  # tags: [
1325
1430
  # {
1326
- # key: "TagKey",
1431
+ # key: "TagKey", # required
1327
1432
  # value: "TagValue",
1328
1433
  # },
1329
1434
  # ],
@@ -1460,7 +1565,7 @@ module Aws::IoT
1460
1565
  # },
1461
1566
  # tags: [
1462
1567
  # {
1463
- # key: "TagKey",
1568
+ # key: "TagKey", # required
1464
1569
  # value: "TagValue",
1465
1570
  # },
1466
1571
  # ],
@@ -1495,6 +1600,20 @@ module Aws::IoT
1495
1600
  # have a minimum length of 1, with a maximum length of 2048, excluding
1496
1601
  # whitespace.
1497
1602
  #
1603
+ # @option params [Array<Types::Tag>] :tags
1604
+ # Metadata which can be used to manage the policy.
1605
+ #
1606
+ # <note markdown="1"> For URI Request parameters use format:
1607
+ # ...key1=value1&amp;key2=value2...
1608
+ #
1609
+ # For the CLI command-line parameter use format: &amp;&amp;tags
1610
+ # "key1=value1&amp;key2=value2..."
1611
+ #
1612
+ # For the cli-input-json file use format: "tags":
1613
+ # "key1=value1&amp;key2=value2..."
1614
+ #
1615
+ # </note>
1616
+ #
1498
1617
  # @return [Types::CreatePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1499
1618
  #
1500
1619
  # * {Types::CreatePolicyResponse#policy_name #policy_name} => String
@@ -1507,6 +1626,12 @@ module Aws::IoT
1507
1626
  # resp = client.create_policy({
1508
1627
  # policy_name: "PolicyName", # required
1509
1628
  # policy_document: "PolicyDocument", # required
1629
+ # tags: [
1630
+ # {
1631
+ # key: "TagKey", # required
1632
+ # value: "TagValue",
1633
+ # },
1634
+ # ],
1510
1635
  # })
1511
1636
  #
1512
1637
  # @example Response structure
@@ -1627,6 +1752,9 @@ module Aws::IoT
1627
1752
  # The role ARN for the role associated with the fleet provisioning
1628
1753
  # template. This IoT role grants permission to provision a device.
1629
1754
  #
1755
+ # @option params [Types::ProvisioningHook] :pre_provisioning_hook
1756
+ # Creates a pre-provisioning hook template.
1757
+ #
1630
1758
  # @option params [Array<Types::Tag>] :tags
1631
1759
  # Metadata which can be used to manage the fleet provisioning template.
1632
1760
  #
@@ -1655,9 +1783,13 @@ module Aws::IoT
1655
1783
  # template_body: "TemplateBody", # required
1656
1784
  # enabled: false,
1657
1785
  # provisioning_role_arn: "RoleArn", # required
1786
+ # pre_provisioning_hook: {
1787
+ # payload_version: "PayloadVersion",
1788
+ # target_arn: "TargetArn", # required
1789
+ # },
1658
1790
  # tags: [
1659
1791
  # {
1660
- # key: "TagKey",
1792
+ # key: "TagKey", # required
1661
1793
  # value: "TagValue",
1662
1794
  # },
1663
1795
  # ],
@@ -1728,6 +1860,20 @@ module Aws::IoT
1728
1860
  # @option params [Integer] :credential_duration_seconds
1729
1861
  # How long (in seconds) the credentials will be valid.
1730
1862
  #
1863
+ # @option params [Array<Types::Tag>] :tags
1864
+ # Metadata which can be used to manage the role alias.
1865
+ #
1866
+ # <note markdown="1"> For URI Request parameters use format:
1867
+ # ...key1=value1&amp;key2=value2...
1868
+ #
1869
+ # For the CLI command-line parameter use format: &amp;&amp;tags
1870
+ # "key1=value1&amp;key2=value2..."
1871
+ #
1872
+ # For the cli-input-json file use format: "tags":
1873
+ # "key1=value1&amp;key2=value2..."
1874
+ #
1875
+ # </note>
1876
+ #
1731
1877
  # @return [Types::CreateRoleAliasResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1732
1878
  #
1733
1879
  # * {Types::CreateRoleAliasResponse#role_alias #role_alias} => String
@@ -1739,6 +1885,12 @@ module Aws::IoT
1739
1885
  # role_alias: "RoleAlias", # required
1740
1886
  # role_arn: "RoleArn", # required
1741
1887
  # credential_duration_seconds: 1,
1888
+ # tags: [
1889
+ # {
1890
+ # key: "TagKey", # required
1891
+ # value: "TagValue",
1892
+ # },
1893
+ # ],
1742
1894
  # })
1743
1895
  #
1744
1896
  # @example Response structure
@@ -1799,7 +1951,7 @@ module Aws::IoT
1799
1951
  # scheduled_audit_name: "ScheduledAuditName", # required
1800
1952
  # tags: [
1801
1953
  # {
1802
- # key: "TagKey",
1954
+ # key: "TagKey", # required
1803
1955
  # value: "TagValue",
1804
1956
  # },
1805
1957
  # ],
@@ -1838,6 +1990,14 @@ module Aws::IoT
1838
1990
  # retained for any metric used in the profile's `behaviors`, but it is
1839
1991
  # also retained for any metric specified here.
1840
1992
  #
1993
+ # **Note:** This API field is deprecated. Please use
1994
+ # CreateSecurityProfileRequest$additionalMetricsToRetainV2 instead.
1995
+ #
1996
+ # @option params [Array<Types::MetricToRetain>] :additional_metrics_to_retain_v2
1997
+ # A list of metrics whose data is retained (stored). By default, data is
1998
+ # retained for any metric used in the profile's `behaviors`, but it is
1999
+ # also retained for any metric specified here.
2000
+ #
1841
2001
  # @option params [Array<Types::Tag>] :tags
1842
2002
  # Metadata that can be used to manage the security profile.
1843
2003
  #
@@ -1855,6 +2015,10 @@ module Aws::IoT
1855
2015
  # {
1856
2016
  # name: "BehaviorName", # required
1857
2017
  # metric: "BehaviorMetric",
2018
+ # metric_dimension: {
2019
+ # dimension_name: "DimensionName", # required
2020
+ # operator: "IN", # accepts IN, NOT_IN
2021
+ # },
1858
2022
  # criteria: {
1859
2023
  # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
1860
2024
  # value: {
@@ -1878,9 +2042,18 @@ module Aws::IoT
1878
2042
  # },
1879
2043
  # },
1880
2044
  # additional_metrics_to_retain: ["BehaviorMetric"],
2045
+ # additional_metrics_to_retain_v2: [
2046
+ # {
2047
+ # metric: "BehaviorMetric", # required
2048
+ # metric_dimension: {
2049
+ # dimension_name: "DimensionName", # required
2050
+ # operator: "IN", # accepts IN, NOT_IN
2051
+ # },
2052
+ # },
2053
+ # ],
1881
2054
  # tags: [
1882
2055
  # {
1883
- # key: "TagKey",
2056
+ # key: "TagKey", # required
1884
2057
  # value: "TagValue",
1885
2058
  # },
1886
2059
  # ],
@@ -1944,7 +2117,7 @@ module Aws::IoT
1944
2117
  # role_arn: "RoleArn", # required
1945
2118
  # tags: [
1946
2119
  # {
1947
- # key: "TagKey",
2120
+ # key: "TagKey", # required
1948
2121
  # value: "TagValue",
1949
2122
  # },
1950
2123
  # ],
@@ -1981,6 +2154,10 @@ module Aws::IoT
1981
2154
  # @option params [required, String] :thing_name
1982
2155
  # The name of the thing to create.
1983
2156
  #
2157
+ # You can't change a thing's name after you create it. To change a
2158
+ # thing's name, you must create a new thing, give it the new name, and
2159
+ # then delete the old thing.
2160
+ #
1984
2161
  # @option params [String] :thing_type_name
1985
2162
  # The name of the thing type associated with the new thing.
1986
2163
  #
@@ -2071,7 +2248,7 @@ module Aws::IoT
2071
2248
  # },
2072
2249
  # tags: [
2073
2250
  # {
2074
- # key: "TagKey",
2251
+ # key: "TagKey", # required
2075
2252
  # value: "TagValue",
2076
2253
  # },
2077
2254
  # ],
@@ -2119,7 +2296,7 @@ module Aws::IoT
2119
2296
  # },
2120
2297
  # tags: [
2121
2298
  # {
2122
- # key: "TagKey",
2299
+ # key: "TagKey", # required
2123
2300
  # value: "TagValue",
2124
2301
  # },
2125
2302
  # ],
@@ -2624,6 +2801,26 @@ module Aws::IoT
2624
2801
  req.send_request(options)
2625
2802
  end
2626
2803
 
2804
+ # Removes the specified dimension from your AWS account.
2805
+ #
2806
+ # @option params [required, String] :name
2807
+ # The unique identifier for the dimension that you want to delete.
2808
+ #
2809
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2810
+ #
2811
+ # @example Request syntax with placeholder values
2812
+ #
2813
+ # resp = client.delete_dimension({
2814
+ # name: "DimensionName", # required
2815
+ # })
2816
+ #
2817
+ # @overload delete_dimension(params = {})
2818
+ # @param [Hash] params ({})
2819
+ def delete_dimension(params = {}, options = {})
2820
+ req = build_request(:delete_dimension, params)
2821
+ req.send_request(options)
2822
+ end
2823
+
2627
2824
  # Deletes the specified domain configuration.
2628
2825
  #
2629
2826
  # <note markdown="1"> The domain configuration feature is in public preview and is subject
@@ -3537,6 +3734,7 @@ module Aws::IoT
3537
3734
  # resp.certificate_description.generation_id #=> String
3538
3735
  # resp.certificate_description.validity.not_before #=> Time
3539
3736
  # resp.certificate_description.validity.not_after #=> Time
3737
+ # resp.certificate_description.certificate_mode #=> String, one of "DEFAULT", "SNI_ONLY"
3540
3738
  #
3541
3739
  # @overload describe_certificate(params = {})
3542
3740
  # @param [Hash] params ({})
@@ -3571,6 +3769,44 @@ module Aws::IoT
3571
3769
  req.send_request(options)
3572
3770
  end
3573
3771
 
3772
+ # Provides details about a dimension that is defined in your AWS
3773
+ # account.
3774
+ #
3775
+ # @option params [required, String] :name
3776
+ # The unique identifier for the dimension.
3777
+ #
3778
+ # @return [Types::DescribeDimensionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3779
+ #
3780
+ # * {Types::DescribeDimensionResponse#name #name} => String
3781
+ # * {Types::DescribeDimensionResponse#arn #arn} => String
3782
+ # * {Types::DescribeDimensionResponse#type #type} => String
3783
+ # * {Types::DescribeDimensionResponse#string_values #string_values} => Array&lt;String&gt;
3784
+ # * {Types::DescribeDimensionResponse#creation_date #creation_date} => Time
3785
+ # * {Types::DescribeDimensionResponse#last_modified_date #last_modified_date} => Time
3786
+ #
3787
+ # @example Request syntax with placeholder values
3788
+ #
3789
+ # resp = client.describe_dimension({
3790
+ # name: "DimensionName", # required
3791
+ # })
3792
+ #
3793
+ # @example Response structure
3794
+ #
3795
+ # resp.name #=> String
3796
+ # resp.arn #=> String
3797
+ # resp.type #=> String, one of "TOPIC_FILTER"
3798
+ # resp.string_values #=> Array
3799
+ # resp.string_values[0] #=> String
3800
+ # resp.creation_date #=> Time
3801
+ # resp.last_modified_date #=> Time
3802
+ #
3803
+ # @overload describe_dimension(params = {})
3804
+ # @param [Hash] params ({})
3805
+ def describe_dimension(params = {}, options = {})
3806
+ req = build_request(:describe_dimension, params)
3807
+ req.send_request(options)
3808
+ end
3809
+
3574
3810
  # Gets summary information about a domain configuration.
3575
3811
  #
3576
3812
  # <note markdown="1"> The domain configuration feature is in public preview and is subject
@@ -3895,6 +4131,7 @@ module Aws::IoT
3895
4131
  # * {Types::DescribeProvisioningTemplateResponse#template_body #template_body} => String
3896
4132
  # * {Types::DescribeProvisioningTemplateResponse#enabled #enabled} => Boolean
3897
4133
  # * {Types::DescribeProvisioningTemplateResponse#provisioning_role_arn #provisioning_role_arn} => String
4134
+ # * {Types::DescribeProvisioningTemplateResponse#pre_provisioning_hook #pre_provisioning_hook} => Types::ProvisioningHook
3898
4135
  #
3899
4136
  # @example Request syntax with placeholder values
3900
4137
  #
@@ -3913,6 +4150,8 @@ module Aws::IoT
3913
4150
  # resp.template_body #=> String
3914
4151
  # resp.enabled #=> Boolean
3915
4152
  # resp.provisioning_role_arn #=> String
4153
+ # resp.pre_provisioning_hook.payload_version #=> String
4154
+ # resp.pre_provisioning_hook.target_arn #=> String
3916
4155
  #
3917
4156
  # @overload describe_provisioning_template(params = {})
3918
4157
  # @param [Hash] params ({})
@@ -4039,6 +4278,7 @@ module Aws::IoT
4039
4278
  # * {Types::DescribeSecurityProfileResponse#behaviors #behaviors} => Array&lt;Types::Behavior&gt;
4040
4279
  # * {Types::DescribeSecurityProfileResponse#alert_targets #alert_targets} => Hash&lt;String,Types::AlertTarget&gt;
4041
4280
  # * {Types::DescribeSecurityProfileResponse#additional_metrics_to_retain #additional_metrics_to_retain} => Array&lt;String&gt;
4281
+ # * {Types::DescribeSecurityProfileResponse#additional_metrics_to_retain_v2 #additional_metrics_to_retain_v2} => Array&lt;Types::MetricToRetain&gt;
4042
4282
  # * {Types::DescribeSecurityProfileResponse#version #version} => Integer
4043
4283
  # * {Types::DescribeSecurityProfileResponse#creation_date #creation_date} => Time
4044
4284
  # * {Types::DescribeSecurityProfileResponse#last_modified_date #last_modified_date} => Time
@@ -4057,6 +4297,8 @@ module Aws::IoT
4057
4297
  # resp.behaviors #=> Array
4058
4298
  # resp.behaviors[0].name #=> String
4059
4299
  # resp.behaviors[0].metric #=> String
4300
+ # resp.behaviors[0].metric_dimension.dimension_name #=> String
4301
+ # resp.behaviors[0].metric_dimension.operator #=> String, one of "IN", "NOT_IN"
4060
4302
  # resp.behaviors[0].criteria.comparison_operator #=> String, one of "less-than", "less-than-equals", "greater-than", "greater-than-equals", "in-cidr-set", "not-in-cidr-set", "in-port-set", "not-in-port-set"
4061
4303
  # resp.behaviors[0].criteria.value.count #=> Integer
4062
4304
  # resp.behaviors[0].criteria.value.cidrs #=> Array
@@ -4072,6 +4314,10 @@ module Aws::IoT
4072
4314
  # resp.alert_targets["AlertTargetType"].role_arn #=> String
4073
4315
  # resp.additional_metrics_to_retain #=> Array
4074
4316
  # resp.additional_metrics_to_retain[0] #=> String
4317
+ # resp.additional_metrics_to_retain_v2 #=> Array
4318
+ # resp.additional_metrics_to_retain_v2[0].metric #=> String
4319
+ # resp.additional_metrics_to_retain_v2[0].metric_dimension.dimension_name #=> String
4320
+ # resp.additional_metrics_to_retain_v2[0].metric_dimension.operator #=> String, one of "IN", "NOT_IN"
4075
4321
  # resp.version #=> Integer
4076
4322
  # resp.creation_date #=> Time
4077
4323
  # resp.last_modified_date #=> Time
@@ -5163,6 +5409,8 @@ module Aws::IoT
5163
5409
  # resp.active_violations[0].security_profile_name #=> String
5164
5410
  # resp.active_violations[0].behavior.name #=> String
5165
5411
  # resp.active_violations[0].behavior.metric #=> String
5412
+ # resp.active_violations[0].behavior.metric_dimension.dimension_name #=> String
5413
+ # resp.active_violations[0].behavior.metric_dimension.operator #=> String, one of "IN", "NOT_IN"
5166
5414
  # resp.active_violations[0].behavior.criteria.comparison_operator #=> String, one of "less-than", "less-than-equals", "greater-than", "greater-than-equals", "in-cidr-set", "not-in-cidr-set", "in-port-set", "not-in-port-set"
5167
5415
  # resp.active_violations[0].behavior.criteria.value.count #=> Integer
5168
5416
  # resp.active_violations[0].behavior.criteria.value.cidrs #=> Array
@@ -5670,6 +5918,7 @@ module Aws::IoT
5670
5918
  # resp.certificates[0].certificate_arn #=> String
5671
5919
  # resp.certificates[0].certificate_id #=> String
5672
5920
  # resp.certificates[0].status #=> String, one of "ACTIVE", "INACTIVE", "REVOKED", "PENDING_TRANSFER", "REGISTER_INACTIVE", "PENDING_ACTIVATION"
5921
+ # resp.certificates[0].certificate_mode #=> String, one of "DEFAULT", "SNI_ONLY"
5673
5922
  # resp.certificates[0].creation_date #=> Time
5674
5923
  # resp.next_marker #=> String
5675
5924
  #
@@ -5716,6 +5965,7 @@ module Aws::IoT
5716
5965
  # resp.certificates[0].certificate_arn #=> String
5717
5966
  # resp.certificates[0].certificate_id #=> String
5718
5967
  # resp.certificates[0].status #=> String, one of "ACTIVE", "INACTIVE", "REVOKED", "PENDING_TRANSFER", "REGISTER_INACTIVE", "PENDING_ACTIVATION"
5968
+ # resp.certificates[0].certificate_mode #=> String, one of "DEFAULT", "SNI_ONLY"
5719
5969
  # resp.certificates[0].creation_date #=> Time
5720
5970
  # resp.next_marker #=> String
5721
5971
  #
@@ -5726,6 +5976,39 @@ module Aws::IoT
5726
5976
  req.send_request(options)
5727
5977
  end
5728
5978
 
5979
+ # List the set of dimensions that are defined for your AWS account.
5980
+ #
5981
+ # @option params [String] :next_token
5982
+ # The token for the next set of results.
5983
+ #
5984
+ # @option params [Integer] :max_results
5985
+ # The maximum number of results to retrieve at one time.
5986
+ #
5987
+ # @return [Types::ListDimensionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5988
+ #
5989
+ # * {Types::ListDimensionsResponse#dimension_names #dimension_names} => Array&lt;String&gt;
5990
+ # * {Types::ListDimensionsResponse#next_token #next_token} => String
5991
+ #
5992
+ # @example Request syntax with placeholder values
5993
+ #
5994
+ # resp = client.list_dimensions({
5995
+ # next_token: "NextToken",
5996
+ # max_results: 1,
5997
+ # })
5998
+ #
5999
+ # @example Response structure
6000
+ #
6001
+ # resp.dimension_names #=> Array
6002
+ # resp.dimension_names[0] #=> String
6003
+ # resp.next_token #=> String
6004
+ #
6005
+ # @overload list_dimensions(params = {})
6006
+ # @param [Hash] params ({})
6007
+ def list_dimensions(params = {}, options = {})
6008
+ req = build_request(:list_dimensions, params)
6009
+ req.send_request(options)
6010
+ end
6011
+
5729
6012
  # Gets a list of domain configurations for the user. This list is sorted
5730
6013
  # alphabetically by domain configuration name.
5731
6014
  #
@@ -6453,6 +6736,10 @@ module Aws::IoT
6453
6736
  # @option params [Integer] :max_results
6454
6737
  # The maximum number of results to return at one time.
6455
6738
  #
6739
+ # @option params [String] :dimension_name
6740
+ # A filter to limit results to the security profiles that use the
6741
+ # defined dimension.
6742
+ #
6456
6743
  # @return [Types::ListSecurityProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6457
6744
  #
6458
6745
  # * {Types::ListSecurityProfilesResponse#security_profile_identifiers #security_profile_identifiers} => Array&lt;Types::SecurityProfileIdentifier&gt;
@@ -6463,6 +6750,7 @@ module Aws::IoT
6463
6750
  # resp = client.list_security_profiles({
6464
6751
  # next_token: "NextToken",
6465
6752
  # max_results: 1,
6753
+ # dimension_name: "DimensionName",
6466
6754
  # })
6467
6755
  #
6468
6756
  # @example Response structure
@@ -7216,6 +7504,8 @@ module Aws::IoT
7216
7504
  # resp.violation_events[0].security_profile_name #=> String
7217
7505
  # resp.violation_events[0].behavior.name #=> String
7218
7506
  # resp.violation_events[0].behavior.metric #=> String
7507
+ # resp.violation_events[0].behavior.metric_dimension.dimension_name #=> String
7508
+ # resp.violation_events[0].behavior.metric_dimension.operator #=> String, one of "IN", "NOT_IN"
7219
7509
  # resp.violation_events[0].behavior.criteria.comparison_operator #=> String, one of "less-than", "less-than-equals", "greater-than", "greater-than-equals", "in-cidr-set", "not-in-cidr-set", "in-port-set", "not-in-port-set"
7220
7510
  # resp.violation_events[0].behavior.criteria.value.count #=> Integer
7221
7511
  # resp.violation_events[0].behavior.criteria.value.cidrs #=> Array
@@ -7267,6 +7557,20 @@ module Aws::IoT
7267
7557
  # @option params [Types::RegistrationConfig] :registration_config
7268
7558
  # Information about the registration configuration.
7269
7559
  #
7560
+ # @option params [Array<Types::Tag>] :tags
7561
+ # Metadata which can be used to manage the CA certificate.
7562
+ #
7563
+ # <note markdown="1"> For URI Request parameters use format:
7564
+ # ...key1=value1&amp;key2=value2...
7565
+ #
7566
+ # For the CLI command-line parameter use format: &amp;&amp;tags
7567
+ # "key1=value1&amp;key2=value2..."
7568
+ #
7569
+ # For the cli-input-json file use format: "tags":
7570
+ # "key1=value1&amp;key2=value2..."
7571
+ #
7572
+ # </note>
7573
+ #
7270
7574
  # @return [Types::RegisterCACertificateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7271
7575
  #
7272
7576
  # * {Types::RegisterCACertificateResponse#certificate_arn #certificate_arn} => String
@@ -7283,6 +7587,12 @@ module Aws::IoT
7283
7587
  # template_body: "TemplateBody",
7284
7588
  # role_arn: "RoleArn",
7285
7589
  # },
7590
+ # tags: [
7591
+ # {
7592
+ # key: "TagKey", # required
7593
+ # value: "TagValue",
7594
+ # },
7595
+ # ],
7286
7596
  # })
7287
7597
  #
7288
7598
  # @example Response structure
@@ -7341,6 +7651,39 @@ module Aws::IoT
7341
7651
  req.send_request(options)
7342
7652
  end
7343
7653
 
7654
+ # Register a certificate that does not have a certificate authority
7655
+ # (CA).
7656
+ #
7657
+ # @option params [required, String] :certificate_pem
7658
+ # The certificate data, in PEM format.
7659
+ #
7660
+ # @option params [String] :status
7661
+ # The status of the register certificate request.
7662
+ #
7663
+ # @return [Types::RegisterCertificateWithoutCAResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7664
+ #
7665
+ # * {Types::RegisterCertificateWithoutCAResponse#certificate_arn #certificate_arn} => String
7666
+ # * {Types::RegisterCertificateWithoutCAResponse#certificate_id #certificate_id} => String
7667
+ #
7668
+ # @example Request syntax with placeholder values
7669
+ #
7670
+ # resp = client.register_certificate_without_ca({
7671
+ # certificate_pem: "CertificatePem", # required
7672
+ # status: "ACTIVE", # accepts ACTIVE, INACTIVE, REVOKED, PENDING_TRANSFER, REGISTER_INACTIVE, PENDING_ACTIVATION
7673
+ # })
7674
+ #
7675
+ # @example Response structure
7676
+ #
7677
+ # resp.certificate_arn #=> String
7678
+ # resp.certificate_id #=> String
7679
+ #
7680
+ # @overload register_certificate_without_ca(params = {})
7681
+ # @param [Hash] params ({})
7682
+ def register_certificate_without_ca(params = {}, options = {})
7683
+ req = build_request(:register_certificate_without_ca, params)
7684
+ req.send_request(options)
7685
+ end
7686
+
7344
7687
  # Provisions a thing in the device registry. RegisterThing calls other
7345
7688
  # AWS IoT control plane APIs. These calls might exceed your account
7346
7689
  # level [ AWS IoT Throttling Limits][1] and cause throttle errors.
@@ -7361,12 +7704,12 @@ module Aws::IoT
7361
7704
  # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/provision-w-cert.html
7362
7705
  #
7363
7706
  # @option params [Hash<String,String>] :parameters
7364
- # The parameters for provisioning a thing. See [Programmatic
7365
- # Provisioning][1] for more information.
7707
+ # The parameters for provisioning a thing. See [Provisioning
7708
+ # Templates][1] for more information.
7366
7709
  #
7367
7710
  #
7368
7711
  #
7369
- # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/programmatic-provisioning.html
7712
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/provision-template.html
7370
7713
  #
7371
7714
  # @return [Types::RegisterThingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7372
7715
  #
@@ -8174,7 +8517,7 @@ module Aws::IoT
8174
8517
  # resource_arn: "ResourceArn", # required
8175
8518
  # tags: [ # required
8176
8519
  # {
8177
- # key: "TagKey",
8520
+ # key: "TagKey", # required
8178
8521
  # value: "TagValue",
8179
8522
  # },
8180
8523
  # ],
@@ -8225,7 +8568,7 @@ module Aws::IoT
8225
8568
  # auth_infos: [ # required
8226
8569
  # {
8227
8570
  # action_type: "PUBLISH", # accepts PUBLISH, SUBSCRIBE, RECEIVE, CONNECT
8228
- # resources: ["Resource"],
8571
+ # resources: ["Resource"], # required
8229
8572
  # },
8230
8573
  # ],
8231
8574
  # client_id: "ClientId",
@@ -8271,7 +8614,7 @@ module Aws::IoT
8271
8614
  #
8272
8615
  # @option params [String] :token_signature
8273
8616
  # The signature made with the token and your custom authentication
8274
- # service's private key.
8617
+ # service's private key. This value must be Base-64-encoded.
8275
8618
  #
8276
8619
  # @option params [Types::HttpContext] :http_context
8277
8620
  # Specifies a test HTTP authorization request.
@@ -8622,6 +8965,51 @@ module Aws::IoT
8622
8965
  req.send_request(options)
8623
8966
  end
8624
8967
 
8968
+ # Updates the definition for a dimension. You cannot change the type of
8969
+ # a dimension after it is created (you can delete it and re-create it).
8970
+ #
8971
+ # @option params [required, String] :name
8972
+ # A unique identifier for the dimension. Choose something that describes
8973
+ # the type and value to make it easy to remember what it does.
8974
+ #
8975
+ # @option params [required, Array<String>] :string_values
8976
+ # Specifies the value or list of values for the dimension. For
8977
+ # `TOPIC_FILTER` dimensions, this is a pattern used to match the MQTT
8978
+ # topic (for example, "admin/#").
8979
+ #
8980
+ # @return [Types::UpdateDimensionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8981
+ #
8982
+ # * {Types::UpdateDimensionResponse#name #name} => String
8983
+ # * {Types::UpdateDimensionResponse#arn #arn} => String
8984
+ # * {Types::UpdateDimensionResponse#type #type} => String
8985
+ # * {Types::UpdateDimensionResponse#string_values #string_values} => Array&lt;String&gt;
8986
+ # * {Types::UpdateDimensionResponse#creation_date #creation_date} => Time
8987
+ # * {Types::UpdateDimensionResponse#last_modified_date #last_modified_date} => Time
8988
+ #
8989
+ # @example Request syntax with placeholder values
8990
+ #
8991
+ # resp = client.update_dimension({
8992
+ # name: "DimensionName", # required
8993
+ # string_values: ["DimensionStringValue"], # required
8994
+ # })
8995
+ #
8996
+ # @example Response structure
8997
+ #
8998
+ # resp.name #=> String
8999
+ # resp.arn #=> String
9000
+ # resp.type #=> String, one of "TOPIC_FILTER"
9001
+ # resp.string_values #=> Array
9002
+ # resp.string_values[0] #=> String
9003
+ # resp.creation_date #=> Time
9004
+ # resp.last_modified_date #=> Time
9005
+ #
9006
+ # @overload update_dimension(params = {})
9007
+ # @param [Hash] params ({})
9008
+ def update_dimension(params = {}, options = {})
9009
+ req = build_request(:update_dimension, params)
9010
+ req.send_request(options)
9011
+ end
9012
+
8625
9013
  # Updates values stored in the domain configuration. Domain
8626
9014
  # configurations for default endpoints can't be updated.
8627
9015
  #
@@ -8956,6 +9344,12 @@ module Aws::IoT
8956
9344
  # The ARN of the role associated with the provisioning template. This
8957
9345
  # IoT role grants permission to provision a device.
8958
9346
  #
9347
+ # @option params [Types::ProvisioningHook] :pre_provisioning_hook
9348
+ # Updates the pre-provisioning hook template.
9349
+ #
9350
+ # @option params [Boolean] :remove_pre_provisioning_hook
9351
+ # Removes pre-provisioning hook template.
9352
+ #
8959
9353
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8960
9354
  #
8961
9355
  # @example Request syntax with placeholder values
@@ -8966,6 +9360,11 @@ module Aws::IoT
8966
9360
  # enabled: false,
8967
9361
  # default_version_id: 1,
8968
9362
  # provisioning_role_arn: "RoleArn",
9363
+ # pre_provisioning_hook: {
9364
+ # payload_version: "PayloadVersion",
9365
+ # target_arn: "TargetArn", # required
9366
+ # },
9367
+ # remove_pre_provisioning_hook: false,
8969
9368
  # })
8970
9369
  #
8971
9370
  # @overload update_provisioning_template(params = {})
@@ -9086,6 +9485,14 @@ module Aws::IoT
9086
9485
  # retained for any metric used in the profile's `behaviors`, but it is
9087
9486
  # also retained for any metric specified here.
9088
9487
  #
9488
+ # **Note:** This API field is deprecated. Please use
9489
+ # UpdateSecurityProfileRequest$additionalMetricsToRetainV2 instead.
9490
+ #
9491
+ # @option params [Array<Types::MetricToRetain>] :additional_metrics_to_retain_v2
9492
+ # A list of metrics whose data is retained (stored). By default, data is
9493
+ # retained for any metric used in the profile's behaviors, but it is
9494
+ # also retained for any metric specified here.
9495
+ #
9089
9496
  # @option params [Boolean] :delete_behaviors
9090
9497
  # If true, delete all `behaviors` defined for this security profile. If
9091
9498
  # any `behaviors` are defined in the current invocation, an exception
@@ -9115,6 +9522,7 @@ module Aws::IoT
9115
9522
  # * {Types::UpdateSecurityProfileResponse#behaviors #behaviors} => Array&lt;Types::Behavior&gt;
9116
9523
  # * {Types::UpdateSecurityProfileResponse#alert_targets #alert_targets} => Hash&lt;String,Types::AlertTarget&gt;
9117
9524
  # * {Types::UpdateSecurityProfileResponse#additional_metrics_to_retain #additional_metrics_to_retain} => Array&lt;String&gt;
9525
+ # * {Types::UpdateSecurityProfileResponse#additional_metrics_to_retain_v2 #additional_metrics_to_retain_v2} => Array&lt;Types::MetricToRetain&gt;
9118
9526
  # * {Types::UpdateSecurityProfileResponse#version #version} => Integer
9119
9527
  # * {Types::UpdateSecurityProfileResponse#creation_date #creation_date} => Time
9120
9528
  # * {Types::UpdateSecurityProfileResponse#last_modified_date #last_modified_date} => Time
@@ -9128,6 +9536,10 @@ module Aws::IoT
9128
9536
  # {
9129
9537
  # name: "BehaviorName", # required
9130
9538
  # metric: "BehaviorMetric",
9539
+ # metric_dimension: {
9540
+ # dimension_name: "DimensionName", # required
9541
+ # operator: "IN", # accepts IN, NOT_IN
9542
+ # },
9131
9543
  # criteria: {
9132
9544
  # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
9133
9545
  # value: {
@@ -9151,6 +9563,15 @@ module Aws::IoT
9151
9563
  # },
9152
9564
  # },
9153
9565
  # additional_metrics_to_retain: ["BehaviorMetric"],
9566
+ # additional_metrics_to_retain_v2: [
9567
+ # {
9568
+ # metric: "BehaviorMetric", # required
9569
+ # metric_dimension: {
9570
+ # dimension_name: "DimensionName", # required
9571
+ # operator: "IN", # accepts IN, NOT_IN
9572
+ # },
9573
+ # },
9574
+ # ],
9154
9575
  # delete_behaviors: false,
9155
9576
  # delete_alert_targets: false,
9156
9577
  # delete_additional_metrics_to_retain: false,
@@ -9165,6 +9586,8 @@ module Aws::IoT
9165
9586
  # resp.behaviors #=> Array
9166
9587
  # resp.behaviors[0].name #=> String
9167
9588
  # resp.behaviors[0].metric #=> String
9589
+ # resp.behaviors[0].metric_dimension.dimension_name #=> String
9590
+ # resp.behaviors[0].metric_dimension.operator #=> String, one of "IN", "NOT_IN"
9168
9591
  # resp.behaviors[0].criteria.comparison_operator #=> String, one of "less-than", "less-than-equals", "greater-than", "greater-than-equals", "in-cidr-set", "not-in-cidr-set", "in-port-set", "not-in-port-set"
9169
9592
  # resp.behaviors[0].criteria.value.count #=> Integer
9170
9593
  # resp.behaviors[0].criteria.value.cidrs #=> Array
@@ -9180,6 +9603,10 @@ module Aws::IoT
9180
9603
  # resp.alert_targets["AlertTargetType"].role_arn #=> String
9181
9604
  # resp.additional_metrics_to_retain #=> Array
9182
9605
  # resp.additional_metrics_to_retain[0] #=> String
9606
+ # resp.additional_metrics_to_retain_v2 #=> Array
9607
+ # resp.additional_metrics_to_retain_v2[0].metric #=> String
9608
+ # resp.additional_metrics_to_retain_v2[0].metric_dimension.dimension_name #=> String
9609
+ # resp.additional_metrics_to_retain_v2[0].metric_dimension.operator #=> String, one of "IN", "NOT_IN"
9183
9610
  # resp.version #=> Integer
9184
9611
  # resp.creation_date #=> Time
9185
9612
  # resp.last_modified_date #=> Time
@@ -9251,6 +9678,10 @@ module Aws::IoT
9251
9678
  # @option params [required, String] :thing_name
9252
9679
  # The name of the thing to update.
9253
9680
  #
9681
+ # You can't change a thing's name. To change a thing's name, you must
9682
+ # create a new thing, give it the new name, and then delete the old
9683
+ # thing.
9684
+ #
9254
9685
  # @option params [String] :thing_type_name
9255
9686
  # The name of the thing type.
9256
9687
  #
@@ -9446,6 +9877,10 @@ module Aws::IoT
9446
9877
  # {
9447
9878
  # name: "BehaviorName", # required
9448
9879
  # metric: "BehaviorMetric",
9880
+ # metric_dimension: {
9881
+ # dimension_name: "DimensionName", # required
9882
+ # operator: "IN", # accepts IN, NOT_IN
9883
+ # },
9449
9884
  # criteria: {
9450
9885
  # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
9451
9886
  # value: {
@@ -9490,7 +9925,7 @@ module Aws::IoT
9490
9925
  params: params,
9491
9926
  config: config)
9492
9927
  context[:gem_name] = 'aws-sdk-iot'
9493
- context[:gem_version] = '1.45.0'
9928
+ context[:gem_version] = '1.50.0'
9494
9929
  Seahorse::Client::Request.new(handlers, context)
9495
9930
  end
9496
9931