-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Closed
Labels
Description
Our serverless.yml file has dynamic service name. It looks like this:
service: ${self:custom.product}-${self:custom.component}
custom:
product: foo
component: backendWe can request the name of stack inside of ${file(foo.js):bar} call with:
module.exports.bar = (serverless) => {
serverless.providers.aws.naming.getStackName();
// ...
};Result of serverless.providers.aws.naming.getStackName() is wrong:
actual ${self:custom.product}-${self:custom.component}-dev
expected foo-backend-dev
I guess that this is timing problem, so that jump to function happens before service variable is resolved.
serverless.yml
service: ${self:custom.product}-${self:custom.component}
provider:
name: aws
custom:
product: foo
component: backend
resources:
- Outputs:
Foo:
Value: ${file(foo.js):bar}foo.js
module.exports.bar = (serverless) => {
serverless.cli.consoleLog('');
serverless.cli.consoleLog(serverless.providers.aws.naming.getStackName());
serverless.cli.consoleLog('');
return 'just dummy...';
};sls print output
Serverless: Load command interactiveCli
Serverless: Load command config
Serverless: Load command config:credentials
Serverless: Load command config:tabcompletion
Serverless: Load command config:tabcompletion:install
Serverless: Load command config:tabcompletion:uninstall
Serverless: Load command create
Serverless: Load command install
Serverless: Load command package
Serverless: Load command deploy
Serverless: Load command deploy:function
Serverless: Load command deploy:list
Serverless: Load command deploy:list:functions
Serverless: Load command invoke
Serverless: Load command invoke:local
Serverless: Load command info
Serverless: Load command logs
Serverless: Load command metrics
Serverless: Load command print
Serverless: Load command remove
Serverless: Load command rollback
Serverless: Load command rollback:function
Serverless: Load command slstats
Serverless: Load command plugin
Serverless: Load command plugin
Serverless: Load command plugin:install
Serverless: Load command plugin
Serverless: Load command plugin:uninstall
Serverless: Load command plugin
Serverless: Load command plugin:list
Serverless: Load command plugin
Serverless: Load command plugin:search
Serverless: Load command config
Serverless: Load command config:credentials
Serverless: Load command rollback
Serverless: Load command rollback:function
Serverless: Load command upgrade
Serverless: Load command uninstall
Serverless: Load command login
Serverless: Load command logout
Serverless: Load command generate-event
Serverless: Load command test
Serverless: Load command dashboard
Serverless: Load command output
Serverless: Load command output:get
Serverless: Load command output:list
Serverless: Load command param
Serverless: Load command param:get
Serverless: Load command param:list
Serverless: Load command studio
Serverless: Load command dev
${self:custom.product}-${self:custom.component}-dev
service: foo-backend
provider:
name: aws
custom:
product: foo
component: backend
resources:
- Outputs:
Foo:
Value: just dummy...
Installed version
Framework Core: 1.74.1
Plugin: 3.6.15
SDK: 2.3.1
Components: 2.31.9