/*
* 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 cloudtrail-2013-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.CloudTrail.Model
{
///
/// Use event selectors to further specify the management and data event settings for
/// your trail. By default, trails created without specific event selectors will be configured
/// to log all read and write management events, and no data events. When an event occurs
/// in your account, CloudTrail evaluates the event selector for all trails. For each
/// trail, if the event matches any event selector, the trail processes and logs the event.
/// If the event doesn't match any event selector, the trail doesn't log the event.
///
///
///
/// You can configure up to five event selectors for a trail.
///
///
///
/// You cannot apply both event selectors and advanced event selectors to a trail.
///
///
public partial class EventSelector
{
private List _dataResources = new List();
private List _excludeManagementEventSources = new List();
private bool? _includeManagementEvents;
private ReadWriteType _readWriteType;
///
/// Gets and sets the property DataResources.
///
/// CloudTrail supports data event logging for Amazon S3 objects, Lambda functions, and
/// Amazon DynamoDB tables with basic event selectors. You can specify up to 250 resources
/// for an individual event selector, but the total number of data resources cannot exceed
/// 250 across all event selectors in a trail. This limit does not apply if you configure
/// resource logging for all data events.
///
///
///
/// For more information, see Data
/// Events and Limits
/// in CloudTrail in the CloudTrail User Guide.
///
///
public List DataResources
{
get { return this._dataResources; }
set { this._dataResources = value; }
}
// Check to see if DataResources property is set
internal bool IsSetDataResources()
{
return this._dataResources != null && this._dataResources.Count > 0;
}
///
/// Gets and sets the property ExcludeManagementEventSources.
///
/// An optional list of service event sources from which you do not want management events
/// to be logged on your trail. In this release, the list can be empty (disables the filter),
/// or it can filter out Key Management Service or Amazon RDS Data API events by containing
/// kms.amazonaws.com
or rdsdata.amazonaws.com
. By default,
/// ExcludeManagementEventSources
is empty, and KMS and Amazon RDS Data API
/// events are logged to your trail. You can exclude management event sources only in
/// Regions that support the event source.
///
///
public List ExcludeManagementEventSources
{
get { return this._excludeManagementEventSources; }
set { this._excludeManagementEventSources = value; }
}
// Check to see if ExcludeManagementEventSources property is set
internal bool IsSetExcludeManagementEventSources()
{
return this._excludeManagementEventSources != null && this._excludeManagementEventSources.Count > 0;
}
///
/// Gets and sets the property IncludeManagementEvents.
///
/// Specify if you want your event selector to include management events for your trail.
///
///
///
/// For more information, see Management
/// Events in the CloudTrail User Guide.
///
///
///
/// By default, the value is true
.
///
///
///
/// The first copy of management events is free. You are charged for additional copies
/// of management events that you are logging on any subsequent trail in the same Region.
/// For more information about CloudTrail pricing, see CloudTrail
/// Pricing.
///
///
public bool IncludeManagementEvents
{
get { return this._includeManagementEvents.GetValueOrDefault(); }
set { this._includeManagementEvents = value; }
}
// Check to see if IncludeManagementEvents property is set
internal bool IsSetIncludeManagementEvents()
{
return this._includeManagementEvents.HasValue;
}
///
/// Gets and sets the property ReadWriteType.
///
/// Specify if you want your trail to log read-only events, write-only events, or all.
/// For example, the EC2 GetConsoleOutput
is a read-only API operation and
/// RunInstances
is a write-only API operation.
///
///
///
/// By default, the value is All
.
///
///
public ReadWriteType ReadWriteType
{
get { return this._readWriteType; }
set { this._readWriteType = value; }
}
// Check to see if ReadWriteType property is set
internal bool IsSetReadWriteType()
{
return this._readWriteType != null;
}
}
}