/*
* 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 CreateEventDataStore operation.
/// Creates a new event data store.
///
public partial class CreateEventDataStoreRequest : AmazonCloudTrailRequest
{
private List _advancedEventSelectors = new List();
private string _kmsKeyId;
private bool? _multiRegionEnabled;
private string _name;
private bool? _organizationEnabled;
private int? _retentionPeriod;
private bool? _startIngestion;
private List _tagsList = new List();
private bool? _terminationProtectionEnabled;
///
/// Gets and sets the property AdvancedEventSelectors.
///
/// The advanced event selectors to use to select the events for the data store. You can
/// configure up to five advanced event selectors for each event data store.
///
///
///
/// For more information about how to use advanced event selectors to log CloudTrail
/// events, see Log
/// events by using advanced event selectors in the CloudTrail User Guide.
///
///
///
/// For more information about how to use advanced event selectors to include Config configuration
/// items in your event data store, see Create
/// an event data store for Config configuration items in the CloudTrail User Guide.
///
///
///
/// For more information about how to use advanced event selectors to include non-Amazon
/// Web Services events in your event data store, see Create
/// an integration to log events from outside Amazon Web Services 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 KmsKeyId.
///
/// Specifies the KMS key ID to use to encrypt the events delivered by CloudTrail. The
/// value can be an alias name prefixed by alias/
, a fully specified ARN
/// to an alias, a fully specified ARN to a key, or a globally unique identifier.
///
///
///
/// Disabling or deleting the KMS key, or removing CloudTrail permissions on the key,
/// prevents CloudTrail from logging events to the event data store, and prevents users
/// from querying the data in the event data store that was encrypted with the key. After
/// you associate an event data store with a KMS key, the KMS key cannot be removed or
/// changed. Before you disable or delete a KMS key that you are using with an event data
/// store, delete or back up your event data store.
///
///
///
/// CloudTrail also supports KMS multi-Region keys. For more information about multi-Region
/// keys, see Using
/// multi-Region keys in the Key Management Service Developer Guide.
///
///
///
/// Examples:
///
/// -
///
///
alias/MyAliasName
///
/// -
///
///
arn:aws:kms:us-east-2:123456789012:alias/MyAliasName
///
/// -
///
///
arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012
///
///
/// -
///
///
12345678-1234-1234-1234-123456789012
///
///
///
[AWSProperty(Min=1, Max=350)]
public string KmsKeyId
{
get { return this._kmsKeyId; }
set { this._kmsKeyId = value; }
}
// Check to see if KmsKeyId property is set
internal bool IsSetKmsKeyId()
{
return this._kmsKeyId != null;
}
///
/// Gets and sets the property MultiRegionEnabled.
///
/// Specifies whether the event data store includes events from all Regions, or only from
/// the Region in which the event data store is created.
///
///
public bool MultiRegionEnabled
{
get { return this._multiRegionEnabled.GetValueOrDefault(); }
set { this._multiRegionEnabled = value; }
}
// Check to see if MultiRegionEnabled property is set
internal bool IsSetMultiRegionEnabled()
{
return this._multiRegionEnabled.HasValue;
}
///
/// Gets and sets the property Name.
///
/// The name of the event data store.
///
///
[AWSProperty(Required=true, Min=3, Max=128)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property OrganizationEnabled.
///
/// Specifies whether an event data store collects events logged for an organization in
/// Organizations.
///
///
public bool OrganizationEnabled
{
get { return this._organizationEnabled.GetValueOrDefault(); }
set { this._organizationEnabled = value; }
}
// Check to see if OrganizationEnabled property is set
internal bool IsSetOrganizationEnabled()
{
return this._organizationEnabled.HasValue;
}
///
/// Gets and sets the property RetentionPeriod.
///
/// The retention period of the event data store, in days. You can set a retention period
/// of up to 2557 days, the equivalent of seven years.
///
///
[AWSProperty(Min=7, Max=2557)]
public int RetentionPeriod
{
get { return this._retentionPeriod.GetValueOrDefault(); }
set { this._retentionPeriod = value; }
}
// Check to see if RetentionPeriod property is set
internal bool IsSetRetentionPeriod()
{
return this._retentionPeriod.HasValue;
}
///
/// Gets and sets the property StartIngestion.
///
/// Specifies whether the event data store should start ingesting live events. The default
/// is true.
///
///
public bool StartIngestion
{
get { return this._startIngestion.GetValueOrDefault(); }
set { this._startIngestion = value; }
}
// Check to see if StartIngestion property is set
internal bool IsSetStartIngestion()
{
return this._startIngestion.HasValue;
}
///
/// Gets and sets the property TagsList.
///
[AWSProperty(Max=200)]
public List TagsList
{
get { return this._tagsList; }
set { this._tagsList = value; }
}
// Check to see if TagsList property is set
internal bool IsSetTagsList()
{
return this._tagsList != null && this._tagsList.Count > 0;
}
///
/// Gets and sets the property TerminationProtectionEnabled.
///
/// Specifies whether termination protection is enabled for the event data store. If termination
/// protection is enabled, you cannot delete the event data store until termination protection
/// is disabled.
///
///
public bool TerminationProtectionEnabled
{
get { return this._terminationProtectionEnabled.GetValueOrDefault(); }
set { this._terminationProtectionEnabled = value; }
}
// Check to see if TerminationProtectionEnabled property is set
internal bool IsSetTerminationProtectionEnabled()
{
return this._terminationProtectionEnabled.HasValue;
}
}
}