Ansible Playbook Samples for Azure
Clone or download
yungezz and zikalino sample to scale app service plan (#51)
* add app service plan scale up sample

* add location

* update doc

* resolve comments
Latest commit 6fcea04 Dec 10, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update Jun 8, 2018
__helpers Webapp1 (#45) Sep 17, 2018
azure_rm_subnet rename variable names (#52) Nov 27, 2018
rest rename variable names (#52) Nov 27, 2018
vmss rename variable names (#52) Nov 27, 2018
.gitignore add code guidline, update readme, and yml files Mar 30, 2018
.travis.yml adding vm_create_image sample (#48) Sep 20, 2018 fix typo Mar 30, 2018 Initial commit Dec 21, 2017 added steps required to run this playbook (#54) Nov 22, 2018
aci_create_with_acr.yml test ymls in subfolder (#38) Jul 10, 2018
aks_create_scale.yml Added sample playbooks for AKS (#32) Jul 26, 2018
appgateway_create.yml Update appgateway_create.yml Sep 20, 2018
appserviceplan_scale.yml sample to scale app service plan (#51) Dec 10, 2018
create_virtualmachine_with_subnet_in_different_resource_group.yml added steps required to run this playbook (#54) Nov 22, 2018
keyvault_create.yml fix travis ci to test against official ansible, add excluded list (#35) Jul 6, 2018
mysql_create.yml [WIP] fixing tests (#28) Jun 25, 2018
networkinterface_with_virtualnetwork_in_another_resource_group.yml test updated yml file only (#39) Jul 10, 2018
postgresql_create.yml [WIP] fixing tests (#28) Jun 25, 2018
sql_create.yml [WIP] fixing tests (#28) Jun 25, 2018
vm_create.yml [WIP] fixing tests (#28) Jun 25, 2018
vm_create_existingvnet_deployjavaapp.yml rename variable names (#52) Nov 27, 2018
vm_create_image.yml rename variable names (#52) Nov 27, 2018
vm_create_ssh.yml [WIP] fixing tests (#28) Jun 25, 2018
vm_create_windows.yml fix travis ci to test against official ansible, add excluded list (#35) Jul 6, 2018
vm_create_with_nic_in_other_rg.yml vm_create_with_nic_in_other_rg (#37) Jul 11, 2018
webapp.yml rename variable names (#52) Nov 27, 2018

Travis CI

Ansible Playbooks for Azure

This repository contains examples and best practices for building Ansible Playbooks for Azure.


  • Azure Account. If you don't have one, get a free one.

    To authenticate with Azure, generate service principal and expose them as environment variables or store them as a file.

  • Install Ansible

  • Install Azure dependencies package

    pip install ansible[azure]
  • Install azure_preview_modules role.

  • Install azure_preview_module role's dependencies packages.

    pip install -r ~/.ansible/roles/Azure.azure_preview_modules/files/requirements-azure.txt

How to run

To run samples in your local environment,

  • git clone
  • cd ansible-playbooks
  • modify playbook to replace variables with yours, such as resource group name.
  • add Azure credential info by using one of the following options.

First option, set the following environment variables:


Second option, add the following content to the file $HOME/.azure/credentials:


Third option, do a az login:

az login
  • ansible-playbook sample.yml

You also could develop your Ansible playbook and run it in Visual Studio Code.

Using Azure cloud hell in Visual Studio Code

Azure cloud shell automatically logs you in your azure subscription so you need not to do anything extra other than login to cluod shell and run the ansible-playbook command with -e switch to provide resource_group_name variable value.

To be able to run Cloud Shell in Visual Studio Code, you will need to install Azure Account Extension in VS Code.

After installing the Azure Account extension, Login to cloud shell in VS code and clone this repository. Upload the Ansible Playbook you want to run to cloud drive and run the following command (replace yourusernameincloudshell with your username value). Make sure you also replace the playbook name and corrosponding variable name expected by playbook.

ansible-playbook /home/yourusernameincloudshell/create_virtualmachine_with_subnet_in_different_resource_group.yml -e "resource_group_name=ansible_test_rg"

How to Contribute

Please refer to Coding Guideline on how to contribute.


Ansible on Azure

Get Started with Azure

Ansible Playbook

Ansible role azure_preview_modules

Ansible Galaxy for example roles from the Ansible community for deploying many popular applications.


MIT License

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.


Sample playbooks in this repository are tested via travis CI, please see detail CI plan.