Skip to content

Commit a484dbc

Browse files
Create a new getStageName function
1 parent 53d9363 commit a484dbc

File tree

7 files changed

+22
-11
lines changed

7 files changed

+22
-11
lines changed

lib/plugins/aws/package/compile/events/api-gateway/index.js

-1
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,6 @@ class AwsCompileApigEvents {
171171
this.serverless = serverless;
172172
this.options = options;
173173
this.provider = this.serverless.getProvider('aws');
174-
this.provider.getStage = () => "main";
175174

176175
this.serverless.configSchemaHandler.defineFunctionEvent('aws', 'http', {
177176
anyOf: [

lib/plugins/aws/package/compile/events/api-gateway/lib/api-keys.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ function createApiKeyResource(that, apiKey) {
2020
StageKeys: [
2121
{
2222
RestApiId: that.provider.getApiGatewayRestApiId(),
23-
StageName: that.provider.getStage(),
23+
StageName: that.provider.getStageName(),
2424
},
2525
],
2626
},

lib/plugins/aws/package/compile/events/api-gateway/lib/deployment.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ module.exports = {
1313
Type: 'AWS::ApiGateway::Deployment',
1414
Properties: {
1515
RestApiId: this.provider.getApiGatewayRestApiId(),
16-
StageName: this.provider.getStage(),
16+
StageName: this.provider.getStageName(),
1717
Description: this.provider.getApiGatewayDescription(),
1818
},
1919
DependsOn: this.apiGatewayMethodLogicalIds,
@@ -34,7 +34,7 @@ module.exports = {
3434
{ Ref: 'AWS::Region' },
3535
'.',
3636
{ Ref: 'AWS::URLSuffix' },
37-
`/${this.provider.getStage()}`,
37+
`/${this.provider.getStageName()}`,
3838
],
3939
],
4040
},

lib/plugins/aws/package/compile/events/api-gateway/lib/request-validator.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ module.exports = {
153153
const validatorLogicalId = this.provider.naming.getValidatorLogicalId();
154154
const validatorName = `${
155155
this.serverless.service.service
156-
}-${this.provider.getStage()} | Validate request body and querystring parameters`;
156+
}-${this.provider.getStageName()} | Validate request body and querystring parameters`;
157157
this.serverless.service.provider.compiledCloudFormationTemplate.Resources[validatorLogicalId] =
158158
{
159159
Type: 'AWS::ApiGateway::RequestValidator',

lib/plugins/aws/package/compile/events/api-gateway/lib/usage-plan.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ function createUsagePlanResource(that, name) {
1010
ApiStages: [
1111
{
1212
ApiId: that.provider.getApiGatewayRestApiId(),
13-
Stage: that.provider.getStage(),
13+
Stage: that.provider.getStageName(),
1414
},
1515
],
1616
Description: `Usage plan "${name}" for ${
1717
that.serverless.service.service
18-
} ${that.provider.getStage()} stage`,
19-
UsagePlanName: `${that.serverless.service.service}-${name}-${that.provider.getStage()}`,
18+
} ${that.provider.getStageName()} stage`,
19+
UsagePlanName: `${that.serverless.service.service}-${name}-${that.provider.getStageName()}`,
2020
},
2121
};
2222
const template = _.cloneDeep(resourceTemplate);
@@ -26,10 +26,10 @@ function createUsagePlanResource(that, name) {
2626
// create old legacy resources
2727
template.Properties.UsagePlanName = `${
2828
that.serverless.service.service
29-
}-${that.provider.getStage()}`;
29+
}-${that.provider.getStageName()}`;
3030
template.Properties.Description = `Usage plan for ${
3131
that.serverless.service.service
32-
} ${that.provider.getStage()} stage`;
32+
} ${that.provider.getStageName()} stage`;
3333
// assign quota
3434
if (_.get(usagePlan, 'quota')) {
3535
_.merge(template, {

lib/plugins/aws/package/compile/events/api-gateway/lib/validate.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ module.exports = {
184184
}
185185

186186
const provider = this.serverless.getProvider('aws');
187-
const stage = provider.getStage();
187+
const stage = provider.getStageName();
188188
const validAPIGatewayStageNamePattern = /^[-_a-zA-Z0-9]+$/;
189189
if (!validAPIGatewayStageNamePattern.test(stage)) {
190190
throw new ServerlessError(

lib/plugins/aws/provider.js

+12
Original file line numberDiff line numberDiff line change
@@ -806,6 +806,7 @@ class AwsProvider {
806806
},
807807
additionalProperties: false,
808808
},
809+
stageName: { type: 'string' },
809810
shouldStartNameWithService: { type: 'boolean' },
810811
usagePlan: {
811812
anyOf: [
@@ -1882,6 +1883,17 @@ class AwsProvider {
18821883
return stageSourceValue.value || defaultStage;
18831884
}
18841885

1886+
getStageName() {
1887+
if (
1888+
this.serverless.service.provider.apiGateway &&
1889+
this.serverless.service.provider.apiGateway.stageName
1890+
) {
1891+
return this.serverless.service.provider.apiGateway.stageName;
1892+
}
1893+
1894+
return this.getStage();
1895+
}
1896+
18851897
/**
18861898
* Get API Gateway Rest API ID from serverless config
18871899
*/

0 commit comments

Comments
 (0)