我正在使用来自elasticsearch的以下资源:
elasticsearch_configure 'elasticsearch' do
configuration ({
'path.repo' => ["/backups/s3_currently_dev", "/backups/s3_currently", "/backups/s3_daily", "/backups/s3_weekly", "/backups/s3_monthly"]
})
end我恰好需要以下输出:
path.repo: ["/backups/s3_currently_dev", "/backups/s3_currently", "/backups/s3_daily", "/backups/s3_weekly", "/backups/s3_monthly"]但我得到了以下几点:
path.repo:
- "/backups/s3_currently_dev"
- "/backups/s3_currently"
- "/backups/s3_daily"
- "/backups/s3_weekly"
- "/backups/s3_monthly"这似乎不管用。如何获得所需的输出?
重现:
1- Install Chef.
2- Create a cookbook.
3- Use elasticsearch community cookbook to install elasticsearch and configure with the resource shown.
4- Use kitchen or vagrant to create.发布于 2017-10-21 03:30:48
您可以使用YAML.load解析现有输出,如下所示:
require 'yaml'
=> true
config = 'path.repo:
- "/backups/s3_currently_dev"
- "/backups/s3_currently"
- "/backups/s3_daily"
- "/backups/s3_weekly"
- "/backups/s3_monthly"'
=> "path.repo:\n- \"/backups/s3_currently_dev\"\n- \"/backups/s3_currently\"\n- \"/backups/s3_daily\"\n- \"/backups/s3_weekly\"\n- \"/backups/s3_monthly\""
doc = YAML.load config
=> {"path.repo"=>["/backups/s3_currently_dev", "/backups/s3_currently", "/backups/s3_daily", "/backups/s3_weekly", "/backups/s3_monthly"]}
doc["path.repo"]
=> ["/backups/s3_currently_dev", "/backups/s3_currently", "/backups/s3_daily", "/backups/s3_weekly", "/backups/s3_monthly"]https://stackoverflow.com/questions/46844987
复制相似问题