- name: Fix resource prefix set_fact: fixed_resource_prefix: "{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}" - name: Fix resource prefix set_fact: funcapp_name_basic: "fa{{ fixed_resource_prefix }}basic" funcapp_name_container: "fa{{ fixed_resource_prefix }}container" funcapp_name_params: "fa{{ fixed_resource_prefix }}params" storage_account_name: "sa{{ fixed_resource_prefix }}" plan_name: "ap{{ fixed_resource_prefix }}" - name: create storage account for function apps azure_rm_storageaccount: resource_group: '{{ resource_group }}' name: "{{ storage_account_name }}" account_type: Standard_LRS - name: create basic function app azure_rm_functionapp: resource_group: "{{ resource_group }}" name: "{{ funcapp_name_basic }}" storage_account: "{{ storage_account_name }}" register: output - name: assert the function was created assert: that: output.changed - name: list facts for function azure_rm_functionapp_facts: resource_group: '{{ resource_group }}' name: "{{ funcapp_name_basic }}" register: results - name: assert the facts were retrieved assert: that: - results.ansible_facts.azure_functionapps|length == 1 - results.ansible_facts.azure_functionapps[0].name == "{{ funcapp_name_basic }}" - name: delete basic function app azure_rm_functionapp: resource_group: '{{ resource_group }}' name: "{{ funcapp_name_basic }}" state: absent register: output - name: assert the function was deleted assert: that: output.changed - name: create a function with app settings azure_rm_functionapp: resource_group: '{{ resource_group }}' name: "{{ funcapp_name_params }}" storage_account: "{{ storage_account_name }}" app_settings: hello: world things: more stuff FUNCTIONS_EXTENSION_VERSION: "~2" register: output - name: assert the function with app settings was created assert: that: output.changed - name: change app settings azure_rm_functionapp: resource_group: '{{ resource_group }}' name: "{{ funcapp_name_params }}" storage_account: "{{ storage_account_name }}" app_settings: hello: world things: more stuff FUNCTIONS_EXTENSION_VERSION: "~2" another: one register: output - name: assert the function was changed assert: that: output.changed - name: delete the function app azure_rm_functionapp: resource_group: '{{ resource_group }}' name: "{{ funcapp_name_params }}" state: absent register: output - name: assert the function was deleted assert: that: output.changed - name: Create a linux app service plan azure_rm_appserviceplan: resource_group: "{{ resource_group }}" name: "{{ plan_name }}" sku: S1 is_linux: true number_of_workers: 1 - name: "Create azure function app {{ function_app }}" azure_rm_functionapp: resource_group: "{{ resource_group }}" name: "{{ funcapp_name_container }}" storage_account: "{{ storage_account_name }}" plan: resource_group: "{{ resource_group }}" name: "{{ plan_name }}" container_settings: name: httpd app_settings: FUNCTIONS_EXTENSION_VERSION: "~2" register: output - name: assert the function was changed assert: that: output.changed - name: delete the function app azure_rm_functionapp: resource_group: '{{ resource_group }}' name: "{{ funcapp_name_container }}" state: absent - name: delete storage account azure_rm_storageaccount: resource_group: '{{ resource_group }}' name: "{{ storage_account_name }}" state: absent