/* * 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 { /// /// This is the response object from the GenerateDataKey operation. /// public partial class GenerateDataKeyResponse : AmazonWebServiceResponse { private MemoryStream _ciphertextBlob; private MemoryStream _ciphertextForRecipient; private string _keyId; private MemoryStream _plaintext; /// /// Gets and sets the property CiphertextBlob. /// /// The encrypted copy of the data key. When you use the HTTP API or the Amazon Web Services /// CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. /// /// [AWSProperty(Min=1, Max=6144)] public MemoryStream CiphertextBlob { get { return this._ciphertextBlob; } set { this._ciphertextBlob = value; } } // Check to see if CiphertextBlob property is set internal bool IsSetCiphertextBlob() { return this._ciphertextBlob != null; } /// /// Gets and sets the property CiphertextForRecipient. /// /// The plaintext data key encrypted with the public key from the Nitro enclave. This /// ciphertext can be decrypted only by using a private key in the Nitro enclave. /// /// /// /// This field is included in the response only when the Recipient parameter /// in the request includes a valid attestation document from an Amazon Web Services Nitro /// enclave. For information about the interaction between KMS and Amazon Web Services /// Nitro Enclaves, see How /// Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer /// Guide. /// /// [AWSProperty(Min=1, Max=6144)] public MemoryStream CiphertextForRecipient { get { return this._ciphertextForRecipient; } set { this._ciphertextForRecipient = value; } } // Check to see if CiphertextForRecipient property is set internal bool IsSetCiphertextForRecipient() { return this._ciphertextForRecipient != null; } /// /// Gets and sets the property KeyId. /// /// The Amazon Resource Name (key /// ARN) of the KMS key that encrypted the data key. /// /// [AWSProperty(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 Plaintext. /// /// The plaintext data key. When you use the HTTP API or the Amazon Web Services CLI, /// the value is Base64-encoded. Otherwise, it is not Base64-encoded. Use this data key /// to encrypt your data outside of KMS. Then, remove it from memory as soon as possible. /// /// /// /// If the response includes the CiphertextForRecipient field, the Plaintext /// field is null or empty. /// /// [AWSProperty(Sensitive=true, Min=1, Max=4096)] public MemoryStream Plaintext { get { return this._plaintext; } set { this._plaintext = value; } } // Check to see if Plaintext property is set internal bool IsSetPlaintext() { return this._plaintext != null; } } }