aws-sdk-iot 1.45.0 → 1.50.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.
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