私のヒートテンプレートは次のようなものです:
windows_instance:
type: OS::Nova::Server
properties:
image: {get_param: imagever }
flavor: m1.large
key_name: test
networks:
- port: { get_resource: publicport }
user_data_format: RAW
user_data:
str_replace:
template: |
#ps1
testps "$srcurl" "$dest" -Verbose
params:
$dest: { get_param: target_location }
$srcurl: { get_param: url_src }
testps: { get_file: test1.ps1 }
test1.ps1 :
param([String]$src, [String]$dest)
Write-Host "url is:" + $src
write-host "dest is:" + $dest
しかし、cloudbase-init.log が報告しました: executeuserdatascript C:\Program Files (x86)\Cloudbase Solutions\Cloudbase-Init\Python27\lib\site-packages\cloudbaseinit\plugins\windows\userdatautils.py:58 2015-04-27 18 :40:06.905 1788 DEBUG cloudbaseinit.plugins.windows.userdatautils [-] Userdata stderr: 'param' という用語は、コマンドレット、関数、スクリプト fi の名前として認識されません
ファイル、または操作可能なプログラム。名前のスペルを確認するか、パスが含まれていたかどうかを確認してください
パスが正しいことを確認して、再試行してください。
C:\Users\cloudbase-init\appdata\local\temp\6ea2afb5-645b-430c-91a2-a67c3201f
5db.ps1:7 文字:7
param <<<< ([String]$src, [String]$dest)
CategoryInfo : ObjectNotFound: (param:String) [], CommandNotFou
ndException
FullyQualifiedErrorId : CommandNotFoundException
では、heat テンプレートを使用して powershell スクリプトにパラメーターを渡す正しい方法は何ですか?