通过--extra-vars

时间:2016-01-23 04:42:34

标签: ansible ansible-playbook

我通过命令行使用--extra-vars "@some_file.json"看到files can supply variables to Ansible,或者可以在字符串中将变量设置为key = value。这两个都可以吗?如果是这样,语法是什么?

2 个答案:

答案 0 :(得分:25)

同时指定两者。

CREATE TABLE foo (
    id serial primary key,
    a jsonb not null
);

insert into foo(a) values
    ('[{"b": "aaa"}, {"b": "ddd"}]'::jsonb),
    ('[{"b": "aaa"}, {"b": "aaa"}]'::jsonb),
    ('[{"b": "aaa"}]'::jsonb),
    ('[{"b": "aaa"}]'::jsonb),
    ('[{"b": "aaa"}]'::jsonb),
    ('[{"b": "bbb"}]'::jsonb),
    ('[{"b": "bbb"}]'::jsonb),
    ('[{"b": "bbb"}]'::jsonb),
    ('[{"b": "ccc"}]'::jsonb),
    ('[]'::jsonb);

select distinct id from (
    select id, jsonb_array_elements(a)->>'b' as b from foo
) t where t.b = 'aaa'

答案 1 :(得分:2)

如果你和流浪汉一起使用,那么这就是答案:

  config.vm.provision :ansible do |ansible| 
    ansible.playbook = "playbook.yml"
    ansible.extra_vars = { ansible_ssh_user: 'vagrant' }
  end

希望这会对你有所帮助。