aws-sdk-iot 1.114.0 → 1.116.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: ef73a989fbb75429f31b2d3a58d2826c59c6a30b9fc7f7f73e48bcce07a90913
4
- data.tar.gz: 3430b765dd236c02833dfbcc7ff213131a4a209f3e7c857f82f8dd923e336a01
3
+ metadata.gz: 659c2d0f778c1b9df008b58748ce606597bc062316101dcddcdd14a69ef9242d
4
+ data.tar.gz: 3e6f86544092d0ac3ffb27448e8e26f6c1a9e6df17164be7e9c7f82b2a228a55
5
5
  SHA512:
6
- metadata.gz: b6646599e153163e4404f4b930581e4da473320bc9198d47ecda94e5b00e6246c8e42337271adec949d158511524d2433385d9f635fd7c11389584bb496bbeed
7
- data.tar.gz: 4ff904b782b63fa9925545684647a8a7df107a922b60c87548d315bab109fdfa825b272cb6d1ceef4c9fb5331ee4d87f52e59972d207f0ff3a2ed644faf16cfd
6
+ metadata.gz: f065f8b49b4b1d064a068463de48408941806344e48b47126cb222f7a16733d409bd0b77a9549e98993f2508c790bd3ceeeeffcee0f0443df43a52493c655993
7
+ data.tar.gz: e3b3b6cfe8f03b7080a30952fd40420d6d49f7e856d54f86bc67d0c592f329b40ca5d9d1beef2e19b4387f3c726481d8a28fcc0034d52ad0e29e21d99b64b818
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.116.0 (2023-12-14)
5
+ ------------------
6
+
7
+ * Feature - This release adds the ability to self-manage certificate signing in AWS IoT Core fleet provisioning using the new certificate provider resource.
8
+
9
+ 1.115.0 (2023-11-28)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.114.0 (2023-11-22)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.114.0
1
+ 1.116.0
@@ -1311,6 +1311,82 @@ module Aws::IoT
1311
1311
  req.send_request(options)
1312
1312
  end
1313
1313
 
1314
+ # Creates an Amazon Web Services IoT Core certificate provider. You can
1315
+ # use Amazon Web Services IoT Core certificate provider to customize how
1316
+ # to sign a certificate signing request (CSR) in IoT fleet provisioning.
1317
+ # For more information, see [Customizing certificate signing using
1318
+ # Amazon Web Services IoT Core certificate provider][1] from *Amazon Web
1319
+ # Services IoT Core Developer Guide*.
1320
+ #
1321
+ # Requires permission to access the [CreateCertificateProvider][2]
1322
+ # action.
1323
+ #
1324
+ # After you create a certificate provider, the behavior of [
1325
+ # `CreateCertificateFromCsr` API for fleet provisioning][3] will change
1326
+ # and all API calls to `CreateCertificateFromCsr` will invoke the
1327
+ # certificate provider to create the certificates. It can take up to a
1328
+ # few minutes for this behavior to change after a certificate provider
1329
+ # is created.
1330
+ #
1331
+ #
1332
+ #
1333
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/provisioning-cert-provider.html
1334
+ # [2]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
1335
+ # [3]: https://docs.aws.amazon.com/iot/latest/developerguide/fleet-provision-api.html#create-cert-csr
1336
+ #
1337
+ # @option params [required, String] :certificate_provider_name
1338
+ # The name of the certificate provider.
1339
+ #
1340
+ # @option params [required, String] :lambda_function_arn
1341
+ # The ARN of the Lambda function that defines the authentication logic.
1342
+ #
1343
+ # @option params [required, Array<String>] :account_default_for_operations
1344
+ # A list of the operations that the certificate provider will use to
1345
+ # generate certificates. Valid value: `CreateCertificateFromCsr`.
1346
+ #
1347
+ # @option params [String] :client_token
1348
+ # A string that you can optionally pass in the
1349
+ # `CreateCertificateProvider` request to make sure the request is
1350
+ # idempotent.
1351
+ #
1352
+ # **A suitable default value is auto-generated.** You should normally
1353
+ # not need to pass this option.**
1354
+ #
1355
+ # @option params [Array<Types::Tag>] :tags
1356
+ # Metadata which can be used to manage the certificate provider.
1357
+ #
1358
+ # @return [Types::CreateCertificateProviderResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1359
+ #
1360
+ # * {Types::CreateCertificateProviderResponse#certificate_provider_name #certificate_provider_name} => String
1361
+ # * {Types::CreateCertificateProviderResponse#certificate_provider_arn #certificate_provider_arn} => String
1362
+ #
1363
+ # @example Request syntax with placeholder values
1364
+ #
1365
+ # resp = client.create_certificate_provider({
1366
+ # certificate_provider_name: "CertificateProviderName", # required
1367
+ # lambda_function_arn: "CertificateProviderFunctionArn", # required
1368
+ # account_default_for_operations: ["CreateCertificateFromCsr"], # required, accepts CreateCertificateFromCsr
1369
+ # client_token: "ClientToken",
1370
+ # tags: [
1371
+ # {
1372
+ # key: "TagKey", # required
1373
+ # value: "TagValue",
1374
+ # },
1375
+ # ],
1376
+ # })
1377
+ #
1378
+ # @example Response structure
1379
+ #
1380
+ # resp.certificate_provider_name #=> String
1381
+ # resp.certificate_provider_arn #=> String
1382
+ #
1383
+ # @overload create_certificate_provider(params = {})
1384
+ # @param [Hash] params ({})
1385
+ def create_certificate_provider(params = {}, options = {})
1386
+ req = build_request(:create_certificate_provider, params)
1387
+ req.send_request(options)
1388
+ end
1389
+
1314
1390
  # Use this API to define a Custom Metric published by your devices to
1315
1391
  # Device Defender.
1316
1392
  #
@@ -4074,6 +4150,37 @@ module Aws::IoT
4074
4150
  req.send_request(options)
4075
4151
  end
4076
4152
 
4153
+ # Deletes a certificate provider.
4154
+ #
4155
+ # Requires permission to access the [DeleteCertificateProvider][1]
4156
+ # action.
4157
+ #
4158
+ # If you delete the certificate provider resource, the behavior of
4159
+ # `CreateCertificateFromCsr` will resume, and IoT will create
4160
+ # certificates signed by IoT from a certificate signing request (CSR).
4161
+ #
4162
+ #
4163
+ #
4164
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
4165
+ #
4166
+ # @option params [required, String] :certificate_provider_name
4167
+ # The name of the certificate provider.
4168
+ #
4169
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4170
+ #
4171
+ # @example Request syntax with placeholder values
4172
+ #
4173
+ # resp = client.delete_certificate_provider({
4174
+ # certificate_provider_name: "CertificateProviderName", # required
4175
+ # })
4176
+ #
4177
+ # @overload delete_certificate_provider(params = {})
4178
+ # @param [Hash] params ({})
4179
+ def delete_certificate_provider(params = {}, options = {})
4180
+ req = build_request(:delete_certificate_provider, params)
4181
+ req.send_request(options)
4182
+ end
4183
+
4077
4184
  # Deletes a Device Defender detect custom metric.
4078
4185
  #
4079
4186
  # Requires permission to access the [DeleteCustomMetric][1] action.
@@ -5481,6 +5588,50 @@ module Aws::IoT
5481
5588
  req.send_request(options)
5482
5589
  end
5483
5590
 
5591
+ # Describes a certificate provider.
5592
+ #
5593
+ # Requires permission to access the [DescribeCertificateProvider][1]
5594
+ # action.
5595
+ #
5596
+ #
5597
+ #
5598
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
5599
+ #
5600
+ # @option params [required, String] :certificate_provider_name
5601
+ # The name of the certificate provider.
5602
+ #
5603
+ # @return [Types::DescribeCertificateProviderResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5604
+ #
5605
+ # * {Types::DescribeCertificateProviderResponse#certificate_provider_name #certificate_provider_name} => String
5606
+ # * {Types::DescribeCertificateProviderResponse#certificate_provider_arn #certificate_provider_arn} => String
5607
+ # * {Types::DescribeCertificateProviderResponse#lambda_function_arn #lambda_function_arn} => String
5608
+ # * {Types::DescribeCertificateProviderResponse#account_default_for_operations #account_default_for_operations} => Array&lt;String&gt;
5609
+ # * {Types::DescribeCertificateProviderResponse#creation_date #creation_date} => Time
5610
+ # * {Types::DescribeCertificateProviderResponse#last_modified_date #last_modified_date} => Time
5611
+ #
5612
+ # @example Request syntax with placeholder values
5613
+ #
5614
+ # resp = client.describe_certificate_provider({
5615
+ # certificate_provider_name: "CertificateProviderName", # required
5616
+ # })
5617
+ #
5618
+ # @example Response structure
5619
+ #
5620
+ # resp.certificate_provider_name #=> String
5621
+ # resp.certificate_provider_arn #=> String
5622
+ # resp.lambda_function_arn #=> String
5623
+ # resp.account_default_for_operations #=> Array
5624
+ # resp.account_default_for_operations[0] #=> String, one of "CreateCertificateFromCsr"
5625
+ # resp.creation_date #=> Time
5626
+ # resp.last_modified_date #=> Time
5627
+ #
5628
+ # @overload describe_certificate_provider(params = {})
5629
+ # @param [Hash] params ({})
5630
+ def describe_certificate_provider(params = {}, options = {})
5631
+ req = build_request(:describe_certificate_provider, params)
5632
+ req.send_request(options)
5633
+ end
5634
+
5484
5635
  # Gets information about a Device Defender detect custom metric.
5485
5636
  #
5486
5637
  # Requires permission to access the [DescribeCustomMetric][1] action.
@@ -8745,6 +8896,50 @@ module Aws::IoT
8745
8896
  req.send_request(options)
8746
8897
  end
8747
8898
 
8899
+ # Lists all your certificate providers in your Amazon Web Services
8900
+ # account.
8901
+ #
8902
+ # Requires permission to access the [ListCertificateProviders][1]
8903
+ # action.
8904
+ #
8905
+ #
8906
+ #
8907
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
8908
+ #
8909
+ # @option params [String] :next_token
8910
+ # The token for the next set of results, or `null` if there are no more
8911
+ # results.
8912
+ #
8913
+ # @option params [Boolean] :ascending_order
8914
+ # Returns the list of certificate providers in ascending alphabetical
8915
+ # order.
8916
+ #
8917
+ # @return [Types::ListCertificateProvidersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8918
+ #
8919
+ # * {Types::ListCertificateProvidersResponse#certificate_providers #certificate_providers} => Array&lt;Types::CertificateProviderSummary&gt;
8920
+ # * {Types::ListCertificateProvidersResponse#next_token #next_token} => String
8921
+ #
8922
+ # @example Request syntax with placeholder values
8923
+ #
8924
+ # resp = client.list_certificate_providers({
8925
+ # next_token: "Marker",
8926
+ # ascending_order: false,
8927
+ # })
8928
+ #
8929
+ # @example Response structure
8930
+ #
8931
+ # resp.certificate_providers #=> Array
8932
+ # resp.certificate_providers[0].certificate_provider_name #=> String
8933
+ # resp.certificate_providers[0].certificate_provider_arn #=> String
8934
+ # resp.next_token #=> String
8935
+ #
8936
+ # @overload list_certificate_providers(params = {})
8937
+ # @param [Hash] params ({})
8938
+ def list_certificate_providers(params = {}, options = {})
8939
+ req = build_request(:list_certificate_providers, params)
8940
+ req.send_request(options)
8941
+ end
8942
+
8748
8943
  # Lists the certificates registered in your Amazon Web Services account.
8749
8944
  #
8750
8945
  # The results are paginated with a default page size of 25. You can use
@@ -13383,6 +13578,51 @@ module Aws::IoT
13383
13578
  req.send_request(options)
13384
13579
  end
13385
13580
 
13581
+ # Updates a certificate provider.
13582
+ #
13583
+ # Requires permission to access the [UpdateCertificateProvider][1]
13584
+ # action.
13585
+ #
13586
+ #
13587
+ #
13588
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
13589
+ #
13590
+ # @option params [required, String] :certificate_provider_name
13591
+ # The name of the certificate provider.
13592
+ #
13593
+ # @option params [String] :lambda_function_arn
13594
+ # The Lambda function ARN that's associated with the certificate
13595
+ # provider.
13596
+ #
13597
+ # @option params [Array<String>] :account_default_for_operations
13598
+ # A list of the operations that the certificate provider will use to
13599
+ # generate certificates. Valid value: `CreateCertificateFromCsr`.
13600
+ #
13601
+ # @return [Types::UpdateCertificateProviderResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
13602
+ #
13603
+ # * {Types::UpdateCertificateProviderResponse#certificate_provider_name #certificate_provider_name} => String
13604
+ # * {Types::UpdateCertificateProviderResponse#certificate_provider_arn #certificate_provider_arn} => String
13605
+ #
13606
+ # @example Request syntax with placeholder values
13607
+ #
13608
+ # resp = client.update_certificate_provider({
13609
+ # certificate_provider_name: "CertificateProviderName", # required
13610
+ # lambda_function_arn: "CertificateProviderFunctionArn",
13611
+ # account_default_for_operations: ["CreateCertificateFromCsr"], # accepts CreateCertificateFromCsr
13612
+ # })
13613
+ #
13614
+ # @example Response structure
13615
+ #
13616
+ # resp.certificate_provider_name #=> String
13617
+ # resp.certificate_provider_arn #=> String
13618
+ #
13619
+ # @overload update_certificate_provider(params = {})
13620
+ # @param [Hash] params ({})
13621
+ def update_certificate_provider(params = {}, options = {})
13622
+ req = build_request(:update_certificate_provider, params)
13623
+ req.send_request(options)
13624
+ end
13625
+
13386
13626
  # Updates a Device Defender detect custom metric.
13387
13627
  #
13388
13628
  # Requires permission to access the [UpdateCustomMetric][1] action.
@@ -14823,7 +15063,7 @@ module Aws::IoT
14823
15063
  params: params,
14824
15064
  config: config)
14825
15065
  context[:gem_name] = 'aws-sdk-iot'
14826
- context[:gem_version] = '1.114.0'
15066
+ context[:gem_version] = '1.116.0'
14827
15067
  Seahorse::Client::Request.new(handlers, context)
14828
15068
  end
14829
15069
 
@@ -196,6 +196,13 @@ module Aws::IoT
196
196
  CertificateName = Shapes::StringShape.new(name: 'CertificateName')
197
197
  CertificatePathOnDevice = Shapes::StringShape.new(name: 'CertificatePathOnDevice')
198
198
  CertificatePem = Shapes::StringShape.new(name: 'CertificatePem')
199
+ CertificateProviderAccountDefaultForOperations = Shapes::ListShape.new(name: 'CertificateProviderAccountDefaultForOperations')
200
+ CertificateProviderArn = Shapes::StringShape.new(name: 'CertificateProviderArn')
201
+ CertificateProviderFunctionArn = Shapes::StringShape.new(name: 'CertificateProviderFunctionArn')
202
+ CertificateProviderName = Shapes::StringShape.new(name: 'CertificateProviderName')
203
+ CertificateProviderOperation = Shapes::StringShape.new(name: 'CertificateProviderOperation')
204
+ CertificateProviderSummary = Shapes::StructureShape.new(name: 'CertificateProviderSummary')
205
+ CertificateProviders = Shapes::ListShape.new(name: 'CertificateProviders')
199
206
  CertificateSigningRequest = Shapes::StringShape.new(name: 'CertificateSigningRequest')
200
207
  CertificateStateException = Shapes::StructureShape.new(name: 'CertificateStateException')
201
208
  CertificateStatus = Shapes::StringShape.new(name: 'CertificateStatus')
@@ -244,6 +251,8 @@ module Aws::IoT
244
251
  CreateBillingGroupResponse = Shapes::StructureShape.new(name: 'CreateBillingGroupResponse')
245
252
  CreateCertificateFromCsrRequest = Shapes::StructureShape.new(name: 'CreateCertificateFromCsrRequest')
246
253
  CreateCertificateFromCsrResponse = Shapes::StructureShape.new(name: 'CreateCertificateFromCsrResponse')
254
+ CreateCertificateProviderRequest = Shapes::StructureShape.new(name: 'CreateCertificateProviderRequest')
255
+ CreateCertificateProviderResponse = Shapes::StructureShape.new(name: 'CreateCertificateProviderResponse')
247
256
  CreateCustomMetricRequest = Shapes::StructureShape.new(name: 'CreateCustomMetricRequest')
248
257
  CreateCustomMetricResponse = Shapes::StructureShape.new(name: 'CreateCustomMetricResponse')
249
258
  CreateDimensionRequest = Shapes::StructureShape.new(name: 'CreateDimensionRequest')
@@ -321,6 +330,8 @@ module Aws::IoT
321
330
  DeleteBillingGroupResponse = Shapes::StructureShape.new(name: 'DeleteBillingGroupResponse')
322
331
  DeleteCACertificateRequest = Shapes::StructureShape.new(name: 'DeleteCACertificateRequest')
323
332
  DeleteCACertificateResponse = Shapes::StructureShape.new(name: 'DeleteCACertificateResponse')
333
+ DeleteCertificateProviderRequest = Shapes::StructureShape.new(name: 'DeleteCertificateProviderRequest')
334
+ DeleteCertificateProviderResponse = Shapes::StructureShape.new(name: 'DeleteCertificateProviderResponse')
324
335
  DeleteCertificateRequest = Shapes::StructureShape.new(name: 'DeleteCertificateRequest')
325
336
  DeleteConflictException = Shapes::StructureShape.new(name: 'DeleteConflictException')
326
337
  DeleteCustomMetricRequest = Shapes::StructureShape.new(name: 'DeleteCustomMetricRequest')
@@ -393,6 +404,8 @@ module Aws::IoT
393
404
  DescribeBillingGroupResponse = Shapes::StructureShape.new(name: 'DescribeBillingGroupResponse')
394
405
  DescribeCACertificateRequest = Shapes::StructureShape.new(name: 'DescribeCACertificateRequest')
395
406
  DescribeCACertificateResponse = Shapes::StructureShape.new(name: 'DescribeCACertificateResponse')
407
+ DescribeCertificateProviderRequest = Shapes::StructureShape.new(name: 'DescribeCertificateProviderRequest')
408
+ DescribeCertificateProviderResponse = Shapes::StructureShape.new(name: 'DescribeCertificateProviderResponse')
396
409
  DescribeCertificateRequest = Shapes::StructureShape.new(name: 'DescribeCertificateRequest')
397
410
  DescribeCertificateResponse = Shapes::StructureShape.new(name: 'DescribeCertificateResponse')
398
411
  DescribeCustomMetricRequest = Shapes::StructureShape.new(name: 'DescribeCustomMetricRequest')
@@ -708,6 +721,8 @@ module Aws::IoT
708
721
  ListBillingGroupsResponse = Shapes::StructureShape.new(name: 'ListBillingGroupsResponse')
709
722
  ListCACertificatesRequest = Shapes::StructureShape.new(name: 'ListCACertificatesRequest')
710
723
  ListCACertificatesResponse = Shapes::StructureShape.new(name: 'ListCACertificatesResponse')
724
+ ListCertificateProvidersRequest = Shapes::StructureShape.new(name: 'ListCertificateProvidersRequest')
725
+ ListCertificateProvidersResponse = Shapes::StructureShape.new(name: 'ListCertificateProvidersResponse')
711
726
  ListCertificatesByCARequest = Shapes::StructureShape.new(name: 'ListCertificatesByCARequest')
712
727
  ListCertificatesByCAResponse = Shapes::StructureShape.new(name: 'ListCertificatesByCAResponse')
713
728
  ListCertificatesRequest = Shapes::StructureShape.new(name: 'ListCertificatesRequest')
@@ -1276,6 +1291,8 @@ module Aws::IoT
1276
1291
  UpdateBillingGroupResponse = Shapes::StructureShape.new(name: 'UpdateBillingGroupResponse')
1277
1292
  UpdateCACertificateParams = Shapes::StructureShape.new(name: 'UpdateCACertificateParams')
1278
1293
  UpdateCACertificateRequest = Shapes::StructureShape.new(name: 'UpdateCACertificateRequest')
1294
+ UpdateCertificateProviderRequest = Shapes::StructureShape.new(name: 'UpdateCertificateProviderRequest')
1295
+ UpdateCertificateProviderResponse = Shapes::StructureShape.new(name: 'UpdateCertificateProviderResponse')
1279
1296
  UpdateCertificateRequest = Shapes::StructureShape.new(name: 'UpdateCertificateRequest')
1280
1297
  UpdateCustomMetricRequest = Shapes::StructureShape.new(name: 'UpdateCustomMetricRequest')
1281
1298
  UpdateCustomMetricResponse = Shapes::StructureShape.new(name: 'UpdateCustomMetricResponse')
@@ -1803,6 +1820,14 @@ module Aws::IoT
1803
1820
  CertificateDescription.add_member(:certificate_mode, Shapes::ShapeRef.new(shape: CertificateMode, location_name: "certificateMode"))
1804
1821
  CertificateDescription.struct_class = Types::CertificateDescription
1805
1822
 
1823
+ CertificateProviderAccountDefaultForOperations.member = Shapes::ShapeRef.new(shape: CertificateProviderOperation)
1824
+
1825
+ CertificateProviderSummary.add_member(:certificate_provider_name, Shapes::ShapeRef.new(shape: CertificateProviderName, location_name: "certificateProviderName"))
1826
+ CertificateProviderSummary.add_member(:certificate_provider_arn, Shapes::ShapeRef.new(shape: CertificateProviderArn, location_name: "certificateProviderArn"))
1827
+ CertificateProviderSummary.struct_class = Types::CertificateProviderSummary
1828
+
1829
+ CertificateProviders.member = Shapes::ShapeRef.new(shape: CertificateProviderSummary)
1830
+
1806
1831
  CertificateStateException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
1807
1832
  CertificateStateException.struct_class = Types::CertificateStateException
1808
1833
 
@@ -1913,6 +1938,17 @@ module Aws::IoT
1913
1938
  CreateCertificateFromCsrResponse.add_member(:certificate_pem, Shapes::ShapeRef.new(shape: CertificatePem, location_name: "certificatePem"))
1914
1939
  CreateCertificateFromCsrResponse.struct_class = Types::CreateCertificateFromCsrResponse
1915
1940
 
1941
+ CreateCertificateProviderRequest.add_member(:certificate_provider_name, Shapes::ShapeRef.new(shape: CertificateProviderName, required: true, location: "uri", location_name: "certificateProviderName"))
1942
+ CreateCertificateProviderRequest.add_member(:lambda_function_arn, Shapes::ShapeRef.new(shape: CertificateProviderFunctionArn, required: true, location_name: "lambdaFunctionArn"))
1943
+ CreateCertificateProviderRequest.add_member(:account_default_for_operations, Shapes::ShapeRef.new(shape: CertificateProviderAccountDefaultForOperations, required: true, location_name: "accountDefaultForOperations"))
1944
+ CreateCertificateProviderRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
1945
+ CreateCertificateProviderRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1946
+ CreateCertificateProviderRequest.struct_class = Types::CreateCertificateProviderRequest
1947
+
1948
+ CreateCertificateProviderResponse.add_member(:certificate_provider_name, Shapes::ShapeRef.new(shape: CertificateProviderName, location_name: "certificateProviderName"))
1949
+ CreateCertificateProviderResponse.add_member(:certificate_provider_arn, Shapes::ShapeRef.new(shape: CertificateProviderArn, location_name: "certificateProviderArn"))
1950
+ CreateCertificateProviderResponse.struct_class = Types::CreateCertificateProviderResponse
1951
+
1916
1952
  CreateCustomMetricRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location: "uri", location_name: "metricName"))
1917
1953
  CreateCustomMetricRequest.add_member(:display_name, Shapes::ShapeRef.new(shape: CustomMetricDisplayName, location_name: "displayName"))
1918
1954
  CreateCustomMetricRequest.add_member(:metric_type, Shapes::ShapeRef.new(shape: CustomMetricType, required: true, location_name: "metricType"))
@@ -2276,6 +2312,11 @@ module Aws::IoT
2276
2312
 
2277
2313
  DeleteCACertificateResponse.struct_class = Types::DeleteCACertificateResponse
2278
2314
 
2315
+ DeleteCertificateProviderRequest.add_member(:certificate_provider_name, Shapes::ShapeRef.new(shape: CertificateProviderName, required: true, location: "uri", location_name: "certificateProviderName"))
2316
+ DeleteCertificateProviderRequest.struct_class = Types::DeleteCertificateProviderRequest
2317
+
2318
+ DeleteCertificateProviderResponse.struct_class = Types::DeleteCertificateProviderResponse
2319
+
2279
2320
  DeleteCertificateRequest.add_member(:certificate_id, Shapes::ShapeRef.new(shape: CertificateId, required: true, location: "uri", location_name: "certificateId"))
2280
2321
  DeleteCertificateRequest.add_member(:force_delete, Shapes::ShapeRef.new(shape: ForceDelete, location: "querystring", location_name: "forceDelete"))
2281
2322
  DeleteCertificateRequest.struct_class = Types::DeleteCertificateRequest
@@ -2501,6 +2542,17 @@ module Aws::IoT
2501
2542
  DescribeCACertificateResponse.add_member(:registration_config, Shapes::ShapeRef.new(shape: RegistrationConfig, location_name: "registrationConfig"))
2502
2543
  DescribeCACertificateResponse.struct_class = Types::DescribeCACertificateResponse
2503
2544
 
2545
+ DescribeCertificateProviderRequest.add_member(:certificate_provider_name, Shapes::ShapeRef.new(shape: CertificateProviderName, required: true, location: "uri", location_name: "certificateProviderName"))
2546
+ DescribeCertificateProviderRequest.struct_class = Types::DescribeCertificateProviderRequest
2547
+
2548
+ DescribeCertificateProviderResponse.add_member(:certificate_provider_name, Shapes::ShapeRef.new(shape: CertificateProviderName, location_name: "certificateProviderName"))
2549
+ DescribeCertificateProviderResponse.add_member(:certificate_provider_arn, Shapes::ShapeRef.new(shape: CertificateProviderArn, location_name: "certificateProviderArn"))
2550
+ DescribeCertificateProviderResponse.add_member(:lambda_function_arn, Shapes::ShapeRef.new(shape: CertificateProviderFunctionArn, location_name: "lambdaFunctionArn"))
2551
+ DescribeCertificateProviderResponse.add_member(:account_default_for_operations, Shapes::ShapeRef.new(shape: CertificateProviderAccountDefaultForOperations, location_name: "accountDefaultForOperations"))
2552
+ DescribeCertificateProviderResponse.add_member(:creation_date, Shapes::ShapeRef.new(shape: DateType, location_name: "creationDate"))
2553
+ DescribeCertificateProviderResponse.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: DateType, location_name: "lastModifiedDate"))
2554
+ DescribeCertificateProviderResponse.struct_class = Types::DescribeCertificateProviderResponse
2555
+
2504
2556
  DescribeCertificateRequest.add_member(:certificate_id, Shapes::ShapeRef.new(shape: CertificateId, required: true, location: "uri", location_name: "certificateId"))
2505
2557
  DescribeCertificateRequest.struct_class = Types::DescribeCertificateRequest
2506
2558
 
@@ -3447,6 +3499,14 @@ module Aws::IoT
3447
3499
  ListCACertificatesResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: Marker, location_name: "nextMarker"))
3448
3500
  ListCACertificatesResponse.struct_class = Types::ListCACertificatesResponse
3449
3501
 
3502
+ ListCertificateProvidersRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "nextToken"))
3503
+ ListCertificateProvidersRequest.add_member(:ascending_order, Shapes::ShapeRef.new(shape: AscendingOrder, location: "querystring", location_name: "isAscendingOrder"))
3504
+ ListCertificateProvidersRequest.struct_class = Types::ListCertificateProvidersRequest
3505
+
3506
+ ListCertificateProvidersResponse.add_member(:certificate_providers, Shapes::ShapeRef.new(shape: CertificateProviders, location_name: "certificateProviders"))
3507
+ ListCertificateProvidersResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: Marker, location_name: "nextToken"))
3508
+ ListCertificateProvidersResponse.struct_class = Types::ListCertificateProvidersResponse
3509
+
3450
3510
  ListCertificatesByCARequest.add_member(:ca_certificate_id, Shapes::ShapeRef.new(shape: CertificateId, required: true, location: "uri", location_name: "caCertificateId"))
3451
3511
  ListCertificatesByCARequest.add_member(:page_size, Shapes::ShapeRef.new(shape: PageSize, location: "querystring", location_name: "pageSize"))
3452
3512
  ListCertificatesByCARequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "marker"))
@@ -4900,6 +4960,15 @@ module Aws::IoT
4900
4960
  UpdateCACertificateRequest.add_member(:remove_auto_registration, Shapes::ShapeRef.new(shape: RemoveAutoRegistration, location_name: "removeAutoRegistration"))
4901
4961
  UpdateCACertificateRequest.struct_class = Types::UpdateCACertificateRequest
4902
4962
 
4963
+ UpdateCertificateProviderRequest.add_member(:certificate_provider_name, Shapes::ShapeRef.new(shape: CertificateProviderName, required: true, location: "uri", location_name: "certificateProviderName"))
4964
+ UpdateCertificateProviderRequest.add_member(:lambda_function_arn, Shapes::ShapeRef.new(shape: CertificateProviderFunctionArn, location_name: "lambdaFunctionArn"))
4965
+ UpdateCertificateProviderRequest.add_member(:account_default_for_operations, Shapes::ShapeRef.new(shape: CertificateProviderAccountDefaultForOperations, location_name: "accountDefaultForOperations"))
4966
+ UpdateCertificateProviderRequest.struct_class = Types::UpdateCertificateProviderRequest
4967
+
4968
+ UpdateCertificateProviderResponse.add_member(:certificate_provider_name, Shapes::ShapeRef.new(shape: CertificateProviderName, location_name: "certificateProviderName"))
4969
+ UpdateCertificateProviderResponse.add_member(:certificate_provider_arn, Shapes::ShapeRef.new(shape: CertificateProviderArn, location_name: "certificateProviderArn"))
4970
+ UpdateCertificateProviderResponse.struct_class = Types::UpdateCertificateProviderResponse
4971
+
4903
4972
  UpdateCertificateRequest.add_member(:certificate_id, Shapes::ShapeRef.new(shape: CertificateId, required: true, location: "uri", location_name: "certificateId"))
4904
4973
  UpdateCertificateRequest.add_member(:new_status, Shapes::ShapeRef.new(shape: CertificateStatus, required: true, location: "querystring", location_name: "newStatus"))
4905
4974
  UpdateCertificateRequest.struct_class = Types::UpdateCertificateRequest
@@ -5476,6 +5545,21 @@ module Aws::IoT
5476
5545
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5477
5546
  end)
5478
5547
 
5548
+ api.add_operation(:create_certificate_provider, Seahorse::Model::Operation.new.tap do |o|
5549
+ o.name = "CreateCertificateProvider"
5550
+ o.http_method = "POST"
5551
+ o.http_request_uri = "/certificate-providers/{certificateProviderName}"
5552
+ o.input = Shapes::ShapeRef.new(shape: CreateCertificateProviderRequest)
5553
+ o.output = Shapes::ShapeRef.new(shape: CreateCertificateProviderResponse)
5554
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
5555
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
5556
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5557
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5558
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
5559
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
5560
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5561
+ end)
5562
+
5479
5563
  api.add_operation(:create_custom_metric, Seahorse::Model::Operation.new.tap do |o|
5480
5564
  o.name = "CreateCustomMetric"
5481
5565
  o.http_method = "POST"
@@ -5927,6 +6011,21 @@ module Aws::IoT
5927
6011
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5928
6012
  end)
5929
6013
 
6014
+ api.add_operation(:delete_certificate_provider, Seahorse::Model::Operation.new.tap do |o|
6015
+ o.name = "DeleteCertificateProvider"
6016
+ o.http_method = "DELETE"
6017
+ o.http_request_uri = "/certificate-providers/{certificateProviderName}"
6018
+ o.input = Shapes::ShapeRef.new(shape: DeleteCertificateProviderRequest)
6019
+ o.output = Shapes::ShapeRef.new(shape: DeleteCertificateProviderResponse)
6020
+ o.errors << Shapes::ShapeRef.new(shape: DeleteConflictException)
6021
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
6022
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6023
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6024
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
6025
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
6026
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6027
+ end)
6028
+
5930
6029
  api.add_operation(:delete_custom_metric, Seahorse::Model::Operation.new.tap do |o|
5931
6030
  o.name = "DeleteCustomMetric"
5932
6031
  o.http_method = "DELETE"
@@ -6407,6 +6506,20 @@ module Aws::IoT
6407
6506
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
6408
6507
  end)
6409
6508
 
6509
+ api.add_operation(:describe_certificate_provider, Seahorse::Model::Operation.new.tap do |o|
6510
+ o.name = "DescribeCertificateProvider"
6511
+ o.http_method = "GET"
6512
+ o.http_request_uri = "/certificate-providers/{certificateProviderName}"
6513
+ o.input = Shapes::ShapeRef.new(shape: DescribeCertificateProviderRequest)
6514
+ o.output = Shapes::ShapeRef.new(shape: DescribeCertificateProviderResponse)
6515
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
6516
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6517
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6518
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
6519
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
6520
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6521
+ end)
6522
+
6410
6523
  api.add_operation(:describe_custom_metric, Seahorse::Model::Operation.new.tap do |o|
6411
6524
  o.name = "DescribeCustomMetric"
6412
6525
  o.http_method = "GET"
@@ -7234,6 +7347,19 @@ module Aws::IoT
7234
7347
  )
7235
7348
  end)
7236
7349
 
7350
+ api.add_operation(:list_certificate_providers, Seahorse::Model::Operation.new.tap do |o|
7351
+ o.name = "ListCertificateProviders"
7352
+ o.http_method = "GET"
7353
+ o.http_request_uri = "/certificate-providers/"
7354
+ o.input = Shapes::ShapeRef.new(shape: ListCertificateProvidersRequest)
7355
+ o.output = Shapes::ShapeRef.new(shape: ListCertificateProvidersResponse)
7356
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
7357
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
7358
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
7359
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
7360
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
7361
+ end)
7362
+
7237
7363
  api.add_operation(:list_certificates, Seahorse::Model::Operation.new.tap do |o|
7238
7364
  o.name = "ListCertificates"
7239
7365
  o.http_method = "GET"
@@ -8550,6 +8676,20 @@ module Aws::IoT
8550
8676
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
8551
8677
  end)
8552
8678
 
8679
+ api.add_operation(:update_certificate_provider, Seahorse::Model::Operation.new.tap do |o|
8680
+ o.name = "UpdateCertificateProvider"
8681
+ o.http_method = "PUT"
8682
+ o.http_request_uri = "/certificate-providers/{certificateProviderName}"
8683
+ o.input = Shapes::ShapeRef.new(shape: UpdateCertificateProviderRequest)
8684
+ o.output = Shapes::ShapeRef.new(shape: UpdateCertificateProviderResponse)
8685
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
8686
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
8687
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
8688
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
8689
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
8690
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
8691
+ end)
8692
+
8553
8693
  api.add_operation(:update_custom_metric, Seahorse::Model::Operation.new.tap do |o|
8554
8694
  o.name = "UpdateCustomMetric"
8555
8695
  o.http_method = "PATCH"
@@ -292,6 +292,20 @@ module Aws::IoT
292
292
  end
293
293
  end
294
294
 
295
+ class CreateCertificateProvider
296
+ def self.build(context)
297
+ unless context.config.regional_endpoint
298
+ endpoint = context.config.endpoint.to_s
299
+ end
300
+ Aws::IoT::EndpointParameters.new(
301
+ region: context.config.region,
302
+ use_dual_stack: context.config.use_dualstack_endpoint,
303
+ use_fips: context.config.use_fips_endpoint,
304
+ endpoint: endpoint,
305
+ )
306
+ end
307
+ end
308
+
295
309
  class CreateCustomMetric
296
310
  def self.build(context)
297
311
  unless context.config.regional_endpoint
@@ -740,6 +754,20 @@ module Aws::IoT
740
754
  end
741
755
  end
742
756
 
757
+ class DeleteCertificateProvider
758
+ def self.build(context)
759
+ unless context.config.regional_endpoint
760
+ endpoint = context.config.endpoint.to_s
761
+ end
762
+ Aws::IoT::EndpointParameters.new(
763
+ region: context.config.region,
764
+ use_dual_stack: context.config.use_dualstack_endpoint,
765
+ use_fips: context.config.use_fips_endpoint,
766
+ endpoint: endpoint,
767
+ )
768
+ end
769
+ end
770
+
743
771
  class DeleteCustomMetric
744
772
  def self.build(context)
745
773
  unless context.config.regional_endpoint
@@ -1258,6 +1286,20 @@ module Aws::IoT
1258
1286
  end
1259
1287
  end
1260
1288
 
1289
+ class DescribeCertificateProvider
1290
+ def self.build(context)
1291
+ unless context.config.regional_endpoint
1292
+ endpoint = context.config.endpoint.to_s
1293
+ end
1294
+ Aws::IoT::EndpointParameters.new(
1295
+ region: context.config.region,
1296
+ use_dual_stack: context.config.use_dualstack_endpoint,
1297
+ use_fips: context.config.use_fips_endpoint,
1298
+ endpoint: endpoint,
1299
+ )
1300
+ end
1301
+ end
1302
+
1261
1303
  class DescribeCustomMetric
1262
1304
  def self.build(context)
1263
1305
  unless context.config.regional_endpoint
@@ -2084,6 +2126,20 @@ module Aws::IoT
2084
2126
  end
2085
2127
  end
2086
2128
 
2129
+ class ListCertificateProviders
2130
+ def self.build(context)
2131
+ unless context.config.regional_endpoint
2132
+ endpoint = context.config.endpoint.to_s
2133
+ end
2134
+ Aws::IoT::EndpointParameters.new(
2135
+ region: context.config.region,
2136
+ use_dual_stack: context.config.use_dualstack_endpoint,
2137
+ use_fips: context.config.use_fips_endpoint,
2138
+ endpoint: endpoint,
2139
+ )
2140
+ end
2141
+ end
2142
+
2087
2143
  class ListCertificates
2088
2144
  def self.build(context)
2089
2145
  unless context.config.regional_endpoint
@@ -3204,6 +3260,20 @@ module Aws::IoT
3204
3260
  end
3205
3261
  end
3206
3262
 
3263
+ class UpdateCertificateProvider
3264
+ def self.build(context)
3265
+ unless context.config.regional_endpoint
3266
+ endpoint = context.config.endpoint.to_s
3267
+ end
3268
+ Aws::IoT::EndpointParameters.new(
3269
+ region: context.config.region,
3270
+ use_dual_stack: context.config.use_dualstack_endpoint,
3271
+ use_fips: context.config.use_fips_endpoint,
3272
+ endpoint: endpoint,
3273
+ )
3274
+ end
3275
+ end
3276
+
3207
3277
  class UpdateCustomMetric
3208
3278
  def self.build(context)
3209
3279
  unless context.config.regional_endpoint
@@ -25,16 +25,17 @@ module Aws::IoT
25
25
  # @api private
26
26
  class Handler < Seahorse::Client::Handler
27
27
  def call(context)
28
- # If endpoint was discovered, do not resolve or apply the endpoint.
29
28
  unless context[:discovered_endpoint]
30
29
  params = parameters_for_operation(context)
31
30
  endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
31
 
33
32
  context.http_request.endpoint = endpoint.url
34
33
  apply_endpoint_headers(context, endpoint.headers)
34
+
35
+ context[:endpoint_params] = params
36
+ context[:endpoint_properties] = endpoint.properties
35
37
  end
36
38
 
37
- context[:endpoint_params] = params
38
39
  context[:auth_scheme] =
39
40
  Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
41
 
@@ -96,6 +97,8 @@ module Aws::IoT
96
97
  Aws::IoT::Endpoints::CreateBillingGroup.build(context)
97
98
  when :create_certificate_from_csr
98
99
  Aws::IoT::Endpoints::CreateCertificateFromCsr.build(context)
100
+ when :create_certificate_provider
101
+ Aws::IoT::Endpoints::CreateCertificateProvider.build(context)
99
102
  when :create_custom_metric
100
103
  Aws::IoT::Endpoints::CreateCustomMetric.build(context)
101
104
  when :create_dimension
@@ -160,6 +163,8 @@ module Aws::IoT
160
163
  Aws::IoT::Endpoints::DeleteCACertificate.build(context)
161
164
  when :delete_certificate
162
165
  Aws::IoT::Endpoints::DeleteCertificate.build(context)
166
+ when :delete_certificate_provider
167
+ Aws::IoT::Endpoints::DeleteCertificateProvider.build(context)
163
168
  when :delete_custom_metric
164
169
  Aws::IoT::Endpoints::DeleteCustomMetric.build(context)
165
170
  when :delete_dimension
@@ -234,6 +239,8 @@ module Aws::IoT
234
239
  Aws::IoT::Endpoints::DescribeCACertificate.build(context)
235
240
  when :describe_certificate
236
241
  Aws::IoT::Endpoints::DescribeCertificate.build(context)
242
+ when :describe_certificate_provider
243
+ Aws::IoT::Endpoints::DescribeCertificateProvider.build(context)
237
244
  when :describe_custom_metric
238
245
  Aws::IoT::Endpoints::DescribeCustomMetric.build(context)
239
246
  when :describe_default_authorizer
@@ -352,6 +359,8 @@ module Aws::IoT
352
359
  Aws::IoT::Endpoints::ListBillingGroups.build(context)
353
360
  when :list_ca_certificates
354
361
  Aws::IoT::Endpoints::ListCACertificates.build(context)
362
+ when :list_certificate_providers
363
+ Aws::IoT::Endpoints::ListCertificateProviders.build(context)
355
364
  when :list_certificates
356
365
  Aws::IoT::Endpoints::ListCertificates.build(context)
357
366
  when :list_certificates_by_ca
@@ -512,6 +521,8 @@ module Aws::IoT
512
521
  Aws::IoT::Endpoints::UpdateCACertificate.build(context)
513
522
  when :update_certificate
514
523
  Aws::IoT::Endpoints::UpdateCertificate.build(context)
524
+ when :update_certificate_provider
525
+ Aws::IoT::Endpoints::UpdateCertificateProvider.build(context)
515
526
  when :update_custom_metric
516
527
  Aws::IoT::Endpoints::UpdateCustomMetric.build(context)
517
528
  when :update_dimension
@@ -1896,6 +1896,23 @@ module Aws::IoT
1896
1896
  include Aws::Structure
1897
1897
  end
1898
1898
 
1899
+ # The certificate provider summary.
1900
+ #
1901
+ # @!attribute [rw] certificate_provider_name
1902
+ # The name of the certificate provider.
1903
+ # @return [String]
1904
+ #
1905
+ # @!attribute [rw] certificate_provider_arn
1906
+ # The ARN of the certificate provider.
1907
+ # @return [String]
1908
+ #
1909
+ class CertificateProviderSummary < Struct.new(
1910
+ :certificate_provider_name,
1911
+ :certificate_provider_arn)
1912
+ SENSITIVE = []
1913
+ include Aws::Structure
1914
+ end
1915
+
1899
1916
  # The certificate operation is not allowed.
1900
1917
  #
1901
1918
  # @!attribute [rw] message
@@ -2356,6 +2373,58 @@ module Aws::IoT
2356
2373
  include Aws::Structure
2357
2374
  end
2358
2375
 
2376
+ # @!attribute [rw] certificate_provider_name
2377
+ # The name of the certificate provider.
2378
+ # @return [String]
2379
+ #
2380
+ # @!attribute [rw] lambda_function_arn
2381
+ # The ARN of the Lambda function that defines the authentication
2382
+ # logic.
2383
+ # @return [String]
2384
+ #
2385
+ # @!attribute [rw] account_default_for_operations
2386
+ # A list of the operations that the certificate provider will use to
2387
+ # generate certificates. Valid value: `CreateCertificateFromCsr`.
2388
+ # @return [Array<String>]
2389
+ #
2390
+ # @!attribute [rw] client_token
2391
+ # A string that you can optionally pass in the
2392
+ # `CreateCertificateProvider` request to make sure the request is
2393
+ # idempotent.
2394
+ #
2395
+ # **A suitable default value is auto-generated.** You should normally
2396
+ # not need to pass this option.
2397
+ # @return [String]
2398
+ #
2399
+ # @!attribute [rw] tags
2400
+ # Metadata which can be used to manage the certificate provider.
2401
+ # @return [Array<Types::Tag>]
2402
+ #
2403
+ class CreateCertificateProviderRequest < Struct.new(
2404
+ :certificate_provider_name,
2405
+ :lambda_function_arn,
2406
+ :account_default_for_operations,
2407
+ :client_token,
2408
+ :tags)
2409
+ SENSITIVE = []
2410
+ include Aws::Structure
2411
+ end
2412
+
2413
+ # @!attribute [rw] certificate_provider_name
2414
+ # The name of the certificate provider.
2415
+ # @return [String]
2416
+ #
2417
+ # @!attribute [rw] certificate_provider_arn
2418
+ # The ARN of the certificate provider.
2419
+ # @return [String]
2420
+ #
2421
+ class CreateCertificateProviderResponse < Struct.new(
2422
+ :certificate_provider_name,
2423
+ :certificate_provider_arn)
2424
+ SENSITIVE = []
2425
+ include Aws::Structure
2426
+ end
2427
+
2359
2428
  # @!attribute [rw] metric_name
2360
2429
  # The name of the custom metric. This will be used in the metric
2361
2430
  # report submitted from the device/thing. The name can't begin with
@@ -4186,6 +4255,18 @@ module Aws::IoT
4186
4255
  #
4187
4256
  class DeleteCACertificateResponse < Aws::EmptyStructure; end
4188
4257
 
4258
+ # @!attribute [rw] certificate_provider_name
4259
+ # The name of the certificate provider.
4260
+ # @return [String]
4261
+ #
4262
+ class DeleteCertificateProviderRequest < Struct.new(
4263
+ :certificate_provider_name)
4264
+ SENSITIVE = []
4265
+ include Aws::Structure
4266
+ end
4267
+
4268
+ class DeleteCertificateProviderResponse < Aws::EmptyStructure; end
4269
+
4189
4270
  # The input for the DeleteCertificate operation.
4190
4271
  #
4191
4272
  # @!attribute [rw] certificate_id
@@ -5049,6 +5130,55 @@ module Aws::IoT
5049
5130
  include Aws::Structure
5050
5131
  end
5051
5132
 
5133
+ # @!attribute [rw] certificate_provider_name
5134
+ # The name of the certificate provider.
5135
+ # @return [String]
5136
+ #
5137
+ class DescribeCertificateProviderRequest < Struct.new(
5138
+ :certificate_provider_name)
5139
+ SENSITIVE = []
5140
+ include Aws::Structure
5141
+ end
5142
+
5143
+ # @!attribute [rw] certificate_provider_name
5144
+ # The name of the certificate provider.
5145
+ # @return [String]
5146
+ #
5147
+ # @!attribute [rw] certificate_provider_arn
5148
+ # The ARN of the certificate provider.
5149
+ # @return [String]
5150
+ #
5151
+ # @!attribute [rw] lambda_function_arn
5152
+ # The Lambda function ARN that's associated with the certificate
5153
+ # provider.
5154
+ # @return [String]
5155
+ #
5156
+ # @!attribute [rw] account_default_for_operations
5157
+ # A list of the operations that the certificate provider will use to
5158
+ # generate certificates. Valid value: `CreateCertificateFromCsr`.
5159
+ # @return [Array<String>]
5160
+ #
5161
+ # @!attribute [rw] creation_date
5162
+ # The date-time string that indicates when the certificate provider
5163
+ # was created.
5164
+ # @return [Time]
5165
+ #
5166
+ # @!attribute [rw] last_modified_date
5167
+ # The date-time string that indicates when the certificate provider
5168
+ # was last updated.
5169
+ # @return [Time]
5170
+ #
5171
+ class DescribeCertificateProviderResponse < Struct.new(
5172
+ :certificate_provider_name,
5173
+ :certificate_provider_arn,
5174
+ :lambda_function_arn,
5175
+ :account_default_for_operations,
5176
+ :creation_date,
5177
+ :last_modified_date)
5178
+ SENSITIVE = []
5179
+ include Aws::Structure
5180
+ end
5181
+
5052
5182
  # The input for the DescribeCertificate operation.
5053
5183
  #
5054
5184
  # @!attribute [rw] certificate_id
@@ -9311,6 +9441,40 @@ module Aws::IoT
9311
9441
  include Aws::Structure
9312
9442
  end
9313
9443
 
9444
+ # @!attribute [rw] next_token
9445
+ # The token for the next set of results, or `null` if there are no
9446
+ # more results.
9447
+ # @return [String]
9448
+ #
9449
+ # @!attribute [rw] ascending_order
9450
+ # Returns the list of certificate providers in ascending alphabetical
9451
+ # order.
9452
+ # @return [Boolean]
9453
+ #
9454
+ class ListCertificateProvidersRequest < Struct.new(
9455
+ :next_token,
9456
+ :ascending_order)
9457
+ SENSITIVE = []
9458
+ include Aws::Structure
9459
+ end
9460
+
9461
+ # @!attribute [rw] certificate_providers
9462
+ # The list of certificate providers in your Amazon Web Services
9463
+ # account.
9464
+ # @return [Array<Types::CertificateProviderSummary>]
9465
+ #
9466
+ # @!attribute [rw] next_token
9467
+ # The token for the next set of results, or `null` if there are no
9468
+ # more results.
9469
+ # @return [String]
9470
+ #
9471
+ class ListCertificateProvidersResponse < Struct.new(
9472
+ :certificate_providers,
9473
+ :next_token)
9474
+ SENSITIVE = []
9475
+ include Aws::Structure
9476
+ end
9477
+
9314
9478
  # The input to the ListCertificatesByCA operation.
9315
9479
  #
9316
9480
  # @!attribute [rw] ca_certificate_id
@@ -11605,9 +11769,8 @@ module Aws::IoT
11605
11769
  # @return [Types::MetricDimension]
11606
11770
  #
11607
11771
  # @!attribute [rw] export_metric
11608
- # Value added in both Behavior and AdditionalMetricsToRetainV2 to
11609
- # indicate if Device Defender Detect should export the corresponding
11610
- # metrics.
11772
+ # The value indicates exporting metrics related to the `MetricToRetain
11773
+ # ` when it's true.
11611
11774
  # @return [Boolean]
11612
11775
  #
11613
11776
  class MetricToRetain < Struct.new(
@@ -15540,6 +15703,43 @@ module Aws::IoT
15540
15703
  include Aws::Structure
15541
15704
  end
15542
15705
 
15706
+ # @!attribute [rw] certificate_provider_name
15707
+ # The name of the certificate provider.
15708
+ # @return [String]
15709
+ #
15710
+ # @!attribute [rw] lambda_function_arn
15711
+ # The Lambda function ARN that's associated with the certificate
15712
+ # provider.
15713
+ # @return [String]
15714
+ #
15715
+ # @!attribute [rw] account_default_for_operations
15716
+ # A list of the operations that the certificate provider will use to
15717
+ # generate certificates. Valid value: `CreateCertificateFromCsr`.
15718
+ # @return [Array<String>]
15719
+ #
15720
+ class UpdateCertificateProviderRequest < Struct.new(
15721
+ :certificate_provider_name,
15722
+ :lambda_function_arn,
15723
+ :account_default_for_operations)
15724
+ SENSITIVE = []
15725
+ include Aws::Structure
15726
+ end
15727
+
15728
+ # @!attribute [rw] certificate_provider_name
15729
+ # The name of the certificate provider.
15730
+ # @return [String]
15731
+ #
15732
+ # @!attribute [rw] certificate_provider_arn
15733
+ # The ARN of the certificate provider.
15734
+ # @return [String]
15735
+ #
15736
+ class UpdateCertificateProviderResponse < Struct.new(
15737
+ :certificate_provider_name,
15738
+ :certificate_provider_arn)
15739
+ SENSITIVE = []
15740
+ include Aws::Structure
15741
+ end
15742
+
15543
15743
  # The input for the UpdateCertificate operation.
15544
15744
  #
15545
15745
  # @!attribute [rw] certificate_id
data/lib/aws-sdk-iot.rb CHANGED
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-iot/customizations'
52
52
  # @!group service
53
53
  module Aws::IoT
54
54
 
55
- GEM_VERSION = '1.114.0'
55
+ GEM_VERSION = '1.116.0'
56
56
 
57
57
  end
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.114.0
4
+ version: 1.116.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: 2023-11-22 00:00:00.000000000 Z
11
+ date: 2023-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core