aws-sdk-iot 1.115.0 → 1.117.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: a2cd37be0ae9011d593eb693f9882fa46965065c707e403a0a8a071d7688d05d
4
+ data.tar.gz: b135fa8d49efc4bfae71a2e244c5e39c84f813202348357e1eba20d1a657ce0e
5
5
  SHA512:
6
- metadata.gz: 5489436b92f068d557a55a56d4ca3a83b32e7dbcf800894f2b6f8096952305ea3cb88575281e779c7886e17c88e6263f1c4f1846d15a2bfed23a67ad0bc823be
7
- data.tar.gz: 136f5fdc9280fc37abb1fb72c351f5ff9df4b78067092b20dafcfb6f26e8ca8e21812dbada71a1deb67fd6d5be93a3988d5a089d585e20778836c5a500dc88e3
6
+ metadata.gz: 0f1268ce8eb608a49a12d9b8ec67873da5d9be74293ae09954476c9cf08b51f399b28188de6f4d29821ec22f53354fd56687142829a4d49060a71fd41cdc5a5e
7
+ data.tar.gz: 4e1ba403a46f9da4dc3524d29dfc559a8e657a4ca07e876d624a07d88ede760defb5f681067b23c1c5e870ee8b8d2bce65cc9bbda1f4c1d123541f6f892488f8
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.117.0 (2024-01-11)
5
+ ------------------
6
+
7
+ * Feature - Add ConflictException to Update APIs of AWS IoT Software Package Catalog
8
+
9
+ 1.116.0 (2023-12-14)
10
+ ------------------
11
+
12
+ * Feature - This release adds the ability to self-manage certificate signing in AWS IoT Core fleet provisioning using the new certificate provider resource.
13
+
4
14
  1.115.0 (2023-11-28)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.115.0
1
+ 1.117.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
  #
@@ -1826,11 +1902,17 @@ module Aws::IoT
1826
1902
  #
1827
1903
  # @option params [Array<String>] :destination_package_versions
1828
1904
  # The package version Amazon Resource Names (ARNs) that are installed on
1829
- # the device when the job successfully completes.
1905
+ # the device when the job successfully completes. The package version
1906
+ # must be in either the Published or Deprecated state when the job
1907
+ # deploys. For more information, see [Package version lifecycle][1].
1830
1908
  #
1831
1909
  # **Note:**The following Length Constraints relates to a single ARN. Up
1832
1910
  # to 25 package version ARNs are allowed.
1833
1911
  #
1912
+ #
1913
+ #
1914
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle
1915
+ #
1834
1916
  # @return [Types::CreateJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1835
1917
  #
1836
1918
  # * {Types::CreateJobResponse#job_arn #job_arn} => String
@@ -1984,11 +2066,17 @@ module Aws::IoT
1984
2066
  #
1985
2067
  # @option params [Array<String>] :destination_package_versions
1986
2068
  # The package version Amazon Resource Names (ARNs) that are installed on
1987
- # the device when the job successfully completes.
2069
+ # the device when the job successfully completes. The package version
2070
+ # must be in either the Published or Deprecated state when the job
2071
+ # deploys. For more information, see [Package version lifecycle][1].
1988
2072
  #
1989
2073
  # **Note:**The following Length Constraints relates to a single ARN. Up
1990
2074
  # to 25 package version ARNs are allowed.
1991
2075
  #
2076
+ #
2077
+ #
2078
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle
2079
+ #
1992
2080
  # @return [Types::CreateJobTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1993
2081
  #
1994
2082
  # * {Types::CreateJobTemplateResponse#job_template_arn #job_template_arn} => String
@@ -4074,6 +4162,37 @@ module Aws::IoT
4074
4162
  req.send_request(options)
4075
4163
  end
4076
4164
 
4165
+ # Deletes a certificate provider.
4166
+ #
4167
+ # Requires permission to access the [DeleteCertificateProvider][1]
4168
+ # action.
4169
+ #
4170
+ # If you delete the certificate provider resource, the behavior of
4171
+ # `CreateCertificateFromCsr` will resume, and IoT will create
4172
+ # certificates signed by IoT from a certificate signing request (CSR).
4173
+ #
4174
+ #
4175
+ #
4176
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
4177
+ #
4178
+ # @option params [required, String] :certificate_provider_name
4179
+ # The name of the certificate provider.
4180
+ #
4181
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4182
+ #
4183
+ # @example Request syntax with placeholder values
4184
+ #
4185
+ # resp = client.delete_certificate_provider({
4186
+ # certificate_provider_name: "CertificateProviderName", # required
4187
+ # })
4188
+ #
4189
+ # @overload delete_certificate_provider(params = {})
4190
+ # @param [Hash] params ({})
4191
+ def delete_certificate_provider(params = {}, options = {})
4192
+ req = build_request(:delete_certificate_provider, params)
4193
+ req.send_request(options)
4194
+ end
4195
+
4077
4196
  # Deletes a Device Defender detect custom metric.
4078
4197
  #
4079
4198
  # Requires permission to access the [DeleteCustomMetric][1] action.
@@ -5481,6 +5600,50 @@ module Aws::IoT
5481
5600
  req.send_request(options)
5482
5601
  end
5483
5602
 
5603
+ # Describes a certificate provider.
5604
+ #
5605
+ # Requires permission to access the [DescribeCertificateProvider][1]
5606
+ # action.
5607
+ #
5608
+ #
5609
+ #
5610
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
5611
+ #
5612
+ # @option params [required, String] :certificate_provider_name
5613
+ # The name of the certificate provider.
5614
+ #
5615
+ # @return [Types::DescribeCertificateProviderResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5616
+ #
5617
+ # * {Types::DescribeCertificateProviderResponse#certificate_provider_name #certificate_provider_name} => String
5618
+ # * {Types::DescribeCertificateProviderResponse#certificate_provider_arn #certificate_provider_arn} => String
5619
+ # * {Types::DescribeCertificateProviderResponse#lambda_function_arn #lambda_function_arn} => String
5620
+ # * {Types::DescribeCertificateProviderResponse#account_default_for_operations #account_default_for_operations} => Array&lt;String&gt;
5621
+ # * {Types::DescribeCertificateProviderResponse#creation_date #creation_date} => Time
5622
+ # * {Types::DescribeCertificateProviderResponse#last_modified_date #last_modified_date} => Time
5623
+ #
5624
+ # @example Request syntax with placeholder values
5625
+ #
5626
+ # resp = client.describe_certificate_provider({
5627
+ # certificate_provider_name: "CertificateProviderName", # required
5628
+ # })
5629
+ #
5630
+ # @example Response structure
5631
+ #
5632
+ # resp.certificate_provider_name #=> String
5633
+ # resp.certificate_provider_arn #=> String
5634
+ # resp.lambda_function_arn #=> String
5635
+ # resp.account_default_for_operations #=> Array
5636
+ # resp.account_default_for_operations[0] #=> String, one of "CreateCertificateFromCsr"
5637
+ # resp.creation_date #=> Time
5638
+ # resp.last_modified_date #=> Time
5639
+ #
5640
+ # @overload describe_certificate_provider(params = {})
5641
+ # @param [Hash] params ({})
5642
+ def describe_certificate_provider(params = {}, options = {})
5643
+ req = build_request(:describe_certificate_provider, params)
5644
+ req.send_request(options)
5645
+ end
5646
+
5484
5647
  # Gets information about a Device Defender detect custom metric.
5485
5648
  #
5486
5649
  # Requires permission to access the [DescribeCustomMetric][1] action.
@@ -8745,6 +8908,50 @@ module Aws::IoT
8745
8908
  req.send_request(options)
8746
8909
  end
8747
8910
 
8911
+ # Lists all your certificate providers in your Amazon Web Services
8912
+ # account.
8913
+ #
8914
+ # Requires permission to access the [ListCertificateProviders][1]
8915
+ # action.
8916
+ #
8917
+ #
8918
+ #
8919
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
8920
+ #
8921
+ # @option params [String] :next_token
8922
+ # The token for the next set of results, or `null` if there are no more
8923
+ # results.
8924
+ #
8925
+ # @option params [Boolean] :ascending_order
8926
+ # Returns the list of certificate providers in ascending alphabetical
8927
+ # order.
8928
+ #
8929
+ # @return [Types::ListCertificateProvidersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8930
+ #
8931
+ # * {Types::ListCertificateProvidersResponse#certificate_providers #certificate_providers} => Array&lt;Types::CertificateProviderSummary&gt;
8932
+ # * {Types::ListCertificateProvidersResponse#next_token #next_token} => String
8933
+ #
8934
+ # @example Request syntax with placeholder values
8935
+ #
8936
+ # resp = client.list_certificate_providers({
8937
+ # next_token: "Marker",
8938
+ # ascending_order: false,
8939
+ # })
8940
+ #
8941
+ # @example Response structure
8942
+ #
8943
+ # resp.certificate_providers #=> Array
8944
+ # resp.certificate_providers[0].certificate_provider_name #=> String
8945
+ # resp.certificate_providers[0].certificate_provider_arn #=> String
8946
+ # resp.next_token #=> String
8947
+ #
8948
+ # @overload list_certificate_providers(params = {})
8949
+ # @param [Hash] params ({})
8950
+ def list_certificate_providers(params = {}, options = {})
8951
+ req = build_request(:list_certificate_providers, params)
8952
+ req.send_request(options)
8953
+ end
8954
+
8748
8955
  # Lists the certificates registered in your Amazon Web Services account.
8749
8956
  #
8750
8957
  # The results are paginated with a default page size of 25. You can use
@@ -13383,6 +13590,51 @@ module Aws::IoT
13383
13590
  req.send_request(options)
13384
13591
  end
13385
13592
 
13593
+ # Updates a certificate provider.
13594
+ #
13595
+ # Requires permission to access the [UpdateCertificateProvider][1]
13596
+ # action.
13597
+ #
13598
+ #
13599
+ #
13600
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
13601
+ #
13602
+ # @option params [required, String] :certificate_provider_name
13603
+ # The name of the certificate provider.
13604
+ #
13605
+ # @option params [String] :lambda_function_arn
13606
+ # The Lambda function ARN that's associated with the certificate
13607
+ # provider.
13608
+ #
13609
+ # @option params [Array<String>] :account_default_for_operations
13610
+ # A list of the operations that the certificate provider will use to
13611
+ # generate certificates. Valid value: `CreateCertificateFromCsr`.
13612
+ #
13613
+ # @return [Types::UpdateCertificateProviderResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
13614
+ #
13615
+ # * {Types::UpdateCertificateProviderResponse#certificate_provider_name #certificate_provider_name} => String
13616
+ # * {Types::UpdateCertificateProviderResponse#certificate_provider_arn #certificate_provider_arn} => String
13617
+ #
13618
+ # @example Request syntax with placeholder values
13619
+ #
13620
+ # resp = client.update_certificate_provider({
13621
+ # certificate_provider_name: "CertificateProviderName", # required
13622
+ # lambda_function_arn: "CertificateProviderFunctionArn",
13623
+ # account_default_for_operations: ["CreateCertificateFromCsr"], # accepts CreateCertificateFromCsr
13624
+ # })
13625
+ #
13626
+ # @example Response structure
13627
+ #
13628
+ # resp.certificate_provider_name #=> String
13629
+ # resp.certificate_provider_arn #=> String
13630
+ #
13631
+ # @overload update_certificate_provider(params = {})
13632
+ # @param [Hash] params ({})
13633
+ def update_certificate_provider(params = {}, options = {})
13634
+ req = build_request(:update_certificate_provider, params)
13635
+ req.send_request(options)
13636
+ end
13637
+
13386
13638
  # Updates a Device Defender detect custom metric.
13387
13639
  #
13388
13640
  # Requires permission to access the [UpdateCustomMetric][1] action.
@@ -14823,7 +15075,7 @@ module Aws::IoT
14823
15075
  params: params,
14824
15076
  config: config)
14825
15077
  context[:gem_name] = 'aws-sdk-iot'
14826
- context[:gem_version] = '1.115.0'
15078
+ context[:gem_version] = '1.117.0'
14827
15079
  Seahorse::Client::Request.new(handlers, context)
14828
15080
  end
14829
15081
 
@@ -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"
@@ -8676,6 +8816,7 @@ module Aws::IoT
8676
8816
  o.input = Shapes::ShapeRef.new(shape: UpdatePackageRequest)
8677
8817
  o.output = Shapes::ShapeRef.new(shape: UpdatePackageResponse)
8678
8818
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
8819
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
8679
8820
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
8680
8821
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
8681
8822
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
@@ -8688,6 +8829,7 @@ module Aws::IoT
8688
8829
  o.input = Shapes::ShapeRef.new(shape: UpdatePackageConfigurationRequest)
8689
8830
  o.output = Shapes::ShapeRef.new(shape: UpdatePackageConfigurationResponse)
8690
8831
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
8832
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
8691
8833
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
8692
8834
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
8693
8835
  end)
@@ -8699,6 +8841,7 @@ module Aws::IoT
8699
8841
  o.input = Shapes::ShapeRef.new(shape: UpdatePackageVersionRequest)
8700
8842
  o.output = Shapes::ShapeRef.new(shape: UpdatePackageVersionResponse)
8701
8843
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
8844
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
8702
8845
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
8703
8846
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
8704
8847
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
@@ -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
@@ -2833,10 +2902,17 @@ module Aws::IoT
2833
2902
  #
2834
2903
  # @!attribute [rw] destination_package_versions
2835
2904
  # The package version Amazon Resource Names (ARNs) that are installed
2836
- # on the device when the job successfully completes.
2905
+ # on the device when the job successfully completes. The package
2906
+ # version must be in either the Published or Deprecated state when the
2907
+ # job deploys. For more information, see [Package version
2908
+ # lifecycle][1].
2837
2909
  #
2838
2910
  # **Note:**The following Length Constraints relates to a single ARN.
2839
2911
  # Up to 25 package version ARNs are allowed.
2912
+ #
2913
+ #
2914
+ #
2915
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle
2840
2916
  # @return [Array<String>]
2841
2917
  #
2842
2918
  class CreateJobRequest < Struct.new(
@@ -2950,10 +3026,17 @@ module Aws::IoT
2950
3026
  #
2951
3027
  # @!attribute [rw] destination_package_versions
2952
3028
  # The package version Amazon Resource Names (ARNs) that are installed
2953
- # on the device when the job successfully completes.
3029
+ # on the device when the job successfully completes. The package
3030
+ # version must be in either the Published or Deprecated state when the
3031
+ # job deploys. For more information, see [Package version
3032
+ # lifecycle][1].
2954
3033
  #
2955
3034
  # **Note:**The following Length Constraints relates to a single ARN.
2956
3035
  # Up to 25 package version ARNs are allowed.
3036
+ #
3037
+ #
3038
+ #
3039
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle
2957
3040
  # @return [Array<String>]
2958
3041
  #
2959
3042
  class CreateJobTemplateRequest < Struct.new(
@@ -4186,6 +4269,18 @@ module Aws::IoT
4186
4269
  #
4187
4270
  class DeleteCACertificateResponse < Aws::EmptyStructure; end
4188
4271
 
4272
+ # @!attribute [rw] certificate_provider_name
4273
+ # The name of the certificate provider.
4274
+ # @return [String]
4275
+ #
4276
+ class DeleteCertificateProviderRequest < Struct.new(
4277
+ :certificate_provider_name)
4278
+ SENSITIVE = []
4279
+ include Aws::Structure
4280
+ end
4281
+
4282
+ class DeleteCertificateProviderResponse < Aws::EmptyStructure; end
4283
+
4189
4284
  # The input for the DeleteCertificate operation.
4190
4285
  #
4191
4286
  # @!attribute [rw] certificate_id
@@ -5049,6 +5144,55 @@ module Aws::IoT
5049
5144
  include Aws::Structure
5050
5145
  end
5051
5146
 
5147
+ # @!attribute [rw] certificate_provider_name
5148
+ # The name of the certificate provider.
5149
+ # @return [String]
5150
+ #
5151
+ class DescribeCertificateProviderRequest < Struct.new(
5152
+ :certificate_provider_name)
5153
+ SENSITIVE = []
5154
+ include Aws::Structure
5155
+ end
5156
+
5157
+ # @!attribute [rw] certificate_provider_name
5158
+ # The name of the certificate provider.
5159
+ # @return [String]
5160
+ #
5161
+ # @!attribute [rw] certificate_provider_arn
5162
+ # The ARN of the certificate provider.
5163
+ # @return [String]
5164
+ #
5165
+ # @!attribute [rw] lambda_function_arn
5166
+ # The Lambda function ARN that's associated with the certificate
5167
+ # provider.
5168
+ # @return [String]
5169
+ #
5170
+ # @!attribute [rw] account_default_for_operations
5171
+ # A list of the operations that the certificate provider will use to
5172
+ # generate certificates. Valid value: `CreateCertificateFromCsr`.
5173
+ # @return [Array<String>]
5174
+ #
5175
+ # @!attribute [rw] creation_date
5176
+ # The date-time string that indicates when the certificate provider
5177
+ # was created.
5178
+ # @return [Time]
5179
+ #
5180
+ # @!attribute [rw] last_modified_date
5181
+ # The date-time string that indicates when the certificate provider
5182
+ # was last updated.
5183
+ # @return [Time]
5184
+ #
5185
+ class DescribeCertificateProviderResponse < Struct.new(
5186
+ :certificate_provider_name,
5187
+ :certificate_provider_arn,
5188
+ :lambda_function_arn,
5189
+ :account_default_for_operations,
5190
+ :creation_date,
5191
+ :last_modified_date)
5192
+ SENSITIVE = []
5193
+ include Aws::Structure
5194
+ end
5195
+
5052
5196
  # The input for the DescribeCertificate operation.
5053
5197
  #
5054
5198
  # @!attribute [rw] certificate_id
@@ -5609,10 +5753,17 @@ module Aws::IoT
5609
5753
  #
5610
5754
  # @!attribute [rw] destination_package_versions
5611
5755
  # The package version Amazon Resource Names (ARNs) that are installed
5612
- # on the device when the job successfully completes.
5756
+ # on the device when the job successfully completes. The package
5757
+ # version must be in either the Published or Deprecated state when the
5758
+ # job deploys. For more information, see [Package version
5759
+ # lifecycle][1].
5613
5760
  #
5614
5761
  # **Note:**The following Length Constraints relates to a single ARN.
5615
5762
  # Up to 25 package version ARNs are allowed.
5763
+ #
5764
+ #
5765
+ #
5766
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle
5616
5767
  # @return [Array<String>]
5617
5768
  #
5618
5769
  class DescribeJobTemplateResponse < Struct.new(
@@ -8273,10 +8424,19 @@ module Aws::IoT
8273
8424
  #
8274
8425
  # @!attribute [rw] destination_package_versions
8275
8426
  # The package version Amazon Resource Names (ARNs) that are installed
8276
- # on the device when the job successfully completes.
8427
+ # on the device when the job successfully completes. The package
8428
+ # version must be in either the Published or Deprecated state when the
8429
+ # job deploys. For more information, see [Package version
8430
+ # lifecycle][1].The package version must be in either the Published or
8431
+ # Deprecated state when the job deploys. For more information, see
8432
+ # [Package version lifecycle][1].
8277
8433
  #
8278
8434
  # **Note:**The following Length Constraints relates to a single ARN.
8279
8435
  # Up to 25 package version ARNs are allowed.
8436
+ #
8437
+ #
8438
+ #
8439
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle
8280
8440
  # @return [Array<String>]
8281
8441
  #
8282
8442
  class Job < Struct.new(
@@ -9311,6 +9471,40 @@ module Aws::IoT
9311
9471
  include Aws::Structure
9312
9472
  end
9313
9473
 
9474
+ # @!attribute [rw] next_token
9475
+ # The token for the next set of results, or `null` if there are no
9476
+ # more results.
9477
+ # @return [String]
9478
+ #
9479
+ # @!attribute [rw] ascending_order
9480
+ # Returns the list of certificate providers in ascending alphabetical
9481
+ # order.
9482
+ # @return [Boolean]
9483
+ #
9484
+ class ListCertificateProvidersRequest < Struct.new(
9485
+ :next_token,
9486
+ :ascending_order)
9487
+ SENSITIVE = []
9488
+ include Aws::Structure
9489
+ end
9490
+
9491
+ # @!attribute [rw] certificate_providers
9492
+ # The list of certificate providers in your Amazon Web Services
9493
+ # account.
9494
+ # @return [Array<Types::CertificateProviderSummary>]
9495
+ #
9496
+ # @!attribute [rw] next_token
9497
+ # The token for the next set of results, or `null` if there are no
9498
+ # more results.
9499
+ # @return [String]
9500
+ #
9501
+ class ListCertificateProvidersResponse < Struct.new(
9502
+ :certificate_providers,
9503
+ :next_token)
9504
+ SENSITIVE = []
9505
+ include Aws::Structure
9506
+ end
9507
+
9314
9508
  # The input to the ListCertificatesByCA operation.
9315
9509
  #
9316
9510
  # @!attribute [rw] ca_certificate_id
@@ -11605,9 +11799,8 @@ module Aws::IoT
11605
11799
  # @return [Types::MetricDimension]
11606
11800
  #
11607
11801
  # @!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.
11802
+ # The value indicates exporting metrics related to the `MetricToRetain
11803
+ # ` when it's true.
11611
11804
  # @return [Boolean]
11612
11805
  #
11613
11806
  class MetricToRetain < Struct.new(
@@ -15540,6 +15733,43 @@ module Aws::IoT
15540
15733
  include Aws::Structure
15541
15734
  end
15542
15735
 
15736
+ # @!attribute [rw] certificate_provider_name
15737
+ # The name of the certificate provider.
15738
+ # @return [String]
15739
+ #
15740
+ # @!attribute [rw] lambda_function_arn
15741
+ # The Lambda function ARN that's associated with the certificate
15742
+ # provider.
15743
+ # @return [String]
15744
+ #
15745
+ # @!attribute [rw] account_default_for_operations
15746
+ # A list of the operations that the certificate provider will use to
15747
+ # generate certificates. Valid value: `CreateCertificateFromCsr`.
15748
+ # @return [Array<String>]
15749
+ #
15750
+ class UpdateCertificateProviderRequest < Struct.new(
15751
+ :certificate_provider_name,
15752
+ :lambda_function_arn,
15753
+ :account_default_for_operations)
15754
+ SENSITIVE = []
15755
+ include Aws::Structure
15756
+ end
15757
+
15758
+ # @!attribute [rw] certificate_provider_name
15759
+ # The name of the certificate provider.
15760
+ # @return [String]
15761
+ #
15762
+ # @!attribute [rw] certificate_provider_arn
15763
+ # The ARN of the certificate provider.
15764
+ # @return [String]
15765
+ #
15766
+ class UpdateCertificateProviderResponse < Struct.new(
15767
+ :certificate_provider_name,
15768
+ :certificate_provider_arn)
15769
+ SENSITIVE = []
15770
+ include Aws::Structure
15771
+ end
15772
+
15543
15773
  # The input for the UpdateCertificate operation.
15544
15774
  #
15545
15775
  # @!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.117.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.117.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-28 00:00:00.000000000 Z
11
+ date: 2024-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -72,7 +72,7 @@ licenses:
72
72
  metadata:
73
73
  source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-iot
74
74
  changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-iot/CHANGELOG.md
75
- post_install_message:
75
+ post_install_message:
76
76
  rdoc_options: []
77
77
  require_paths:
78
78
  - lib
@@ -87,8 +87,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
89
  requirements: []
90
- rubygems_version: 3.1.6
91
- signing_key:
90
+ rubygems_version: 3.4.10
91
+ signing_key:
92
92
  specification_version: 4
93
93
  summary: AWS SDK for Ruby - AWS IoT
94
94
  test_files: []