setIdentityNotificationTopic method

Future<void> setIdentityNotificationTopic({
  1. required String identity,
  2. required NotificationType notificationType,
  3. String? snsTopic,
})

Sets an Amazon Simple Notification Service (Amazon SNS) topic to use when delivering notifications. When you use this operation, you specify a verified identity, such as an email address or domain. When you send an email that uses the chosen identity in the Source field, Amazon SES sends notifications to the topic you specified. You can send bounce, complaint, or delivery notifications (or any combination of the three) to the Amazon SNS topic that you specify.

You can execute this operation no more than once per second.

For more information about feedback notification, see the Amazon SES Developer Guide.

Parameter identity : The identity (email address or domain) that you want to set the Amazon SNS topic for. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). The following examples are all valid identities: sender@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

Parameter notificationType : The type of notifications that will be published to the specified Amazon SNS topic.

Parameter snsTopic : The Amazon Resource Name (ARN) of the Amazon SNS topic. If the parameter is omitted from the request or a null value is passed, SnsTopic is cleared and publishing is disabled.

Implementation

Future<void> setIdentityNotificationTopic({
  required String identity,
  required NotificationType notificationType,
  String? snsTopic,
}) async {
  ArgumentError.checkNotNull(identity, 'identity');
  ArgumentError.checkNotNull(notificationType, 'notificationType');
  final $request = <String, dynamic>{};
  $request['Identity'] = identity;
  $request['NotificationType'] = notificationType.toValue();
  snsTopic?.also((arg) => $request['SnsTopic'] = arg);
  await _protocol.send(
    $request,
    action: 'SetIdentityNotificationTopic',
    version: '2010-12-01',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['SetIdentityNotificationTopicRequest'],
    shapes: shapes,
    resultWrapper: 'SetIdentityNotificationTopicResult',
  );
}