我的要求如下:
<Resource auth="Container" logAbandoned="true" name="jdbc/InfraForms"
type="javax.sql.DataSource" url="jdbc:jtds:sqlserver://<MY_SERVER_IP>:143;lastUpdateCount=true;useLOBs=false"
username="XXXXX" password="qqqTyIDd7Rd4JahLDjHJH6LvQ=="
testOnBorrow="true" validationQuery="SELECT 1" closeMethod="close"/>
<Manager pathname=""/>
</Context>
以上是一个文件contact.xml中的内容,我需要获取密码qqqTyIDd7Rd4JahLDjHJH6LvQ==
的值。
我如何通过Ansible任务实现这一目标?
答案 0 :(得分:1)
如果您想尝试使用包含的模块,可以使用slurp模块和set_fact模块,使用jinja2,您可以使用如下正则表达式提取密码:
- name: Slurp file
slurp:
src: /your/file
register: passwordfile
- name: Set Password
set_fact:
your_password: "{{ passwordfile['content'] | b64decode | regex_findall('\bpassword\b\=\"(.+)\"') }}"
答案 1 :(得分:0)
您可以使用https://docs.ansible.com/ansible/2.4/xml_module.html
有&#34;检索并显示&#34;
的示例你需要使用pip安装一个python模块,但是应该这样做
OR:
shell: cat /path/to/your_file.xml | grep -e username -e password | awk -F '"' '{print $4}'
register: output
当你想要获得价值时,你只需要调用{{output.stdout}}