130 lines
3.5 KiB
YAML
130 lines
3.5 KiB
YAML
---
|
|
- ansible.builtin.set_fact:
|
|
before:
|
|
a:
|
|
b:
|
|
c:
|
|
d:
|
|
- 0
|
|
- 1
|
|
after:
|
|
a:
|
|
b:
|
|
c:
|
|
d:
|
|
- 2
|
|
- 3
|
|
|
|
- name: Show the difference in json format
|
|
ansible.utils.fact_diff:
|
|
before: "{{ before }}"
|
|
after: "{{ after }}"
|
|
|
|
# TASK [ansible.utils.fact_diff] **************************************
|
|
# --- before
|
|
# +++ after
|
|
# @@ -3,8 +3,8 @@
|
|
# "b": {
|
|
# "c": {
|
|
# "d": [
|
|
# - 0,
|
|
# - 1
|
|
# + 2,
|
|
# + 3
|
|
# ]
|
|
# }
|
|
# }
|
|
#
|
|
# changed: [localhost]
|
|
|
|
- name: Show the difference in path format
|
|
ansible.utils.fact_diff:
|
|
before: "{{ before|ansible.utils.to_paths }}"
|
|
after: "{{ after|ansible.utils.to_paths }}"
|
|
|
|
# TASK [ansible.utils.fact_diff] **************************************
|
|
# --- before
|
|
# +++ after
|
|
# @@ -1,4 +1,4 @@
|
|
# {
|
|
# - "a.b.c.d[0]": 0,
|
|
# - "a.b.c.d[1]": 1
|
|
# + "a.b.c.d[0]": 2,
|
|
# + "a.b.c.d[1]": 3
|
|
# }
|
|
#
|
|
# changed: [localhost]
|
|
|
|
- name: Show the difference in yaml format
|
|
ansible.utils.fact_diff:
|
|
before: "{{ before|to_nice_yaml }}"
|
|
after: "{{ after|to_nice_yaml }}"
|
|
|
|
# TASK [ansible.utils.fact_diff] **************************************
|
|
# --- before
|
|
# +++ after
|
|
# @@ -2,5 +2,5 @@
|
|
# b:
|
|
# c:
|
|
# d:
|
|
# - - 0
|
|
# - - 1
|
|
# + - 2
|
|
# + - 3
|
|
|
|
# changed: [localhost]
|
|
|
|
|
|
#### Show the difference between complex object using restconf
|
|
# ansible_connection: ansible.netcommon.httpapi
|
|
# ansible_httpapi_use_ssl: True
|
|
# ansible_httpapi_validate_certs: False
|
|
# ansible_network_os: ansible.netcommon.restconf
|
|
|
|
# - name: Get the current interface config prior to changes
|
|
# ansible.netcommon.restconf_get:
|
|
# content: config
|
|
# path: /data/Cisco-NX-OS-device:System/intf-items/phys-items
|
|
# register: pre
|
|
|
|
# - name: Update the description of eth1/100
|
|
# ansible.utils.update_fact:
|
|
# updates:
|
|
# - path: "pre['response']['phys-items']['PhysIf-list'][{{ index }}]['descr']"
|
|
# value: "Configured by ansible {{ 100 | random }}"
|
|
# vars:
|
|
# index: "{{ pre['response']['phys-items']['PhysIf-list']|ansible.utils.index_of('eq', 'eth1/100', 'id') }}"
|
|
# register: updated
|
|
|
|
# - name: Apply the configuration
|
|
# ansible.netcommon.restconf_config:
|
|
# path: 'data/Cisco-NX-OS-device:System/intf-items/'
|
|
# content: "{{ updated.pre.response}}"
|
|
# method: patch
|
|
|
|
# - name: Get the current interface config after changes
|
|
# ansible.netcommon.restconf_get:
|
|
# content: config
|
|
# path: /data/Cisco-NX-OS-device:System/intf-items/phys-items
|
|
# register: post
|
|
|
|
# - name: Show the difference
|
|
# ansible.utils.fact_diff:
|
|
# before: "{{ pre.response|ansible.utils.to_paths }}"
|
|
# after: "{{ post.response|ansible.utils.to_paths }}"
|
|
|
|
# TASK [ansible.utils.fact_diff] *********************************************
|
|
# --- before
|
|
# +++ after
|
|
# @@ -3604,7 +3604,7 @@
|
|
# "phys-items['PhysIf-list'][37].bw": "0",
|
|
# "phys-items['PhysIf-list'][37].controllerId": "",
|
|
# "phys-items['PhysIf-list'][37].delay": "1",
|
|
# - "phys-items['PhysIf-list'][37].descr": "Configured by ansible 95",
|
|
# + "phys-items['PhysIf-list'][37].descr": "Configured by ansible 20",
|
|
# "phys-items['PhysIf-list'][37].dot1qEtherType": "0x8100",
|
|
# "phys-items['PhysIf-list'][37].duplex": "auto",
|
|
# "phys-items['PhysIf-list'][37].id": "eth1/100",
|
|
|
|
# changed: [nxos101]
|