modifyEventSubscription method
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.
May throw EventSubscriptionQuotaExceededFault. May throw SubscriptionNotFoundFault. May throw SNSInvalidTopicFault. May throw SNSNoAuthorizationFault. May throw SNSTopicArnNotFoundFault. May throw SubscriptionCategoryNotFoundFault.
Parameter subscriptionName
:
The name of the RDS event notification subscription.
Parameter enabled
:
A value that indicates whether to activate the subscription.
Parameter 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.
Parameter 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.
Parameter 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 isn't specified, all events are
returned.
Valid values: db-instance
| db-cluster
|
db-parameter-group
| db-security-group
|
db-snapshot
| db-cluster-snapshot
Implementation
Future<ModifyEventSubscriptionResult> modifyEventSubscription({
required String subscriptionName,
bool? enabled,
List<String>? eventCategories,
String? snsTopicArn,
String? sourceType,
}) async {
ArgumentError.checkNotNull(subscriptionName, 'subscriptionName');
final $request = <String, dynamic>{};
$request['SubscriptionName'] = subscriptionName;
enabled?.also((arg) => $request['Enabled'] = arg);
eventCategories?.also((arg) => $request['EventCategories'] = arg);
snsTopicArn?.also((arg) => $request['SnsTopicArn'] = arg);
sourceType?.also((arg) => $request['SourceType'] = arg);
final $result = await _protocol.send(
$request,
action: 'ModifyEventSubscription',
version: '2014-10-31',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
shape: shapes['ModifyEventSubscriptionMessage'],
shapes: shapes,
resultWrapper: 'ModifyEventSubscriptionResult',
);
return ModifyEventSubscriptionResult.fromXml($result);
}