cloudformationではよく!Ifとか!Equalを使って条件分岐書いてたのですが、
どうやらserverless.ymlではその記法ができないそうなので。。。
ex)
develop環境の場合にはdev, production環境の場合にはprodとなるような省略名の設定値'envShorten'を作りたい
serverless.yml
provider:
name: aws
runtime: python3.6
region: ap-northeast-1
stage: ${opt:stage, 'develop'}
conf:
#hogehoge
iamRoleStatements:
#hogehoge
environment:
ENVIRONMENT_TYPE: ${self:provider.stage}
plugins:
#hogehoge
custom:
envShorten:
develop: dev
production: prod
上記のような書き方によって、!Ifなどを使わないで条件分岐を実現できる。
上記のyml内で、実際に値を取りに行くときは
${self:custom.envShorten.${self:provider.stage}}
と指定してやれば良い