I am trying to read a YAML file that has the tag !vault
in it. I get the error:
could not determine a constructor for the tag '!vault'
Upon reading a couple of blogs, I understood that I need to specify some constructors to resolve this issue, but I'm not clear on how to do it.
import yaml
from yaml.loader import SafeLoaderwith open('test.yml' ) as stream:try:inventory_info = yaml.safe_load(stream)except yaml.YAMLError as exc:print(exc)User = inventory_info['all']['children']['linux']['vars']['user']
key = inventory_info['all']['children']['linux']['vars']['key_file']
The YAML file I am using:
all:children:rhel:hosts: 172.18.144.98centos:hosts: 172.18.144.98 linux:children:rhel:centos:vars:user: "o9ansibleuser"key_file: "test.pem"ansible_password: !vault |$ANSIBLE_VAULT;2.1;AES2563234567899353936376166353