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.
 
 
 

61 lines
2.2 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', rt.tags | default({}, true)) }}"
  6. loop_control:
  7. loop_var: "tag"
  8. - name: Get route table
  9. azure_rm_routetable_info:
  10. ad_user: "{{ azure_ad_user | default(omit) }}"
  11. password: "{{ azure_password | default(omit) }}"
  12. subscription_id: "{{ rt.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: "{{ rt.resource_group }}"
  17. name: "{{ rt.name | default(omit) }}"
  18. register: azure_rt_facts
  19. - name: debug
  20. debug:
  21. var: azure_rt_facts
  22. - name: keep udr
  23. set_fact:
  24. routes: "{{ rt.routes | default([]) | union([route]) }}"
  25. loop: "{{ azure_rt_facts.route_tables[0].routes }}"
  26. loop_control:
  27. loop_var: "route"
  28. when:
  29. - azure_rt_facts.route_tables is defined
  30. - (azure_rt_facts.route_tables | length) == 1
  31. - name: load template
  32. template:
  33. src: azure_route_table.j2
  34. dest: /tmp/azure_route_table_body.json
  35. changed_when: false
  36. - name: Create route table
  37. azure_rm_resource:
  38. ad_user: "{{ azure_ad_user | default(omit) }}"
  39. password: "{{ azure_password | default(omit) }}"
  40. subscription_id: "{{ rt.azure_subscription_id | default(lookup('env', 'AZURE_SUBSCRIPTION_ID')) }}"
  41. client_id: "{{ azure_client_id | default(lookup('env', 'AZURE_CLIENT_ID')) }}"
  42. secret: "{{ azure_secret | default(lookup('env', 'AZURE_SECRET')) }}"
  43. tenant: "{{ azure_tenant | default(lookup('env', 'AZURE_TENANT')) }}"
  44. resource_name: "{{ rt.name }}"
  45. resource_type: "routeTables"
  46. resource_group: "{{ rt.resource_group }}"
  47. provider: "Network"
  48. idempotency: true
  49. body: "{{ lookup('file', '/tmp/azure_route_table_body.json') }}"
  50. method: "{{ rt.method | default(omit, true) }}"
  51. subresource: "{{ rt.subresource | default(omit, true) }}"
  52. status_code: "{{ rt.status_code | default(omit, true) }}"
  53. state: "present"
  54. register: creatert
  55. ...