Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Puppet:curl调用在couchdb中创建vHost_Curl_Couchdb_Puppet_Vhosts - Fatal编程技术网

Puppet:curl调用在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

我正在尝试使用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/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']],
}