Ansible repository with playbooks to manage azure objects
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 

58 satır
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. ...