/*
* 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 ModifyEventSubscription operation.
/// Modifies an existing RDS event notification subscription. You can't modify the source
/// identifiers using this call. To change source identifiers for a subscription, use
/// the AddSourceIdentifierToSubscription
and RemoveSourceIdentifierFromSubscription
/// calls.
///
///
///
/// You can see a list of the event categories for a given source type (SourceType
)
/// in Events
/// in the Amazon RDS User Guide or by using the DescribeEventCategories
/// operation.
///
///
public partial class ModifyEventSubscriptionRequest : AmazonRDSRequest
{
private bool? _enabled;
private List _eventCategories = new List();
private string _snsTopicArn;
private string _sourceType;
private string _subscriptionName;
///
/// Gets and sets the property Enabled.
///
/// A value that indicates whether to activate the subscription.
///
///
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 source type (SourceType
) that you want
/// to subscribe to. You can see a list of the categories for a given source type in Events
/// in the Amazon RDS User Guide or 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.
///
///
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 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.
/// 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 RDS event notification subscription.
///
///
[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;
}
}
}