-
Notifications
You must be signed in to change notification settings - Fork 19
Description
Let us say we have a list of address objects to create. Is there a way to import them from a csv file? I am using this playbook but it does not work. any hint is appreciated.
This is my csv file:
name,value
TEST,10.0.10.0/24
-
name: Palo Alto Playbook
hosts: padevices
gather_facts: false
connection: localcollections:
- paloaltonetworks.panos
vars:
palo_provider:
ip_address: '192.168.47.151'
api_key: LUFRPT1uM3FLendXbHA3Skd2QzBUUEZqbDdNaXY0UE09eEhrdWJpMGRlL0lWSHYwaFc3Q3g2VVUwVWM1M2NMQWJ0ZzMzSkI4bzVjMC9Kakl5Um00WTk4RytPWXZzUVFzNQ==adminusername: admin
adminpassword: passwordtasks:
-
name: read from csv
read_csv:
path: "{{ '/etc/ansible/objects.csv' }}"
delimiter: ","
register: frr_csv
tags: always -
name: extract name and value field from csv
set_fact:
frr_name: "{{ frr_csv.list | map(attribute='name') | list }}"
frr_value: "{{ frr_csv.list | map(attribute='value') | list }}"
tags: always -
name: Create address object
paloaltonetworks.panos.panos_address_object:
provider: '{{ palo_provider }}'
name: '{{ frr_name }}'
value: '{{ frr_value }}'
tags: always
This is what I get when I run it:
hany@hany-virtual-machine:/etc/ansible$ ansible-playbook create-objects-fromcsv-test.yml -i devices/padevices
PLAY [Palo Alto Playbook] ********************************************************************************************
TASK [read from csv] *************************************************************************************************
ok: [PA-1]
TASK [extract name and value field from csv] *************************************************************************
ok: [PA-1]
TASK [Create address object] *****************************************************************************************
fatal: [PA-1]: FAILED! => {"changed": false, "msg": "Failed create: ['TEST'] '['TEST']' is invalid"}
PLAY RECAP ***********************************************************************************************************
PA-1 : ok=2 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
hany@hany-virtual-machine:/etc/ansible$