Skip to content

Commit

Permalink
default values for instances websockets properties are not defined.
Browse files Browse the repository at this point in the history
default values for instances websockets properties are not defined.
  • Loading branch information
BillConley01 committed Apr 30, 2022
1 parent 7578f22 commit 1dd2ec3
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 10 deletions.
16 changes: 16 additions & 0 deletions docs/deprecations.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,22 @@ Note:
- The `serverless.yml` setting is ineffective for deprecations reported before the configuration is read.
- `SLS_DEPRECATION_DISABLE` and `disabledDeprecations` remain respected, and no errors will be thrown for mentioned deprecation codes.

<a name="PROVIDER_WEBSOCKETS_SETTINGS_v3"><div>&nbsp;</div></a>

## Grouping websockets settings under `provider.websockets`

Deprecation code: `PROVIDER_WEBSOCKETS_SETTINGS_v3`

Websockets-related settings of _provider_ including `websocketsApiName`, `websocketsApiRouteSelectionExpression` and `websocketsDescription` are also now supported at `websockets` property. Refer to the [Websocket Guide](/docs/providers/aws/events/websocket.md).

- `provider.websocketsApiName` -> `provider.iam.role`
- `provider.websocketsApiRouteSelectionExpression` -> `provider.websockets.apiRouteSelectionExpression`
- `provider.websocketsDescription` -> `provider.websockets.description`

In addition `iam.role.permissionBoundary` can also be set at `iam.role.permissionsBoundary` (which matches CloudFormation property name).

Starting with v4.0.0 old versions of settings will no longer be supported

<a name="VARIABLES_RESOLUTION_MODE"><div>&nbsp;</div></a>

## Property `variablesResolutionMode`
Expand Down
14 changes: 7 additions & 7 deletions docs/providers/aws/guide/serverless.yml.md
Original file line number Diff line number Diff line change
Expand Up @@ -237,13 +237,6 @@ provider:
apiName: custom-api-name
# Endpoint type for API Gateway REST API: edge or regional (default: edge)
endpointType: regional
# Use a custom name for the websockets API
websockets:
apiName: custom-websockets-api-name
# custom route selection expression
apiRouteSelectionExpression: $request.body.route
# Use a custom description for the websockets API
description: Custom Serverless Websockets
# Optional API Gateway REST API global config
apiGateway:
# Attach to an externally created REST API via its ID:
Expand Down Expand Up @@ -311,6 +304,13 @@ provider:
name: GlobalModel
# Optional: Description of the API Gateway model
description: 'A global model that can be referenced in functions'
# Use a custom name for the websockets API
websockets:
apiName: custom-websockets-api-name
# custom route selection expression
apiRouteSelectionExpression: $request.body.route
# Use a custom description for the websockets API
description: Custom Serverless Websockets
```

### ALB
Expand Down
5 changes: 4 additions & 1 deletion lib/plugins/aws/lib/naming.js
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,10 @@ module.exports = {
// Websockets API
getWebsocketsApiName() {
if (_.get(this.provider.serverless.service.provider.websockets)) {
return `${this.provider.serverless.service.provider.websockets.apiName}`;
return (
`${this.provider.serverless.service.provider.websockets.apiName}` ||
`${this.provider.getStage()}-${this.provider.serverless.service.service}-websockets`
);
}
if (
this.provider.serverless.service.provider.websocketsApiName &&
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ module.exports = {
Name: this.provider.naming.getWebsocketsApiName(),
RouteSelectionExpression,
Description: this.serverless.service.provider.websockets
? this.serverless.service.provider.websockets.description
? this.serverless.service.provider.websockets.description || 'Serverless Websockets'
: this.serverless.service.provider.websocketsDescription || 'Serverless Websockets',
ProtocolType: 'WEBSOCKET',
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ module.exports = {
// DeploymentId is generated at deployment.js file
StageName: this.provider.getStage(),
Description: this.serverless.service.provider.websockets
? this.serverless.service.provider.websockets.description
? this.serverless.service.provider.websockets.description || 'Serverless Websockets'
: this.serverless.service.provider.websocketsDescription || 'Serverless Websockets',
},
};
Expand Down

0 comments on commit 1dd2ec3

Please sign in to comment.