aws-sdk-iot 1.115.0 → 1.116.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aab0e99c3ab987585b36a16d0bce2b012eeeaa821c6b96eed570f71ce528bf6a
4
- data.tar.gz: 2de57d908686b51ca6ce53b5edcacd5d2981dbaf3d431d787d1e83ab6d749b97
3
+ metadata.gz: 659c2d0f778c1b9df008b58748ce606597bc062316101dcddcdd14a69ef9242d
4
+ data.tar.gz: 3e6f86544092d0ac3ffb27448e8e26f6c1a9e6df17164be7e9c7f82b2a228a55
5
5
  SHA512:
6
- metadata.gz: 5489436b92f068d557a55a56d4ca3a83b32e7dbcf800894f2b6f8096952305ea3cb88575281e779c7886e17c88e6263f1c4f1846d15a2bfed23a67ad0bc823be
7
- data.tar.gz: 136f5fdc9280fc37abb1fb72c351f5ff9df4b78067092b20dafcfb6f26e8ca8e21812dbada71a1deb67fd6d5be93a3988d5a089d585e20778836c5a500dc88e3
6
+ metadata.gz: f065f8b49b4b1d064a068463de48408941806344e48b47126cb222f7a16733d409bd0b77a9549e98993f2508c790bd3ceeeeffcee0f0443df43a52493c655993
7
+ data.tar.gz: e3b3b6cfe8f03b7080a30952fd40420d6d49f7e856d54f86bc67d0c592f329b40ca5d9d1beef2e19b4387f3c726481d8a28fcc0034d52ad0e29e21d99b64b818
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
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
+
4
9
  1.115.0 (2023-11-28)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.115.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.115.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
@@ -97,6 +97,8 @@ module Aws::IoT
97
97
  Aws::IoT::Endpoints::CreateBillingGroup.build(context)
98
98
  when :create_certificate_from_csr
99
99
  Aws::IoT::Endpoints::CreateCertificateFromCsr.build(context)
100
+ when :create_certificate_provider
101
+ Aws::IoT::Endpoints::CreateCertificateProvider.build(context)
100
102
  when :create_custom_metric
101
103
  Aws::IoT::Endpoints::CreateCustomMetric.build(context)
102
104
  when :create_dimension
@@ -161,6 +163,8 @@ module Aws::IoT
161
163
  Aws::IoT::Endpoints::DeleteCACertificate.build(context)
162
164
  when :delete_certificate
163
165
  Aws::IoT::Endpoints::DeleteCertificate.build(context)
166
+ when :delete_certificate_provider
167
+ Aws::IoT::Endpoints::DeleteCertificateProvider.build(context)
164
168
  when :delete_custom_metric
165
169
  Aws::IoT::Endpoints::DeleteCustomMetric.build(context)
166
170
  when :delete_dimension
@@ -235,6 +239,8 @@ module Aws::IoT
235
239
  Aws::IoT::Endpoints::DescribeCACertificate.build(context)
236
240
  when :describe_certificate
237
241
  Aws::IoT::Endpoints::DescribeCertificate.build(context)
242
+ when :describe_certificate_provider
243
+ Aws::IoT::Endpoints::DescribeCertificateProvider.build(context)
238
244
  when :describe_custom_metric
239
245
  Aws::IoT::Endpoints::DescribeCustomMetric.build(context)
240
246
  when :describe_default_authorizer
@@ -353,6 +359,8 @@ module Aws::IoT
353
359
  Aws::IoT::Endpoints::ListBillingGroups.build(context)
354
360
  when :list_ca_certificates
355
361
  Aws::IoT::Endpoints::ListCACertificates.build(context)
362
+ when :list_certificate_providers
363
+ Aws::IoT::Endpoints::ListCertificateProviders.build(context)
356
364
  when :list_certificates
357
365
  Aws::IoT::Endpoints::ListCertificates.build(context)
358
366
  when :list_certificates_by_ca
@@ -513,6 +521,8 @@ module Aws::IoT
513
521
  Aws::IoT::Endpoints::UpdateCACertificate.build(context)
514
522
  when :update_certificate
515
523
  Aws::IoT::Endpoints::UpdateCertificate.build(context)
524
+ when :update_certificate_provider
525
+ Aws::IoT::Endpoints::UpdateCertificateProvider.build(context)
516
526
  when :update_custom_metric
517
527
  Aws::IoT::Endpoints::UpdateCustomMetric.build(context)
518
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.115.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.115.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-28 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