# Description # =========== # This playbook create an Azure VM with public IP, and open 22 port for SSH - name: Create Azure VM hosts: localhost connection: local vars: resource_group: vmdemo vm_name: testvm location: eastus collections: - azure.azcollection tasks: - name: Create a resource group azure_rm_resourcegroup: name: "{{ resource_group }}" location: "{{ location }}" - name: Create virtual network azure_rm_virtualnetwork: resource_group: "{{ resource_group }}" name: "{{ vm_name }}" address_prefixes: "10.0.0.0/16" - name: Add subnet azure_rm_subnet: resource_group: "{{ resource_group }}" name: "{{ vm_name }}" address_prefix: "10.0.1.0/24" virtual_network: "{{ vm_name }}" - name: Create public IP address azure_rm_publicipaddress: resource_group: "{{ resource_group }}" allocation_method: Static name: "{{ vm_name }}" - name: Create Network Security Group that allows SSH azure_rm_securitygroup: resource_group: "{{ resource_group }}" name: "{{ vm_name }}" rules: - name: SSH protocol: Tcp destination_port_range: 22 access: Allow priority: 1001 direction: Inbound - name: Create virtual network inteface card azure_rm_networkinterface: resource_group: "{{ resource_group }}" name: "{{ vm_name }}" virtual_network: "{{ vm_name }}" subnet: "{{ vm_name }}" public_ip_name: "{{ vm_name }}" security_group: "{{ vm_name }}" - name: Create VM azure_rm_virtualmachine: resource_group: "{{ resource_group }}" name: "{{ vm_name }}" vm_size: Standard_DS1_v2 admin_username: azureuser admin_password: Password@123 network_interfaces: "{{ vm_name }}" image: offer: RHEL publisher: RedHat sku: 7-LVM version: latest