Example usage for com.amazonaws.services.sns AmazonSNS confirmSubscription

List of usage examples for com.amazonaws.services.sns AmazonSNS confirmSubscription

Introduction

In this page you can find the example usage for com.amazonaws.services.sns AmazonSNS confirmSubscription.

Prototype

ConfirmSubscriptionResult confirmSubscription(ConfirmSubscriptionRequest confirmSubscriptionRequest);

Source Link

Document

Verifies an endpoint owner's intent to receive messages by validating the token sent to the endpoint by an earlier Subscribe action.

Usage

From source file:net.smartcosmos.plugin.service.aws.notification.AwsNotificationService.java

License:Apache License

@Override
public void confirmSubscription(INotificationEndpoint notificationEndpoint, String token) {
    Preconditions.checkArgument((notificationEndpoint != null), "Notification endpoint must not be null");

    Preconditions.checkArgument((notificationEndpoint.getTopicArn() != null),
            "Notification Topic ARN must not be null");

    AmazonSNS sns = new AmazonSNSClient(credentials);
    Region usEast1 = Region.getRegion(Regions.US_EAST_1);
    sns.setRegion(usEast1);/*from ww  w .  ja  va2s .  co  m*/

    try {
        ConfirmSubscriptionRequest request = new ConfirmSubscriptionRequest(notificationEndpoint.getTopicArn(),
                token);

        ConfirmSubscriptionResult result = sns.confirmSubscription(request);

        //
        // Event
        //
        INotificationResultObject<IAccount> nro = new NotificationResultObject<>(EntityReferenceType.Account,
                notificationEndpoint.getAccount(), result.getSubscriptionArn());
        IEventService eventService = context.getServiceFactory()
                .getEventService(notificationEndpoint.getAccount());
        eventService.recordEvent(EventType.NotificationSubscriptionConfirmed, notificationEndpoint.getAccount(),
                null, nro);
    } finally {
        sns.shutdown();
    }
}