/*
* 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
{
///
/// Container for the parameters to the PutEventSelectors operation.
/// Configures an event selector or advanced event selectors for your trail. Use event
/// selectors or advanced event selectors to specify management and data event settings
/// for your trail. If you want your trail to log Insights events, be sure the event selector
/// enables logging of the Insights event types you want configured for your trail. For
/// more information about logging Insights events, see Logging
/// Insights events for trails in the CloudTrail User Guide. By default, trails
/// created without specific event selectors are configured to log all read and write
/// management events, and no data events.
///
///
///
/// When an event occurs in your account, CloudTrail evaluates the event selectors or
/// advanced event selectors in 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.
///
///
///
/// Example
///
/// -
///
/// You create an event selector for a trail and specify that you want write-only events.
///
///
-
///
/// The EC2
GetConsoleOutput
and RunInstances
API operations
/// occur in your account.
///
/// -
///
/// CloudTrail evaluates whether the events match your event selectors.
///
///
-
///
/// The
RunInstances
is a write-only event and it matches your event selector.
/// The trail logs the event.
///
/// -
///
/// The
GetConsoleOutput
is a read-only event that doesn't match your event
/// selector. The trail doesn't log the event.
///
///
///
/// The PutEventSelectors
operation must be called from the Region in which
/// the trail was created; otherwise, an InvalidHomeRegionException
exception
/// is thrown.
///
///
///
/// You can configure up to five event selectors for each trail. For more information,
/// see Logging
/// management events, Logging
/// data events, and Quotas
/// in CloudTrail in the CloudTrail User Guide.
///
///
///
/// You can add advanced event selectors, and conditions for your advanced event selectors,
/// up to a maximum of 500 values for all conditions and selectors on a trail. You can
/// use either AdvancedEventSelectors
or EventSelectors
, but
/// not both. If you apply AdvancedEventSelectors
to a trail, any existing
/// EventSelectors
are overwritten. For more information about advanced event
/// selectors, see Logging
/// data events in the CloudTrail User Guide.
///
///
public partial class PutEventSelectorsRequest : AmazonCloudTrailRequest
{
private List _advancedEventSelectors = new List();
private List _eventSelectors = new List();
private string _trailName;
///
/// Gets and sets the property AdvancedEventSelectors.
///
/// Specifies the settings for advanced event selectors. You can add advanced event selectors,
/// and conditions for your advanced event selectors, up to a maximum of 500 values for
/// all conditions and selectors on a trail. You can use either AdvancedEventSelectors
/// or EventSelectors
, but not both. If you apply AdvancedEventSelectors
/// to a trail, any existing EventSelectors
are overwritten. For more information
/// about advanced event selectors, see Logging
/// data events in the CloudTrail User Guide.
///
///
public List AdvancedEventSelectors
{
get { return this._advancedEventSelectors; }
set { this._advancedEventSelectors = value; }
}
// Check to see if AdvancedEventSelectors property is set
internal bool IsSetAdvancedEventSelectors()
{
return this._advancedEventSelectors != null && this._advancedEventSelectors.Count > 0;
}
///
/// Gets and sets the property EventSelectors.
///
/// Specifies the settings for your event selectors. You can configure up to five event
/// selectors for a trail. You can use either EventSelectors
or AdvancedEventSelectors
/// in a PutEventSelectors
request, but not both. If you apply EventSelectors
/// to a trail, any existing AdvancedEventSelectors
are overwritten.
///
///
public List EventSelectors
{
get { return this._eventSelectors; }
set { this._eventSelectors = value; }
}
// Check to see if EventSelectors property is set
internal bool IsSetEventSelectors()
{
return this._eventSelectors != null && this._eventSelectors.Count > 0;
}
///
/// Gets and sets the property TrailName.
///
/// Specifies the name of the trail or trail ARN. If you specify a trail name, the string
/// must meet the following requirements:
///
/// -
///
/// Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_),
/// or dashes (-)
///
///
-
///
/// Start with a letter or number, and end with a letter or number
///
///
-
///
/// Be between 3 and 128 characters
///
///
-
///
/// Have no adjacent periods, underscores or dashes. Names like
my-_namespace
/// and my--namespace
are not valid.
///
/// -
///
/// Not be in IP address format (for example, 192.168.5.4)
///
///
///
/// If you specify a trail ARN, it must be in the following format.
///
///
///
/// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
///
///
[AWSProperty(Required=true)]
public string TrailName
{
get { return this._trailName; }
set { this._trailName = value; }
}
// Check to see if TrailName property is set
internal bool IsSetTrailName()
{
return this._trailName != null;
}
}
}