modifyEventSubscription method
Modifies an existing event notification subscription. Note that 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 SourceType by using the DescribeEventCategories action.
May throw EventSubscriptionQuotaExceededFault.
May throw SNSInvalidTopicFault.
May throw SNSNoAuthorizationFault.
May throw SNSTopicArnNotFoundFault.
May throw SubscriptionCategoryNotFoundFault.
May throw SubscriptionNotFoundFault.
Parameter subscriptionName :
The name of the event notification subscription.
Parameter enabled :
A Boolean value; set to true to activate the subscription.
Parameter 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.
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 is not specified, all events are
returned.
Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
Implementation
Future<ModifyEventSubscriptionResult> modifyEventSubscription({
required String subscriptionName,
bool? enabled,
List<String>? eventCategories,
String? snsTopicArn,
String? sourceType,
}) async {
final $request = <String, String>{
'SubscriptionName': subscriptionName,
if (enabled != null) 'Enabled': enabled.toString(),
if (eventCategories != null)
if (eventCategories.isEmpty)
'EventCategories': ''
else
for (var i1 = 0; i1 < eventCategories.length; i1++)
'EventCategories.EventCategory.${i1 + 1}': eventCategories[i1],
if (snsTopicArn != null) 'SnsTopicArn': snsTopicArn,
if (sourceType != null) 'SourceType': sourceType,
};
final $result = await _protocol.send(
$request,
action: 'ModifyEventSubscription',
version: '2014-10-31',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
resultWrapper: 'ModifyEventSubscriptionResult',
);
return ModifyEventSubscriptionResult.fromXml($result);
}