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.
 
 
 

55 lines
2.0 KiB

  1. ---
  2. - set_fact:
  3. tags_list: "{{ tags_list | default([]) |
  4. 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_facts:
  10. ad_user: "{{ azure_ad_user | default(omit) }}"
  11. password: "{{ azure_password | default(omit) }}"
  12. subscription_id: "{{ azure_subscription_id | default(omit) }}"
  13. client_id: "{{ azure_client_id | default(omit) }}"
  14. secret: "{{ azure_secret | default(omit) }}"
  15. tenant: "{{ azure_tenant | default(omit) }}"
  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: Create load balancer
  29. azure_rm_loadbalancer:
  30. ad_user: "{{ azure_ad_user | default(omit) }}"
  31. password: "{{ azure_password | default(omit) }}"
  32. subscription_id: "{{ azure_subscription_id | default(omit) }}"
  33. client_id: "{{ azure_client_id | default(omit) }}"
  34. secret: "{{ azure_secret | default(omit) }}"
  35. tenant: "{{ azure_tenant | default(omit) }}"
  36. name: "{{ lb.name }}"
  37. backend_address_pools: "{{ lb.backend_address_pools }}"
  38. frontend_ip_configurations: "{{ ip_configurations }}"
  39. inbound_nat_pools: "{{ lb.inbound_nat_pools | default(omit, true) }}"
  40. inbound_nat_rules: "{{ lb.inbound_nat_rules | default(omit, true) }}"
  41. load_balancing_rules: "{{ lb.load_balancing_rules | default(omit, true) }}"
  42. location: "{{ lb.location | default(omit, true) }}"
  43. probes: "{{ lb.probes }}"
  44. resource_group: "{{ lb.resource_group }}"
  45. sku: "{{ lb.sku | default('Standard', true) }}"
  46. state: "present"
  47. append_tags: false
  48. tags: "{{ lb.tags | default(omit, true) }}"
  49. register: createlb
  50. ...