Ansible repository with playbooks to manage azure objects
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

39 lines
1.7 KiB

  1. ---
  2. - name: Build tags list
  3. set_fact:
  4. tags_list: "{{ tags_list | default([]) | union([[tag.key,tag.value]|join(':')]) }}"
  5. loop: "{{ lookup('dict', vm.tags | default({})) }}"
  6. loop_control:
  7. loop_var: "tag"
  8. - name: Get virtual machine
  9. azure_rm_virtualmachine_info:
  10. ad_user: "{{ azure_ad_user | default(omit) }}"
  11. password: "{{ azure_password | default(omit) }}"
  12. subscription_id: "{{ azure_subscription_id | default(lookup('env', 'AZURE_SUBSCRIPTION_ID')) }}"
  13. client_id: "{{ azure_client_id | default(lookup('env', 'AZURE_CLIENT_ID')) }}"
  14. secret: "{{ azure_secret | default(lookup('env', 'AZURE_SECRET')) }}"
  15. tenant: "{{ azure_tenant | default(lookup('env', 'AZURE_TENANT')) }}"
  16. resource_group: "{{ vm.resource_group }}"
  17. tags: "{{ tags_list | default(omit) }}"
  18. name: "{{ vm.name | default(omit) }}"
  19. register: azure_vm_facts
  20. failed_when: false
  21. - name: Delete virtual machine
  22. azure_rm_virtualmachine:
  23. ad_user: "{{ azure_ad_user | default(omit) }}"
  24. password: "{{ azure_password | default(omit) }}"
  25. subscription_id: "{{ azure_subscription_id | default(lookup('env', 'AZURE_SUBSCRIPTION_ID')) }}"
  26. client_id: "{{ azure_client_id | default(lookup('env', 'AZURE_CLIENT_ID')) }}"
  27. secret: "{{ azure_secret | default(lookup('env', 'AZURE_SECRET')) }}"
  28. tenant: "{{ azure_tenant | default(lookup('env', 'AZURE_TENANT')) }}"
  29. name: "{{ vm.name }}"
  30. image: "{{ vm.image }}"
  31. remove_on_absent: "{{ vm.remove_on_absent | default(['all_autocreated'], true) }}"
  32. resource_group: "{{ vm.resource_group }}"
  33. virtual_network: "{{ vm.virtual_network | default(omit, true) }}"
  34. state: "absent"
  35. register: deletedvm
  36. ...