aws-sdk-iot 1.46.0 → 1.51.1

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.
@@ -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"
@@ -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