/* * 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 UpdatePrimaryRegion operation. /// Changes the primary key of a multi-Region key. /// /// /// /// This operation changes the replica key in the specified Region to a primary key and /// changes the former primary key to a replica key. For example, suppose you have a primary /// key in us-east-1 and a replica key in eu-west-2. If you /// run UpdatePrimaryRegion with a PrimaryRegion value of eu-west-2, /// the primary key is now the key in eu-west-2, and the key in us-east-1 /// becomes a replica key. For details, see Updating /// the primary Region in the Key Management Service Developer Guide. /// /// /// /// This operation supports multi-Region keys, an KMS feature that lets you create /// multiple interoperable KMS keys in different Amazon Web Services Regions. Because /// these KMS keys have the same key ID, key material, and other metadata, you can use /// them interchangeably to encrypt data in one Amazon Web Services Region and decrypt /// it in a different Amazon Web Services Region without re-encrypting the data or making /// a cross-Region call. For more information about multi-Region keys, see Multi-Region /// keys in KMS in the Key Management Service Developer Guide. /// /// /// /// The primary key of a multi-Region key is the source for properties that are /// always shared by primary and replica keys, including the key material, key /// ID, key /// spec, key /// usage, key /// material origin, and automatic /// key rotation. It's the only key that can be replicated. You cannot delete /// the primary key until all replica keys are deleted. /// /// /// /// The key ID and primary Region that you specify uniquely identify the replica key that /// will become the primary key. The primary Region must already have a replica key. This /// operation does not create a KMS key in the specified Region. To find the replica keys, /// use the DescribeKey operation on the primary key or any replica key. To create /// a replica key, use the ReplicateKey operation. /// /// /// /// You can run this operation while using the affected multi-Region keys in cryptographic /// operations. This operation should not delay, interrupt, or cause failures in cryptographic /// operations. /// /// /// /// Even after this operation completes, the process of updating the primary Region might /// still be in progress for a few more seconds. Operations such as DescribeKey /// might display both the old and new primary keys as replicas. The old and new primary /// keys have a transient key state of Updating. The original key state is /// restored when the update is complete. While the key state is Updating, /// you can use the keys in cryptographic operations, but you cannot replicate the new /// primary key or perform certain management operations, such as enabling or disabling /// these keys. For details about the Updating key state, see Key /// states of KMS keys in the Key Management Service Developer Guide. /// /// /// /// This operation does not return any output. To verify that primary key is changed, /// use the DescribeKey operation. /// /// /// /// Cross-account use: No. You cannot use this operation in a different Amazon /// Web Services account. /// /// /// /// Required permissions: /// /// /// /// Related operations /// /// /// public partial class UpdatePrimaryRegionRequest : AmazonKeyManagementServiceRequest { private string _keyId; private string _primaryRegion; /// /// Gets and sets the property KeyId. /// /// Identifies the current primary key. When the operation completes, this KMS key will /// be a replica key. /// /// /// /// Specify the key ID or key ARN of a multi-Region primary key. /// /// /// /// For example: /// /// /// /// 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; } /// /// Gets and sets the property PrimaryRegion. /// /// The Amazon Web Services Region of the new primary key. Enter the Region ID, such as /// us-east-1 or ap-southeast-2. There must be an existing replica /// key in this Region. /// /// /// /// When the operation completes, the multi-Region key in this Region will be the primary /// key. /// /// [AWSProperty(Required=true, Min=1, Max=32)] public string PrimaryRegion { get { return this._primaryRegion; } set { this._primaryRegion = value; } } // Check to see if PrimaryRegion property is set internal bool IsSetPrimaryRegion() { return this._primaryRegion != null; } } }