aws-sdk-iot 1.47.0 → 1.48.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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