/*
* 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 DisassociateKmsKey operation.
/// Disassociates the specified KMS key from the specified log group or from all CloudWatch
/// Logs Insights query results in the account.
///
///
///
/// When you use DisassociateKmsKey
, you specify either the logGroupName
/// parameter or the resourceIdentifier
parameter. You can't specify both
/// of those parameters in the same operation.
///
/// -
///
/// Specify the
logGroupName
parameter to stop using the KMS key to encrypt
/// future log events ingested and stored in the log group. Instead, they will be encrypted
/// with the default CloudWatch Logs method. The log events that were ingested while the
/// key was associated with the log group are still encrypted with that key. Therefore,
/// CloudWatch Logs will need permissions for the key whenever that data is accessed.
///
/// -
///
/// Specify the
resourceIdentifier
parameter with the query-result
/// resource to stop using the KMS key to encrypt the results of all future StartQuery
/// operations in the account. They will instead be encrypted with the default CloudWatch
/// Logs method. The results from queries that ran while the key was associated with the
/// account are still encrypted with that key. Therefore, CloudWatch Logs will need permissions
/// for the key whenever that data is accessed.
///
///
///
/// It can take up to 5 minutes for this operation to take effect.
///
///
public partial class DisassociateKmsKeyRequest : AmazonCloudWatchLogsRequest
{
private string _logGroupName;
private string _resourceIdentifier;
///
/// Gets and sets the property LogGroupName.
///
/// The name of the log group.
///
///
///
/// In your DisassociateKmsKey
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:
///
/// -
///
/// Specify the ARN of a log group to stop having CloudWatch Logs use the KMS key to encrypt
/// log events that are ingested and stored by that log group. After you run this operation,
/// CloudWatch Logs encrypts ingested log events with the default CloudWatch Logs method.
/// The log group ARN must be in the following format. Replace REGION and ACCOUNT_ID
/// with your Region and account ID.
///
///
///
///
arn:aws:logs:REGION:ACCOUNT_ID:log-group:LOG_GROUP_NAME
///
///
/// -
///
/// Specify the following ARN to stop using this key to encrypt the results of future
/// StartQuery
/// operations in this account. Replace REGION and ACCOUNT_ID with your
/// Region and account ID.
///
///
///
///
arn:aws:logs:REGION:ACCOUNT_ID:query-result:*
///
///
///
/// In your DisssociateKmsKey
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;
}
}
}