/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the kms-2014-11-01.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.KeyManagementService.Model
{
///
/// Container for the parameters to the EnableKeyRotation operation.
/// Enables automatic
/// rotation of the key material of the specified symmetric encryption KMS key.
///
///
///
/// When you enable automatic rotation of acustomer
/// managed KMS key, KMS rotates the key material of the KMS key one year (approximately
/// 365 days) from the enable date and every year thereafter. You can monitor rotation
/// of the key material for your KMS keys in CloudTrail and Amazon CloudWatch. To disable
/// rotation of the key material in a customer managed KMS key, use the DisableKeyRotation
/// operation.
///
///
///
/// Automatic key rotation is supported only on symmetric
/// encryption KMS keys. You cannot enable automatic rotation of asymmetric
/// KMS keys, HMAC
/// KMS keys, KMS keys with imported
/// key material, or KMS keys in a custom
/// key store. To enable or disable automatic rotation of a set of related multi-Region
/// keys, set the property on the primary key.
///
///
///
/// You cannot enable or disable automatic rotation Amazon
/// Web Services managed KMS keys. KMS always rotates the key material of Amazon Web
/// Services managed keys every year. Rotation of Amazon
/// Web Services owned KMS keys varies.
///
///
///
/// In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys
/// from every three years (approximately 1,095 days) to every year (approximately 365
/// days).
///
///
///
/// New Amazon Web Services managed keys are automatically rotated one year after they
/// are created, and approximately every year thereafter.
///
///
///
/// Existing Amazon Web Services managed keys are automatically rotated one year after
/// their most recent rotation, and every year thereafter.
///
///
///
/// The KMS key that you use for this operation must be in a compatible key state. For
/// details, see Key
/// states of KMS keys in the Key Management Service Developer Guide.
///
///
///
/// Cross-account use: No. You cannot perform this operation on a KMS key in a
/// different Amazon Web Services account.
///
///
///
/// Required permissions: kms:EnableKeyRotation
/// (key policy)
///
///
///
/// Related operations:
///
///
///
public partial class EnableKeyRotationRequest : AmazonKeyManagementServiceRequest
{
private string _keyId;
///
/// Gets and sets the property KeyId.
///
/// Identifies a symmetric encryption KMS key. You cannot enable automatic rotation of
/// asymmetric
/// KMS keys, HMAC
/// KMS keys, KMS keys with imported
/// key material, or KMS keys in a custom
/// key store. To enable or disable automatic rotation of a set of related multi-Region
/// keys, set the property on the primary key.
///
///
///
/// Specify the key ID or key ARN of the KMS key.
///
///
///
/// For example:
///
/// -
///
/// Key ID:
1234abcd-12ab-34cd-56ef-1234567890ab
///
/// -
///
/// Key ARN:
arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
///
///
///
///
/// To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.
///
///
[AWSProperty(Required=true, Min=1, Max=2048)]
public string KeyId
{
get { return this._keyId; }
set { this._keyId = value; }
}
// Check to see if KeyId property is set
internal bool IsSetKeyId()
{
return this._keyId != null;
}
}
}