/* * 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 /// ///
  1. /// /// You create an event selector for a trail and specify that you want write-only events. /// ///
  2. /// /// The EC2 GetConsoleOutput and RunInstances API operations /// occur in your account. /// ///
  3. /// /// CloudTrail evaluates whether the events match your event selectors. /// ///
  4. /// /// The RunInstances is a write-only event and it matches your event selector. /// The trail logs the event. /// ///
  5. /// /// 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; } } }