AWS SSMパラメータストアUIでキーと値のペアをmy-ssm-key
= ssm-value
として構成しました。
サーバーレスで構築されたCF用の次のYAMLテンプレートがあります。
service: redirect-test
provider:
name: aws
runtime: python3.8
environment:
ssm_value: '{{resolve:ssm:my-ssm-key:1}}'
ssm_value_is_correct: !If [SSM_KEY_IS_CORRECT, yes, no]
functions:
hello:
handler: handler.hello
resources:
Conditions:
SSM_KEY_IS_CORRECT:
!Equals
- '{{resolve:ssm:my-ssm-key:1}}'
- 'ssm-value'
スタックをデプロイすると、環境変数がssm_value
= ssm-value
およびssm_value_is_correct
= no
に設定されます。
条件文が「はい」ではなく「いいえ」に解決されるのはなぜですか?条件文でSSMパラメータストア値を使用する正しい方法は何ですか?
このCFテンプレートを使用して問題を解決できました。
service: redirect-test
provider:
name: aws
runtime: python3.8
environment:
ssm_value: !Ref MySSMValue
ssm_value_is_correct: !If [SSM_KEY_IS_CORRECT, yes, no]
functions:
hello:
handler: handler.hello
resources:
Conditions:
SSM_KEY_IS_CORRECT:
!Equals
- !Ref MySSMValue
- ssm-value
Parameters:
MySSMValue:
Description: My SSM Value
Type: AWS::SSM::Parameter::Value<String>
Default: my-ssm-key