无法将哈希的嵌套数组传递给Vagrant';s ansible_本地供应商

无法将哈希的嵌套数组传递给Vagrant';s ansible_本地供应商,vagrant,ansible,Vagrant,Ansible,我正在尝试添加自定义HBA条目,以允许主机连接到在Vagrant box上运行的PostgreSQL实例: config.vm.provision "ansible_local" do |ansible| ansible.playbook = "provisioning/playbook.yml" ansible.galaxy_role_file = "provisioning/requirements.yml" ansible.host_vars = { "default"

我正在尝试添加自定义HBA条目,以允许主机连接到在Vagrant box上运行的PostgreSQL实例:

config.vm.provision "ansible_local" do |ansible|
  ansible.playbook = "provisioning/playbook.yml"
  ansible.galaxy_role_file = "provisioning/requirements.yml"
  ansible.host_vars = {
    "default" => {
      "postgresql_listen_addresses" => "*",
      "postgresql_pg_hba_custom" => [{
        "type" => "host",
        "database" => "vagrant",
        "user" => "vagrant",
        "address" => "samenet",
        "method" => "password"
      }],
      "database_name" => "vagrant",
      "database_username" => "vagrant",
      "database_password" => "password",
      "node_environment" => "development"
    }
  }
end
我得到了一个错误:

AnsibleUndefinedVariable:“unicode对象”没有属性“type”


如何在vagrant文件中传递主机变量的嵌套(复杂)配置值?

检查自动生成的清单文件/tmp/vagrant ansible/inventory/vagrant ansible\u local\u inventory中主机条目的主机变量编码方式:

# Generated by Vagrant default ... postgresql_pg_hba_custom=[{"type"=>"host", "database"=>"vagrant", "user"=>"vagrant", "address"=>"samenet", "method"=>"password"}] database_name=vagrant database_username=vagrant database_password=password node_environment=development 生成的库存文件现在将是:

# Generated by Vagrant default ... postgresql_pg_hba_custom='[{"type":"host","database":"vagrant","user":"vagrant","address":"samenet","method":"password"}]' database_name=vagrant database_username=vagrant database_password=password node_environment=development #流浪汉产生的 违约postgresql\u pg\u hba\u custom='[{“类型”:“主机”、“数据库”:“漫游”、“用户”:“漫游”、“地址”:“samenet”、“方法”:“密码”}]'数据库\u名称=漫游数据库\u密码=密码节点\u环境=开发 # Generated by Vagrant default ... postgresql_pg_hba_custom='[{"type":"host","database":"vagrant","user":"vagrant","address":"samenet","method":"password"}]' database_name=vagrant database_username=vagrant database_password=password node_environment=development