0

/を使用してテキストを作成しようとしています。ここに私のcloudformationコードは次のとおりです。/とサブ関数を一緒に使用しようとすると制約が発生する

Resources: 
    KeyAlias: 
    Type: AWS::KMS::Alias 
    DependsOn: KMSKey 
    Properties: 
     AliasName: alias/!Sub ${project}-${EnvironmentApp} 
     TargetKeyId: 
     Ref: KMSKey 

私はこのライン上の制約の検証エラーを取得:

AliasName: alias/!Sub ${project}-${EnvironmentApp} 

どうやらCFNは/そこに好きではありません。しかし、私は、静的なようなもので、サブ機能を交換する際に:私は次のように結合を使用する場合

"AliasName": alias/test 

はまた:

 AliasName: 
     - Fn::Join: 
      - "/" 
      - - 'alias' 
      - Ref: project 
      - Ref: EnvironmentApp 

を私は次のエラーを取得する:プロパティのエイリアス名の

値でなければなりません文字列型

どのようにして上記の問題を解決できますか?それとも、まったく可能ですか?

答えて

1

次のようにあなたが必見AWS::KMS::Alias用Cloudformationドキュメントに基づいて

AliasName: !Sub 
    - alias/${project}-${EnvironmentApp} 
    - { project: !Ref project, EnvironmentApp: !Ref EnvironmentApp} 

(テストされていない)サブ組み込み関数を使用してみてください。また、あなたがDependsOnを必要としない/

が含まれますこのケースではKMSKeyTargetKeyIdで参照されているので

+0

はい、これは何ですか? - {project:!Ref project、EnvironmentAp p:!Ref EnvironmentApp}?プロジェクトとEnvironmentAppは私がユーザーから得たパラメータですので、私はサブを使用すると混乱しています。なぜ置き換えが必要なのでしょうか - {project:!Refプロジェクト、EnvironmentApp:!Ref EnvironmentApp} –

+0

[Sub documentationの例](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html#w2ab2c21c28c56c11)。 'AliasName:!Sub alias/$ {project} - $ {EnvironmentApp}'のようなものを試してみることもできます。 '!Sub'を使う前に、あなたの最初の問題が 'エイリアス/ – tkwargs

関連する問題