aws-sdk-iot 1.115.0 → 1.117.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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: []