はじめに
これは新規の pipeline を CloudFormation で作成することになり物凄く困った時のメモです。
結論
Cloudformation のリファレンスを地道に1つずつ必須を調べました。
(足りなかったのは OutputArtifacts と InputArtifacts の Name)
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html
経緯
ローカルに立てた former2 で既存のパイプラインをテンプレート化して、新しくスタックで作ろうとした時にエラーが表示され失敗してしまいました。
- CloudFormationは初めて利用したので
「Properties のどこかの Name の変数が空になってるのかな?」
と解釈していろいろ試しましたが解決しませんでした。 - 次に"Property Name cannot be empty."で検索しましたがまったくよい検索結果は得られませんでした。
- それからチュートリアルを読んでみたり、 変数をOutputs に表示しようとしたり、いろいろな所をコメントアウトして動作させてみましたところ
「Property Stage cannot be empty.」
と表示され「必須項目のどこかの Name が無い」と言う事に気付けました。 - そこからは CloudFormation のpipelineのリファレンスを見て必須項目を1つ1つ確認して OutputArtifacts と InputArtifacts に Nameが無いことにたどりつき、無事にスタックを作成することができました。
おわりに
テンプレートリファレンス、すごい、だいじ
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/template-reference.html
(あと英語力をもうちょっとなんとか……)