/* * 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 qldb-2019-01-02.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.QLDB.Model { /// /// Information about the encryption of data at rest in an Amazon QLDB ledger. This includes /// the current status, the key in Key Management Service (KMS), and when the key became /// inaccessible (in the case of an error). /// /// /// /// For more information, see Encryption /// at rest in the Amazon QLDB Developer Guide. /// /// public partial class LedgerEncryptionDescription { private EncryptionStatus _encryptionStatus; private DateTime? _inaccessibleKmsKeyDateTime; private string _kmsKeyArn; /// /// Gets and sets the property EncryptionStatus. /// /// The current state of encryption at rest for the ledger. This can be one of the following /// values: /// /// /// [AWSProperty(Required=true)] public EncryptionStatus EncryptionStatus { get { return this._encryptionStatus; } set { this._encryptionStatus = value; } } // Check to see if EncryptionStatus property is set internal bool IsSetEncryptionStatus() { return this._encryptionStatus != null; } /// /// Gets and sets the property InaccessibleKmsKeyDateTime. /// /// The date and time, in epoch time format, when the KMS key first became inaccessible, /// in the case of an error. (Epoch time format is the number of seconds that have elapsed /// since 12:00:00 AM January 1, 1970 UTC.) /// /// /// /// This parameter is undefined if the KMS key is accessible. /// /// public DateTime InaccessibleKmsKeyDateTime { get { return this._inaccessibleKmsKeyDateTime.GetValueOrDefault(); } set { this._inaccessibleKmsKeyDateTime = value; } } // Check to see if InaccessibleKmsKeyDateTime property is set internal bool IsSetInaccessibleKmsKeyDateTime() { return this._inaccessibleKmsKeyDateTime.HasValue; } /// /// Gets and sets the property KmsKeyArn. /// /// The Amazon Resource Name (ARN) of the customer managed KMS key that the ledger uses /// for encryption at rest. If this parameter is undefined, the ledger uses an Amazon /// Web Services owned KMS key for encryption. /// /// [AWSProperty(Required=true, Min=20, Max=1600)] public string KmsKeyArn { get { return this._kmsKeyArn; } set { this._kmsKeyArn = value; } } // Check to see if KmsKeyArn property is set internal bool IsSetKmsKeyArn() { return this._kmsKeyArn != null; } } }