summaryrefslogtreecommitdiffstats
path: root/ansible/deployment_poc/tasks/netbox_tags_pre.yml
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/deployment_poc/tasks/netbox_tags_pre.yml')
-rw-r--r--ansible/deployment_poc/tasks/netbox_tags_pre.yml34
1 files changed, 34 insertions, 0 deletions
diff --git a/ansible/deployment_poc/tasks/netbox_tags_pre.yml b/ansible/deployment_poc/tasks/netbox_tags_pre.yml
new file mode 100644
index 0000000..23a804b
--- /dev/null
+++ b/ansible/deployment_poc/tasks/netbox_tags_pre.yml
@@ -0,0 +1,34 @@
+---
+- name: Pre-deployment tagging
+ block:
+ - name: Gather tags
+ set_fact:
+ tag_exist: "{{ tags }}"
+ tag_append: "['active-deployment']"
+
+ - name: Merge tags
+ set_fact:
+ tag_merged: "{{ tag_merged + [item] }}"
+ with_items:
+ - "{{ tag_exist }}"
+ - "{{ tag_append }}"
+
+ - name: Construct body for tagging
+ set_fact:
+ body1: ' {% for tag in tag_merged %}{% if loop.last %}{"slug": "{{ tag }}"}{% else %}{"slug": "{{ tag }}"},{% endif %}{% endfor %}'
+
+ - name: Set pre-deployment tags
+ ansible.builtin.uri:
+ url: "{{ endpoint }}/virtualization/virtual-machines/{{ id }}/"
+ client_cert: "{{ cert }}"
+ client_key: "{{ key }}"
+ method: PATCH
+ return_content: yes
+ headers:
+ Accept: application/json
+ Authorization: "Token {{ token }}"
+ body_format: json
+ body: ' {"tags": [ {{ body1 }}]}'
+ delegate_to: localhost
+ no_log: true
+