modifyEventSubscription method

Future<ModifyEventSubscriptionResult> modifyEventSubscription({
  1. required String subscriptionName,
  2. bool? enabled,
  3. List<String>? eventCategories,
  4. String? snsTopicArn,
  5. String? sourceType,
})

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);
}