Search in sources :

Example 1 with PubsubPublisher

use of com.netflix.spinnaker.kork.pubsub.model.PubsubPublisher in project kork by spinnaker.

the class SNSPublisherProvider method start.

@PostConstruct
public void start() {
    if (properties == null) {
        return;
    }
    List<PubsubPublisher> publishers = new ArrayList<>();
    properties.getSubscriptions().forEach((AmazonPubsubProperties.AmazonPubsubSubscription subscription) -> {
        ARN topicARN = new ARN(subscription.getTopicARN());
        log.info("Bootstrapping SNS topic: {}", topicARN);
        AmazonSNS amazonSNS = AmazonSNSClientBuilder.standard().withCredentials(awsCredentialsProvider).withClientConfiguration(new ClientConfiguration()).withRegion(topicARN.getRegion()).build();
        Supplier<Boolean> isEnabled = PubSubUtils.getEnabledSupplier(dynamicConfig, subscription, discoveryStatus);
        SNSPublisher publisher = new SNSPublisher(subscription, amazonSNS, isEnabled, registry, retrySupport);
        publishers.add(publisher);
    });
    pubsubPublishers.putAll(publishers);
}
Also used : PubsubPublisher(com.netflix.spinnaker.kork.pubsub.model.PubsubPublisher) ArrayList(java.util.ArrayList) ARN(com.netflix.spinnaker.kork.aws.ARN) ClientConfiguration(com.amazonaws.ClientConfiguration) AmazonSNS(com.amazonaws.services.sns.AmazonSNS) PostConstruct(javax.annotation.PostConstruct)

Aggregations

ClientConfiguration (com.amazonaws.ClientConfiguration)1 AmazonSNS (com.amazonaws.services.sns.AmazonSNS)1 ARN (com.netflix.spinnaker.kork.aws.ARN)1 PubsubPublisher (com.netflix.spinnaker.kork.pubsub.model.PubsubPublisher)1 ArrayList (java.util.ArrayList)1 PostConstruct (javax.annotation.PostConstruct)1