Skip to content

Commit 9756b83

Browse files
authored
Merge pull request #634 from circulon/feature/fix-use-with-localstack
fix not working with localstack #396
2 parents 0dd7645 + e0f283b commit 9756b83

File tree

8 files changed

+27
-9
lines changed

8 files changed

+27
-9
lines changed

src/aws/acm-wrapper.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ class ACMWrapper {
2626
credentials,
2727
region: isEdge ? Globals.defaultRegion : Globals.getRegion(),
2828
retryStrategy: Globals.getRetryStrategy(),
29-
requestHandler: Globals.getRequestHandler()
29+
requestHandler: Globals.getRequestHandler(),
30+
endpoint: Globals.getServiceEndpoint("acm")
3031
});
3132
}
3233

src/aws/api-gateway-v1-wrapper.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,15 @@ import { getAWSPagedResults } from "../utils";
2727
class APIGatewayV1Wrapper extends APIGatewayBase {
2828
public readonly apiGateway: APIGatewayClient;
2929

30+
3031
constructor (credentials?: any) {
3132
super();
3233
this.apiGateway = new APIGatewayClient({
3334
credentials,
3435
region: Globals.getRegion(),
3536
retryStrategy: Globals.getRetryStrategy(),
36-
requestHandler: Globals.getRequestHandler()
37+
requestHandler: Globals.getRequestHandler(),
38+
endpoint: Globals.getServiceEndpoint("apigateway")
3739
});
3840
}
3941

src/aws/api-gateway-v2-wrapper.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ class APIGatewayV2Wrapper extends APIGatewayBase {
3333
credentials,
3434
region: Globals.getRegion(),
3535
retryStrategy: Globals.getRetryStrategy(),
36-
requestHandler: Globals.getRequestHandler()
36+
requestHandler: Globals.getRequestHandler(),
37+
endpoint: Globals.getServiceEndpoint("apigatewayv2")
3738
});
3839
}
3940

src/aws/cloud-formation-wrapper.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ class CloudFormationWrapper {
3131
credentials,
3232
region: Globals.getRegion(),
3333
retryStrategy: Globals.getRetryStrategy(),
34-
requestHandler: Globals.getRequestHandler()
34+
requestHandler: Globals.getRequestHandler(),
35+
endpoint: Globals.getServiceEndpoint("cloudformation")
3536
});
3637
}
3738

src/aws/route53-wrapper.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,23 @@ class Route53Wrapper {
1717

1818
constructor (credentials?: any, region?: string) {
1919
// not null and not undefined
20+
const serviceEndpoint = Globals.getServiceEndpoint("route53");
2021
if (credentials) {
2122
this.region = region || Globals.getRegion();
2223
this.route53 = new Route53Client({
2324
credentials,
2425
region: this.region,
2526
retryStrategy: Globals.getRetryStrategy(),
26-
requestHandler: Globals.getRequestHandler()
27+
requestHandler: Globals.getRequestHandler(),
28+
endpoint: serviceEndpoint
2729
});
2830
} else {
2931
this.region = Globals.getRegion();
3032
this.route53 = new Route53Client({
3133
region: this.region,
3234
retryStrategy: Globals.getRetryStrategy(),
33-
requestHandler: Globals.getRequestHandler()
35+
requestHandler: Globals.getRequestHandler(),
36+
endpoint: serviceEndpoint
3437
});
3538
}
3639
}
@@ -59,7 +62,7 @@ class Route53Wrapper {
5962
"NextMarker",
6063
new ListHostedZonesCommand({})
6164
);
62-
Logging.logInfo(`Founded hosted zones list: ${hostedZones.map((zone) => zone.Name)}.`);
65+
Logging.logInfo(`Found hosted zones list: ${hostedZones.map((zone) => zone.Name)}.`);
6366
} catch (err) {
6467
throw new Error(`Unable to list hosted zones in Route53.\n${err.message}`);
6568
}

src/aws/s3-wrapper.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ class S3Wrapper {
1010
this.s3 = new S3Client({
1111
credentials,
1212
region: Globals.getRegion(),
13-
requestHandler: Globals.getRequestHandler()
13+
requestHandler: Globals.getRequestHandler(),
14+
endpoint: Globals.getServiceEndpoint("s3")
1415
});
1516
}
1617

src/globals.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,14 @@ export default class Globals {
6767
return Globals.options.stage || Globals.serverless.service.provider.stage;
6868
}
6969

70+
public static getServiceEndpoint (service: string) {
71+
if (Globals.serverless.providers.aws.sdk) {
72+
const serviceConf = Globals.serverless.providers.aws.sdk.config[service];
73+
return serviceConf.endpoint || null;
74+
}
75+
return null;
76+
}
77+
7078
public static getRegion () {
7179
const slsRegion = Globals.options.region || Globals.serverless.service.provider.region;
7280
return slsRegion || Globals.currentRegion || Globals.defaultRegion;

src/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ export interface ServerlessInstance {
6060
};
6161
providers: {
6262
aws: {
63-
getCredentials (),
63+
getCredentials (): any,
64+
sdk: any
6465
},
6566
};
6667
cli: {

0 commit comments

Comments
 (0)