/* * 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 logs-2014-03-28.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.CloudWatchLogs.Model { /// /// Container for the parameters to the AssociateKmsKey operation. /// Associates the specified KMS key with either one log group in the account, or with /// all stored CloudWatch Logs query insights results in the account. /// /// /// /// When you use AssociateKmsKey, you specify either the logGroupName /// parameter or the resourceIdentifier parameter. You can't specify both /// of those parameters in the same operation. /// /// /// /// If you delete the key that is used to encrypt log events or log group query results, /// then all the associated stored log events or query results that were encrypted with /// that key will be unencryptable and unusable. /// /// /// /// CloudWatch Logs supports only symmetric KMS keys. Do not use an associate an asymmetric /// KMS key with your log group or query results. For more information, see Using /// Symmetric and Asymmetric Keys. /// /// /// /// It can take up to 5 minutes for this operation to take effect. /// /// /// /// If you attempt to associate a KMS key with a log group but the KMS key does not exist /// or the KMS key is disabled, you receive an InvalidParameterException /// error. /// /// public partial class AssociateKmsKeyRequest : AmazonCloudWatchLogsRequest { private string _kmsKeyId; private string _logGroupName; private string _resourceIdentifier; /// /// Gets and sets the property KmsKeyId. /// /// The Amazon Resource Name (ARN) of the KMS key to use when encrypting log data. This /// must be a symmetric KMS key. For more information, see Amazon /// Resource Names and Using /// Symmetric and Asymmetric Keys. /// /// [AWSProperty(Required=true, Max=256)] public string KmsKeyId { get { return this._kmsKeyId; } set { this._kmsKeyId = value; } } // Check to see if KmsKeyId property is set internal bool IsSetKmsKeyId() { return this._kmsKeyId != null; } /// /// Gets and sets the property LogGroupName. /// /// The name of the log group. /// /// /// /// In your AssociateKmsKey operation, you must specify either the resourceIdentifier /// parameter or the logGroup parameter, but you can't specify both. /// /// [AWSProperty(Min=1, Max=512)] public string LogGroupName { get { return this._logGroupName; } set { this._logGroupName = value; } } // Check to see if LogGroupName property is set internal bool IsSetLogGroupName() { return this._logGroupName != null; } /// /// Gets and sets the property ResourceIdentifier. /// /// Specifies the target for this operation. You must specify one of the following: /// /// /// /// In your AssociateKmsKey operation, you must specify either the resourceIdentifier /// parameter or the logGroup parameter, but you can't specify both. /// /// [AWSProperty(Min=1, Max=2048)] public string ResourceIdentifier { get { return this._resourceIdentifier; } set { this._resourceIdentifier = value; } } // Check to see if ResourceIdentifier property is set internal bool IsSetResourceIdentifier() { return this._resourceIdentifier != null; } } }