@Inject public AWSSnsNotificationService( IConfiguration config, IAMCredential iamCredential, BackupMetrics backupMetrics, InstanceInfo instanceInfo) { this.configuration = config; this.backupMetrics = backupMetrics; String ec2_region = instanceInfo.getRegion(); snsClient = AmazonSNSClient.builder() .withCredentials(iamCredential.getAwsCredentialProvider()) .withRegion(ec2_region) .build(); }
private AmazonSNS resolveSNSClient() { return snsClient == null ? AmazonSNSClientBuilder.defaultClient() : snsClient; }
@Override public AmazonSNS createSnsPublisher() { return AmazonSNSClientBuilder.standard() .withCredentials(getCredentialsProvider()) .withRegion(region) .build(); } }
public static AmazonSNSClientBuilder builder() { return AmazonSNSClientBuilder.standard(); }
private SqsSubscriberAdmin(Builder builder) { super(SqsSubscriberAdmin.class, builder); accountId_ = builder.accountId_; region_ = builder.region_; tags_ = ImmutableMap.copyOf(builder.tags_); sqsClient_ = builder.sqsBuilder_.build(); snsClient_ = builder.snsBuilder_.build(); log_.info("Starting SQSSubscriberAdmin in " + region_ + "..."); }
/** * Set the AWS region. * * @param region The AWS region in which to operate. * * @return this (fluent method) */ public T withRegion(String region) { region_ = region; snsBuilder_.withRegion(region_); return self(); }
/** * Set the AWS credentials provider. * * @param credentialsProvider An AWS credentials provider. * * @return this (fluent method) */ public T withCredentials(AWSCredentialsProvider credentialsProvider) { snsBuilder_.withCredentials(credentialsProvider); return self(); }
@Override public synchronized void validate(FaultAccumulator faultAccumulator) { super.validate(faultAccumulator); faultAccumulator.checkNotNull(config_, "config"); faultAccumulator.checkNotNull(region_, "region"); faultAccumulator.checkNotNull(accountId_, "accountId"); IConfiguration snsConfig = config_.getConfiguration("org/symphonyoss/s2/fugue/aws/sns"); ClientConfiguration clientConfig = new ClientConfiguration() .withMaxConnections( snsConfig.getInt( "maxConnections", ClientConfiguration.DEFAULT_MAX_CONNECTIONS)) .withClientExecutionTimeout( snsConfig.getInt( "clientExecutionTimeout", ClientConfiguration.DEFAULT_CLIENT_EXECUTION_TIMEOUT)) .withConnectionMaxIdleMillis( snsConfig.getLong("connectionMaxIdleMillis", ClientConfiguration.DEFAULT_CONNECTION_MAX_IDLE_MILLIS)) .withConnectionTimeout( snsConfig.getInt( "connectionTimeout", ClientConfiguration.DEFAULT_CONNECTION_TIMEOUT)) ; log_.info("Starting SNSPublisherManager in " + region_ + " with " + clientConfig.getMaxConnections() + " max connections..."); snsBuilder_ .withClientConfiguration(clientConfig) ; } }
public static AmazonSNSClient createNotificationClient() { BasicCredentialsProvider credentials = BasicCredentialsProvider.standard(); AmazonSNSClient client = !credentials.isValid() ? null : (AmazonSNSClient) AmazonSNSClientBuilder.standard() .withCredentials(credentials) .withRegion("eu-west-1") .build(); return client; }
protected Builder(Class<T> type) { super(type); snsBuilder_ = AmazonSNSClientBuilder.standard(); }
protected SnsPublisherBase(Class<T> type, Builder<?,T> builder) { super(type, builder); region_ = builder.region_; accountId_ = builder.accountId_; snsClient_ = builder.snsBuilder_.build(); subscriberAccountIds_ = ImmutableList.copyOf( builder.config_.getConfiguration("amazon").getListOfString("subscriberAccountIds", new ArrayList<>())); int errorCnt = 0; for(TopicName topicName : builder.topicNames_) { if(!validateTopic(topicName)) errorCnt++; } if(errorCnt > 0) { throw new IllegalStateException("There are " + errorCnt + " topic validation errors"); } for(TopicName topicName : builder.topicNames_) { publisherNameMap_.put(topicName, new SnsPublisher(topicName, getTopicARN(topicName), this)); } }
/** * Set the AWS region. * * @param region The AWS region in which to operate. * * @return this (fluent method) */ public Builder withRegion(String region) { region_ = region; sqsBuilder_.withRegion(region_); snsBuilder_.withRegion(region_); return self(); }
/** * Set the AWS credentials provider. * * @param credentialsProvider An AWS credentials provider. * * @return this (fluent method) */ public Builder withCredentials(AWSCredentialsProvider credentialsProvider) { sqsBuilder_.withCredentials(credentialsProvider); snsBuilder_.withCredentials(credentialsProvider); return self(); }
public static AmazonSNSClient createNotificationClient() { BasicCredentialsProvider credentials = BasicCredentialsProvider.standard(); AmazonSNSClient client = !credentials.isValid() ? null : (AmazonSNSClient) AmazonSNSClientBuilder.standard() .withCredentials(credentials) .withRegion("eu-west-1") .build(); return client; }
/** * Initializes client wrapper with the default SNS client. * * <p> * This is a simplified version for AWS internal services, like AWS Lambda, which relies on environment * permissions. * </p> * * @param objectMapper JSON handler. * @param topicArn SNS topic ARN. */ public TopicClient(ObjectMapper objectMapper, String topicArn) { this(AmazonSNSClientBuilder.standard().build(), objectMapper, topicArn); }
/** * Constructor. */ public Builder() { super(Builder.class); sqsBuilder_ = AmazonSQSClientBuilder.standard(); snsBuilder_ = AmazonSNSClientBuilder.standard(); }
private AmazonSNS resolveSNSClient() { return snsClient == null ? AmazonSNSClientBuilder.defaultClient() : snsClient; }
/** * Creates a client for accessing Amazon SNS. * * @param awsParamsDto the AWS related parameters DTO that includes optional proxy information * * @return the Amazon SNS client */ @Cacheable(DaoSpringModuleConfig.HERD_CACHE_NAME) public AmazonSNS getAmazonSNSClient(AwsParamsDto awsParamsDto) { // Construct and return a new client to invoke service methods on Amazon SNS using default credentials provider chain. return AmazonSNSClientBuilder.standard().withClientConfiguration(awsHelper.getClientConfiguration(awsParamsDto)) .withRegion(awsParamsDto.getAwsRegionName()).build(); }
@Override protected AmazonSNSClient createClient() { return (AmazonSNSClient) builder.configure(AmazonSNSClientBuilder.standard()).build(); }