Does anyone know how you’d do something similar to ${opt:region, 'us-west-2'}
in serverless.ts
?
// serverless.ts
const serverlessConfiguration: AWS = {
provider: {
region: ???
},
...
...
};
The AWS interface shows that region
is a type that can only be:
// index.d.ts
region?:
| "us-east-1"
| "us-east-2"
| "us-west-1"
| "us-west-2"
...
...
What I’ve Tried
The compiler complains at the below statement because the region
is not abiding by the interface above.
region: '${opt:region, "us-west-2"}',
I think issue is is that TypeScript validation won’t allow variable syntax, which is perfectly fine and welcome by the Framework.
I’d call it as limitation of TypeScript resolver. Please open issue at GitHub - serverless/typescript: TypeScript definitions for Serverless Framework service configuration and ask for recommendations
After setting up a normal SLS YAML file and using opt
, I got deprecation warnings when I deployed.
That is a sign to not use opt
, and instead, use Environment Variables.
You can write like this:
region: “${opt:region, ‘eu-central-1’}” as “eu-central-1”