とりわけ AWS CloudFormation スタックを作成する PowerShell スクリプトを作成しようとしています。aws cloudformation create-stack コマンドに問題がありますが、パラメーターを取得していないようです。これが私に問題を与えているスニペットです:
$version = Read-Host 'What version is this?'
aws cloudformation create-stack --stack-name Cloud-$version --template-body C:\awsdeploy\MyCloud.template --parameters ParameterKey=BuildNumber,ParameterValue=$version
私が受け取るエラーは次のとおりです。
aws :
At C:\awsdeploy\Deploy.ps1:11 char:1
+ aws cloudformation create-stack --stack-name Cloud-$version --template-bo ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
A client error (ValidationError) occurred when calling the CreateStack operation: ParameterValue for ParameterKey BuildNumber is required
AWS Explorer 経由で問題なく実行できるため、CloudFormation スクリプトが問題ないことはわかっています。パラメータ セクションは次のようになります。
"Parameters" : {
"BuildNumber" : { "Type" : "Number" }
},
私は次のことを試しましたが、どれも役に立たないようです:
- $version を静的な値に置き換える
- パラメータの型を Number から String に変更する
- パラメータリストを JSON 形式で渡そうとしています
これらのいずれにもサイコロはありません。同じエラーです。何らかの理由でパラメーターを受け入れていないようです。何か案は?