/* * 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 PutAccountPolicy operation. /// Creates an account-level data protection policy that applies to all log groups in /// the account. A data protection policy can help safeguard sensitive data that's ingested /// by your log groups by auditing and masking the sensitive log data. Each account can /// have only one account-level policy. /// /// /// /// Sensitive data is detected and masked when it is ingested into a log group. When you /// set a data protection policy, log events ingested into the log groups before that /// time are not masked. /// /// /// /// If you use PutAccountPolicy to create a data protection policy for your /// whole account, it applies to both existing log groups and all log groups that are /// created later in this account. The account policy is applied to existing log groups /// with eventual consistency. It might take up to 5 minutes before sensitive data in /// existing log groups begins to be masked. /// /// /// /// By default, when a user views a log event that includes masked data, the sensitive /// data is replaced by asterisks. A user who has the logs:Unmask permission /// can use a GetLogEvents /// or FilterLogEvents /// operation with the unmask parameter set to true to view /// the unmasked log events. Users with the logs:Unmask can also view unmasked /// data in the CloudWatch Logs console by running a CloudWatch Logs Insights query with /// the unmask query command. /// /// /// /// For more information, including a list of types of data that can be audited and masked, /// see Protect /// sensitive log data with masking. /// /// /// /// To use the PutAccountPolicy operation, you must be signed on with the /// logs:PutDataProtectionPolicy and logs:PutAccountPolicy permissions. /// /// /// /// The PutAccountPolicy operation applies to all log groups in the account. /// You can also use PutDataProtectionPolicy /// to create a data protection policy that applies to just one log group. If a log group /// has its own data protection policy and the account also has an account-level data /// protection policy, then the two policies are cumulative. Any sensitive term specified /// in either policy is masked. /// /// public partial class PutAccountPolicyRequest : AmazonCloudWatchLogsRequest { private string _policyDocument; private string _policyName; private PolicyType _policyType; private Scope _scope; /// /// Gets and sets the property PolicyDocument. /// /// Specify the data protection policy, in JSON. /// /// /// /// This policy must include two JSON blocks: /// /// /// /// For an example data protection policy, see the Examples section on this page. /// /// /// /// The contents of the two DataIdentifer arrays must match exactly. /// /// /// /// In addition to the two JSON blocks, the policyDocument can also include /// Name, Description, and Version fields. The /// Name is different than the operation's policyName parameter, /// and is used as a dimension when CloudWatch Logs reports audit findings metrics to /// CloudWatch. /// /// /// /// The JSON specified in policyDocument can be up to 30,720 characters. /// /// [AWSProperty(Required=true)] public string PolicyDocument { get { return this._policyDocument; } set { this._policyDocument = value; } } // Check to see if PolicyDocument property is set internal bool IsSetPolicyDocument() { return this._policyDocument != null; } /// /// Gets and sets the property PolicyName. /// /// A name for the policy. This must be unique within the account. /// /// [AWSProperty(Required=true)] public string PolicyName { get { return this._policyName; } set { this._policyName = value; } } // Check to see if PolicyName property is set internal bool IsSetPolicyName() { return this._policyName != null; } /// /// Gets and sets the property PolicyType. /// /// Currently the only valid value for this parameter is DATA_PROTECTION_POLICY. /// /// [AWSProperty(Required=true)] public PolicyType PolicyType { get { return this._policyType; } set { this._policyType = value; } } // Check to see if PolicyType property is set internal bool IsSetPolicyType() { return this._policyType != null; } /// /// Gets and sets the property Scope. /// /// Currently the only valid value for this parameter is ALL, which specifies /// that the data protection policy applies to all log groups in the account. If you omit /// this parameter, the default of ALL is used. /// /// public Scope Scope { get { return this._scope; } set { this._scope = value; } } // Check to see if Scope property is set internal bool IsSetScope() { return this._scope != null; } } }