aws-sdk-kms 1.78.0 → 1.79.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: b05591dab1f1f02bba5a98334bf378b959226a3ac1c90e9cf58035224a2111a0
4
- data.tar.gz: ffc4f9f1d05952fc2cb0728a9ce69da6c9530d28c14982c2327eb62efe347964
3
+ metadata.gz: bb0ea5ff70a205cb81c13f9eb12fb8c102c7d6ca4236bf9734d31f58e7bc7a13
4
+ data.tar.gz: 3c19d24f24485fe2e0191a68dbdee8eb339b295ecb85ad3c3f88b45f4c36efc5
5
5
  SHA512:
6
- metadata.gz: c5e70d5a23bc7902eef9522451509e2a5574a29cca62c79c8999da1063b1bdb6b5689600c280d1838a9540a0da9a45765d023cfbb1274a553e31f82b4473212f
7
- data.tar.gz: ec6634ec155cb7d20c65c7a977876eb2d5a376fd0de6a167470d3a632ef0072e9c862fea8ef4ef5d35b7a7cfe28611f80dda6ff03e65ff998af0a3a98d04909d
6
+ metadata.gz: 8e94f92e6eeb788d1574f75acb13f89073893991927054c01ba19948676541e213edc6d14dc0f6e817a2e9c8b84cb84ee688c2159e1e19aa7b9a67f9ae0f429d
7
+ data.tar.gz: dcdaa1ca50c6d7ae1f2bdafe17945045d0791de691ae48e20b142107a602509c1d16016fda26c29185e9c5b1cc10b0e346030b0524164ca7ddb2ebda1ae8fb21
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.79.0 (2024-04-12)
5
+ ------------------
6
+
7
+ * Feature - This feature supports the ability to specify a custom rotation period for automatic key rotations, the ability to perform on-demand key rotations, and visibility into your key material rotations.
8
+
4
9
  1.78.0 (2024-03-18)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.78.0
1
+ 1.79.0
@@ -3619,6 +3619,10 @@ module Aws::KMS
3619
3619
  #
3620
3620
  # * GetKeyRotationStatus
3621
3621
  #
3622
+ # * ListKeyRotations
3623
+ #
3624
+ # * RotateKeyOnDemand
3625
+ #
3622
3626
  # **Eventual consistency**: The KMS API follows an eventual consistency
3623
3627
  # model. For more information, see [KMS eventual consistency][12].
3624
3628
  #
@@ -3851,12 +3855,20 @@ module Aws::KMS
3851
3855
  # Enables [automatic rotation of the key material][1] of the specified
3852
3856
  # symmetric encryption KMS key.
3853
3857
  #
3854
- # When you enable automatic rotation of a [customer managed KMS key][2],
3855
- # KMS rotates the key material of the KMS key one year (approximately
3856
- # 365 days) from the enable date and every year thereafter. You can
3857
- # monitor rotation of the key material for your KMS keys in CloudTrail
3858
- # and Amazon CloudWatch. To disable rotation of the key material in a
3859
- # customer managed KMS key, use the DisableKeyRotation operation.
3858
+ # By default, when you enable automatic rotation of a [customer managed
3859
+ # KMS key][2], KMS rotates the key material of the KMS key one year
3860
+ # (approximately 365 days) from the enable date and every year
3861
+ # thereafter. You can use the optional `RotationPeriodInDays` parameter
3862
+ # to specify a custom rotation period when you enable key rotation, or
3863
+ # you can use `RotationPeriodInDays` to modify the rotation period of a
3864
+ # key that you previously enabled automatic key rotation on.
3865
+ #
3866
+ # You can monitor rotation of the key material for your KMS keys in
3867
+ # CloudTrail and Amazon CloudWatch. To disable rotation of the key
3868
+ # material in a customer managed KMS key, use the DisableKeyRotation
3869
+ # operation. You can use the GetKeyRotationStatus operation to identify
3870
+ # any in progress rotations. You can use the ListKeyRotations operation
3871
+ # to view the details of completed rotations.
3860
3872
  #
3861
3873
  # Automatic key rotation is supported only on [symmetric encryption KMS
3862
3874
  # keys][3]. You cannot enable automatic rotation of [asymmetric KMS
@@ -3865,10 +3877,11 @@ module Aws::KMS
3865
3877
  # disable automatic rotation of a set of related [multi-Region keys][8],
3866
3878
  # set the property on the primary key.
3867
3879
  #
3868
- # You cannot enable or disable automatic rotation [Amazon Web Services
3869
- # managed KMS keys][9]. KMS always rotates the key material of Amazon
3870
- # Web Services managed keys every year. Rotation of [Amazon Web Services
3871
- # owned KMS keys][10] varies.
3880
+ # You cannot enable or disable automatic rotation of [Amazon Web
3881
+ # Services managed KMS keys][9]. KMS always rotates the key material of
3882
+ # Amazon Web Services managed keys every year. Rotation of [Amazon Web
3883
+ # Services owned KMS keys][10] is managed by the Amazon Web Services
3884
+ # service that owns the key.
3872
3885
  #
3873
3886
  # <note markdown="1"> In May 2022, KMS changed the rotation schedule for Amazon Web Services
3874
3887
  # managed keys from every three years (approximately 1,095 days) to
@@ -3897,12 +3910,22 @@ module Aws::KMS
3897
3910
  #
3898
3911
  # * GetKeyRotationStatus
3899
3912
  #
3913
+ # * ListKeyRotations
3914
+ #
3915
+ # * RotateKeyOnDemand
3916
+ #
3917
+ # <note markdown="1"> You can perform on-demand (RotateKeyOnDemand) rotation of the key
3918
+ # material in customer managed KMS keys, regardless of whether or not
3919
+ # automatic key rotation is enabled.
3920
+ #
3921
+ # </note>
3922
+ #
3900
3923
  # **Eventual consistency**: The KMS API follows an eventual consistency
3901
3924
  # model. For more information, see [KMS eventual consistency][13].
3902
3925
  #
3903
3926
  #
3904
3927
  #
3905
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
3928
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-enable-disable
3906
3929
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
3907
3930
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks
3908
3931
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
@@ -3943,21 +3966,42 @@ module Aws::KMS
3943
3966
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
3944
3967
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
3945
3968
  #
3969
+ # @option params [Integer] :rotation_period_in_days
3970
+ # Use this parameter to specify a custom period of time between each
3971
+ # rotation date. If no value is specified, the default value is 365
3972
+ # days.
3973
+ #
3974
+ # The rotation period defines the number of days after you enable
3975
+ # automatic key rotation that KMS will rotate your key material, and the
3976
+ # number of days between each automatic rotation thereafter.
3977
+ #
3978
+ # You can use the [ `kms:RotationPeriodInDays` ][1] condition key to
3979
+ # further constrain the values that principals can specify in the
3980
+ # `RotationPeriodInDays` parameter.
3981
+ #
3982
+ #
3983
+ #
3984
+ #
3985
+ #
3986
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-rotation-period-in-days
3987
+ #
3946
3988
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3947
3989
  #
3948
3990
  #
3949
3991
  # @example Example: To enable automatic rotation of key material
3950
3992
  #
3951
- # # The following example enables automatic annual rotation of the key material for the specified KMS key.
3993
+ # # The following example enables automatic rotation with a rotation period of 365 days for the specified KMS key.
3952
3994
  #
3953
3995
  # resp = client.enable_key_rotation({
3954
- # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key whose key material will be rotated annually. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
3996
+ # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key whose key material will be automatically rotated. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
3997
+ # rotation_period_in_days: 365, # The number of days between each rotation date. Specify a value between 9 and 2560. If no value is specified, the default value is 365 days.
3955
3998
  # })
3956
3999
  #
3957
4000
  # @example Request syntax with placeholder values
3958
4001
  #
3959
4002
  # resp = client.enable_key_rotation({
3960
4003
  # key_id: "KeyIdType", # required
4004
+ # rotation_period_in_days: 1,
3961
4005
  # })
3962
4006
  #
3963
4007
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EnableKeyRotation AWS API Documentation
@@ -5629,14 +5673,10 @@ module Aws::KMS
5629
5673
  req.send_request(options)
5630
5674
  end
5631
5675
 
5632
- # Gets a Boolean value that indicates whether [automatic rotation of the
5633
- # key material][1] is enabled for the specified KMS key.
5634
- #
5635
- # When you enable automatic rotation for [customer managed KMS keys][2],
5636
- # KMS rotates the key material of the KMS key one year (approximately
5637
- # 365 days) from the enable date and every year thereafter. You can
5638
- # monitor rotation of the key material for your KMS keys in CloudTrail
5639
- # and Amazon CloudWatch.
5676
+ # Provides detailed information about the rotation status for a KMS key,
5677
+ # including whether [automatic rotation of the key material][1] is
5678
+ # enabled for the specified KMS key, the [rotation period][2], and the
5679
+ # next scheduled rotation date.
5640
5680
  #
5641
5681
  # Automatic key rotation is supported only on [symmetric encryption KMS
5642
5682
  # keys][3]. You cannot enable automatic rotation of [asymmetric KMS
@@ -5652,6 +5692,13 @@ module Aws::KMS
5652
5692
  # Services managed KMS keys every year. The key rotation status for
5653
5693
  # Amazon Web Services managed KMS keys is always `true`.
5654
5694
  #
5695
+ # You can perform on-demand (RotateKeyOnDemand) rotation of the key
5696
+ # material in customer managed KMS keys, regardless of whether or not
5697
+ # automatic key rotation is enabled. You can use GetKeyRotationStatus to
5698
+ # identify the date and time that an in progress on-demand rotation was
5699
+ # initiated. You can use ListKeyRotations to view the details of
5700
+ # completed rotations.
5701
+ #
5655
5702
  # <note markdown="1"> In May 2022, KMS changed the rotation schedule for Amazon Web Services
5656
5703
  # managed keys from every three years to every year. For details, see
5657
5704
  # EnableKeyRotation.
@@ -5688,13 +5735,17 @@ module Aws::KMS
5688
5735
  #
5689
5736
  # * EnableKeyRotation
5690
5737
  #
5738
+ # * ListKeyRotations
5739
+ #
5740
+ # * RotateKeyOnDemand
5741
+ #
5691
5742
  # **Eventual consistency**: The KMS API follows an eventual consistency
5692
5743
  # model. For more information, see [KMS eventual consistency][12].
5693
5744
  #
5694
5745
  #
5695
5746
  #
5696
5747
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
5697
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
5748
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotation-period
5698
5749
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks
5699
5750
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
5700
5751
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
@@ -5725,11 +5776,16 @@ module Aws::KMS
5725
5776
  # @return [Types::GetKeyRotationStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5726
5777
  #
5727
5778
  # * {Types::GetKeyRotationStatusResponse#key_rotation_enabled #key_rotation_enabled} => Boolean
5779
+ # * {Types::GetKeyRotationStatusResponse#key_id #key_id} => String
5780
+ # * {Types::GetKeyRotationStatusResponse#rotation_period_in_days #rotation_period_in_days} => Integer
5781
+ # * {Types::GetKeyRotationStatusResponse#next_rotation_date #next_rotation_date} => Time
5782
+ # * {Types::GetKeyRotationStatusResponse#on_demand_rotation_start_date #on_demand_rotation_start_date} => Time
5728
5783
  #
5729
5784
  #
5730
5785
  # @example Example: To retrieve the rotation status for a KMS key
5731
5786
  #
5732
- # # The following example retrieves the status of automatic annual rotation of the key material for the specified KMS key.
5787
+ # # The following example retrieves detailed information about the rotation status for a KMS key, including whether
5788
+ # # automatic key rotation is enabled for the specified KMS key, the rotation period, and the next scheduled rotation date.
5733
5789
  #
5734
5790
  # resp = client.get_key_rotation_status({
5735
5791
  # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key whose key material rotation status you want to retrieve. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
@@ -5737,7 +5793,11 @@ module Aws::KMS
5737
5793
  #
5738
5794
  # resp.to_h outputs the following:
5739
5795
  # {
5740
- # key_rotation_enabled: true, # A boolean that indicates the key material rotation status. Returns true when automatic annual rotation of the key material is enabled, or false when it is not.
5796
+ # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # Identifies the specified symmetric encryption KMS key.
5797
+ # key_rotation_enabled: true, # A boolean that indicates the key material rotation status. Returns true when automatic rotation of the key material is enabled, or false when it is not.
5798
+ # next_rotation_date: Time.parse("2024-04-05T15:14:47.757000+00:00"), # The next date that the key material will be automatically rotated.
5799
+ # on_demand_rotation_start_date: Time.parse("2024-03-02T10:11:36.564000+00:00"), # Identifies the date and time that an in progress on-demand rotation was initiated.
5800
+ # rotation_period_in_days: 365, # The number of days between each automatic rotation. The default value is 365 days.
5741
5801
  # }
5742
5802
  #
5743
5803
  # @example Request syntax with placeholder values
@@ -5749,6 +5809,10 @@ module Aws::KMS
5749
5809
  # @example Response structure
5750
5810
  #
5751
5811
  # resp.key_rotation_enabled #=> Boolean
5812
+ # resp.key_id #=> String
5813
+ # resp.rotation_period_in_days #=> Integer
5814
+ # resp.next_rotation_date #=> Time
5815
+ # resp.on_demand_rotation_start_date #=> Time
5752
5816
  #
5753
5817
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyRotationStatus AWS API Documentation
5754
5818
  #
@@ -6897,6 +6961,129 @@ module Aws::KMS
6897
6961
  req.send_request(options)
6898
6962
  end
6899
6963
 
6964
+ # Returns information about all completed key material rotations for the
6965
+ # specified KMS key.
6966
+ #
6967
+ # You must specify the KMS key in all requests. You can refine the key
6968
+ # rotations list by limiting the number of rotations returned.
6969
+ #
6970
+ # For detailed information about automatic and on-demand key rotations,
6971
+ # see [Rotating KMS keys][1] in the *Key Management Service Developer
6972
+ # Guide*.
6973
+ #
6974
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
6975
+ # key in a different Amazon Web Services account.
6976
+ #
6977
+ # **Required permissions**: [kms:ListKeyRotations][2] (key policy)
6978
+ #
6979
+ # **Related operations:**
6980
+ #
6981
+ # * EnableKeyRotation
6982
+ #
6983
+ # * DisableKeyRotation
6984
+ #
6985
+ # * GetKeyRotationStatus
6986
+ #
6987
+ # * RotateKeyOnDemand
6988
+ #
6989
+ # **Eventual consistency**: The KMS API follows an eventual consistency
6990
+ # model. For more information, see [KMS eventual consistency][3].
6991
+ #
6992
+ #
6993
+ #
6994
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
6995
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6996
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6997
+ #
6998
+ # @option params [required, String] :key_id
6999
+ # Gets the key rotations for the specified KMS key.
7000
+ #
7001
+ # Specify the key ID or key ARN of the KMS key.
7002
+ #
7003
+ # For example:
7004
+ #
7005
+ # * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
7006
+ #
7007
+ # * Key ARN:
7008
+ # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
7009
+ #
7010
+ # To get the key ID and key ARN for a KMS key, use ListKeys or
7011
+ # DescribeKey.
7012
+ #
7013
+ # @option params [Integer] :limit
7014
+ # Use this parameter to specify the maximum number of items to return.
7015
+ # When this value is present, KMS does not return more than the
7016
+ # specified number of items, but it might return fewer.
7017
+ #
7018
+ # This value is optional. If you include a value, it must be between 1
7019
+ # and 1000, inclusive. If you do not include a value, it defaults to
7020
+ # 100.
7021
+ #
7022
+ # @option params [String] :marker
7023
+ # Use this parameter in a subsequent request after you receive a
7024
+ # response with truncated results. Set it to the value of `NextMarker`
7025
+ # from the truncated response you just received.
7026
+ #
7027
+ # @return [Types::ListKeyRotationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7028
+ #
7029
+ # * {Types::ListKeyRotationsResponse#rotations #rotations} => Array&lt;Types::RotationsListEntry&gt;
7030
+ # * {Types::ListKeyRotationsResponse#next_marker #next_marker} => String
7031
+ # * {Types::ListKeyRotationsResponse#truncated #truncated} => Boolean
7032
+ #
7033
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7034
+ #
7035
+ #
7036
+ # @example Example: To retrieve information about all completed key material rotations
7037
+ #
7038
+ # # The following example returns information about all completed key material rotations for the specified KMS key.
7039
+ #
7040
+ # resp = client.list_key_rotations({
7041
+ # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab",
7042
+ # })
7043
+ #
7044
+ # resp.to_h outputs the following:
7045
+ # {
7046
+ # rotations: [
7047
+ # {
7048
+ # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab",
7049
+ # rotation_date: Time.parse("2024-03-02T10:11:36.564000+00:00"),
7050
+ # rotation_type: "AUTOMATIC",
7051
+ # },
7052
+ # {
7053
+ # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab",
7054
+ # rotation_date: Time.parse("2024-04-05T15:14:47.757000+00:00"),
7055
+ # rotation_type: "ON_DEMAND",
7056
+ # },
7057
+ # ], # A list of key rotations.
7058
+ # truncated: false, # A flag that indicates whether there are more items in the list. When the value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.
7059
+ # }
7060
+ #
7061
+ # @example Request syntax with placeholder values
7062
+ #
7063
+ # resp = client.list_key_rotations({
7064
+ # key_id: "KeyIdType", # required
7065
+ # limit: 1,
7066
+ # marker: "MarkerType",
7067
+ # })
7068
+ #
7069
+ # @example Response structure
7070
+ #
7071
+ # resp.rotations #=> Array
7072
+ # resp.rotations[0].key_id #=> String
7073
+ # resp.rotations[0].rotation_date #=> Time
7074
+ # resp.rotations[0].rotation_type #=> String, one of "AUTOMATIC", "ON_DEMAND"
7075
+ # resp.next_marker #=> String
7076
+ # resp.truncated #=> Boolean
7077
+ #
7078
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListKeyRotations AWS API Documentation
7079
+ #
7080
+ # @overload list_key_rotations(params = {})
7081
+ # @param [Hash] params ({})
7082
+ def list_key_rotations(params = {}, options = {})
7083
+ req = build_request(:list_key_rotations, params)
7084
+ req.send_request(options)
7085
+ end
7086
+
6900
7087
  # Gets a list of all KMS keys in the caller's Amazon Web Services
6901
7088
  # account and Region.
6902
7089
  #
@@ -8372,6 +8559,147 @@ module Aws::KMS
8372
8559
  req.send_request(options)
8373
8560
  end
8374
8561
 
8562
+ # Immediately initiates rotation of the key material of the specified
8563
+ # symmetric encryption KMS key.
8564
+ #
8565
+ # You can perform [on-demand rotation][1] of the key material in
8566
+ # customer managed KMS keys, regardless of whether or not [automatic key
8567
+ # rotation][2] is enabled. On-demand rotations do not change existing
8568
+ # automatic rotation schedules. For example, consider a KMS key that has
8569
+ # automatic key rotation enabled with a rotation period of 730 days. If
8570
+ # the key is scheduled to automatically rotate on April 14, 2024, and
8571
+ # you perform an on-demand rotation on April 10, 2024, the key will
8572
+ # automatically rotate, as scheduled, on April 14, 2024 and every 730
8573
+ # days thereafter.
8574
+ #
8575
+ # <note markdown="1"> You can perform on-demand key rotation a **maximum of 10 times** per
8576
+ # KMS key. You can use the KMS console to view the number of remaining
8577
+ # on-demand rotations available for a KMS key.
8578
+ #
8579
+ # </note>
8580
+ #
8581
+ # You can use GetKeyRotationStatus to identify any in progress on-demand
8582
+ # rotations. You can use ListKeyRotations to identify the date that
8583
+ # completed on-demand rotations were performed. You can monitor rotation
8584
+ # of the key material for your KMS keys in CloudTrail and Amazon
8585
+ # CloudWatch.
8586
+ #
8587
+ # On-demand key rotation is supported only on [symmetric encryption KMS
8588
+ # keys][3]. You cannot perform on-demand rotation of [asymmetric KMS
8589
+ # keys][4], [HMAC KMS keys][5], KMS keys with [imported key
8590
+ # material][6], or KMS keys in a [custom key store][7]. To perform
8591
+ # on-demand rotation of a set of related [multi-Region keys][8], invoke
8592
+ # the on-demand rotation on the primary key.
8593
+ #
8594
+ # You cannot initiate on-demand rotation of [Amazon Web Services managed
8595
+ # KMS keys][9]. KMS always rotates the key material of Amazon Web
8596
+ # Services managed keys every year. Rotation of [Amazon Web Services
8597
+ # owned KMS keys][10] is managed by the Amazon Web Services service that
8598
+ # owns the key.
8599
+ #
8600
+ # The KMS key that you use for this operation must be in a compatible
8601
+ # key state. For details, see [Key states of KMS keys][11] in the *Key
8602
+ # Management Service Developer Guide*.
8603
+ #
8604
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
8605
+ # key in a different Amazon Web Services account.
8606
+ #
8607
+ # **Required permissions**: [kms:RotateKeyOnDemand][12] (key policy)
8608
+ #
8609
+ # **Related operations:**
8610
+ #
8611
+ # * EnableKeyRotation
8612
+ #
8613
+ # * DisableKeyRotation
8614
+ #
8615
+ # * GetKeyRotationStatus
8616
+ #
8617
+ # * ListKeyRotations
8618
+ #
8619
+ # **Eventual consistency**: The KMS API follows an eventual consistency
8620
+ # model. For more information, see [KMS eventual consistency][13].
8621
+ #
8622
+ #
8623
+ #
8624
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-on-demand
8625
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-enable-disable
8626
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks
8627
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
8628
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
8629
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
8630
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
8631
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
8632
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
8633
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
8634
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8635
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8636
+ # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8637
+ #
8638
+ # @option params [required, String] :key_id
8639
+ # Identifies a symmetric encryption KMS key. You cannot perform
8640
+ # on-demand rotation of [asymmetric KMS keys][1], [HMAC KMS keys][2],
8641
+ # KMS keys with [imported key material][3], or KMS keys in a [custom key
8642
+ # store][4]. To perform on-demand rotation of a set of related
8643
+ # [multi-Region keys][5], invoke the on-demand rotation on the primary
8644
+ # key.
8645
+ #
8646
+ # Specify the key ID or key ARN of the KMS key.
8647
+ #
8648
+ # For example:
8649
+ #
8650
+ # * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
8651
+ #
8652
+ # * Key ARN:
8653
+ # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
8654
+ #
8655
+ # To get the key ID and key ARN for a KMS key, use ListKeys or
8656
+ # DescribeKey.
8657
+ #
8658
+ #
8659
+ #
8660
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
8661
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
8662
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
8663
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
8664
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
8665
+ #
8666
+ # @return [Types::RotateKeyOnDemandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8667
+ #
8668
+ # * {Types::RotateKeyOnDemandResponse#key_id #key_id} => String
8669
+ #
8670
+ #
8671
+ # @example Example: To perform on-demand rotation of key material
8672
+ #
8673
+ # # The following example immediately initiates rotation of the key material for the specified KMS key.
8674
+ #
8675
+ # resp = client.rotate_key_on_demand({
8676
+ # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key whose key material you want to initiate on-demand rotation on. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
8677
+ # })
8678
+ #
8679
+ # resp.to_h outputs the following:
8680
+ # {
8681
+ # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The KMS key that you initiated on-demand rotation on.
8682
+ # }
8683
+ #
8684
+ # @example Request syntax with placeholder values
8685
+ #
8686
+ # resp = client.rotate_key_on_demand({
8687
+ # key_id: "KeyIdType", # required
8688
+ # })
8689
+ #
8690
+ # @example Response structure
8691
+ #
8692
+ # resp.key_id #=> String
8693
+ #
8694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RotateKeyOnDemand AWS API Documentation
8695
+ #
8696
+ # @overload rotate_key_on_demand(params = {})
8697
+ # @param [Hash] params ({})
8698
+ def rotate_key_on_demand(params = {}, options = {})
8699
+ req = build_request(:rotate_key_on_demand, params)
8700
+ req.send_request(options)
8701
+ end
8702
+
8375
8703
  # Schedules the deletion of a KMS key. By default, KMS applies a waiting
8376
8704
  # period of 30 days, but you can specify a waiting period of 7-30 days.
8377
8705
  # When this operation is successful, the key state of the KMS key
@@ -10105,7 +10433,7 @@ module Aws::KMS
10105
10433
  params: params,
10106
10434
  config: config)
10107
10435
  context[:gem_name] = 'aws-sdk-kms'
10108
- context[:gem_version] = '1.78.0'
10436
+ context[:gem_version] = '1.79.0'
10109
10437
  Seahorse::Client::Request.new(handlers, context)
10110
10438
  end
10111
10439
 
@@ -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.79.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
data/sig/errors.rbs CHANGED
@@ -29,6 +29,9 @@ module Aws
29
29
  class CloudHsmClusterNotRelatedException < ::Aws::Errors::ServiceError
30
30
  def message: () -> ::String
31
31
  end
32
+ class ConflictException < ::Aws::Errors::ServiceError
33
+ def message: () -> ::String
34
+ end
32
35
  class CustomKeyStoreHasCMKsException < ::Aws::Errors::ServiceError
33
36
  def message: () -> ::String
34
37
  end
data/sig/types.rbs CHANGED
@@ -57,6 +57,11 @@ module Aws::KMS
57
57
  SENSITIVE: []
58
58
  end
59
59
 
60
+ class ConflictException
61
+ attr_accessor message: ::String
62
+ SENSITIVE: []
63
+ end
64
+
60
65
  class ConnectCustomKeyStoreRequest
61
66
  attr_accessor custom_key_store_id: ::String
62
67
  SENSITIVE: []
@@ -264,6 +269,7 @@ module Aws::KMS
264
269
 
265
270
  class EnableKeyRotationRequest
266
271
  attr_accessor key_id: ::String
272
+ attr_accessor rotation_period_in_days: ::Integer
267
273
  SENSITIVE: []
268
274
  end
269
275
 
@@ -409,6 +415,10 @@ module Aws::KMS
409
415
 
410
416
  class GetKeyRotationStatusResponse
411
417
  attr_accessor key_rotation_enabled: bool
418
+ attr_accessor key_id: ::String
419
+ attr_accessor rotation_period_in_days: ::Integer
420
+ attr_accessor next_rotation_date: ::Time
421
+ attr_accessor on_demand_rotation_start_date: ::Time
412
422
  SENSITIVE: []
413
423
  end
414
424
 
@@ -638,6 +648,20 @@ module Aws::KMS
638
648
  SENSITIVE: []
639
649
  end
640
650
 
651
+ class ListKeyRotationsRequest
652
+ attr_accessor key_id: ::String
653
+ attr_accessor limit: ::Integer
654
+ attr_accessor marker: ::String
655
+ SENSITIVE: []
656
+ end
657
+
658
+ class ListKeyRotationsResponse
659
+ attr_accessor rotations: ::Array[Types::RotationsListEntry]
660
+ attr_accessor next_marker: ::String
661
+ attr_accessor truncated: bool
662
+ SENSITIVE: []
663
+ end
664
+
641
665
  class ListKeysRequest
642
666
  attr_accessor limit: ::Integer
643
667
  attr_accessor marker: ::String
@@ -763,6 +787,23 @@ module Aws::KMS
763
787
  SENSITIVE: []
764
788
  end
765
789
 
790
+ class RotateKeyOnDemandRequest
791
+ attr_accessor key_id: ::String
792
+ SENSITIVE: []
793
+ end
794
+
795
+ class RotateKeyOnDemandResponse
796
+ attr_accessor key_id: ::String
797
+ SENSITIVE: []
798
+ end
799
+
800
+ class RotationsListEntry
801
+ attr_accessor key_id: ::String
802
+ attr_accessor rotation_date: ::Time
803
+ attr_accessor rotation_type: ("AUTOMATIC" | "ON_DEMAND")
804
+ SENSITIVE: []
805
+ end
806
+
766
807
  class ScheduleKeyDeletionRequest
767
808
  attr_accessor key_id: ::String
768
809
  attr_accessor pending_window_in_days: ::Integer
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-kms
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.78.0
4
+ version: 1.79.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-18 00:00:00.000000000 Z
11
+ date: 2024-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core