Puppet:curl调用在couchdb中创建vHost
我正在尝试使用curl在puppet文件中为couchDB创建vHost:Puppet:curl调用在couchdb中创建vHost,curl,couchdb,puppet,vhosts,Curl,Couchdb,Puppet,Vhosts,我正在尝试使用curl在puppet文件中为couchDB创建vHost: exec {'setup-vhosts': command => "curl -X PUT http://127.0.0.1:5984/_config/vhosts/mycool.url -d '"/my_database"'", require => [Service['couchdb'], Package['curl']], } 但我得到了一个错误: “”处的语法错误;在/tmp/vag
exec {'setup-vhosts':
command => "curl -X PUT http://127.0.0.1:5984/_config/vhosts/mycool.url -d '"/my_database"'",
require => [Service['couchdb'], Package['curl']],
}
但我得到了一个错误:
“”处的语法错误;在/tmp/vagrant puppet/modules-0/couchdb/manifests/init.pp处应为“}”
如果我在机器上执行这个命令,它就可以正常工作。如何正确地转义该命令?我认为应该转义双引号,或者只在字符串中使用单引号
exec {'setup-vhosts':
command => "curl -X PUT http://127.0.0.1:5984/_config/vhosts/mycool.url -d \"/my_database\"",
require => [Service['couchdb'], Package['curl']],
}
或
另外,请注意,您必须防止此exec在每个puppetrun上运行。我使用以下方法修复了它:
exec {'setup-vhosts':
command => "curl -X PUT http://127.0.0.1:5984/_config/vhosts/mycool.url -d \'\"/my_database\"\'",
require => [Service['couchdb'], Package['curl']],
}
感谢Ger Apeldoorn指出我要使用正确的转义。对于这两个选项,我都得到了响应{“error”:“bad_request”,“reason”:“invalid UTF-8 JSON”}这将是CouchDB错误,Puppet现在正在工作。对不起,我不知道。
exec {'setup-vhosts':
command => "curl -X PUT http://127.0.0.1:5984/_config/vhosts/mycool.url -d \'\"/my_database\"\'",
require => [Service['couchdb'], Package['curl']],
}