Skip to content

Commit 18c0820

Browse files
author
Stephen O'Connor
committed
add clients and services for SSM and SFN
1 parent 6be53a5 commit 18c0820

File tree

6 files changed

+59
-0
lines changed

6 files changed

+59
-0
lines changed

src/main/java/xyz/fabiano/spring/localstack/LocalstackService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public enum LocalstackService {
2020
CLOUDFORMATION("cloudformation"),
2121
CLOUDWATCH("cloudwatch"),
2222
SSM("ssm"),
23+
STEP_FUNCTION("stepfunctions"),
2324

2425
ELASTICSEARCH("elasticsearch", false),
2526
ELASTICSEARCH_SERVICE("es", false);

src/main/java/xyz/fabiano/spring/localstack/autoconfigure/EveryAwsClientAutoConfiguration.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@
1212
import com.amazonaws.services.route53.AmazonRoute53;
1313
import com.amazonaws.services.s3.AmazonS3;
1414
import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
15+
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagement;
1516
import com.amazonaws.services.sns.AmazonSNS;
1617
import com.amazonaws.services.sqs.AmazonSQS;
18+
import com.amazonaws.services.stepfunctions.AWSStepFunctions;
19+
import com.amazonaws.services.stepfunctions.AWSStepFunctionsClient;
1720
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1821
import org.springframework.context.annotation.Bean;
1922
import org.springframework.context.annotation.Configuration;
@@ -100,4 +103,10 @@ public AWSLambda awsLambda() {
100103
public AmazonCloudFormation amazonCloudFormation() {
101104
return amazonClientsHolder.amazonCloudFormation();
102105
}
106+
107+
@Bean
108+
public AWSSimpleSystemsManagement awsSimpleSystemsManagement() { return amazonClientsHolder.awsSimpleSystemsManagement(); }
109+
110+
@Bean
111+
public AWSStepFunctions awsStepFunctions() { return amazonClientsHolder.awsStepFunctions(); }
103112
}

src/main/java/xyz/fabiano/spring/localstack/legacy/LocalstackDocker.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,8 @@ public String getEndpointSSM() {
186186
return endpointForService(ServiceName.SSM);
187187
}
188188

189+
public String getEndpointStepFunction() { return endpointForService(ServiceName.STEPFUNCTIONS); }
190+
189191

190192
public String endpointForService(String serviceName) {
191193
if (serviceToPortMap == null) {

src/main/java/xyz/fabiano/spring/localstack/support/AmazonAsyncDockerClientsHolder.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,14 @@
2323
import com.amazonaws.services.route53.AmazonRoute53AsyncClientBuilder;
2424
import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceAsync;
2525
import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceAsyncClientBuilder;
26+
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagement;
27+
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder;
2628
import com.amazonaws.services.sns.AmazonSNSAsync;
2729
import com.amazonaws.services.sns.AmazonSNSAsyncClientBuilder;
2830
import com.amazonaws.services.sqs.AmazonSQSAsync;
2931
import com.amazonaws.services.sqs.AmazonSQSAsyncClientBuilder;
32+
import com.amazonaws.services.stepfunctions.AWSStepFunctions;
33+
import com.amazonaws.services.stepfunctions.AWSStepFunctionsClientBuilder;
3034
import xyz.fabiano.spring.localstack.legacy.LocalstackDocker;
3135

3236
public final class AmazonAsyncDockerClientsHolder extends AbstractAmazonDockerClientsHolder {
@@ -138,4 +142,20 @@ public AWSLambdaAsync awsLambda() {
138142
LocalstackDocker::getEndpointLambda
139143
);
140144
}
145+
146+
@Override
147+
public AWSSimpleSystemsManagement awsSimpleSystemsManagement() {
148+
return decorateWithConfigsAndBuild(
149+
AWSSimpleSystemsManagementClientBuilder.standard(),
150+
LocalstackDocker::getEndpointSSM
151+
);
152+
}
153+
154+
@Override
155+
public AWSStepFunctions awsStepFunctions() {
156+
return decorateWithConfigsAndBuild(
157+
AWSStepFunctionsClientBuilder.standard(),
158+
LocalstackDocker::getEndpointStepFunction
159+
);
160+
}
141161
}

src/main/java/xyz/fabiano/spring/localstack/support/AmazonClientsHolder.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212
import com.amazonaws.services.route53.AmazonRoute53;
1313
import com.amazonaws.services.s3.AmazonS3;
1414
import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
15+
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagement;
1516
import com.amazonaws.services.sns.AmazonSNS;
1617
import com.amazonaws.services.sqs.AmazonSQS;
18+
import com.amazonaws.services.stepfunctions.AWSStepFunctions;
1719

1820
public interface AmazonClientsHolder {
1921

@@ -44,4 +46,8 @@ public interface AmazonClientsHolder {
4446
AmazonRoute53 amazonRoute53();
4547

4648
AWSLambda awsLambda();
49+
50+
AWSSimpleSystemsManagement awsSimpleSystemsManagement();
51+
52+
AWSStepFunctions awsStepFunctions();
4753
}

src/main/java/xyz/fabiano/spring/localstack/support/AmazonDockerClientsHolder.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,15 @@
2323
import com.amazonaws.services.route53.AmazonRoute53ClientBuilder;
2424
import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
2525
import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder;
26+
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagement;
27+
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder;
2628
import com.amazonaws.services.sns.AmazonSNS;
2729
import com.amazonaws.services.sns.AmazonSNSClientBuilder;
2830
import com.amazonaws.services.sqs.AmazonSQS;
2931
import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
32+
import com.amazonaws.services.stepfunctions.AWSStepFunctions;
33+
import com.amazonaws.services.stepfunctions.AWSStepFunctionsClient;
34+
import com.amazonaws.services.stepfunctions.AWSStepFunctionsClientBuilder;
3035
import xyz.fabiano.spring.localstack.legacy.LocalstackDocker;
3136

3237
public final class AmazonDockerClientsHolder extends AbstractAmazonDockerClientsHolder {
@@ -138,4 +143,20 @@ public AWSLambda awsLambda() {
138143
LocalstackDocker::getEndpointLambda
139144
);
140145
}
146+
147+
@Override
148+
public AWSSimpleSystemsManagement awsSimpleSystemsManagement() {
149+
return decorateWithConfigsAndBuild(
150+
AWSSimpleSystemsManagementClientBuilder.standard(),
151+
LocalstackDocker::getEndpointSSM
152+
);
153+
}
154+
155+
@Override
156+
public AWSStepFunctions awsStepFunctions() {
157+
return decorateWithConfigsAndBuild(
158+
AWSStepFunctionsClientBuilder.standard(),
159+
LocalstackDocker::getEndpointStepFunction
160+
);
161+
}
141162
}

0 commit comments

Comments
 (0)