aws-sdk-kms 1.78.0 → 1.80.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.
@@ -31,6 +31,7 @@ module Aws::KMS
31
31
  CloudHsmClusterNotActiveException = Shapes::StructureShape.new(name: 'CloudHsmClusterNotActiveException')
32
32
  CloudHsmClusterNotFoundException = Shapes::StructureShape.new(name: 'CloudHsmClusterNotFoundException')
33
33
  CloudHsmClusterNotRelatedException = Shapes::StructureShape.new(name: 'CloudHsmClusterNotRelatedException')
34
+ ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
34
35
  ConnectCustomKeyStoreRequest = Shapes::StructureShape.new(name: 'ConnectCustomKeyStoreRequest')
35
36
  ConnectCustomKeyStoreResponse = Shapes::StructureShape.new(name: 'ConnectCustomKeyStoreResponse')
36
37
  ConnectionErrorCodeType = Shapes::StringShape.new(name: 'ConnectionErrorCodeType')
@@ -150,6 +151,8 @@ module Aws::KMS
150
151
  ListGrantsResponse = Shapes::StructureShape.new(name: 'ListGrantsResponse')
151
152
  ListKeyPoliciesRequest = Shapes::StructureShape.new(name: 'ListKeyPoliciesRequest')
152
153
  ListKeyPoliciesResponse = Shapes::StructureShape.new(name: 'ListKeyPoliciesResponse')
154
+ ListKeyRotationsRequest = Shapes::StructureShape.new(name: 'ListKeyRotationsRequest')
155
+ ListKeyRotationsResponse = Shapes::StructureShape.new(name: 'ListKeyRotationsResponse')
153
156
  ListKeysRequest = Shapes::StructureShape.new(name: 'ListKeysRequest')
154
157
  ListKeysResponse = Shapes::StructureShape.new(name: 'ListKeysResponse')
155
158
  ListResourceTagsRequest = Shapes::StructureShape.new(name: 'ListResourceTagsRequest')
@@ -184,6 +187,12 @@ module Aws::KMS
184
187
  ReplicateKeyResponse = Shapes::StructureShape.new(name: 'ReplicateKeyResponse')
185
188
  RetireGrantRequest = Shapes::StructureShape.new(name: 'RetireGrantRequest')
186
189
  RevokeGrantRequest = Shapes::StructureShape.new(name: 'RevokeGrantRequest')
190
+ RotateKeyOnDemandRequest = Shapes::StructureShape.new(name: 'RotateKeyOnDemandRequest')
191
+ RotateKeyOnDemandResponse = Shapes::StructureShape.new(name: 'RotateKeyOnDemandResponse')
192
+ RotationPeriodInDaysType = Shapes::IntegerShape.new(name: 'RotationPeriodInDaysType')
193
+ RotationType = Shapes::StringShape.new(name: 'RotationType')
194
+ RotationsList = Shapes::ListShape.new(name: 'RotationsList')
195
+ RotationsListEntry = Shapes::StructureShape.new(name: 'RotationsListEntry')
187
196
  ScheduleKeyDeletionRequest = Shapes::StructureShape.new(name: 'ScheduleKeyDeletionRequest')
188
197
  ScheduleKeyDeletionResponse = Shapes::StructureShape.new(name: 'ScheduleKeyDeletionResponse')
189
198
  SignRequest = Shapes::StructureShape.new(name: 'SignRequest')
@@ -266,6 +275,9 @@ module Aws::KMS
266
275
  CloudHsmClusterNotRelatedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessageType, location_name: "message"))
267
276
  CloudHsmClusterNotRelatedException.struct_class = Types::CloudHsmClusterNotRelatedException
268
277
 
278
+ ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessageType, location_name: "message"))
279
+ ConflictException.struct_class = Types::ConflictException
280
+
269
281
  ConnectCustomKeyStoreRequest.add_member(:custom_key_store_id, Shapes::ShapeRef.new(shape: CustomKeyStoreIdType, required: true, location_name: "CustomKeyStoreId"))
270
282
  ConnectCustomKeyStoreRequest.struct_class = Types::ConnectCustomKeyStoreRequest
271
283
 
@@ -413,6 +425,7 @@ module Aws::KMS
413
425
  EnableKeyRequest.struct_class = Types::EnableKeyRequest
414
426
 
415
427
  EnableKeyRotationRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
428
+ EnableKeyRotationRequest.add_member(:rotation_period_in_days, Shapes::ShapeRef.new(shape: RotationPeriodInDaysType, location_name: "RotationPeriodInDays"))
416
429
  EnableKeyRotationRequest.struct_class = Types::EnableKeyRotationRequest
417
430
 
418
431
  EncryptRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
@@ -525,6 +538,10 @@ module Aws::KMS
525
538
  GetKeyRotationStatusRequest.struct_class = Types::GetKeyRotationStatusRequest
526
539
 
527
540
  GetKeyRotationStatusResponse.add_member(:key_rotation_enabled, Shapes::ShapeRef.new(shape: BooleanType, location_name: "KeyRotationEnabled"))
541
+ GetKeyRotationStatusResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
542
+ GetKeyRotationStatusResponse.add_member(:rotation_period_in_days, Shapes::ShapeRef.new(shape: RotationPeriodInDaysType, location_name: "RotationPeriodInDays"))
543
+ GetKeyRotationStatusResponse.add_member(:next_rotation_date, Shapes::ShapeRef.new(shape: DateType, location_name: "NextRotationDate"))
544
+ GetKeyRotationStatusResponse.add_member(:on_demand_rotation_start_date, Shapes::ShapeRef.new(shape: DateType, location_name: "OnDemandRotationStartDate"))
528
545
  GetKeyRotationStatusResponse.struct_class = Types::GetKeyRotationStatusResponse
529
546
 
530
547
  GetParametersForImportRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
@@ -696,6 +713,16 @@ module Aws::KMS
696
713
  ListKeyPoliciesResponse.add_member(:truncated, Shapes::ShapeRef.new(shape: BooleanType, location_name: "Truncated"))
697
714
  ListKeyPoliciesResponse.struct_class = Types::ListKeyPoliciesResponse
698
715
 
716
+ ListKeyRotationsRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
717
+ ListKeyRotationsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: LimitType, location_name: "Limit"))
718
+ ListKeyRotationsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: MarkerType, location_name: "Marker"))
719
+ ListKeyRotationsRequest.struct_class = Types::ListKeyRotationsRequest
720
+
721
+ ListKeyRotationsResponse.add_member(:rotations, Shapes::ShapeRef.new(shape: RotationsList, location_name: "Rotations"))
722
+ ListKeyRotationsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: MarkerType, location_name: "NextMarker"))
723
+ ListKeyRotationsResponse.add_member(:truncated, Shapes::ShapeRef.new(shape: BooleanType, location_name: "Truncated"))
724
+ ListKeyRotationsResponse.struct_class = Types::ListKeyRotationsResponse
725
+
699
726
  ListKeysRequest.add_member(:limit, Shapes::ShapeRef.new(shape: LimitType, location_name: "Limit"))
700
727
  ListKeysRequest.add_member(:marker, Shapes::ShapeRef.new(shape: MarkerType, location_name: "Marker"))
701
728
  ListKeysRequest.struct_class = Types::ListKeysRequest
@@ -793,6 +820,19 @@ module Aws::KMS
793
820
  RevokeGrantRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: NullableBooleanType, location_name: "DryRun"))
794
821
  RevokeGrantRequest.struct_class = Types::RevokeGrantRequest
795
822
 
823
+ RotateKeyOnDemandRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
824
+ RotateKeyOnDemandRequest.struct_class = Types::RotateKeyOnDemandRequest
825
+
826
+ RotateKeyOnDemandResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
827
+ RotateKeyOnDemandResponse.struct_class = Types::RotateKeyOnDemandResponse
828
+
829
+ RotationsList.member = Shapes::ShapeRef.new(shape: RotationsListEntry)
830
+
831
+ RotationsListEntry.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
832
+ RotationsListEntry.add_member(:rotation_date, Shapes::ShapeRef.new(shape: DateType, location_name: "RotationDate"))
833
+ RotationsListEntry.add_member(:rotation_type, Shapes::ShapeRef.new(shape: RotationType, location_name: "RotationType"))
834
+ RotationsListEntry.struct_class = Types::RotationsListEntry
835
+
796
836
  ScheduleKeyDeletionRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
797
837
  ScheduleKeyDeletionRequest.add_member(:pending_window_in_days, Shapes::ShapeRef.new(shape: PendingWindowInDaysType, location_name: "PendingWindowInDays"))
798
838
  ScheduleKeyDeletionRequest.struct_class = Types::ScheduleKeyDeletionRequest
@@ -1132,6 +1172,7 @@ module Aws::KMS
1132
1172
  o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
1133
1173
  o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1134
1174
  o[:pager] = Aws::Pager.new(
1175
+ more_results: "truncated",
1135
1176
  limit_key: "limit",
1136
1177
  tokens: {
1137
1178
  "next_marker" => "marker"
@@ -1424,6 +1465,7 @@ module Aws::KMS
1424
1465
  o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
1425
1466
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1426
1467
  o[:pager] = Aws::Pager.new(
1468
+ more_results: "truncated",
1427
1469
  limit_key: "limit",
1428
1470
  tokens: {
1429
1471
  "next_marker" => "marker"
@@ -1445,6 +1487,7 @@ module Aws::KMS
1445
1487
  o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1446
1488
  o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
1447
1489
  o[:pager] = Aws::Pager.new(
1490
+ more_results: "truncated",
1448
1491
  limit_key: "limit",
1449
1492
  tokens: {
1450
1493
  "next_marker" => "marker"
@@ -1464,6 +1507,28 @@ module Aws::KMS
1464
1507
  o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1465
1508
  o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
1466
1509
  o[:pager] = Aws::Pager.new(
1510
+ more_results: "truncated",
1511
+ limit_key: "limit",
1512
+ tokens: {
1513
+ "next_marker" => "marker"
1514
+ }
1515
+ )
1516
+ end)
1517
+
1518
+ api.add_operation(:list_key_rotations, Seahorse::Model::Operation.new.tap do |o|
1519
+ o.name = "ListKeyRotations"
1520
+ o.http_method = "POST"
1521
+ o.http_request_uri = "/"
1522
+ o.input = Shapes::ShapeRef.new(shape: ListKeyRotationsRequest)
1523
+ o.output = Shapes::ShapeRef.new(shape: ListKeyRotationsResponse)
1524
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1525
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
1526
+ o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
1527
+ o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1528
+ o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
1529
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1530
+ o[:pager] = Aws::Pager.new(
1531
+ more_results: "truncated",
1467
1532
  limit_key: "limit",
1468
1533
  tokens: {
1469
1534
  "next_marker" => "marker"
@@ -1481,6 +1546,7 @@ module Aws::KMS
1481
1546
  o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1482
1547
  o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
1483
1548
  o[:pager] = Aws::Pager.new(
1549
+ more_results: "truncated",
1484
1550
  limit_key: "limit",
1485
1551
  tokens: {
1486
1552
  "next_marker" => "marker"
@@ -1499,6 +1565,7 @@ module Aws::KMS
1499
1565
  o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
1500
1566
  o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
1501
1567
  o[:pager] = Aws::Pager.new(
1568
+ more_results: "truncated",
1502
1569
  limit_key: "limit",
1503
1570
  tokens: {
1504
1571
  "next_marker" => "marker"
@@ -1518,6 +1585,7 @@ module Aws::KMS
1518
1585
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1519
1586
  o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1520
1587
  o[:pager] = Aws::Pager.new(
1588
+ more_results: "truncated",
1521
1589
  limit_key: "limit",
1522
1590
  tokens: {
1523
1591
  "next_marker" => "marker"
@@ -1609,6 +1677,23 @@ module Aws::KMS
1609
1677
  o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
1610
1678
  end)
1611
1679
 
1680
+ api.add_operation(:rotate_key_on_demand, Seahorse::Model::Operation.new.tap do |o|
1681
+ o.name = "RotateKeyOnDemand"
1682
+ o.http_method = "POST"
1683
+ o.http_request_uri = "/"
1684
+ o.input = Shapes::ShapeRef.new(shape: RotateKeyOnDemandRequest)
1685
+ o.output = Shapes::ShapeRef.new(shape: RotateKeyOnDemandResponse)
1686
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1687
+ o.errors << Shapes::ShapeRef.new(shape: DisabledException)
1688
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
1689
+ o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
1690
+ o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1691
+ o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
1692
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1693
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1694
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1695
+ end)
1696
+
1612
1697
  api.add_operation(:schedule_key_deletion, Seahorse::Model::Operation.new.tap do |o|
1613
1698
  o.name = "ScheduleKeyDeletion"
1614
1699
  o.http_method = "POST"
@@ -460,6 +460,20 @@ module Aws::KMS
460
460
  end
461
461
  end
462
462
 
463
+ class ListKeyRotations
464
+ def self.build(context)
465
+ unless context.config.regional_endpoint
466
+ endpoint = context.config.endpoint.to_s
467
+ end
468
+ Aws::KMS::EndpointParameters.new(
469
+ region: context.config.region,
470
+ use_dual_stack: context.config.use_dualstack_endpoint,
471
+ use_fips: context.config.use_fips_endpoint,
472
+ endpoint: endpoint,
473
+ )
474
+ end
475
+ end
476
+
463
477
  class ListKeys
464
478
  def self.build(context)
465
479
  unless context.config.regional_endpoint
@@ -572,6 +586,20 @@ module Aws::KMS
572
586
  end
573
587
  end
574
588
 
589
+ class RotateKeyOnDemand
590
+ def self.build(context)
591
+ unless context.config.regional_endpoint
592
+ endpoint = context.config.endpoint.to_s
593
+ end
594
+ Aws::KMS::EndpointParameters.new(
595
+ region: context.config.region,
596
+ use_dual_stack: context.config.use_dualstack_endpoint,
597
+ use_fips: context.config.use_fips_endpoint,
598
+ endpoint: endpoint,
599
+ )
600
+ end
601
+ end
602
+
575
603
  class ScheduleKeyDeletion
576
604
  def self.build(context)
577
605
  unless context.config.regional_endpoint
@@ -33,6 +33,7 @@ module Aws::KMS
33
33
  # * {CloudHsmClusterNotActiveException}
34
34
  # * {CloudHsmClusterNotFoundException}
35
35
  # * {CloudHsmClusterNotRelatedException}
36
+ # * {ConflictException}
36
37
  # * {CustomKeyStoreHasCMKsException}
37
38
  # * {CustomKeyStoreInvalidStateException}
38
39
  # * {CustomKeyStoreNameInUseException}
@@ -171,6 +172,21 @@ module Aws::KMS
171
172
  end
172
173
  end
173
174
 
175
+ class ConflictException < ServiceError
176
+
177
+ # @param [Seahorse::Client::RequestContext] context
178
+ # @param [String] message
179
+ # @param [Aws::KMS::Types::ConflictException] data
180
+ def initialize(context, message, data = Aws::EmptyStructure.new)
181
+ super(context, message, data)
182
+ end
183
+
184
+ # @return [String]
185
+ def message
186
+ @message || @data[:message]
187
+ end
188
+ end
189
+
174
190
  class CustomKeyStoreHasCMKsException < ServiceError
175
191
 
176
192
  # @param [Seahorse::Client::RequestContext] context
@@ -122,6 +122,8 @@ module Aws::KMS
122
122
  Aws::KMS::Endpoints::ListGrants.build(context)
123
123
  when :list_key_policies
124
124
  Aws::KMS::Endpoints::ListKeyPolicies.build(context)
125
+ when :list_key_rotations
126
+ Aws::KMS::Endpoints::ListKeyRotations.build(context)
125
127
  when :list_keys
126
128
  Aws::KMS::Endpoints::ListKeys.build(context)
127
129
  when :list_resource_tags
@@ -138,6 +140,8 @@ module Aws::KMS
138
140
  Aws::KMS::Endpoints::RetireGrant.build(context)
139
141
  when :revoke_grant
140
142
  Aws::KMS::Endpoints::RevokeGrant.build(context)
143
+ when :rotate_key_on_demand
144
+ Aws::KMS::Endpoints::RotateKeyOnDemand.build(context)
141
145
  when :schedule_key_deletion
142
146
  Aws::KMS::Endpoints::ScheduleKeyDeletion.build(context)
143
147
  when :sign
@@ -242,6 +242,21 @@ module Aws::KMS
242
242
  include Aws::Structure
243
243
  end
244
244
 
245
+ # The request was rejected because an automatic rotation of this key is
246
+ # currently in progress or scheduled to begin within the next 20
247
+ # minutes.
248
+ #
249
+ # @!attribute [rw] message
250
+ # @return [String]
251
+ #
252
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ConflictException AWS API Documentation
253
+ #
254
+ class ConflictException < Struct.new(
255
+ :message)
256
+ SENSITIVE = []
257
+ include Aws::Structure
258
+ end
259
+
245
260
  # @!attribute [rw] custom_key_store_id
246
261
  # Enter the key store ID of the custom key store that you want to
247
262
  # connect. To find the ID of a custom key store, use the
@@ -1801,8 +1816,8 @@ module Aws::KMS
1801
1816
  # @!attribute [rw] truncated
1802
1817
  # A flag that indicates whether there are more items in the list. When
1803
1818
  # this value is true, the list in this response is truncated. To get
1804
- # more items, pass the value of the `NextMarker` element in
1805
- # thisresponse to the `Marker` parameter in a subsequent request.
1819
+ # more items, pass the value of the `NextMarker` element in this
1820
+ # response to the `Marker` parameter in a subsequent request.
1806
1821
  # @return [Boolean]
1807
1822
  #
1808
1823
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DescribeCustomKeyStoresResponse AWS API Documentation
@@ -2036,10 +2051,31 @@ module Aws::KMS
2036
2051
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
2037
2052
  # @return [String]
2038
2053
  #
2054
+ # @!attribute [rw] rotation_period_in_days
2055
+ # Use this parameter to specify a custom period of time between each
2056
+ # rotation date. If no value is specified, the default value is 365
2057
+ # days.
2058
+ #
2059
+ # The rotation period defines the number of days after you enable
2060
+ # automatic key rotation that KMS will rotate your key material, and
2061
+ # the number of days between each automatic rotation thereafter.
2062
+ #
2063
+ # You can use the [ `kms:RotationPeriodInDays` ][1] condition key to
2064
+ # further constrain the values that principals can specify in the
2065
+ # `RotationPeriodInDays` parameter.
2066
+ #
2067
+ #
2068
+ #
2069
+ #
2070
+ #
2071
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-rotation-period-in-days
2072
+ # @return [Integer]
2073
+ #
2039
2074
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EnableKeyRotationRequest AWS API Documentation
2040
2075
  #
2041
2076
  class EnableKeyRotationRequest < Struct.new(
2042
- :key_id)
2077
+ :key_id,
2078
+ :rotation_period_in_days)
2043
2079
  SENSITIVE = []
2044
2080
  include Aws::Structure
2045
2081
  end
@@ -3109,10 +3145,42 @@ module Aws::KMS
3109
3145
  # A Boolean value that specifies whether key rotation is enabled.
3110
3146
  # @return [Boolean]
3111
3147
  #
3148
+ # @!attribute [rw] key_id
3149
+ # Identifies the specified symmetric encryption KMS key.
3150
+ # @return [String]
3151
+ #
3152
+ # @!attribute [rw] rotation_period_in_days
3153
+ # The number of days between each automatic rotation. The default
3154
+ # value is 365 days.
3155
+ # @return [Integer]
3156
+ #
3157
+ # @!attribute [rw] next_rotation_date
3158
+ # The next date that KMS will automatically rotate the key material.
3159
+ # @return [Time]
3160
+ #
3161
+ # @!attribute [rw] on_demand_rotation_start_date
3162
+ # Identifies the date and time that an in progress on-demand rotation
3163
+ # was initiated.
3164
+ #
3165
+ # The KMS API follows an [eventual consistency][1] model due to the
3166
+ # distributed nature of the system. As a result, there might be a
3167
+ # slight delay between initiating on-demand key rotation and the
3168
+ # rotation's completion. Once the on-demand rotation is complete, use
3169
+ # ListKeyRotations to view the details of the on-demand rotation.
3170
+ #
3171
+ #
3172
+ #
3173
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3174
+ # @return [Time]
3175
+ #
3112
3176
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyRotationStatusResponse AWS API Documentation
3113
3177
  #
3114
3178
  class GetKeyRotationStatusResponse < Struct.new(
3115
- :key_rotation_enabled)
3179
+ :key_rotation_enabled,
3180
+ :key_id,
3181
+ :rotation_period_in_days,
3182
+ :next_rotation_date,
3183
+ :on_demand_rotation_start_date)
3116
3184
  SENSITIVE = []
3117
3185
  include Aws::Structure
3118
3186
  end
@@ -4216,8 +4284,8 @@ module Aws::KMS
4216
4284
  # @!attribute [rw] truncated
4217
4285
  # A flag that indicates whether there are more items in the list. When
4218
4286
  # this value is true, the list in this response is truncated. To get
4219
- # more items, pass the value of the `NextMarker` element in
4220
- # thisresponse to the `Marker` parameter in a subsequent request.
4287
+ # more items, pass the value of the `NextMarker` element in this
4288
+ # response to the `Marker` parameter in a subsequent request.
4221
4289
  # @return [Boolean]
4222
4290
  #
4223
4291
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListAliasesResponse AWS API Documentation
@@ -4299,8 +4367,8 @@ module Aws::KMS
4299
4367
  # @!attribute [rw] truncated
4300
4368
  # A flag that indicates whether there are more items in the list. When
4301
4369
  # this value is true, the list in this response is truncated. To get
4302
- # more items, pass the value of the `NextMarker` element in
4303
- # thisresponse to the `Marker` parameter in a subsequent request.
4370
+ # more items, pass the value of the `NextMarker` element in this
4371
+ # response to the `Marker` parameter in a subsequent request.
4304
4372
  # @return [Boolean]
4305
4373
  #
4306
4374
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListGrantsResponse AWS API Documentation
@@ -4369,8 +4437,8 @@ module Aws::KMS
4369
4437
  # @!attribute [rw] truncated
4370
4438
  # A flag that indicates whether there are more items in the list. When
4371
4439
  # this value is true, the list in this response is truncated. To get
4372
- # more items, pass the value of the `NextMarker` element in
4373
- # thisresponse to the `Marker` parameter in a subsequent request.
4440
+ # more items, pass the value of the `NextMarker` element in this
4441
+ # response to the `Marker` parameter in a subsequent request.
4374
4442
  # @return [Boolean]
4375
4443
  #
4376
4444
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListKeyPoliciesResponse AWS API Documentation
@@ -4383,6 +4451,74 @@ module Aws::KMS
4383
4451
  include Aws::Structure
4384
4452
  end
4385
4453
 
4454
+ # @!attribute [rw] key_id
4455
+ # Gets the key rotations for the specified KMS key.
4456
+ #
4457
+ # Specify the key ID or key ARN of the KMS key.
4458
+ #
4459
+ # For example:
4460
+ #
4461
+ # * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
4462
+ #
4463
+ # * Key ARN:
4464
+ # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
4465
+ #
4466
+ # To get the key ID and key ARN for a KMS key, use ListKeys or
4467
+ # DescribeKey.
4468
+ # @return [String]
4469
+ #
4470
+ # @!attribute [rw] limit
4471
+ # Use this parameter to specify the maximum number of items to return.
4472
+ # When this value is present, KMS does not return more than the
4473
+ # specified number of items, but it might return fewer.
4474
+ #
4475
+ # This value is optional. If you include a value, it must be between 1
4476
+ # and 1000, inclusive. If you do not include a value, it defaults to
4477
+ # 100.
4478
+ # @return [Integer]
4479
+ #
4480
+ # @!attribute [rw] marker
4481
+ # Use this parameter in a subsequent request after you receive a
4482
+ # response with truncated results. Set it to the value of `NextMarker`
4483
+ # from the truncated response you just received.
4484
+ # @return [String]
4485
+ #
4486
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListKeyRotationsRequest AWS API Documentation
4487
+ #
4488
+ class ListKeyRotationsRequest < Struct.new(
4489
+ :key_id,
4490
+ :limit,
4491
+ :marker)
4492
+ SENSITIVE = []
4493
+ include Aws::Structure
4494
+ end
4495
+
4496
+ # @!attribute [rw] rotations
4497
+ # A list of completed key material rotations.
4498
+ # @return [Array<Types::RotationsListEntry>]
4499
+ #
4500
+ # @!attribute [rw] next_marker
4501
+ # When `Truncated` is true, this element is present and contains the
4502
+ # value to use for the `Marker` parameter in a subsequent request.
4503
+ # @return [String]
4504
+ #
4505
+ # @!attribute [rw] truncated
4506
+ # A flag that indicates whether there are more items in the list. When
4507
+ # this value is true, the list in this response is truncated. To get
4508
+ # more items, pass the value of the `NextMarker` element in this
4509
+ # response to the `Marker` parameter in a subsequent request.
4510
+ # @return [Boolean]
4511
+ #
4512
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListKeyRotationsResponse AWS API Documentation
4513
+ #
4514
+ class ListKeyRotationsResponse < Struct.new(
4515
+ :rotations,
4516
+ :next_marker,
4517
+ :truncated)
4518
+ SENSITIVE = []
4519
+ include Aws::Structure
4520
+ end
4521
+
4386
4522
  # @!attribute [rw] limit
4387
4523
  # Use this parameter to specify the maximum number of items to return.
4388
4524
  # When this value is present, KMS does not return more than the
@@ -4420,8 +4556,8 @@ module Aws::KMS
4420
4556
  # @!attribute [rw] truncated
4421
4557
  # A flag that indicates whether there are more items in the list. When
4422
4558
  # this value is true, the list in this response is truncated. To get
4423
- # more items, pass the value of the `NextMarker` element in
4424
- # thisresponse to the `Marker` parameter in a subsequent request.
4559
+ # more items, pass the value of the `NextMarker` element in this
4560
+ # response to the `Marker` parameter in a subsequent request.
4425
4561
  # @return [Boolean]
4426
4562
  #
4427
4563
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListKeysResponse AWS API Documentation
@@ -4502,8 +4638,8 @@ module Aws::KMS
4502
4638
  # @!attribute [rw] truncated
4503
4639
  # A flag that indicates whether there are more items in the list. When
4504
4640
  # this value is true, the list in this response is truncated. To get
4505
- # more items, pass the value of the `NextMarker` element in
4506
- # thisresponse to the `Marker` parameter in a subsequent request.
4641
+ # more items, pass the value of the `NextMarker` element in this
4642
+ # response to the `Marker` parameter in a subsequent request.
4507
4643
  # @return [Boolean]
4508
4644
  #
4509
4645
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListResourceTagsResponse AWS API Documentation
@@ -5327,6 +5463,87 @@ module Aws::KMS
5327
5463
  include Aws::Structure
5328
5464
  end
5329
5465
 
5466
+ # @!attribute [rw] key_id
5467
+ # Identifies a symmetric encryption KMS key. You cannot perform
5468
+ # on-demand rotation of [asymmetric KMS keys][1], [HMAC KMS keys][2],
5469
+ # KMS keys with [imported key material][3], or KMS keys in a [custom
5470
+ # key store][4]. To perform on-demand rotation of a set of related
5471
+ # [multi-Region keys][5], invoke the on-demand rotation on the primary
5472
+ # key.
5473
+ #
5474
+ # Specify the key ID or key ARN of the KMS key.
5475
+ #
5476
+ # For example:
5477
+ #
5478
+ # * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
5479
+ #
5480
+ # * Key ARN:
5481
+ # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
5482
+ #
5483
+ # To get the key ID and key ARN for a KMS key, use ListKeys or
5484
+ # DescribeKey.
5485
+ #
5486
+ #
5487
+ #
5488
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
5489
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
5490
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
5491
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
5492
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
5493
+ # @return [String]
5494
+ #
5495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RotateKeyOnDemandRequest AWS API Documentation
5496
+ #
5497
+ class RotateKeyOnDemandRequest < Struct.new(
5498
+ :key_id)
5499
+ SENSITIVE = []
5500
+ include Aws::Structure
5501
+ end
5502
+
5503
+ # @!attribute [rw] key_id
5504
+ # Identifies the symmetric encryption KMS key that you initiated
5505
+ # on-demand rotation on.
5506
+ # @return [String]
5507
+ #
5508
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RotateKeyOnDemandResponse AWS API Documentation
5509
+ #
5510
+ class RotateKeyOnDemandResponse < Struct.new(
5511
+ :key_id)
5512
+ SENSITIVE = []
5513
+ include Aws::Structure
5514
+ end
5515
+
5516
+ # Contains information about completed key material rotations.
5517
+ #
5518
+ # @!attribute [rw] key_id
5519
+ # Unique identifier of the key.
5520
+ # @return [String]
5521
+ #
5522
+ # @!attribute [rw] rotation_date
5523
+ # Date and time that the key material rotation completed. Formatted as
5524
+ # Unix time.
5525
+ # @return [Time]
5526
+ #
5527
+ # @!attribute [rw] rotation_type
5528
+ # Identifies whether the key material rotation was a scheduled
5529
+ # [automatic rotation][1] or an [on-demand rotation][2].
5530
+ #
5531
+ #
5532
+ #
5533
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-enable-disable
5534
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-on-demand
5535
+ # @return [String]
5536
+ #
5537
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RotationsListEntry AWS API Documentation
5538
+ #
5539
+ class RotationsListEntry < Struct.new(
5540
+ :key_id,
5541
+ :rotation_date,
5542
+ :rotation_type)
5543
+ SENSITIVE = []
5544
+ include Aws::Structure
5545
+ end
5546
+
5330
5547
  # @!attribute [rw] key_id
5331
5548
  # The unique identifier of the KMS key to delete.
5332
5549
  #
data/lib/aws-sdk-kms.rb CHANGED
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-kms/customizations'
52
52
  # @!group service
53
53
  module Aws::KMS
54
54
 
55
- GEM_VERSION = '1.78.0'
55
+ GEM_VERSION = '1.80.0'
56
56
 
57
57
  end
data/sig/client.rbs CHANGED
@@ -265,7 +265,8 @@ module Aws
265
265
 
266
266
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/KMS/Client.html#enable_key_rotation-instance_method
267
267
  def enable_key_rotation: (
268
- key_id: ::String
268
+ key_id: ::String,
269
+ ?rotation_period_in_days: ::Integer
269
270
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
270
271
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
271
272
 
@@ -411,6 +412,10 @@ module Aws
411
412
  interface _GetKeyRotationStatusResponseSuccess
412
413
  include ::Seahorse::Client::_ResponseSuccess[Types::GetKeyRotationStatusResponse]
413
414
  def key_rotation_enabled: () -> bool
415
+ def key_id: () -> ::String
416
+ def rotation_period_in_days: () -> ::Integer
417
+ def next_rotation_date: () -> ::Time
418
+ def on_demand_rotation_start_date: () -> ::Time
414
419
  end
415
420
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/KMS/Client.html#get_key_rotation_status-instance_method
416
421
  def get_key_rotation_status: (
@@ -507,6 +512,20 @@ module Aws
507
512
  ) -> _ListKeyPoliciesResponseSuccess
508
513
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListKeyPoliciesResponseSuccess
509
514
 
515
+ interface _ListKeyRotationsResponseSuccess
516
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListKeyRotationsResponse]
517
+ def rotations: () -> ::Array[Types::RotationsListEntry]
518
+ def next_marker: () -> ::String
519
+ def truncated: () -> bool
520
+ end
521
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/KMS/Client.html#list_key_rotations-instance_method
522
+ def list_key_rotations: (
523
+ key_id: ::String,
524
+ ?limit: ::Integer,
525
+ ?marker: ::String
526
+ ) -> _ListKeyRotationsResponseSuccess
527
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListKeyRotationsResponseSuccess
528
+
510
529
  interface _ListKeysResponseSuccess
511
530
  include ::Seahorse::Client::_ResponseSuccess[Types::ListKeysResponse]
512
531
  def keys: () -> ::Array[Types::KeyListEntry]
@@ -618,6 +637,16 @@ module Aws
618
637
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
619
638
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
620
639
 
640
+ interface _RotateKeyOnDemandResponseSuccess
641
+ include ::Seahorse::Client::_ResponseSuccess[Types::RotateKeyOnDemandResponse]
642
+ def key_id: () -> ::String
643
+ end
644
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/KMS/Client.html#rotate_key_on_demand-instance_method
645
+ def rotate_key_on_demand: (
646
+ key_id: ::String
647
+ ) -> _RotateKeyOnDemandResponseSuccess
648
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _RotateKeyOnDemandResponseSuccess
649
+
621
650
  interface _ScheduleKeyDeletionResponseSuccess
622
651
  include ::Seahorse::Client::_ResponseSuccess[Types::ScheduleKeyDeletionResponse]
623
652
  def key_id: () -> ::String