Herebelow you will find an ansible playbook to backup all your NSX-T components. You can add more tasks for your different NSX-Ts. In my playbook I use 2 tasks for my DEV NSX-T. but I have another URL variable and I can use it in another 2 tasks.
The first task will get the output of the listed items (Segmets, Groups, FW Policies,...etc). and the second task will get everything. but it will not be easy to work on teh second task during crisies. because it contains a lot of data and you will get lost 😂.
Note: you can use the second task response to restore your NSX-T environment.- hosts: localhost
connection: local
gather_facts: no
vars:
host:
dev:
- https://URL1/policy/api/v1/infra
prod:
- https://URL2/policy/api/v1/infra/
nsxpassword: !vault |
$ANSIBLE_VAULT;1.1;AES256
6632653863373166623766653666666666666666661393965633934386536363463386463
tasks:
- name: DEV NSX-T Backup
uri:
url: "{{ host.dev[0] }}{{ item }}"
force_basic_auth: yes
validate_certs: no
headers:
Accept: "application/json"
Content-Type: "application/json"
user: admin
password: "{{ nsxpassword }}"
method: GET
status_code: "200"
body_format: json
with_items:
- /segments
- /domains/default/groups
- /domains/security-policies
- /tier-0s/Test-T0
- /tier-0s/Test-T0/locale-services/default/bgp
- /tier-0s/Test-T0/locale-services/default/bgp/neighbors
- /tier-0s/Test-T0/locale-services/default/interfaces
- /tier-1s/T1
register: response
- debug: var=response
- name: DEV NSX-T All components Backup
uri:
url: "{{ host.dev[0] }}{{ item }}"
force_basic_auth: yes
validate_certs: no
headers:
Accept: "application/json"
Content-Type: "application/json"
user: admin
password: "{{ nsxpassword }}"
method: GET
status_code: "200"
body_format: json
with_items:
- ?filter=Type-
register: response
- debug: var=response
No comments:
Post a Comment