我正在嘗試基于 CSV 檔案在 Netbox 中創建站點。由于我在站點名稱中添加了 ID,因此我不希望在沒有為站點指定 ID 時創建站點。在這種情況下,將創建 CHI 和 STO,但不會創建 BER。
我試著把
when: {{ item.ID }} not ''
在回圈進入第二個任務之前和之后,但沒有成功。
CSV:
sitename,ID,location
CHI,101,Chicago
BER,,Berlin
STO,103,Stockholm
劇本:
tasks:
- name: "read sites from csv"
community.general.read_csv:
path: sites.csv
delimiter: ','
register: sitelist
delegate_to: localhost
- name: "create/update sites in netbox"
netbox.netbox.netbox_site:
netbox_url: https://url
netbox_token: token
data:
name: "{{ item.sitename }}-{{ item.ID}}"
physical_address: "{{ item.location }}"
loop: "{{ sitelist.list }}"
uj5u.com熱心網友回復:
你必須這樣寫你的測驗:
tasks:
- name: "read sites from csv"
community.general.read_csv:
path: sites.csv
delimiter: ','
register: sitelist
delegate_to: localhost
- debug:
msg: "name: {{ item.sitename }}-{{ item.ID}}, physical_address: {{ item.location }}"
loop: "{{ sitelist.list }}"
when: item.ID != ''
結果:
ok: [localhost] => (item={'sitename': 'CHI', 'ID': '101', 'location': 'Chicago'}) => {
"msg": "name: CHI-101, physical_address: Chicago"
}
skipping: [localhost] => (item={'sitename': 'BER', 'ID': '', 'location': 'Berlin'})
ok: [localhost] => (item={'sitename': 'STO', 'ID': '103', 'location': 'Stockholm'}) => {
"msg": "name: STO-103, physical_address: Stockholm"
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/446704.html
