/* * 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 neptune-2014-10-31.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.Neptune.Model { /// /// Container for the parameters to the CreateEventSubscription operation. /// Creates an event notification subscription. This action requires a topic ARN (Amazon /// Resource Name) created by either the Neptune console, the SNS console, or the SNS /// API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe /// to the topic. The ARN is displayed in the SNS console. /// /// /// /// You can specify the type of source (SourceType) you want to be notified of, provide /// a list of Neptune sources (SourceIds) that triggers the events, and provide a list /// of event categories (EventCategories) for events you want to be notified of. For example, /// you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 /// and EventCategories = Availability, Backup. /// /// /// /// If you specify both the SourceType and SourceIds, such as SourceType = db-instance /// and SourceIdentifier = myDBInstance1, you are notified of all the db-instance events /// for the specified source. If you specify a SourceType but do not specify a SourceIdentifier, /// you receive notice of the events for that source type for all your Neptune sources. /// If you do not specify either the SourceType nor the SourceIdentifier, you are notified /// of events generated from all Neptune sources belonging to your customer account. /// /// public partial class CreateEventSubscriptionRequest : AmazonNeptuneRequest { private bool? _enabled; private List _eventCategories = new List(); private string _snsTopicArn; private List _sourceIds = new List(); private string _sourceType; private string _subscriptionName; private List _tags = new List(); /// /// Gets and sets the property Enabled. /// /// A Boolean value; set to true to activate the subscription, set to false /// to create the subscription but not active it. /// /// public bool Enabled { get { return this._enabled.GetValueOrDefault(); } set { this._enabled = value; } } // Check to see if Enabled property is set internal bool IsSetEnabled() { return this._enabled.HasValue; } /// /// Gets and sets the property EventCategories. /// /// A list of event categories for a SourceType that you want to subscribe to. You can /// see a list of the categories for a given SourceType by using the DescribeEventCategories /// action. /// /// public List EventCategories { get { return this._eventCategories; } set { this._eventCategories = value; } } // Check to see if EventCategories property is set internal bool IsSetEventCategories() { return this._eventCategories != null && this._eventCategories.Count > 0; } /// /// Gets and sets the property SnsTopicArn. /// /// The Amazon Resource Name (ARN) of the SNS topic created for event notification. The /// ARN is created by Amazon SNS when you create a topic and subscribe to it. /// /// [AWSProperty(Required=true)] public string SnsTopicArn { get { return this._snsTopicArn; } set { this._snsTopicArn = value; } } // Check to see if SnsTopicArn property is set internal bool IsSetSnsTopicArn() { return this._snsTopicArn != null; } /// /// Gets and sets the property SourceIds. /// /// The list of identifiers of the event sources for which events are returned. If not /// specified, then all sources are included in the response. An identifier must begin /// with a letter and must contain only ASCII letters, digits, and hyphens; it can't end /// with a hyphen or contain two consecutive hyphens. /// /// /// /// Constraints: /// ///
  • /// /// If SourceIds are supplied, SourceType must also be provided. /// ///
  • /// /// If the source type is a DB instance, then a DBInstanceIdentifier must /// be supplied. /// ///
  • /// /// If the source type is a DB security group, a DBSecurityGroupName must /// be supplied. /// ///
  • /// /// If the source type is a DB parameter group, a DBParameterGroupName must /// be supplied. /// ///
  • /// /// If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied. /// ///
///
public List SourceIds { get { return this._sourceIds; } set { this._sourceIds = value; } } // Check to see if SourceIds property is set internal bool IsSetSourceIds() { return this._sourceIds != null && this._sourceIds.Count > 0; } /// /// Gets and sets the property SourceType. /// /// The type of source that is generating the events. For example, if you want to be notified /// of events generated by a DB instance, you would set this parameter to db-instance. /// if this value is not specified, all events are returned. /// /// /// /// Valid values: db-instance | db-cluster | db-parameter-group /// | db-security-group | db-snapshot | db-cluster-snapshot /// /// /// public string SourceType { get { return this._sourceType; } set { this._sourceType = value; } } // Check to see if SourceType property is set internal bool IsSetSourceType() { return this._sourceType != null; } /// /// Gets and sets the property SubscriptionName. /// /// The name of the subscription. /// /// /// /// Constraints: The name must be less than 255 characters. /// /// [AWSProperty(Required=true)] public string SubscriptionName { get { return this._subscriptionName; } set { this._subscriptionName = value; } } // Check to see if SubscriptionName property is set internal bool IsSetSubscriptionName() { return this._subscriptionName != null; } /// /// Gets and sets the property Tags. /// /// The tags to be applied to the new event subscription. /// /// public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } } }