aws-sdk-iot 1.47.0 → 1.48.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: f3b64c6307919e365e8c5702e9caa93f7d0cd6526446a9710a2a0375f25a5873
4
- data.tar.gz: 4f0666d313d4c99781d6800186ed08df1a07ea7f9e087f24362412762e35d1c6
3
+ metadata.gz: 9e4472147bf1d9565933a43ad8e27a0888ea3fcd3f9ef77732668f026e46e663
4
+ data.tar.gz: 4baae95a5c4b421ee89ecaa1d02bfdd9e4979f7cc959f7f3abff2290ab50982e
5
5
  SHA512:
6
- metadata.gz: 45a41060b1c28a1e891caf98001c4400a5dc66387f7e30c116a18408ccdfbab21c5aa482e480ee392726ebdbeae47ecada3bbef7234aa88d0ab5cf1de1cb3794
7
- data.tar.gz: 9a4248e589e41d44306b369ebb86dc75f51e175f021d44bbe8f63cdf998588a1017c5351e4bf9a59194bb3f1fbfe7264389fa93db3ee74a2b3d69b761dbd56fa
6
+ metadata.gz: bb2056cfcc3379f058e5181ebaaa40d3bb080c727dce418a18ee7bdf932c25319decf200650f15d971d45d430af88df094d361550493fa8a76d2f1fc9adf5bf0
7
+ data.tar.gz: 4a0b2ba32460fb4c3d24ce51c1a236f7edc61e40815151e1944c7cfbc7b6aba3a1714334d7798081d7ffc38a650834b176d3d7c6ce441c177e0049e2e3a42b9b
@@ -45,6 +45,6 @@ require_relative 'aws-sdk-iot/customizations'
45
45
  # @service
46
46
  module Aws::IoT
47
47
 
48
- GEM_VERSION = '1.47.0'
48
+ GEM_VERSION = '1.48.0'
49
49
 
50
50
  end
@@ -800,6 +800,20 @@ module Aws::IoT
800
800
  # @option params [String] :status
801
801
  # The status of the create authorizer request.
802
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
+ #
803
817
  # @option params [Boolean] :signing_disabled
804
818
  # Specifies whether AWS IoT validates the token signature in an
805
819
  # authorization request.
@@ -819,6 +833,12 @@ module Aws::IoT
819
833
  # "KeyName" => "KeyValue",
820
834
  # },
821
835
  # status: "ACTIVE", # accepts ACTIVE, INACTIVE
836
+ # tags: [
837
+ # {
838
+ # key: "TagKey", # required
839
+ # value: "TagValue",
840
+ # },
841
+ # ],
822
842
  # signing_disabled: false,
823
843
  # })
824
844
  #
@@ -860,7 +880,7 @@ module Aws::IoT
860
880
  # },
861
881
  # tags: [
862
882
  # {
863
- # key: "TagKey",
883
+ # key: "TagKey", # required
864
884
  # value: "TagValue",
865
885
  # },
866
886
  # ],
@@ -1003,7 +1023,7 @@ module Aws::IoT
1003
1023
  # string_values: ["DimensionStringValue"], # required
1004
1024
  # tags: [
1005
1025
  # {
1006
- # key: "TagKey",
1026
+ # key: "TagKey", # required
1007
1027
  # value: "TagValue",
1008
1028
  # },
1009
1029
  # ],
@@ -1053,6 +1073,24 @@ module Aws::IoT
1053
1073
  # @option params [String] :service_type
1054
1074
  # The type of service delivered by the endpoint.
1055
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
+ #
1056
1094
  # @return [Types::CreateDomainConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1057
1095
  #
1058
1096
  # * {Types::CreateDomainConfigurationResponse#domain_configuration_name #domain_configuration_name} => String
@@ -1070,6 +1108,12 @@ module Aws::IoT
1070
1108
  # allow_authorizer_override: false,
1071
1109
  # },
1072
1110
  # service_type: "DATA", # accepts DATA, CREDENTIAL_PROVIDER, JOBS
1111
+ # tags: [
1112
+ # {
1113
+ # key: "TagKey", # required
1114
+ # value: "TagValue",
1115
+ # },
1116
+ # ],
1073
1117
  # })
1074
1118
  #
1075
1119
  # @example Response structure
@@ -1146,7 +1190,7 @@ module Aws::IoT
1146
1190
  # query_version: "QueryVersion",
1147
1191
  # tags: [
1148
1192
  # {
1149
- # key: "TagKey",
1193
+ # key: "TagKey", # required
1150
1194
  # value: "TagValue",
1151
1195
  # },
1152
1196
  # ],
@@ -1271,7 +1315,7 @@ module Aws::IoT
1271
1315
  # },
1272
1316
  # tags: [
1273
1317
  # {
1274
- # key: "TagKey",
1318
+ # key: "TagKey", # required
1275
1319
  # value: "TagValue",
1276
1320
  # },
1277
1321
  # ],
@@ -1384,7 +1428,7 @@ module Aws::IoT
1384
1428
  # },
1385
1429
  # tags: [
1386
1430
  # {
1387
- # key: "TagKey",
1431
+ # key: "TagKey", # required
1388
1432
  # value: "TagValue",
1389
1433
  # },
1390
1434
  # ],
@@ -1521,7 +1565,7 @@ module Aws::IoT
1521
1565
  # },
1522
1566
  # tags: [
1523
1567
  # {
1524
- # key: "TagKey",
1568
+ # key: "TagKey", # required
1525
1569
  # value: "TagValue",
1526
1570
  # },
1527
1571
  # ],
@@ -1556,6 +1600,20 @@ module Aws::IoT
1556
1600
  # have a minimum length of 1, with a maximum length of 2048, excluding
1557
1601
  # whitespace.
1558
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
+ #
1559
1617
  # @return [Types::CreatePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1560
1618
  #
1561
1619
  # * {Types::CreatePolicyResponse#policy_name #policy_name} => String
@@ -1568,6 +1626,12 @@ module Aws::IoT
1568
1626
  # resp = client.create_policy({
1569
1627
  # policy_name: "PolicyName", # required
1570
1628
  # policy_document: "PolicyDocument", # required
1629
+ # tags: [
1630
+ # {
1631
+ # key: "TagKey", # required
1632
+ # value: "TagValue",
1633
+ # },
1634
+ # ],
1571
1635
  # })
1572
1636
  #
1573
1637
  # @example Response structure
@@ -1688,6 +1752,9 @@ module Aws::IoT
1688
1752
  # The role ARN for the role associated with the fleet provisioning
1689
1753
  # template. This IoT role grants permission to provision a device.
1690
1754
  #
1755
+ # @option params [Types::ProvisioningHook] :pre_provisioning_hook
1756
+ # Creates a pre-provisioning hook template.
1757
+ #
1691
1758
  # @option params [Array<Types::Tag>] :tags
1692
1759
  # Metadata which can be used to manage the fleet provisioning template.
1693
1760
  #
@@ -1716,9 +1783,13 @@ module Aws::IoT
1716
1783
  # template_body: "TemplateBody", # required
1717
1784
  # enabled: false,
1718
1785
  # provisioning_role_arn: "RoleArn", # required
1786
+ # pre_provisioning_hook: {
1787
+ # payload_version: "PayloadVersion",
1788
+ # target_arn: "TargetArn", # required
1789
+ # },
1719
1790
  # tags: [
1720
1791
  # {
1721
- # key: "TagKey",
1792
+ # key: "TagKey", # required
1722
1793
  # value: "TagValue",
1723
1794
  # },
1724
1795
  # ],
@@ -1789,6 +1860,20 @@ module Aws::IoT
1789
1860
  # @option params [Integer] :credential_duration_seconds
1790
1861
  # How long (in seconds) the credentials will be valid.
1791
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
+ #
1792
1877
  # @return [Types::CreateRoleAliasResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1793
1878
  #
1794
1879
  # * {Types::CreateRoleAliasResponse#role_alias #role_alias} => String
@@ -1800,6 +1885,12 @@ module Aws::IoT
1800
1885
  # role_alias: "RoleAlias", # required
1801
1886
  # role_arn: "RoleArn", # required
1802
1887
  # credential_duration_seconds: 1,
1888
+ # tags: [
1889
+ # {
1890
+ # key: "TagKey", # required
1891
+ # value: "TagValue",
1892
+ # },
1893
+ # ],
1803
1894
  # })
1804
1895
  #
1805
1896
  # @example Response structure
@@ -1860,7 +1951,7 @@ module Aws::IoT
1860
1951
  # scheduled_audit_name: "ScheduledAuditName", # required
1861
1952
  # tags: [
1862
1953
  # {
1863
- # key: "TagKey",
1954
+ # key: "TagKey", # required
1864
1955
  # value: "TagValue",
1865
1956
  # },
1866
1957
  # ],
@@ -1962,7 +2053,7 @@ module Aws::IoT
1962
2053
  # ],
1963
2054
  # tags: [
1964
2055
  # {
1965
- # key: "TagKey",
2056
+ # key: "TagKey", # required
1966
2057
  # value: "TagValue",
1967
2058
  # },
1968
2059
  # ],
@@ -2026,7 +2117,7 @@ module Aws::IoT
2026
2117
  # role_arn: "RoleArn", # required
2027
2118
  # tags: [
2028
2119
  # {
2029
- # key: "TagKey",
2120
+ # key: "TagKey", # required
2030
2121
  # value: "TagValue",
2031
2122
  # },
2032
2123
  # ],
@@ -2063,6 +2154,10 @@ module Aws::IoT
2063
2154
  # @option params [required, String] :thing_name
2064
2155
  # The name of the thing to create.
2065
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
+ #
2066
2161
  # @option params [String] :thing_type_name
2067
2162
  # The name of the thing type associated with the new thing.
2068
2163
  #
@@ -2153,7 +2248,7 @@ module Aws::IoT
2153
2248
  # },
2154
2249
  # tags: [
2155
2250
  # {
2156
- # key: "TagKey",
2251
+ # key: "TagKey", # required
2157
2252
  # value: "TagValue",
2158
2253
  # },
2159
2254
  # ],
@@ -2201,7 +2296,7 @@ module Aws::IoT
2201
2296
  # },
2202
2297
  # tags: [
2203
2298
  # {
2204
- # key: "TagKey",
2299
+ # key: "TagKey", # required
2205
2300
  # value: "TagValue",
2206
2301
  # },
2207
2302
  # ],
@@ -3639,6 +3734,7 @@ module Aws::IoT
3639
3734
  # resp.certificate_description.generation_id #=> String
3640
3735
  # resp.certificate_description.validity.not_before #=> Time
3641
3736
  # resp.certificate_description.validity.not_after #=> Time
3737
+ # resp.certificate_description.certificate_mode #=> String, one of "DEFAULT", "SNI_ONLY"
3642
3738
  #
3643
3739
  # @overload describe_certificate(params = {})
3644
3740
  # @param [Hash] params ({})
@@ -4035,6 +4131,7 @@ module Aws::IoT
4035
4131
  # * {Types::DescribeProvisioningTemplateResponse#template_body #template_body} => String
4036
4132
  # * {Types::DescribeProvisioningTemplateResponse#enabled #enabled} => Boolean
4037
4133
  # * {Types::DescribeProvisioningTemplateResponse#provisioning_role_arn #provisioning_role_arn} => String
4134
+ # * {Types::DescribeProvisioningTemplateResponse#pre_provisioning_hook #pre_provisioning_hook} => Types::ProvisioningHook
4038
4135
  #
4039
4136
  # @example Request syntax with placeholder values
4040
4137
  #
@@ -4053,6 +4150,8 @@ module Aws::IoT
4053
4150
  # resp.template_body #=> String
4054
4151
  # resp.enabled #=> Boolean
4055
4152
  # resp.provisioning_role_arn #=> String
4153
+ # resp.pre_provisioning_hook.payload_version #=> String
4154
+ # resp.pre_provisioning_hook.target_arn #=> String
4056
4155
  #
4057
4156
  # @overload describe_provisioning_template(params = {})
4058
4157
  # @param [Hash] params ({})
@@ -5819,6 +5918,7 @@ module Aws::IoT
5819
5918
  # resp.certificates[0].certificate_arn #=> String
5820
5919
  # resp.certificates[0].certificate_id #=> String
5821
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"
5822
5922
  # resp.certificates[0].creation_date #=> Time
5823
5923
  # resp.next_marker #=> String
5824
5924
  #
@@ -5865,6 +5965,7 @@ module Aws::IoT
5865
5965
  # resp.certificates[0].certificate_arn #=> String
5866
5966
  # resp.certificates[0].certificate_id #=> String
5867
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"
5868
5969
  # resp.certificates[0].creation_date #=> Time
5869
5970
  # resp.next_marker #=> String
5870
5971
  #
@@ -7456,6 +7557,20 @@ module Aws::IoT
7456
7557
  # @option params [Types::RegistrationConfig] :registration_config
7457
7558
  # Information about the registration configuration.
7458
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
+ #
7459
7574
  # @return [Types::RegisterCACertificateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7460
7575
  #
7461
7576
  # * {Types::RegisterCACertificateResponse#certificate_arn #certificate_arn} => String
@@ -7472,6 +7587,12 @@ module Aws::IoT
7472
7587
  # template_body: "TemplateBody",
7473
7588
  # role_arn: "RoleArn",
7474
7589
  # },
7590
+ # tags: [
7591
+ # {
7592
+ # key: "TagKey", # required
7593
+ # value: "TagValue",
7594
+ # },
7595
+ # ],
7475
7596
  # })
7476
7597
  #
7477
7598
  # @example Response structure
@@ -7530,6 +7651,39 @@ module Aws::IoT
7530
7651
  req.send_request(options)
7531
7652
  end
7532
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
+
7533
7687
  # Provisions a thing in the device registry. RegisterThing calls other
7534
7688
  # AWS IoT control plane APIs. These calls might exceed your account
7535
7689
  # level [ AWS IoT Throttling Limits][1] and cause throttle errors.
@@ -7550,12 +7704,12 @@ module Aws::IoT
7550
7704
  # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/provision-w-cert.html
7551
7705
  #
7552
7706
  # @option params [Hash<String,String>] :parameters
7553
- # The parameters for provisioning a thing. See [Programmatic
7554
- # Provisioning][1] for more information.
7707
+ # The parameters for provisioning a thing. See [Provisioning
7708
+ # Templates][1] for more information.
7555
7709
  #
7556
7710
  #
7557
7711
  #
7558
- # [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
7559
7713
  #
7560
7714
  # @return [Types::RegisterThingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7561
7715
  #
@@ -8363,7 +8517,7 @@ module Aws::IoT
8363
8517
  # resource_arn: "ResourceArn", # required
8364
8518
  # tags: [ # required
8365
8519
  # {
8366
- # key: "TagKey",
8520
+ # key: "TagKey", # required
8367
8521
  # value: "TagValue",
8368
8522
  # },
8369
8523
  # ],
@@ -8414,7 +8568,7 @@ module Aws::IoT
8414
8568
  # auth_infos: [ # required
8415
8569
  # {
8416
8570
  # action_type: "PUBLISH", # accepts PUBLISH, SUBSCRIBE, RECEIVE, CONNECT
8417
- # resources: ["Resource"],
8571
+ # resources: ["Resource"], # required
8418
8572
  # },
8419
8573
  # ],
8420
8574
  # client_id: "ClientId",
@@ -8460,7 +8614,7 @@ module Aws::IoT
8460
8614
  #
8461
8615
  # @option params [String] :token_signature
8462
8616
  # The signature made with the token and your custom authentication
8463
- # service's private key.
8617
+ # service's private key. This value must be Base-64-encoded.
8464
8618
  #
8465
8619
  # @option params [Types::HttpContext] :http_context
8466
8620
  # Specifies a test HTTP authorization request.
@@ -9190,6 +9344,12 @@ module Aws::IoT
9190
9344
  # The ARN of the role associated with the provisioning template. This
9191
9345
  # IoT role grants permission to provision a device.
9192
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
+ #
9193
9353
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9194
9354
  #
9195
9355
  # @example Request syntax with placeholder values
@@ -9200,6 +9360,11 @@ module Aws::IoT
9200
9360
  # enabled: false,
9201
9361
  # default_version_id: 1,
9202
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,
9203
9368
  # })
9204
9369
  #
9205
9370
  # @overload update_provisioning_template(params = {})
@@ -9513,6 +9678,10 @@ module Aws::IoT
9513
9678
  # @option params [required, String] :thing_name
9514
9679
  # The name of the thing to update.
9515
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
+ #
9516
9685
  # @option params [String] :thing_type_name
9517
9686
  # The name of the thing type.
9518
9687
  #
@@ -9756,7 +9925,7 @@ module Aws::IoT
9756
9925
  params: params,
9757
9926
  config: config)
9758
9927
  context[:gem_name] = 'aws-sdk-iot'
9759
- context[:gem_version] = '1.47.0'
9928
+ context[:gem_version] = '1.48.0'
9760
9929
  Seahorse::Client::Request.new(handlers, context)
9761
9930
  end
9762
9931
 
@@ -159,6 +159,7 @@ module Aws::IoT
159
159
  CertificateConflictException = Shapes::StructureShape.new(name: 'CertificateConflictException')
160
160
  CertificateDescription = Shapes::StructureShape.new(name: 'CertificateDescription')
161
161
  CertificateId = Shapes::StringShape.new(name: 'CertificateId')
162
+ CertificateMode = Shapes::StringShape.new(name: 'CertificateMode')
162
163
  CertificateName = Shapes::StringShape.new(name: 'CertificateName')
163
164
  CertificatePathOnDevice = Shapes::StringShape.new(name: 'CertificatePathOnDevice')
164
165
  CertificatePem = Shapes::StringShape.new(name: 'CertificatePem')
@@ -706,6 +707,7 @@ module Aws::IoT
706
707
  Parameters = Shapes::MapShape.new(name: 'Parameters')
707
708
  PartitionKey = Shapes::StringShape.new(name: 'PartitionKey')
708
709
  PayloadField = Shapes::StringShape.new(name: 'PayloadField')
710
+ PayloadVersion = Shapes::StringShape.new(name: 'PayloadVersion')
709
711
  Percent = Shapes::FloatShape.new(name: 'Percent')
710
712
  PercentList = Shapes::ListShape.new(name: 'PercentList')
711
713
  PercentPair = Shapes::StructureShape.new(name: 'PercentPair')
@@ -740,6 +742,7 @@ module Aws::IoT
740
742
  ProcessingTargetNameList = Shapes::ListShape.new(name: 'ProcessingTargetNameList')
741
743
  Protocol = Shapes::StringShape.new(name: 'Protocol')
742
744
  Protocols = Shapes::ListShape.new(name: 'Protocols')
745
+ ProvisioningHook = Shapes::StructureShape.new(name: 'ProvisioningHook')
743
746
  ProvisioningTemplateListing = Shapes::ListShape.new(name: 'ProvisioningTemplateListing')
744
747
  ProvisioningTemplateSummary = Shapes::StructureShape.new(name: 'ProvisioningTemplateSummary')
745
748
  ProvisioningTemplateVersionListing = Shapes::ListShape.new(name: 'ProvisioningTemplateVersionListing')
@@ -769,6 +772,8 @@ module Aws::IoT
769
772
  RegisterCACertificateResponse = Shapes::StructureShape.new(name: 'RegisterCACertificateResponse')
770
773
  RegisterCertificateRequest = Shapes::StructureShape.new(name: 'RegisterCertificateRequest')
771
774
  RegisterCertificateResponse = Shapes::StructureShape.new(name: 'RegisterCertificateResponse')
775
+ RegisterCertificateWithoutCARequest = Shapes::StructureShape.new(name: 'RegisterCertificateWithoutCARequest')
776
+ RegisterCertificateWithoutCAResponse = Shapes::StructureShape.new(name: 'RegisterCertificateWithoutCAResponse')
772
777
  RegisterThingRequest = Shapes::StructureShape.new(name: 'RegisterThingRequest')
773
778
  RegisterThingResponse = Shapes::StructureShape.new(name: 'RegisterThingResponse')
774
779
  RegistrationCode = Shapes::StringShape.new(name: 'RegistrationCode')
@@ -783,6 +788,7 @@ module Aws::IoT
783
788
  RelatedResources = Shapes::ListShape.new(name: 'RelatedResources')
784
789
  RemoveAuthorizerConfig = Shapes::BooleanShape.new(name: 'RemoveAuthorizerConfig')
785
790
  RemoveAutoRegistration = Shapes::BooleanShape.new(name: 'RemoveAutoRegistration')
791
+ RemoveHook = Shapes::BooleanShape.new(name: 'RemoveHook')
786
792
  RemoveThingFromBillingGroupRequest = Shapes::StructureShape.new(name: 'RemoveThingFromBillingGroupRequest')
787
793
  RemoveThingFromBillingGroupResponse = Shapes::StructureShape.new(name: 'RemoveThingFromBillingGroupResponse')
788
794
  RemoveThingFromThingGroupRequest = Shapes::StructureShape.new(name: 'RemoveThingFromThingGroupRequest')
@@ -1290,7 +1296,7 @@ module Aws::IoT
1290
1296
  AuditTaskMetadataList.member = Shapes::ShapeRef.new(shape: AuditTaskMetadata)
1291
1297
 
1292
1298
  AuthInfo.add_member(:action_type, Shapes::ShapeRef.new(shape: ActionType, location_name: "actionType"))
1293
- AuthInfo.add_member(:resources, Shapes::ShapeRef.new(shape: Resources, location_name: "resources"))
1299
+ AuthInfo.add_member(:resources, Shapes::ShapeRef.new(shape: Resources, required: true, location_name: "resources"))
1294
1300
  AuthInfo.struct_class = Types::AuthInfo
1295
1301
 
1296
1302
  AuthInfos.member = Shapes::ShapeRef.new(shape: AuthInfo)
@@ -1410,6 +1416,7 @@ module Aws::IoT
1410
1416
  Certificate.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: CertificateArn, location_name: "certificateArn"))
1411
1417
  Certificate.add_member(:certificate_id, Shapes::ShapeRef.new(shape: CertificateId, location_name: "certificateId"))
1412
1418
  Certificate.add_member(:status, Shapes::ShapeRef.new(shape: CertificateStatus, location_name: "status"))
1419
+ Certificate.add_member(:certificate_mode, Shapes::ShapeRef.new(shape: CertificateMode, location_name: "certificateMode"))
1413
1420
  Certificate.add_member(:creation_date, Shapes::ShapeRef.new(shape: DateType, location_name: "creationDate"))
1414
1421
  Certificate.struct_class = Types::Certificate
1415
1422
 
@@ -1429,6 +1436,7 @@ module Aws::IoT
1429
1436
  CertificateDescription.add_member(:transfer_data, Shapes::ShapeRef.new(shape: TransferData, location_name: "transferData"))
1430
1437
  CertificateDescription.add_member(:generation_id, Shapes::ShapeRef.new(shape: GenerationId, location_name: "generationId"))
1431
1438
  CertificateDescription.add_member(:validity, Shapes::ShapeRef.new(shape: CertificateValidity, location_name: "validity"))
1439
+ CertificateDescription.add_member(:certificate_mode, Shapes::ShapeRef.new(shape: CertificateMode, location_name: "certificateMode"))
1432
1440
  CertificateDescription.struct_class = Types::CertificateDescription
1433
1441
 
1434
1442
  CertificateStateException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
@@ -1495,6 +1503,7 @@ module Aws::IoT
1495
1503
  CreateAuthorizerRequest.add_member(:token_key_name, Shapes::ShapeRef.new(shape: TokenKeyName, location_name: "tokenKeyName"))
1496
1504
  CreateAuthorizerRequest.add_member(:token_signing_public_keys, Shapes::ShapeRef.new(shape: PublicKeyMap, location_name: "tokenSigningPublicKeys"))
1497
1505
  CreateAuthorizerRequest.add_member(:status, Shapes::ShapeRef.new(shape: AuthorizerStatus, location_name: "status"))
1506
+ CreateAuthorizerRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1498
1507
  CreateAuthorizerRequest.add_member(:signing_disabled, Shapes::ShapeRef.new(shape: BooleanKey, location_name: "signingDisabled"))
1499
1508
  CreateAuthorizerRequest.struct_class = Types::CreateAuthorizerRequest
1500
1509
 
@@ -1538,6 +1547,7 @@ module Aws::IoT
1538
1547
  CreateDomainConfigurationRequest.add_member(:validation_certificate_arn, Shapes::ShapeRef.new(shape: AcmCertificateArn, location_name: "validationCertificateArn"))
1539
1548
  CreateDomainConfigurationRequest.add_member(:authorizer_config, Shapes::ShapeRef.new(shape: AuthorizerConfig, location_name: "authorizerConfig"))
1540
1549
  CreateDomainConfigurationRequest.add_member(:service_type, Shapes::ShapeRef.new(shape: ServiceType, location_name: "serviceType"))
1550
+ CreateDomainConfigurationRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1541
1551
  CreateDomainConfigurationRequest.struct_class = Types::CreateDomainConfigurationRequest
1542
1552
 
1543
1553
  CreateDomainConfigurationResponse.add_member(:domain_configuration_name, Shapes::ShapeRef.new(shape: DomainConfigurationName, location_name: "domainConfigurationName"))
@@ -1619,6 +1629,7 @@ module Aws::IoT
1619
1629
 
1620
1630
  CreatePolicyRequest.add_member(:policy_name, Shapes::ShapeRef.new(shape: PolicyName, required: true, location: "uri", location_name: "policyName"))
1621
1631
  CreatePolicyRequest.add_member(:policy_document, Shapes::ShapeRef.new(shape: PolicyDocument, required: true, location_name: "policyDocument"))
1632
+ CreatePolicyRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1622
1633
  CreatePolicyRequest.struct_class = Types::CreatePolicyRequest
1623
1634
 
1624
1635
  CreatePolicyResponse.add_member(:policy_name, Shapes::ShapeRef.new(shape: PolicyName, location_name: "policyName"))
@@ -1652,6 +1663,7 @@ module Aws::IoT
1652
1663
  CreateProvisioningTemplateRequest.add_member(:template_body, Shapes::ShapeRef.new(shape: TemplateBody, required: true, location_name: "templateBody"))
1653
1664
  CreateProvisioningTemplateRequest.add_member(:enabled, Shapes::ShapeRef.new(shape: Enabled, location_name: "enabled"))
1654
1665
  CreateProvisioningTemplateRequest.add_member(:provisioning_role_arn, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "provisioningRoleArn"))
1666
+ CreateProvisioningTemplateRequest.add_member(:pre_provisioning_hook, Shapes::ShapeRef.new(shape: ProvisioningHook, location_name: "preProvisioningHook"))
1655
1667
  CreateProvisioningTemplateRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1656
1668
  CreateProvisioningTemplateRequest.struct_class = Types::CreateProvisioningTemplateRequest
1657
1669
 
@@ -1674,6 +1686,7 @@ module Aws::IoT
1674
1686
  CreateRoleAliasRequest.add_member(:role_alias, Shapes::ShapeRef.new(shape: RoleAlias, required: true, location: "uri", location_name: "roleAlias"))
1675
1687
  CreateRoleAliasRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "roleArn"))
1676
1688
  CreateRoleAliasRequest.add_member(:credential_duration_seconds, Shapes::ShapeRef.new(shape: CredentialDurationSeconds, location_name: "credentialDurationSeconds"))
1689
+ CreateRoleAliasRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1677
1690
  CreateRoleAliasRequest.struct_class = Types::CreateRoleAliasRequest
1678
1691
 
1679
1692
  CreateRoleAliasResponse.add_member(:role_alias, Shapes::ShapeRef.new(shape: RoleAlias, location_name: "roleAlias"))
@@ -2072,6 +2085,7 @@ module Aws::IoT
2072
2085
  DescribeProvisioningTemplateResponse.add_member(:template_body, Shapes::ShapeRef.new(shape: TemplateBody, location_name: "templateBody"))
2073
2086
  DescribeProvisioningTemplateResponse.add_member(:enabled, Shapes::ShapeRef.new(shape: Enabled, location_name: "enabled"))
2074
2087
  DescribeProvisioningTemplateResponse.add_member(:provisioning_role_arn, Shapes::ShapeRef.new(shape: RoleArn, location_name: "provisioningRoleArn"))
2088
+ DescribeProvisioningTemplateResponse.add_member(:pre_provisioning_hook, Shapes::ShapeRef.new(shape: ProvisioningHook, location_name: "preProvisioningHook"))
2075
2089
  DescribeProvisioningTemplateResponse.struct_class = Types::DescribeProvisioningTemplateResponse
2076
2090
 
2077
2091
  DescribeProvisioningTemplateVersionRequest.add_member(:template_name, Shapes::ShapeRef.new(shape: TemplateName, required: true, location: "uri", location_name: "templateName"))
@@ -3189,6 +3203,10 @@ module Aws::IoT
3189
3203
 
3190
3204
  Protocols.member = Shapes::ShapeRef.new(shape: Protocol)
3191
3205
 
3206
+ ProvisioningHook.add_member(:payload_version, Shapes::ShapeRef.new(shape: PayloadVersion, location_name: "payloadVersion"))
3207
+ ProvisioningHook.add_member(:target_arn, Shapes::ShapeRef.new(shape: TargetArn, required: true, location_name: "targetArn"))
3208
+ ProvisioningHook.struct_class = Types::ProvisioningHook
3209
+
3192
3210
  ProvisioningTemplateListing.member = Shapes::ShapeRef.new(shape: ProvisioningTemplateSummary)
3193
3211
 
3194
3212
  ProvisioningTemplateSummary.add_member(:template_arn, Shapes::ShapeRef.new(shape: TemplateArn, location_name: "templateArn"))
@@ -3235,6 +3253,7 @@ module Aws::IoT
3235
3253
  RegisterCACertificateRequest.add_member(:set_as_active, Shapes::ShapeRef.new(shape: SetAsActive, location: "querystring", location_name: "setAsActive"))
3236
3254
  RegisterCACertificateRequest.add_member(:allow_auto_registration, Shapes::ShapeRef.new(shape: AllowAutoRegistration, location: "querystring", location_name: "allowAutoRegistration"))
3237
3255
  RegisterCACertificateRequest.add_member(:registration_config, Shapes::ShapeRef.new(shape: RegistrationConfig, location_name: "registrationConfig"))
3256
+ RegisterCACertificateRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
3238
3257
  RegisterCACertificateRequest.struct_class = Types::RegisterCACertificateRequest
3239
3258
 
3240
3259
  RegisterCACertificateResponse.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: CertificateArn, location_name: "certificateArn"))
@@ -3251,6 +3270,14 @@ module Aws::IoT
3251
3270
  RegisterCertificateResponse.add_member(:certificate_id, Shapes::ShapeRef.new(shape: CertificateId, location_name: "certificateId"))
3252
3271
  RegisterCertificateResponse.struct_class = Types::RegisterCertificateResponse
3253
3272
 
3273
+ RegisterCertificateWithoutCARequest.add_member(:certificate_pem, Shapes::ShapeRef.new(shape: CertificatePem, required: true, location_name: "certificatePem"))
3274
+ RegisterCertificateWithoutCARequest.add_member(:status, Shapes::ShapeRef.new(shape: CertificateStatus, location_name: "status"))
3275
+ RegisterCertificateWithoutCARequest.struct_class = Types::RegisterCertificateWithoutCARequest
3276
+
3277
+ RegisterCertificateWithoutCAResponse.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: CertificateArn, location_name: "certificateArn"))
3278
+ RegisterCertificateWithoutCAResponse.add_member(:certificate_id, Shapes::ShapeRef.new(shape: CertificateId, location_name: "certificateId"))
3279
+ RegisterCertificateWithoutCAResponse.struct_class = Types::RegisterCertificateWithoutCAResponse
3280
+
3254
3281
  RegisterThingRequest.add_member(:template_body, Shapes::ShapeRef.new(shape: TemplateBody, required: true, location_name: "templateBody"))
3255
3282
  RegisterThingRequest.add_member(:parameters, Shapes::ShapeRef.new(shape: Parameters, location_name: "parameters"))
3256
3283
  RegisterThingRequest.struct_class = Types::RegisterThingRequest
@@ -3548,7 +3575,7 @@ module Aws::IoT
3548
3575
  StringMap.key = Shapes::ShapeRef.new(shape: String)
3549
3576
  StringMap.value = Shapes::ShapeRef.new(shape: String)
3550
3577
 
3551
- Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, location_name: "Key"))
3578
+ Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
3552
3579
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, location_name: "Value"))
3553
3580
  Tag.struct_class = Types::Tag
3554
3581
 
@@ -3885,6 +3912,8 @@ module Aws::IoT
3885
3912
  UpdateProvisioningTemplateRequest.add_member(:enabled, Shapes::ShapeRef.new(shape: Enabled, location_name: "enabled"))
3886
3913
  UpdateProvisioningTemplateRequest.add_member(:default_version_id, Shapes::ShapeRef.new(shape: TemplateVersionId, location_name: "defaultVersionId"))
3887
3914
  UpdateProvisioningTemplateRequest.add_member(:provisioning_role_arn, Shapes::ShapeRef.new(shape: RoleArn, location_name: "provisioningRoleArn"))
3915
+ UpdateProvisioningTemplateRequest.add_member(:pre_provisioning_hook, Shapes::ShapeRef.new(shape: ProvisioningHook, location_name: "preProvisioningHook"))
3916
+ UpdateProvisioningTemplateRequest.add_member(:remove_pre_provisioning_hook, Shapes::ShapeRef.new(shape: RemoveHook, location_name: "removePreProvisioningHook"))
3888
3917
  UpdateProvisioningTemplateRequest.struct_class = Types::UpdateProvisioningTemplateRequest
3889
3918
 
3890
3919
  UpdateProvisioningTemplateResponse.struct_class = Types::UpdateProvisioningTemplateResponse
@@ -5073,6 +5102,7 @@ module Aws::IoT
5073
5102
  o.output = Shapes::ShapeRef.new(shape: DescribeDomainConfigurationResponse)
5074
5103
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5075
5104
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5105
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5076
5106
  o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
5077
5107
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
5078
5108
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
@@ -6184,6 +6214,22 @@ module Aws::IoT
6184
6214
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6185
6215
  end)
6186
6216
 
6217
+ api.add_operation(:register_certificate_without_ca, Seahorse::Model::Operation.new.tap do |o|
6218
+ o.name = "RegisterCertificateWithoutCA"
6219
+ o.http_method = "POST"
6220
+ o.http_request_uri = "/certificate/register-no-ca"
6221
+ o.input = Shapes::ShapeRef.new(shape: RegisterCertificateWithoutCARequest)
6222
+ o.output = Shapes::ShapeRef.new(shape: RegisterCertificateWithoutCAResponse)
6223
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
6224
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6225
+ o.errors << Shapes::ShapeRef.new(shape: CertificateStateException)
6226
+ o.errors << Shapes::ShapeRef.new(shape: CertificateValidationException)
6227
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6228
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
6229
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
6230
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6231
+ end)
6232
+
6187
6233
  api.add_operation(:register_thing, Seahorse::Model::Operation.new.tap do |o|
6188
6234
  o.name = "RegisterThing"
6189
6235
  o.http_method = "POST"
@@ -6318,7 +6364,6 @@ module Aws::IoT
6318
6364
  o.errors << Shapes::ShapeRef.new(shape: NotConfiguredException)
6319
6365
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6320
6366
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
6321
- o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
6322
6367
  end)
6323
6368
 
6324
6369
  api.add_operation(:set_v2_logging_options, Seahorse::Model::Operation.new.tap do |o|
@@ -1134,7 +1134,7 @@ module Aws::IoT
1134
1134
  #
1135
1135
  # {
1136
1136
  # action_type: "PUBLISH", # accepts PUBLISH, SUBSCRIBE, RECEIVE, CONNECT
1137
- # resources: ["Resource"],
1137
+ # resources: ["Resource"], # required
1138
1138
  # }
1139
1139
  #
1140
1140
  # @!attribute [rw] action_type
@@ -1758,6 +1758,10 @@ module Aws::IoT
1758
1758
  # used.
1759
1759
  # @return [String]
1760
1760
  #
1761
+ # @!attribute [rw] certificate_mode
1762
+ # The mode of the certificate.
1763
+ # @return [String]
1764
+ #
1761
1765
  # @!attribute [rw] creation_date
1762
1766
  # The date and time the certificate was created.
1763
1767
  # @return [Time]
@@ -1766,6 +1770,7 @@ module Aws::IoT
1766
1770
  :certificate_arn,
1767
1771
  :certificate_id,
1768
1772
  :status,
1773
+ :certificate_mode,
1769
1774
  :creation_date)
1770
1775
  include Aws::Structure
1771
1776
  end
@@ -1839,6 +1844,10 @@ module Aws::IoT
1839
1844
  # When the certificate is valid.
1840
1845
  # @return [Types::CertificateValidity]
1841
1846
  #
1847
+ # @!attribute [rw] certificate_mode
1848
+ # The mode of the certificate.
1849
+ # @return [String]
1850
+ #
1842
1851
  class CertificateDescription < Struct.new(
1843
1852
  :certificate_arn,
1844
1853
  :certificate_id,
@@ -1852,7 +1861,8 @@ module Aws::IoT
1852
1861
  :customer_version,
1853
1862
  :transfer_data,
1854
1863
  :generation_id,
1855
- :validity)
1864
+ :validity,
1865
+ :certificate_mode)
1856
1866
  include Aws::Structure
1857
1867
  end
1858
1868
 
@@ -2174,6 +2184,12 @@ module Aws::IoT
2174
2184
  # "KeyName" => "KeyValue",
2175
2185
  # },
2176
2186
  # status: "ACTIVE", # accepts ACTIVE, INACTIVE
2187
+ # tags: [
2188
+ # {
2189
+ # key: "TagKey", # required
2190
+ # value: "TagValue",
2191
+ # },
2192
+ # ],
2177
2193
  # signing_disabled: false,
2178
2194
  # }
2179
2195
  #
@@ -2199,6 +2215,21 @@ module Aws::IoT
2199
2215
  # The status of the create authorizer request.
2200
2216
  # @return [String]
2201
2217
  #
2218
+ # @!attribute [rw] tags
2219
+ # Metadata which can be used to manage the custom authorizer.
2220
+ #
2221
+ # <note markdown="1"> For URI Request parameters use format:
2222
+ # ...key1=value1&amp;key2=value2...
2223
+ #
2224
+ # For the CLI command-line parameter use format: &amp;&amp;tags
2225
+ # "key1=value1&amp;key2=value2..."
2226
+ #
2227
+ # For the cli-input-json file use format: "tags":
2228
+ # "key1=value1&amp;key2=value2..."
2229
+ #
2230
+ # </note>
2231
+ # @return [Array<Types::Tag>]
2232
+ #
2202
2233
  # @!attribute [rw] signing_disabled
2203
2234
  # Specifies whether AWS IoT validates the token signature in an
2204
2235
  # authorization request.
@@ -2210,6 +2241,7 @@ module Aws::IoT
2210
2241
  :token_key_name,
2211
2242
  :token_signing_public_keys,
2212
2243
  :status,
2244
+ :tags,
2213
2245
  :signing_disabled)
2214
2246
  include Aws::Structure
2215
2247
  end
@@ -2238,7 +2270,7 @@ module Aws::IoT
2238
2270
  # },
2239
2271
  # tags: [
2240
2272
  # {
2241
- # key: "TagKey",
2273
+ # key: "TagKey", # required
2242
2274
  # value: "TagValue",
2243
2275
  # },
2244
2276
  # ],
@@ -2338,7 +2370,7 @@ module Aws::IoT
2338
2370
  # string_values: ["DimensionStringValue"], # required
2339
2371
  # tags: [
2340
2372
  # {
2341
- # key: "TagKey",
2373
+ # key: "TagKey", # required
2342
2374
  # value: "TagValue",
2343
2375
  # },
2344
2376
  # ],
@@ -2411,6 +2443,12 @@ module Aws::IoT
2411
2443
  # allow_authorizer_override: false,
2412
2444
  # },
2413
2445
  # service_type: "DATA", # accepts DATA, CREDENTIAL_PROVIDER, JOBS
2446
+ # tags: [
2447
+ # {
2448
+ # key: "TagKey", # required
2449
+ # value: "TagValue",
2450
+ # },
2451
+ # ],
2414
2452
  # }
2415
2453
  #
2416
2454
  # @!attribute [rw] domain_configuration_name
@@ -2441,15 +2479,35 @@ module Aws::IoT
2441
2479
  #
2442
2480
  # @!attribute [rw] service_type
2443
2481
  # The type of service delivered by the endpoint.
2482
+ #
2483
+ # <note markdown="1"> AWS IoT Core currently supports only the `DATA` service type.
2484
+ #
2485
+ # </note>
2444
2486
  # @return [String]
2445
2487
  #
2488
+ # @!attribute [rw] tags
2489
+ # Metadata which can be used to manage the domain configuration.
2490
+ #
2491
+ # <note markdown="1"> For URI Request parameters use format:
2492
+ # ...key1=value1&amp;key2=value2...
2493
+ #
2494
+ # For the CLI command-line parameter use format: &amp;&amp;tags
2495
+ # "key1=value1&amp;key2=value2..."
2496
+ #
2497
+ # For the cli-input-json file use format: "tags":
2498
+ # "key1=value1&amp;key2=value2..."
2499
+ #
2500
+ # </note>
2501
+ # @return [Array<Types::Tag>]
2502
+ #
2446
2503
  class CreateDomainConfigurationRequest < Struct.new(
2447
2504
  :domain_configuration_name,
2448
2505
  :domain_name,
2449
2506
  :server_certificate_arns,
2450
2507
  :validation_certificate_arn,
2451
2508
  :authorizer_config,
2452
- :service_type)
2509
+ :service_type,
2510
+ :tags)
2453
2511
  include Aws::Structure
2454
2512
  end
2455
2513
 
@@ -2486,7 +2544,7 @@ module Aws::IoT
2486
2544
  # query_version: "QueryVersion",
2487
2545
  # tags: [
2488
2546
  # {
2489
- # key: "TagKey",
2547
+ # key: "TagKey", # required
2490
2548
  # value: "TagValue",
2491
2549
  # },
2492
2550
  # ],
@@ -2615,7 +2673,7 @@ module Aws::IoT
2615
2673
  # },
2616
2674
  # tags: [
2617
2675
  # {
2618
- # key: "TagKey",
2676
+ # key: "TagKey", # required
2619
2677
  # value: "TagValue",
2620
2678
  # },
2621
2679
  # ],
@@ -2797,7 +2855,7 @@ module Aws::IoT
2797
2855
  # },
2798
2856
  # tags: [
2799
2857
  # {
2800
- # key: "TagKey",
2858
+ # key: "TagKey", # required
2801
2859
  # value: "TagValue",
2802
2860
  # },
2803
2861
  # ],
@@ -2912,7 +2970,7 @@ module Aws::IoT
2912
2970
  # },
2913
2971
  # tags: [
2914
2972
  # {
2915
- # key: "TagKey",
2973
+ # key: "TagKey", # required
2916
2974
  # value: "TagValue",
2917
2975
  # },
2918
2976
  # ],
@@ -3023,6 +3081,12 @@ module Aws::IoT
3023
3081
  # {
3024
3082
  # policy_name: "PolicyName", # required
3025
3083
  # policy_document: "PolicyDocument", # required
3084
+ # tags: [
3085
+ # {
3086
+ # key: "TagKey", # required
3087
+ # value: "TagValue",
3088
+ # },
3089
+ # ],
3026
3090
  # }
3027
3091
  #
3028
3092
  # @!attribute [rw] policy_name
@@ -3035,9 +3099,25 @@ module Aws::IoT
3035
3099
  # whitespace.
3036
3100
  # @return [String]
3037
3101
  #
3102
+ # @!attribute [rw] tags
3103
+ # Metadata which can be used to manage the policy.
3104
+ #
3105
+ # <note markdown="1"> For URI Request parameters use format:
3106
+ # ...key1=value1&amp;key2=value2...
3107
+ #
3108
+ # For the CLI command-line parameter use format: &amp;&amp;tags
3109
+ # "key1=value1&amp;key2=value2..."
3110
+ #
3111
+ # For the cli-input-json file use format: "tags":
3112
+ # "key1=value1&amp;key2=value2..."
3113
+ #
3114
+ # </note>
3115
+ # @return [Array<Types::Tag>]
3116
+ #
3038
3117
  class CreatePolicyRequest < Struct.new(
3039
3118
  :policy_name,
3040
- :policy_document)
3119
+ :policy_document,
3120
+ :tags)
3041
3121
  include Aws::Structure
3042
3122
  end
3043
3123
 
@@ -3176,9 +3256,13 @@ module Aws::IoT
3176
3256
  # template_body: "TemplateBody", # required
3177
3257
  # enabled: false,
3178
3258
  # provisioning_role_arn: "RoleArn", # required
3259
+ # pre_provisioning_hook: {
3260
+ # payload_version: "PayloadVersion",
3261
+ # target_arn: "TargetArn", # required
3262
+ # },
3179
3263
  # tags: [
3180
3264
  # {
3181
- # key: "TagKey",
3265
+ # key: "TagKey", # required
3182
3266
  # value: "TagValue",
3183
3267
  # },
3184
3268
  # ],
@@ -3205,6 +3289,10 @@ module Aws::IoT
3205
3289
  # template. This IoT role grants permission to provision a device.
3206
3290
  # @return [String]
3207
3291
  #
3292
+ # @!attribute [rw] pre_provisioning_hook
3293
+ # Creates a pre-provisioning hook template.
3294
+ # @return [Types::ProvisioningHook]
3295
+ #
3208
3296
  # @!attribute [rw] tags
3209
3297
  # Metadata which can be used to manage the fleet provisioning
3210
3298
  # template.
@@ -3227,6 +3315,7 @@ module Aws::IoT
3227
3315
  :template_body,
3228
3316
  :enabled,
3229
3317
  :provisioning_role_arn,
3318
+ :pre_provisioning_hook,
3230
3319
  :tags)
3231
3320
  include Aws::Structure
3232
3321
  end
@@ -3310,6 +3399,12 @@ module Aws::IoT
3310
3399
  # role_alias: "RoleAlias", # required
3311
3400
  # role_arn: "RoleArn", # required
3312
3401
  # credential_duration_seconds: 1,
3402
+ # tags: [
3403
+ # {
3404
+ # key: "TagKey", # required
3405
+ # value: "TagValue",
3406
+ # },
3407
+ # ],
3313
3408
  # }
3314
3409
  #
3315
3410
  # @!attribute [rw] role_alias
@@ -3325,10 +3420,26 @@ module Aws::IoT
3325
3420
  # How long (in seconds) the credentials will be valid.
3326
3421
  # @return [Integer]
3327
3422
  #
3423
+ # @!attribute [rw] tags
3424
+ # Metadata which can be used to manage the role alias.
3425
+ #
3426
+ # <note markdown="1"> For URI Request parameters use format:
3427
+ # ...key1=value1&amp;key2=value2...
3428
+ #
3429
+ # For the CLI command-line parameter use format: &amp;&amp;tags
3430
+ # "key1=value1&amp;key2=value2..."
3431
+ #
3432
+ # For the cli-input-json file use format: "tags":
3433
+ # "key1=value1&amp;key2=value2..."
3434
+ #
3435
+ # </note>
3436
+ # @return [Array<Types::Tag>]
3437
+ #
3328
3438
  class CreateRoleAliasRequest < Struct.new(
3329
3439
  :role_alias,
3330
3440
  :role_arn,
3331
- :credential_duration_seconds)
3441
+ :credential_duration_seconds,
3442
+ :tags)
3332
3443
  include Aws::Structure
3333
3444
  end
3334
3445
 
@@ -3357,7 +3468,7 @@ module Aws::IoT
3357
3468
  # scheduled_audit_name: "ScheduledAuditName", # required
3358
3469
  # tags: [
3359
3470
  # {
3360
- # key: "TagKey",
3471
+ # key: "TagKey", # required
3361
3472
  # value: "TagValue",
3362
3473
  # },
3363
3474
  # ],
@@ -3468,7 +3579,7 @@ module Aws::IoT
3468
3579
  # ],
3469
3580
  # tags: [
3470
3581
  # {
3471
- # key: "TagKey",
3582
+ # key: "TagKey", # required
3472
3583
  # value: "TagValue",
3473
3584
  # },
3474
3585
  # ],
@@ -3556,7 +3667,7 @@ module Aws::IoT
3556
3667
  # role_arn: "RoleArn", # required
3557
3668
  # tags: [
3558
3669
  # {
3559
- # key: "TagKey",
3670
+ # key: "TagKey", # required
3560
3671
  # value: "TagValue",
3561
3672
  # },
3562
3673
  # ],
@@ -3633,7 +3744,7 @@ module Aws::IoT
3633
3744
  # },
3634
3745
  # tags: [
3635
3746
  # {
3636
- # key: "TagKey",
3747
+ # key: "TagKey", # required
3637
3748
  # value: "TagValue",
3638
3749
  # },
3639
3750
  # ],
@@ -3701,6 +3812,10 @@ module Aws::IoT
3701
3812
  #
3702
3813
  # @!attribute [rw] thing_name
3703
3814
  # The name of the thing to create.
3815
+ #
3816
+ # You can't change a thing's name after you create it. To change a
3817
+ # thing's name, you must create a new thing, give it the new name,
3818
+ # and then delete the old thing.
3704
3819
  # @return [String]
3705
3820
  #
3706
3821
  # @!attribute [rw] thing_type_name
@@ -3760,7 +3875,7 @@ module Aws::IoT
3760
3875
  # },
3761
3876
  # tags: [
3762
3877
  # {
3763
- # key: "TagKey",
3878
+ # key: "TagKey", # required
3764
3879
  # value: "TagValue",
3765
3880
  # },
3766
3881
  # ],
@@ -5631,6 +5746,10 @@ module Aws::IoT
5631
5746
  # IoT role grants permission to provision a device.
5632
5747
  # @return [String]
5633
5748
  #
5749
+ # @!attribute [rw] pre_provisioning_hook
5750
+ # Gets information about a pre-provisioned hook.
5751
+ # @return [Types::ProvisioningHook]
5752
+ #
5634
5753
  class DescribeProvisioningTemplateResponse < Struct.new(
5635
5754
  :template_arn,
5636
5755
  :template_name,
@@ -5640,7 +5759,8 @@ module Aws::IoT
5640
5759
  :default_version_id,
5641
5760
  :template_body,
5642
5761
  :enabled,
5643
- :provisioning_role_arn)
5762
+ :provisioning_role_arn,
5763
+ :pre_provisioning_hook)
5644
5764
  include Aws::Structure
5645
5765
  end
5646
5766
 
@@ -6055,7 +6175,16 @@ module Aws::IoT
6055
6175
  # The output from the DescribeThing operation.
6056
6176
  #
6057
6177
  # @!attribute [rw] default_client_id
6058
- # The default client ID.
6178
+ # The default MQTT client ID. For a typical device, the thing name is
6179
+ # also used as the default MQTT client ID. Although we don’t require a
6180
+ # mapping between a thing's registry name and its use of MQTT client
6181
+ # IDs, certificates, or shadow state, we recommend that you choose a
6182
+ # thing name and use it as the MQTT client ID for the registry and the
6183
+ # Device Shadow service.
6184
+ #
6185
+ # This lets you better organize your AWS IoT fleet without removing
6186
+ # the flexibility of the underlying device certificate model or
6187
+ # shadows.
6059
6188
  # @return [String]
6060
6189
  #
6061
6190
  # @!attribute [rw] thing_name
@@ -10519,9 +10648,9 @@ module Aws::IoT
10519
10648
  #
10520
10649
  # @!attribute [rw] operator
10521
10650
  # Defines how the `dimensionValues` of a dimension are interpreted.
10522
- # For example, for DimensionType TOPIC\_FILTER, with `IN` operator, a
10651
+ # For example, for dimension type TOPIC\_FILTER, the `IN` operator, a
10523
10652
  # message will be counted only if its topic matches one of the topic
10524
- # filters. With `NOT_IN` Operator, a message will be counted only if
10653
+ # filters. With `NOT_IN` operator, a message will be counted only if
10525
10654
  # it doesn't match any of the topic filters. The operator is
10526
10655
  # optional: if it's not provided (is `null`), it will be interpreted
10527
10656
  # as `IN`.
@@ -11117,6 +11246,34 @@ module Aws::IoT
11117
11246
  include Aws::Structure
11118
11247
  end
11119
11248
 
11249
+ # Structure that contains `payloadVersion` and `targetArn`.
11250
+ #
11251
+ # @note When making an API call, you may pass ProvisioningHook
11252
+ # data as a hash:
11253
+ #
11254
+ # {
11255
+ # payload_version: "PayloadVersion",
11256
+ # target_arn: "TargetArn", # required
11257
+ # }
11258
+ #
11259
+ # @!attribute [rw] payload_version
11260
+ # The payload that was sent to the target function.
11261
+ #
11262
+ # *Note:* Only Lambda functions are currently supported.
11263
+ # @return [String]
11264
+ #
11265
+ # @!attribute [rw] target_arn
11266
+ # The ARN of the target function.
11267
+ #
11268
+ # *Note:* Only Lambda functions are currently supported.
11269
+ # @return [String]
11270
+ #
11271
+ class ProvisioningHook < Struct.new(
11272
+ :payload_version,
11273
+ :target_arn)
11274
+ include Aws::Structure
11275
+ end
11276
+
11120
11277
  # A summary of information about a fleet provisioning template.
11121
11278
  #
11122
11279
  # @!attribute [rw] template_arn
@@ -11321,6 +11478,12 @@ module Aws::IoT
11321
11478
  # template_body: "TemplateBody",
11322
11479
  # role_arn: "RoleArn",
11323
11480
  # },
11481
+ # tags: [
11482
+ # {
11483
+ # key: "TagKey", # required
11484
+ # value: "TagValue",
11485
+ # },
11486
+ # ],
11324
11487
  # }
11325
11488
  #
11326
11489
  # @!attribute [rw] ca_certificate
@@ -11345,12 +11508,28 @@ module Aws::IoT
11345
11508
  # Information about the registration configuration.
11346
11509
  # @return [Types::RegistrationConfig]
11347
11510
  #
11511
+ # @!attribute [rw] tags
11512
+ # Metadata which can be used to manage the CA certificate.
11513
+ #
11514
+ # <note markdown="1"> For URI Request parameters use format:
11515
+ # ...key1=value1&amp;key2=value2...
11516
+ #
11517
+ # For the CLI command-line parameter use format: &amp;&amp;tags
11518
+ # "key1=value1&amp;key2=value2..."
11519
+ #
11520
+ # For the cli-input-json file use format: "tags":
11521
+ # "key1=value1&amp;key2=value2..."
11522
+ #
11523
+ # </note>
11524
+ # @return [Array<Types::Tag>]
11525
+ #
11348
11526
  class RegisterCACertificateRequest < Struct.new(
11349
11527
  :ca_certificate,
11350
11528
  :verification_certificate,
11351
11529
  :set_as_active,
11352
11530
  :allow_auto_registration,
11353
- :registration_config)
11531
+ :registration_config,
11532
+ :tags)
11354
11533
  include Aws::Structure
11355
11534
  end
11356
11535
 
@@ -11423,6 +11602,43 @@ module Aws::IoT
11423
11602
  include Aws::Structure
11424
11603
  end
11425
11604
 
11605
+ # @note When making an API call, you may pass RegisterCertificateWithoutCARequest
11606
+ # data as a hash:
11607
+ #
11608
+ # {
11609
+ # certificate_pem: "CertificatePem", # required
11610
+ # status: "ACTIVE", # accepts ACTIVE, INACTIVE, REVOKED, PENDING_TRANSFER, REGISTER_INACTIVE, PENDING_ACTIVATION
11611
+ # }
11612
+ #
11613
+ # @!attribute [rw] certificate_pem
11614
+ # The certificate data, in PEM format.
11615
+ # @return [String]
11616
+ #
11617
+ # @!attribute [rw] status
11618
+ # The status of the register certificate request.
11619
+ # @return [String]
11620
+ #
11621
+ class RegisterCertificateWithoutCARequest < Struct.new(
11622
+ :certificate_pem,
11623
+ :status)
11624
+ include Aws::Structure
11625
+ end
11626
+
11627
+ # @!attribute [rw] certificate_arn
11628
+ # The Amazon Resource Name (ARN) of the registered certificate.
11629
+ # @return [String]
11630
+ #
11631
+ # @!attribute [rw] certificate_id
11632
+ # The ID of the registered certificate. (The last part of the
11633
+ # certificate ARN contains the certificate ID.
11634
+ # @return [String]
11635
+ #
11636
+ class RegisterCertificateWithoutCAResponse < Struct.new(
11637
+ :certificate_arn,
11638
+ :certificate_id)
11639
+ include Aws::Structure
11640
+ end
11641
+
11426
11642
  # @note When making an API call, you may pass RegisterThingRequest
11427
11643
  # data as a hash:
11428
11644
  #
@@ -11443,12 +11659,12 @@ module Aws::IoT
11443
11659
  # @return [String]
11444
11660
  #
11445
11661
  # @!attribute [rw] parameters
11446
- # The parameters for provisioning a thing. See [Programmatic
11447
- # Provisioning][1] for more information.
11662
+ # The parameters for provisioning a thing. See [Provisioning
11663
+ # Templates][1] for more information.
11448
11664
  #
11449
11665
  #
11450
11666
  #
11451
- # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/programmatic-provisioning.html
11667
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/provision-template.html
11452
11668
  # @return [Hash<String,String>]
11453
11669
  #
11454
11670
  class RegisterThingRequest < Struct.new(
@@ -11458,7 +11674,7 @@ module Aws::IoT
11458
11674
  end
11459
11675
 
11460
11676
  # @!attribute [rw] certificate_pem
11461
- # .
11677
+ # The certificate data, in PEM format.
11462
11678
  # @return [String]
11463
11679
  #
11464
11680
  # @!attribute [rw] resource_arns
@@ -13137,7 +13353,7 @@ module Aws::IoT
13137
13353
  # data as a hash:
13138
13354
  #
13139
13355
  # {
13140
- # key: "TagKey",
13356
+ # key: "TagKey", # required
13141
13357
  # value: "TagValue",
13142
13358
  # }
13143
13359
  #
@@ -13162,7 +13378,7 @@ module Aws::IoT
13162
13378
  # resource_arn: "ResourceArn", # required
13163
13379
  # tags: [ # required
13164
13380
  # {
13165
- # key: "TagKey",
13381
+ # key: "TagKey", # required
13166
13382
  # value: "TagValue",
13167
13383
  # },
13168
13384
  # ],
@@ -13283,7 +13499,7 @@ module Aws::IoT
13283
13499
  # auth_infos: [ # required
13284
13500
  # {
13285
13501
  # action_type: "PUBLISH", # accepts PUBLISH, SUBSCRIBE, RECEIVE, CONNECT
13286
- # resources: ["Resource"],
13502
+ # resources: ["Resource"], # required
13287
13503
  # },
13288
13504
  # ],
13289
13505
  # client_id: "ClientId",
@@ -13371,7 +13587,7 @@ module Aws::IoT
13371
13587
  #
13372
13588
  # @!attribute [rw] token_signature
13373
13589
  # The signature made with the token and your custom authentication
13374
- # service's private key.
13590
+ # service's private key. This value must be Base-64-encoded.
13375
13591
  # @return [String]
13376
13592
  #
13377
13593
  # @!attribute [rw] http_context
@@ -15209,6 +15425,11 @@ module Aws::IoT
15209
15425
  # enabled: false,
15210
15426
  # default_version_id: 1,
15211
15427
  # provisioning_role_arn: "RoleArn",
15428
+ # pre_provisioning_hook: {
15429
+ # payload_version: "PayloadVersion",
15430
+ # target_arn: "TargetArn", # required
15431
+ # },
15432
+ # remove_pre_provisioning_hook: false,
15212
15433
  # }
15213
15434
  #
15214
15435
  # @!attribute [rw] template_name
@@ -15232,12 +15453,22 @@ module Aws::IoT
15232
15453
  # IoT role grants permission to provision a device.
15233
15454
  # @return [String]
15234
15455
  #
15456
+ # @!attribute [rw] pre_provisioning_hook
15457
+ # Updates the pre-provisioning hook template.
15458
+ # @return [Types::ProvisioningHook]
15459
+ #
15460
+ # @!attribute [rw] remove_pre_provisioning_hook
15461
+ # Removes pre-provisioning hook template.
15462
+ # @return [Boolean]
15463
+ #
15235
15464
  class UpdateProvisioningTemplateRequest < Struct.new(
15236
15465
  :template_name,
15237
15466
  :description,
15238
15467
  :enabled,
15239
15468
  :default_version_id,
15240
- :provisioning_role_arn)
15469
+ :provisioning_role_arn,
15470
+ :pre_provisioning_hook,
15471
+ :remove_pre_provisioning_hook)
15241
15472
  include Aws::Structure
15242
15473
  end
15243
15474
 
@@ -15706,6 +15937,10 @@ module Aws::IoT
15706
15937
  #
15707
15938
  # @!attribute [rw] thing_name
15708
15939
  # The name of the thing to update.
15940
+ #
15941
+ # You can't change a thing's name. To change a thing's name, you
15942
+ # must create a new thing, give it the new name, and then delete the
15943
+ # old thing.
15709
15944
  # @return [String]
15710
15945
  #
15711
15946
  # @!attribute [rw] thing_type_name
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.47.0
4
+ version: 1.48.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-24 00:00:00.000000000 Z
11
+ date: 2020-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core