aws-sdk-iot 1.150.0 → 1.151.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: 0e6e7b2b6d1e9a89be04a99c47236d0c025e4ba2bdd6be4a9eab1310de5efad5
4
- data.tar.gz: 7f86dab30f0ce0c00a6a0ce0fdc1d46eb0d88dda55f1463d7c07d2674dcf4f40
3
+ metadata.gz: 00d820a97b0c130237c7193f87b9c110ea5e9d037e3193e567d41156dde27659
4
+ data.tar.gz: 9cf9c38975433c0d5d24705792f648a4066d68ba8adbb148b63ac7cb96763017
5
5
  SHA512:
6
- metadata.gz: e597343c358194397b82a9c7394be7cf79f08ced7fad4a766e026684e5d75c5763841f60360e94730129a915c01300b38d9758a6fcbe18d5d55eff4a014cc374
7
- data.tar.gz: e0df8182e084cb865068208f408ee99c4f0f36e981bacb8e71a9dc43c6c35aa6ea0cd0a9dddac27b5e9ff83453f3ba52ccf2f24aa9b771175c5c190ccf223880
6
+ metadata.gz: 3d3c53375709c973c268644df257ce832f6bfe7d849aa6e14c53527ec0e79b617a804249c5c7d4deaa568de79b76463862ec858af4a08ccd6dbfc5ed50182334
7
+ data.tar.gz: 1f8203ef800332335f30892bc876a6095687c515e31924101153b52994b80e533054c21a8c42265db845ece56f56f18f2eb800a01b7f0130b4e2c1972b5c2fb1
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.151.0 (2025-07-31)
5
+ ------------------
6
+
7
+ * Feature - This release allows AWS IoT Core users to use their own AWS KMS keys for data protection
8
+
4
9
  1.150.0 (2025-07-21)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.150.0
1
+ 1.151.0
@@ -6378,6 +6378,59 @@ module Aws::IoT
6378
6378
  req.send_request(options)
6379
6379
  end
6380
6380
 
6381
+ # Retrieves the encryption configuration for resources and data of your
6382
+ # Amazon Web Services account in Amazon Web Services IoT Core. For more
6383
+ # information, see [Key management in IoT][1] from the *Amazon Web
6384
+ # Services IoT Core Developer Guide*.
6385
+ #
6386
+ #
6387
+ #
6388
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/key-management.html
6389
+ #
6390
+ # @return [Types::DescribeEncryptionConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6391
+ #
6392
+ # * {Types::DescribeEncryptionConfigurationResponse#encryption_type #encryption_type} => String
6393
+ # * {Types::DescribeEncryptionConfigurationResponse#kms_key_arn #kms_key_arn} => String
6394
+ # * {Types::DescribeEncryptionConfigurationResponse#kms_access_role_arn #kms_access_role_arn} => String
6395
+ # * {Types::DescribeEncryptionConfigurationResponse#configuration_details #configuration_details} => Types::ConfigurationDetails
6396
+ # * {Types::DescribeEncryptionConfigurationResponse#last_modified_date #last_modified_date} => Time
6397
+ #
6398
+ #
6399
+ # @example Example: DescribeEncryptionConfiguration
6400
+ #
6401
+ # # DescribeEncryptionConfiguration API operation example
6402
+ #
6403
+ # resp = client.describe_encryption_configuration({
6404
+ # })
6405
+ #
6406
+ # resp.to_h outputs the following:
6407
+ # {
6408
+ # configuration_details: {
6409
+ # configuration_status: "HEALTHY",
6410
+ # },
6411
+ # encryption_type: "CUSTOMER_MANAGED_KMS_KEY",
6412
+ # kms_access_role_arn: "arn:aws:iam:us-west-2:111122223333:role/myrole",
6413
+ # kms_key_arn: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
6414
+ # last_modified_date: Time.parse("2024-09-26T22:01:02.365000-07:00"),
6415
+ # }
6416
+ #
6417
+ # @example Response structure
6418
+ #
6419
+ # resp.encryption_type #=> String, one of "CUSTOMER_MANAGED_KMS_KEY", "AWS_OWNED_KMS_KEY"
6420
+ # resp.kms_key_arn #=> String
6421
+ # resp.kms_access_role_arn #=> String
6422
+ # resp.configuration_details.configuration_status #=> String, one of "HEALTHY", "UNHEALTHY"
6423
+ # resp.configuration_details.error_code #=> String
6424
+ # resp.configuration_details.error_message #=> String
6425
+ # resp.last_modified_date #=> Time
6426
+ #
6427
+ # @overload describe_encryption_configuration(params = {})
6428
+ # @param [Hash] params ({})
6429
+ def describe_encryption_configuration(params = {}, options = {})
6430
+ req = build_request(:describe_encryption_configuration, params)
6431
+ req.send_request(options)
6432
+ end
6433
+
6381
6434
  # Returns or creates a unique endpoint specific to the Amazon Web
6382
6435
  # Services account making the call.
6383
6436
  #
@@ -14333,15 +14386,39 @@ module Aws::IoT
14333
14386
  #
14334
14387
  # You can cancel the transfer until it is acknowledged by the recipient.
14335
14388
  #
14336
- # No notification is sent to the transfer destination's account. It is
14389
+ # No notification is sent to the transfer destination's account. It's
14337
14390
  # up to the caller to notify the transfer target.
14338
14391
  #
14339
- # The certificate being transferred must not be in the ACTIVE state. You
14340
- # can use the UpdateCertificate action to deactivate it.
14392
+ # The certificate being transferred must not be in the `ACTIVE` state.
14393
+ # You can use the UpdateCertificate action to deactivate it.
14341
14394
  #
14342
14395
  # The certificate must not have any policies attached to it. You can use
14343
14396
  # the DetachPolicy action to detach them.
14344
14397
  #
14398
+ # **Customer managed key behavior:** When you use a customer managed key
14399
+ # to secure your data and then transfer the key to a customer in a
14400
+ # different account using the TransferCertificate operation, the
14401
+ # certificates will no longer be protected by their customer managed key
14402
+ # configuration. During the transfer process, certificates are encrypted
14403
+ # using IoT owned keys.
14404
+ #
14405
+ # While a certificate is in the **PENDING\_TRANSFER** state, it's
14406
+ # always protected by IoT owned keys, regardless of the customer managed
14407
+ # key configuration of either the source or destination account.
14408
+ #
14409
+ # Once the transfer is completed through AcceptCertificateTransfer,
14410
+ # RejectCertificateTransfer, or CancelCertificateTransfer, the
14411
+ # certificate will be protected by the customer managed key
14412
+ # configuration of the account that owns the certificate after the
14413
+ # transfer operation:
14414
+ #
14415
+ # * If the transfer is accepted: The certificate is protected by the
14416
+ # destination account's customer managed key configuration.
14417
+ #
14418
+ # * If the transfer is rejected or cancelled: The certificate is
14419
+ # protected by the source account's customer managed key
14420
+ # configuration.
14421
+ #
14345
14422
  #
14346
14423
  #
14347
14424
  # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
@@ -15134,6 +15211,57 @@ module Aws::IoT
15134
15211
  req.send_request(options)
15135
15212
  end
15136
15213
 
15214
+ # Updates the encryption configuration. By default, all Amazon Web
15215
+ # Services IoT Core data at rest is encrypted using Amazon Web Services
15216
+ # owned keys. Amazon Web Services IoT Core also supports symmetric
15217
+ # customer managed keys from Amazon Web Services Key Management Service
15218
+ # (KMS). With customer managed keys, you create, own, and manage the KMS
15219
+ # keys in your Amazon Web Services account. For more information, see
15220
+ # [Data encryption][1] in the *Amazon Web Services IoT Core Developer
15221
+ # Guide*.
15222
+ #
15223
+ #
15224
+ #
15225
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/data-encryption.html
15226
+ #
15227
+ # @option params [required, String] :encryption_type
15228
+ # The type of the Amazon Web Services Key Management Service (KMS) key.
15229
+ #
15230
+ # @option params [String] :kms_key_arn
15231
+ # The ARN of the customer-managed KMS key.
15232
+ #
15233
+ # @option params [String] :kms_access_role_arn
15234
+ # The Amazon Resource Name (ARN) of the IAM role assumed by Amazon Web
15235
+ # Services IoT Core to call KMS on behalf of the customer.
15236
+ #
15237
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
15238
+ #
15239
+ #
15240
+ # @example Example: UpdateEncryptionConfiguration example
15241
+ #
15242
+ # # This operation updates the encryption configuration.
15243
+ #
15244
+ # resp = client.update_encryption_configuration({
15245
+ # encryption_type: "CUSTOMER_MANAGED_KMS_KEY",
15246
+ # kms_access_role_arn: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
15247
+ # kms_key_arn: "arn:aws:iam:us-west-2:111122223333:role/myrole",
15248
+ # })
15249
+ #
15250
+ # @example Request syntax with placeholder values
15251
+ #
15252
+ # resp = client.update_encryption_configuration({
15253
+ # encryption_type: "CUSTOMER_MANAGED_KMS_KEY", # required, accepts CUSTOMER_MANAGED_KMS_KEY, AWS_OWNED_KMS_KEY
15254
+ # kms_key_arn: "KmsKeyArn",
15255
+ # kms_access_role_arn: "KmsAccessRoleArn",
15256
+ # })
15257
+ #
15258
+ # @overload update_encryption_configuration(params = {})
15259
+ # @param [Hash] params ({})
15260
+ def update_encryption_configuration(params = {}, options = {})
15261
+ req = build_request(:update_encryption_configuration, params)
15262
+ req.send_request(options)
15263
+ end
15264
+
15137
15265
  # Updates the event configurations.
15138
15266
  #
15139
15267
  # Requires permission to access the [UpdateEventConfigurations][1]
@@ -16421,7 +16549,7 @@ module Aws::IoT
16421
16549
  tracer: tracer
16422
16550
  )
16423
16551
  context[:gem_name] = 'aws-sdk-iot'
16424
- context[:gem_version] = '1.150.0'
16552
+ context[:gem_version] = '1.151.0'
16425
16553
  Seahorse::Client::Request.new(handlers, context)
16426
16554
  end
16427
16555
 
@@ -270,6 +270,8 @@ module Aws::IoT
270
270
  ConfigName = Shapes::StringShape.new(name: 'ConfigName')
271
271
  ConfigValue = Shapes::StringShape.new(name: 'ConfigValue')
272
272
  Configuration = Shapes::StructureShape.new(name: 'Configuration')
273
+ ConfigurationDetails = Shapes::StructureShape.new(name: 'ConfigurationDetails')
274
+ ConfigurationStatus = Shapes::StringShape.new(name: 'ConfigurationStatus')
273
275
  ConfirmTopicRuleDestinationRequest = Shapes::StructureShape.new(name: 'ConfirmTopicRuleDestinationRequest')
274
276
  ConfirmTopicRuleDestinationResponse = Shapes::StructureShape.new(name: 'ConfirmTopicRuleDestinationResponse')
275
277
  ConfirmationToken = Shapes::StringShape.new(name: 'ConfirmationToken')
@@ -465,6 +467,8 @@ module Aws::IoT
465
467
  DescribeDimensionResponse = Shapes::StructureShape.new(name: 'DescribeDimensionResponse')
466
468
  DescribeDomainConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeDomainConfigurationRequest')
467
469
  DescribeDomainConfigurationResponse = Shapes::StructureShape.new(name: 'DescribeDomainConfigurationResponse')
470
+ DescribeEncryptionConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeEncryptionConfigurationRequest')
471
+ DescribeEncryptionConfigurationResponse = Shapes::StructureShape.new(name: 'DescribeEncryptionConfigurationResponse')
468
472
  DescribeEndpointRequest = Shapes::StructureShape.new(name: 'DescribeEndpointRequest')
469
473
  DescribeEndpointResponse = Shapes::StructureShape.new(name: 'DescribeEndpointResponse')
470
474
  DescribeEventConfigurationsRequest = Shapes::StructureShape.new(name: 'DescribeEventConfigurationsRequest')
@@ -572,6 +576,7 @@ module Aws::IoT
572
576
  EnableTopicRuleRequest = Shapes::StructureShape.new(name: 'EnableTopicRuleRequest')
573
577
  Enabled = Shapes::BooleanShape.new(name: 'Enabled')
574
578
  EnabledBoolean = Shapes::BooleanShape.new(name: 'EnabledBoolean')
579
+ EncryptionType = Shapes::StringShape.new(name: 'EncryptionType')
575
580
  EndpointAddress = Shapes::StringShape.new(name: 'EndpointAddress')
576
581
  EndpointType = Shapes::StringShape.new(name: 'EndpointType')
577
582
  Environment = Shapes::StringShape.new(name: 'Environment')
@@ -756,6 +761,8 @@ module Aws::IoT
756
761
  KeyPair = Shapes::StructureShape.new(name: 'KeyPair')
757
762
  KeyValue = Shapes::StringShape.new(name: 'KeyValue')
758
763
  KinesisAction = Shapes::StructureShape.new(name: 'KinesisAction')
764
+ KmsAccessRoleArn = Shapes::StringShape.new(name: 'KmsAccessRoleArn')
765
+ KmsKeyArn = Shapes::StringShape.new(name: 'KmsKeyArn')
759
766
  LambdaAction = Shapes::StructureShape.new(name: 'LambdaAction')
760
767
  LaserMaxResults = Shapes::IntegerShape.new(name: 'LaserMaxResults')
761
768
  LastModifiedDate = Shapes::TimestampShape.new(name: 'LastModifiedDate')
@@ -1406,6 +1413,8 @@ module Aws::IoT
1406
1413
  UpdateDomainConfigurationResponse = Shapes::StructureShape.new(name: 'UpdateDomainConfigurationResponse')
1407
1414
  UpdateDynamicThingGroupRequest = Shapes::StructureShape.new(name: 'UpdateDynamicThingGroupRequest')
1408
1415
  UpdateDynamicThingGroupResponse = Shapes::StructureShape.new(name: 'UpdateDynamicThingGroupResponse')
1416
+ UpdateEncryptionConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateEncryptionConfigurationRequest')
1417
+ UpdateEncryptionConfigurationResponse = Shapes::StructureShape.new(name: 'UpdateEncryptionConfigurationResponse')
1409
1418
  UpdateEventConfigurationsRequest = Shapes::StructureShape.new(name: 'UpdateEventConfigurationsRequest')
1410
1419
  UpdateEventConfigurationsResponse = Shapes::StructureShape.new(name: 'UpdateEventConfigurationsResponse')
1411
1420
  UpdateFleetMetricRequest = Shapes::StructureShape.new(name: 'UpdateFleetMetricRequest')
@@ -2063,6 +2072,11 @@ module Aws::IoT
2063
2072
  Configuration.add_member(:enabled, Shapes::ShapeRef.new(shape: Enabled, location_name: "Enabled"))
2064
2073
  Configuration.struct_class = Types::Configuration
2065
2074
 
2075
+ ConfigurationDetails.add_member(:configuration_status, Shapes::ShapeRef.new(shape: ConfigurationStatus, location_name: "configurationStatus"))
2076
+ ConfigurationDetails.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "errorCode"))
2077
+ ConfigurationDetails.add_member(:error_message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "errorMessage"))
2078
+ ConfigurationDetails.struct_class = Types::ConfigurationDetails
2079
+
2066
2080
  ConfirmTopicRuleDestinationRequest.add_member(:confirmation_token, Shapes::ShapeRef.new(shape: ConfirmationToken, required: true, location: "uri", location_name: "confirmationToken"))
2067
2081
  ConfirmTopicRuleDestinationRequest.struct_class = Types::ConfirmTopicRuleDestinationRequest
2068
2082
 
@@ -2823,6 +2837,15 @@ module Aws::IoT
2823
2837
  DescribeDomainConfigurationResponse.add_member(:client_certificate_config, Shapes::ShapeRef.new(shape: ClientCertificateConfig, location_name: "clientCertificateConfig"))
2824
2838
  DescribeDomainConfigurationResponse.struct_class = Types::DescribeDomainConfigurationResponse
2825
2839
 
2840
+ DescribeEncryptionConfigurationRequest.struct_class = Types::DescribeEncryptionConfigurationRequest
2841
+
2842
+ DescribeEncryptionConfigurationResponse.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, location_name: "encryptionType"))
2843
+ DescribeEncryptionConfigurationResponse.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, location_name: "kmsKeyArn"))
2844
+ DescribeEncryptionConfigurationResponse.add_member(:kms_access_role_arn, Shapes::ShapeRef.new(shape: KmsAccessRoleArn, location_name: "kmsAccessRoleArn"))
2845
+ DescribeEncryptionConfigurationResponse.add_member(:configuration_details, Shapes::ShapeRef.new(shape: ConfigurationDetails, location_name: "configurationDetails"))
2846
+ DescribeEncryptionConfigurationResponse.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: DateType, location_name: "lastModifiedDate"))
2847
+ DescribeEncryptionConfigurationResponse.struct_class = Types::DescribeEncryptionConfigurationResponse
2848
+
2826
2849
  DescribeEndpointRequest.add_member(:endpoint_type, Shapes::ShapeRef.new(shape: EndpointType, location: "querystring", location_name: "endpointType"))
2827
2850
  DescribeEndpointRequest.struct_class = Types::DescribeEndpointRequest
2828
2851
 
@@ -5421,6 +5444,13 @@ module Aws::IoT
5421
5444
  UpdateDynamicThingGroupResponse.add_member(:version, Shapes::ShapeRef.new(shape: Version, location_name: "version"))
5422
5445
  UpdateDynamicThingGroupResponse.struct_class = Types::UpdateDynamicThingGroupResponse
5423
5446
 
5447
+ UpdateEncryptionConfigurationRequest.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "encryptionType"))
5448
+ UpdateEncryptionConfigurationRequest.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, location_name: "kmsKeyArn"))
5449
+ UpdateEncryptionConfigurationRequest.add_member(:kms_access_role_arn, Shapes::ShapeRef.new(shape: KmsAccessRoleArn, location_name: "kmsAccessRoleArn"))
5450
+ UpdateEncryptionConfigurationRequest.struct_class = Types::UpdateEncryptionConfigurationRequest
5451
+
5452
+ UpdateEncryptionConfigurationResponse.struct_class = Types::UpdateEncryptionConfigurationResponse
5453
+
5424
5454
  UpdateEventConfigurationsRequest.add_member(:event_configurations, Shapes::ShapeRef.new(shape: EventConfigurations, location_name: "eventConfigurations"))
5425
5455
  UpdateEventConfigurationsRequest.struct_class = Types::UpdateEventConfigurationsRequest
5426
5456
 
@@ -6351,6 +6381,7 @@ module Aws::IoT
6351
6381
  o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
6352
6382
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
6353
6383
  o.errors << Shapes::ShapeRef.new(shape: ConflictingResourceUpdateException)
6384
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
6354
6385
  end)
6355
6386
 
6356
6387
  api.add_operation(:create_topic_rule_destination, Seahorse::Model::Operation.new.tap do |o|
@@ -6364,6 +6395,7 @@ module Aws::IoT
6364
6395
  o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
6365
6396
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
6366
6397
  o.errors << Shapes::ShapeRef.new(shape: ConflictingResourceUpdateException)
6398
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
6367
6399
  end)
6368
6400
 
6369
6401
  api.add_operation(:delete_account_audit_configuration, Seahorse::Model::Operation.new.tap do |o|
@@ -7044,6 +7076,19 @@ module Aws::IoT
7044
7076
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
7045
7077
  end)
7046
7078
 
7079
+ api.add_operation(:describe_encryption_configuration, Seahorse::Model::Operation.new.tap do |o|
7080
+ o.name = "DescribeEncryptionConfiguration"
7081
+ o.http_method = "GET"
7082
+ o.http_request_uri = "/encryption-configuration"
7083
+ o.input = Shapes::ShapeRef.new(shape: DescribeEncryptionConfigurationRequest)
7084
+ o.output = Shapes::ShapeRef.new(shape: DescribeEncryptionConfigurationResponse)
7085
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
7086
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
7087
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
7088
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
7089
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
7090
+ end)
7091
+
7047
7092
  api.add_operation(:describe_endpoint, Seahorse::Model::Operation.new.tap do |o|
7048
7093
  o.name = "DescribeEndpoint"
7049
7094
  o.http_method = "GET"
@@ -8814,6 +8859,7 @@ module Aws::IoT
8814
8859
  o.errors << Shapes::ShapeRef.new(shape: InternalException)
8815
8860
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
8816
8861
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
8862
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
8817
8863
  o[:pager] = Aws::Pager.new(
8818
8864
  limit_key: "max_results",
8819
8865
  tokens: {
@@ -9361,6 +9407,19 @@ module Aws::IoT
9361
9407
  o.errors << Shapes::ShapeRef.new(shape: InvalidQueryException)
9362
9408
  end)
9363
9409
 
9410
+ api.add_operation(:update_encryption_configuration, Seahorse::Model::Operation.new.tap do |o|
9411
+ o.name = "UpdateEncryptionConfiguration"
9412
+ o.http_method = "PATCH"
9413
+ o.http_request_uri = "/encryption-configuration"
9414
+ o.input = Shapes::ShapeRef.new(shape: UpdateEncryptionConfigurationRequest)
9415
+ o.output = Shapes::ShapeRef.new(shape: UpdateEncryptionConfigurationResponse)
9416
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
9417
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
9418
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
9419
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
9420
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
9421
+ end)
9422
+
9364
9423
  api.add_operation(:update_event_configurations, Seahorse::Model::Operation.new.tap do |o|
9365
9424
  o.name = "UpdateEventConfigurations"
9366
9425
  o.http_method = "PATCH"
@@ -2456,6 +2456,35 @@ module Aws::IoT
2456
2456
  include Aws::Structure
2457
2457
  end
2458
2458
 
2459
+ # The encryption configuration details that include the status
2460
+ # information of the Amazon Web Services Key Management Service (KMS)
2461
+ # key and the KMS access role.
2462
+ #
2463
+ # @!attribute [rw] configuration_status
2464
+ # The health status of KMS key and KMS access role. If either KMS key
2465
+ # or KMS access role is `UNHEALTHY`, the return value will be
2466
+ # `UNHEALTHY`. To use a customer-managed KMS key, the value of
2467
+ # `configurationStatus` must be `HEALTHY`.
2468
+ # @return [String]
2469
+ #
2470
+ # @!attribute [rw] error_code
2471
+ # The error code that indicates either the KMS key or the KMS access
2472
+ # role is `UNHEALTHY`. Valid values: `KMS_KEY_VALIDATION_ERROR` and
2473
+ # `ROLE_VALIDATION_ERROR`.
2474
+ # @return [String]
2475
+ #
2476
+ # @!attribute [rw] error_message
2477
+ # The detailed error message that corresponds to the `errorCode`.
2478
+ # @return [String]
2479
+ #
2480
+ class ConfigurationDetails < Struct.new(
2481
+ :configuration_status,
2482
+ :error_code,
2483
+ :error_message)
2484
+ SENSITIVE = []
2485
+ include Aws::Structure
2486
+ end
2487
+
2459
2488
  # @!attribute [rw] confirmation_token
2460
2489
  # The token used to confirm ownership or access to the topic rule
2461
2490
  # confirmation URL.
@@ -6089,6 +6118,43 @@ module Aws::IoT
6089
6118
  include Aws::Structure
6090
6119
  end
6091
6120
 
6121
+ # @api private
6122
+ #
6123
+ class DescribeEncryptionConfigurationRequest < Aws::EmptyStructure; end
6124
+
6125
+ # @!attribute [rw] encryption_type
6126
+ # The type of the Amazon Web Services Key Management Service (KMS)
6127
+ # key.
6128
+ # @return [String]
6129
+ #
6130
+ # @!attribute [rw] kms_key_arn
6131
+ # The Amazon Resource Name (ARN) of the IAM role assumed by Amazon Web
6132
+ # Services IoT Core to call KMS on behalf of the customer.
6133
+ # @return [String]
6134
+ #
6135
+ # @!attribute [rw] kms_access_role_arn
6136
+ # The ARN of the customer-managed KMS key.
6137
+ # @return [String]
6138
+ #
6139
+ # @!attribute [rw] configuration_details
6140
+ # The encryption configuration details that include the status
6141
+ # information of the KMS key and the KMS access role.
6142
+ # @return [Types::ConfigurationDetails]
6143
+ #
6144
+ # @!attribute [rw] last_modified_date
6145
+ # The date when encryption configuration is last updated.
6146
+ # @return [Time]
6147
+ #
6148
+ class DescribeEncryptionConfigurationResponse < Struct.new(
6149
+ :encryption_type,
6150
+ :kms_key_arn,
6151
+ :kms_access_role_arn,
6152
+ :configuration_details,
6153
+ :last_modified_date)
6154
+ SENSITIVE = []
6155
+ include Aws::Structure
6156
+ end
6157
+
6092
6158
  # The input for the DescribeEndpoint operation.
6093
6159
  #
6094
6160
  # @!attribute [rw] endpoint_type
@@ -17716,6 +17782,30 @@ module Aws::IoT
17716
17782
  include Aws::Structure
17717
17783
  end
17718
17784
 
17785
+ # @!attribute [rw] encryption_type
17786
+ # The type of the Amazon Web Services Key Management Service (KMS)
17787
+ # key.
17788
+ # @return [String]
17789
+ #
17790
+ # @!attribute [rw] kms_key_arn
17791
+ # The ARN of the customer-managed KMS key.
17792
+ # @return [String]
17793
+ #
17794
+ # @!attribute [rw] kms_access_role_arn
17795
+ # The Amazon Resource Name (ARN) of the IAM role assumed by Amazon Web
17796
+ # Services IoT Core to call KMS on behalf of the customer.
17797
+ # @return [String]
17798
+ #
17799
+ class UpdateEncryptionConfigurationRequest < Struct.new(
17800
+ :encryption_type,
17801
+ :kms_key_arn,
17802
+ :kms_access_role_arn)
17803
+ SENSITIVE = []
17804
+ include Aws::Structure
17805
+ end
17806
+
17807
+ class UpdateEncryptionConfigurationResponse < Aws::EmptyStructure; end
17808
+
17719
17809
  # @!attribute [rw] event_configurations
17720
17810
  # The new event configuration values.
17721
17811
  # @return [Hash<String,Types::Configuration>]
data/lib/aws-sdk-iot.rb CHANGED
@@ -54,7 +54,7 @@ module Aws::IoT
54
54
  autoload :EndpointProvider, 'aws-sdk-iot/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-iot/endpoints'
56
56
 
57
- GEM_VERSION = '1.150.0'
57
+ GEM_VERSION = '1.151.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -2200,6 +2200,19 @@ module Aws
2200
2200
  ) -> _DescribeDomainConfigurationResponseSuccess
2201
2201
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DescribeDomainConfigurationResponseSuccess
2202
2202
 
2203
+ interface _DescribeEncryptionConfigurationResponseSuccess
2204
+ include ::Seahorse::Client::_ResponseSuccess[Types::DescribeEncryptionConfigurationResponse]
2205
+ def encryption_type: () -> ("CUSTOMER_MANAGED_KMS_KEY" | "AWS_OWNED_KMS_KEY")
2206
+ def kms_key_arn: () -> ::String
2207
+ def kms_access_role_arn: () -> ::String
2208
+ def configuration_details: () -> Types::ConfigurationDetails
2209
+ def last_modified_date: () -> ::Time
2210
+ end
2211
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IoT/Client.html#describe_encryption_configuration-instance_method
2212
+ def describe_encryption_configuration: (
2213
+ ) -> _DescribeEncryptionConfigurationResponseSuccess
2214
+ | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DescribeEncryptionConfigurationResponseSuccess
2215
+
2203
2216
  interface _DescribeEndpointResponseSuccess
2204
2217
  include ::Seahorse::Client::_ResponseSuccess[Types::DescribeEndpointResponse]
2205
2218
  def endpoint_address: () -> ::String
@@ -4763,6 +4776,17 @@ module Aws
4763
4776
  ) -> _UpdateDynamicThingGroupResponseSuccess
4764
4777
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateDynamicThingGroupResponseSuccess
4765
4778
 
4779
+ interface _UpdateEncryptionConfigurationResponseSuccess
4780
+ include ::Seahorse::Client::_ResponseSuccess[Types::UpdateEncryptionConfigurationResponse]
4781
+ end
4782
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IoT/Client.html#update_encryption_configuration-instance_method
4783
+ def update_encryption_configuration: (
4784
+ encryption_type: ("CUSTOMER_MANAGED_KMS_KEY" | "AWS_OWNED_KMS_KEY"),
4785
+ ?kms_key_arn: ::String,
4786
+ ?kms_access_role_arn: ::String
4787
+ ) -> _UpdateEncryptionConfigurationResponseSuccess
4788
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateEncryptionConfigurationResponseSuccess
4789
+
4766
4790
  interface _UpdateEventConfigurationsResponseSuccess
4767
4791
  include ::Seahorse::Client::_ResponseSuccess[Types::UpdateEventConfigurationsResponse]
4768
4792
  end
data/sig/types.rbs CHANGED
@@ -664,6 +664,13 @@ module Aws::IoT
664
664
  SENSITIVE: []
665
665
  end
666
666
 
667
+ class ConfigurationDetails
668
+ attr_accessor configuration_status: ("HEALTHY" | "UNHEALTHY")
669
+ attr_accessor error_code: ::String
670
+ attr_accessor error_message: ::String
671
+ SENSITIVE: []
672
+ end
673
+
667
674
  class ConfirmTopicRuleDestinationRequest
668
675
  attr_accessor confirmation_token: ::String
669
676
  SENSITIVE: []
@@ -1720,6 +1727,18 @@ module Aws::IoT
1720
1727
  SENSITIVE: []
1721
1728
  end
1722
1729
 
1730
+ class DescribeEncryptionConfigurationRequest < Aws::EmptyStructure
1731
+ end
1732
+
1733
+ class DescribeEncryptionConfigurationResponse
1734
+ attr_accessor encryption_type: ("CUSTOMER_MANAGED_KMS_KEY" | "AWS_OWNED_KMS_KEY")
1735
+ attr_accessor kms_key_arn: ::String
1736
+ attr_accessor kms_access_role_arn: ::String
1737
+ attr_accessor configuration_details: Types::ConfigurationDetails
1738
+ attr_accessor last_modified_date: ::Time
1739
+ SENSITIVE: []
1740
+ end
1741
+
1723
1742
  class DescribeEndpointRequest
1724
1743
  attr_accessor endpoint_type: ::String
1725
1744
  SENSITIVE: []
@@ -5021,6 +5040,16 @@ module Aws::IoT
5021
5040
  SENSITIVE: []
5022
5041
  end
5023
5042
 
5043
+ class UpdateEncryptionConfigurationRequest
5044
+ attr_accessor encryption_type: ("CUSTOMER_MANAGED_KMS_KEY" | "AWS_OWNED_KMS_KEY")
5045
+ attr_accessor kms_key_arn: ::String
5046
+ attr_accessor kms_access_role_arn: ::String
5047
+ SENSITIVE: []
5048
+ end
5049
+
5050
+ class UpdateEncryptionConfigurationResponse < Aws::EmptyStructure
5051
+ end
5052
+
5024
5053
  class UpdateEventConfigurationsRequest
5025
5054
  attr_accessor event_configurations: ::Hash[("THING" | "THING_GROUP" | "THING_TYPE" | "THING_GROUP_MEMBERSHIP" | "THING_GROUP_HIERARCHY" | "THING_TYPE_ASSOCIATION" | "JOB" | "JOB_EXECUTION" | "POLICY" | "CERTIFICATE" | "CA_CERTIFICATE"), Types::Configuration]
5026
5055
  SENSITIVE: []
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.150.0
4
+ version: 1.151.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
@@ -18,7 +18,7 @@ dependencies:
18
18
  version: '3'
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 3.227.0
21
+ version: 3.228.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -28,7 +28,7 @@ dependencies:
28
28
  version: '3'
29
29
  - - ">="
30
30
  - !ruby/object:Gem::Version
31
- version: 3.227.0
31
+ version: 3.228.0
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: aws-sigv4
34
34
  requirement: !ruby/object:Gem::Requirement