aws-sdk-iot 1.46.0 → 1.51.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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