Yaml 向测试厨房添加属性
我试图用重写Yaml 向测试厨房添加属性,yaml,chef-infra,test-kitchen,Yaml,Chef Infra,Test Kitchen,我试图用重写javacookbook中的属性 当我尝试运行default-centos-64时,出现了一个错误的YAML --- driver: name: vagrant customize: memory: 1024 cpuexecutioncap: 50 provisioner: name: chef_solo platforms: - name: centos-6.4 suites: - name: default run_list:
java
cookbook中的属性
当我尝试运行default-centos-64
时,出现了一个错误的YAML
---
driver:
name: vagrant
customize:
memory: 1024
cpuexecutioncap: 50
provisioner:
name: chef_solo
platforms:
- name: centos-6.4
suites:
- name: default
run_list:
- recipe[java::default]
- recipe[maven::default]
attributes: {
java.install_flavor: "oracle",
java.jdk_version: "7"
}
我把上面的东西贴到了墙上。当我点击“Go”时,它会删除从“attributes”开始的所有行,然后显示绿色的“Valid YAML”。属性作为正常YAML内容提供:
suites:
- name: default
run_list:
- recipe[java::default]
- recipe[maven::default]
attributes:
java:
install_flavor: "oracle",
jdk_version: "7"
显示的语法与您的类似:
suites:
- name: default
run_list:
- recipe[java::default]
- recipe[maven::default]
attributes: { 'java': { 'install_flavor': 'oracle' } }
同时提供yaml属性,而不是json属性。谢谢,这很有效。你想把答案贴出来吗?谢谢你,我很高兴它能帮上忙。在搜索任何文档时,我想知道github wiki中的示例。那么不需要大括号了吗?我一直在成功地使用它们。示例:
attributes:{'java':{'install_flavor':'oracle'}}
我使用的是完整的yaml样式,但似乎这并不重要,如果它是完整的yaml或者整个属性是有效的json哈希(我会说你的不是有效的json样式)。我正在更新我的答案。很容易混淆新的ruby哈希表示法和json哈希表示法。这是一个ruby散列,其中一个名为key的符号映射到字符串“value”:{key:“value”}
。这是一个json哈希,对应于{“key”:“value”}
。在ruby 2.0之前更容易发现ruby哈希,它们都是这样的{:key=>“value”}