/*
* 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 keyspaces-2022-02-10.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.Keyspaces.Model
{
///
/// Amazon Keyspaces encrypts and decrypts the table data at rest transparently and integrates
/// with Key Management Service for storing and managing the encryption key. You can choose
/// one of the following KMS keys (KMS keys):
///
/// -
///
/// Amazon Web Services owned key - This is the default encryption type. The key is owned
/// by Amazon Keyspaces (no additional charge).
///
///
-
///
/// Customer managed key - This key is stored in your account and is created, owned, and
/// managed by you. You have full control over the customer managed key (KMS charges apply).
///
///
///
/// For more information about encryption at rest in Amazon Keyspaces, see Encryption
/// at rest in the Amazon Keyspaces Developer Guide.
///
///
///
/// For more information about KMS, see KMS
/// management service concepts in the Key Management Service Developer Guide.
///
///
public partial class EncryptionSpecification
{
private string _kmsKeyIdentifier;
private EncryptionType _type;
///
/// Gets and sets the property KmsKeyIdentifier.
///
/// The Amazon Resource Name (ARN) of the customer managed KMS key, for example kms_key_identifier:ARN
.
///
///
[AWSProperty(Min=1, Max=5096)]
public string KmsKeyIdentifier
{
get { return this._kmsKeyIdentifier; }
set { this._kmsKeyIdentifier = value; }
}
// Check to see if KmsKeyIdentifier property is set
internal bool IsSetKmsKeyIdentifier()
{
return this._kmsKeyIdentifier != null;
}
///
/// Gets and sets the property Type.
///
/// The encryption option specified for the table. You can choose one of the following
/// KMS keys (KMS keys):
///
/// -
///
///
type:AWS_OWNED_KMS_KEY
- This key is owned by Amazon Keyspaces.
///
/// -
///
///
type:CUSTOMER_MANAGED_KMS_KEY
- This key is stored in your account and
/// is created, owned, and managed by you. This option requires the kms_key_identifier
/// of the KMS key in Amazon Resource Name (ARN) format as input.
///
///
///
/// The default is type:AWS_OWNED_KMS_KEY
.
///
///
///
/// For more information, see Encryption
/// at rest in the Amazon Keyspaces Developer Guide.
///
///
[AWSProperty(Required=true)]
public EncryptionType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
}
}