package xyz.fabiano.spring.localstack.support; import com.amazonaws.services.apigateway.AmazonApiGatewayAsync; import com.amazonaws.services.apigateway.AmazonApiGatewayAsyncClientBuilder; import com.amazonaws.services.cloudformation.AmazonCloudFormationAsync; import com.amazonaws.services.cloudformation.AmazonCloudFormationAsyncClientBuilder; import com.amazonaws.services.cloudwatch.AmazonCloudWatchAsync; import com.amazonaws.services.cloudwatch.AmazonCloudWatchAsyncClientBuilder; import com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsync; import com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsyncClientBuilder; import com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreamsAsync; import com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreamsAsyncClientBuilder; import com.amazonaws.services.kinesis.AmazonKinesisAsync; import com.amazonaws.services.kinesis.AmazonKinesisAsyncClientBuilder; import com.amazonaws.services.kinesisfirehose.AmazonKinesisFirehoseAsync; import com.amazonaws.services.kinesisfirehose.AmazonKinesisFirehoseAsyncClientBuilder; import com.amazonaws.services.lambda.AWSLambdaAsync; import com.amazonaws.services.lambda.AWSLambdaAsyncClientBuilder; import com.amazonaws.services.redshift.AmazonRedshiftAsync; import com.amazonaws.services.redshift.AmazonRedshiftAsyncClientBuilder; import com.amazonaws.services.route53.AmazonRoute53Async; import com.amazonaws.services.route53.AmazonRoute53AsyncClientBuilder; import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceAsync; import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceAsyncClientBuilder; import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagement; import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder; import com.amazonaws.services.sns.AmazonSNSAsync; import com.amazonaws.services.sns.AmazonSNSAsyncClientBuilder; import com.amazonaws.services.sqs.AmazonSQSAsync; import com.amazonaws.services.sqs.AmazonSQSAsyncClientBuilder; import com.amazonaws.services.stepfunctions.AWSStepFunctions; import com.amazonaws.services.stepfunctions.AWSStepFunctionsClientBuilder; import xyz.fabiano.spring.localstack.legacy.LocalstackDocker; public final class AmazonAsyncDockerClientsHolder extends AbstractAmazonDockerClientsHolder { public AmazonAsyncDockerClientsHolder(LocalstackDocker localstackDocker) { super(localstackDocker); } @Override public AmazonSQSAsync amazonSQS() { return decorateWithConfigsAndBuild( AmazonSQSAsyncClientBuilder.standard(), LocalstackDocker::getEndpointSQS ); } @Override public AmazonSNSAsync amazonSNS() { return decorateWithConfigsAndBuild( AmazonSNSAsyncClientBuilder.standard(), LocalstackDocker::getEndpointSNS ); } @Override public AmazonKinesisAsync amazonKinesis() { return decorateWithConfigsAndBuild( AmazonKinesisAsyncClientBuilder.standard(), LocalstackDocker::getEndpointKinesis ); } @Override public AmazonDynamoDBAsync amazonDynamoDB() { return decorateWithConfigsAndBuild( AmazonDynamoDBAsyncClientBuilder.standard(), LocalstackDocker::getEndpointDynamoDB ); } @Override public AmazonDynamoDBStreamsAsync amazonDynamoDBStreams() { return decorateWithConfigsAndBuild( AmazonDynamoDBStreamsAsyncClientBuilder.standard(), LocalstackDocker::getEndpointDynamoDBStreams ); } @Override public AmazonSimpleEmailServiceAsync amazonSimpleEmailService() { return decorateWithConfigsAndBuild( AmazonSimpleEmailServiceAsyncClientBuilder.standard(), LocalstackDocker::getEndpointSES ); } @Override public AmazonApiGatewayAsync amazonApiGateway() { return decorateWithConfigsAndBuild( AmazonApiGatewayAsyncClientBuilder.standard(), LocalstackDocker::getEndpointAPIGateway ); } @Override public AmazonRedshiftAsync amazonRedshift() { return decorateWithConfigsAndBuild( AmazonRedshiftAsyncClientBuilder.standard(), LocalstackDocker::getEndpointRedshift ); } @Override public AmazonCloudWatchAsync amazonCloudWatch() { return decorateWithConfigsAndBuild( AmazonCloudWatchAsyncClientBuilder.standard(), LocalstackDocker::getEndpointCloudWatch ); } @Override public AmazonCloudFormationAsync amazonCloudFormation() { return decorateWithConfigsAndBuild( AmazonCloudFormationAsyncClientBuilder.standard(), LocalstackDocker::getEndpointCloudFormation ); } @Override public AmazonKinesisFirehoseAsync amazonKinesisFirehose() { return decorateWithConfigsAndBuild( AmazonKinesisFirehoseAsyncClientBuilder.standard(), LocalstackDocker::getEndpointFirehose ); } @Override public AmazonRoute53Async amazonRoute53() { return decorateWithConfigsAndBuild( AmazonRoute53AsyncClientBuilder.standard(), LocalstackDocker::getEndpointRoute53 ); } @Override public AWSLambdaAsync awsLambda() { return decorateWithConfigsAndBuild( AWSLambdaAsyncClientBuilder.standard(), LocalstackDocker::getEndpointLambda ); } @Override public AWSSimpleSystemsManagement awsSimpleSystemsManagement() { return decorateWithConfigsAndBuild( AWSSimpleSystemsManagementClientBuilder.standard(), LocalstackDocker::getEndpointSSM ); } @Override public AWSStepFunctions awsStepFunctions() { return decorateWithConfigsAndBuild( AWSStepFunctionsClientBuilder.standard(), LocalstackDocker::getEndpointStepFunction ); } }