/* * 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 rds-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.RDS.Model { /// /// Container for the parameters to the CreateEventSubscription operation. /// Creates an RDS event notification subscription. This operation requires a topic Amazon /// Resource Name (ARN) created by either the RDS 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) that you want to be notified /// of and provide a list of RDS sources (SourceIds) that triggers the events. /// You can also provide a list of event categories (EventCategories) for /// events that 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 SourceIds = myDBInstance1, /// you are notified of all the db-instance events for the specified source. /// If you specify a SourceType but do not specify SourceIds, /// you receive notice of the events for that source type for all your RDS sources. If /// you don't specify either the SourceType or the SourceIds, you are notified /// of events generated from all RDS sources belonging to your customer account. /// /// /// /// For more information about subscribing to an event for RDS DB engines, see /// Subscribing to Amazon RDS event notification in the Amazon RDS User Guide. /// /// /// /// For more information about subscribing to an event for Aurora DB engines, see /// Subscribing to Amazon RDS event notification in the Amazon Aurora User Guide. /// /// public partial class CreateEventSubscriptionRequest : AmazonRDSRequest { 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 value that indicates whether to activate the subscription. If the event notification /// subscription isn't activated, the subscription is created but not active. /// /// 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 particular source type (SourceType) /// that you want to subscribe to. You can see a list of the categories for a given source /// type in the "Amazon RDS event categories and event messages" section of the /// Amazon RDS User Guide or the /// Amazon Aurora User Guide . You can also see this list by using the DescribeEventCategories /// operation. /// /// 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, a DBInstanceIdentifier value must /// be supplied. /// ///
  • /// /// If the source type is a DB cluster, a DBClusterIdentifier value must /// be supplied. /// ///
  • /// /// If the source type is a DB parameter group, a DBParameterGroupName value /// must be supplied. /// ///
  • /// /// If the source type is a DB security group, a DBSecurityGroupName value /// must be supplied. /// ///
  • /// /// If the source type is a DB snapshot, a DBSnapshotIdentifier value must /// be supplied. /// ///
  • /// /// If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier /// value must be supplied. /// ///
  • /// /// If the source type is an RDS Proxy, a DBProxyName value 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 set this parameter to db-instance. /// For RDS Proxy events, specify db-proxy. If this value isn't specified, /// all events are returned. /// /// /// /// Valid values: db-instance | db-cluster | db-parameter-group /// | db-security-group | db-snapshot | db-cluster-snapshot /// | db-proxy /// /// 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. /// 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; } } }