Ansible repository with playbooks to manage azure objects
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 

58 lignes
2.1 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', lb.tags | default({}, true)) }}"
  6. loop_control:
  7. loop_var: "tag"
  8. - name: Get load balancer
  9. azure_rm_loadbalancer_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: "{{ lb.resource_group }}"
  17. tags: "{{ tags_list | default(omit) }}"
  18. name: "{{ lb.name | default(omit) }}"
  19. register: azure_lb_facts
  20. - name: Clear ip configuration list
  21. set_fact:
  22. ip_configurations: []
  23. - name: Set subnet id
  24. include: subnetid.yml
  25. loop: "{{ lb.frontend_ip_configurations }}"
  26. loop_control:
  27. loop_var: "fipc"
  28. - name: load template
  29. template:
  30. src: azure_load_balancer.j2
  31. dest: /tmp/azure_load_balancer_body.json
  32. changed_when: false
  33. - name: Create load balancer
  34. azure_rm_resource:
  35. ad_user: "{{ azure_ad_user | default(omit) }}"
  36. password: "{{ azure_password | default(omit) }}"
  37. subscription_id: "{{ azure_subscription_id | default(lookup('env', 'AZURE_SUBSCRIPTION_ID')) }}"
  38. client_id: "{{ azure_client_id | default(lookup('env', 'AZURE_CLIENT_ID')) }}"
  39. secret: "{{ azure_secret | default(lookup('env', 'AZURE_SECRET')) }}"
  40. tenant: "{{ azure_tenant | default(lookup('env', 'AZURE_TENANT')) }}"
  41. resource_name: "{{ lb.name | urlencode }}"
  42. resource_type: "loadBalancers"
  43. resource_group: "{{ lb.resource_group }}"
  44. provider: "Network"
  45. idempotency: true
  46. body: "{{ lookup('file', '/tmp/azure_load_balancer_body.json') }}"
  47. method: "{{ lb.method | default(omit, true) }}"
  48. subresource: "{{ lb.subresource | default(omit, true) }}"
  49. status_code: "{{ lb.status_code | default(omit, true) }}"
  50. state: "present"
  51. register: createlb
  52. ...