ansible/test/integration/targets/azure_rm_image/tasks/main.yml
Yuwei Zhou 37ce7ef0db Add azure image module support create and delete (#32589)
* Add azure image module support create and delete

* Add os_type description

* fix lint

* fix lint

* fix lint

* fix line ending

* add enum_modules for serialize

* update for python3

* Fix mirror

* fix lint

* fix as pr comments

* fix name

* fix syntax

* fix

* none check

* fix test

* fix syntax

* fix example

* return only id in the top level

* doc

* doc

* fix

* fix test
2017-12-21 07:05:36 +10:00

154 lines
3.7 KiB
YAML

- name: Create storage account name
set_fact:
storage_account: "{{ resource_group | hash('md5') | truncate(24, True, '') }}"
- name: Create storage account
azure_rm_storageaccount:
resource_group: "{{ resource_group }}"
name: "{{ storage_account }}"
account_type: Standard_LRS
- name: Create virtual network
azure_rm_virtualnetwork:
resource_group: "{{ resource_group }}"
name: testvm001
address_prefixes: "10.10.0.0/16"
- name: Add subnet
azure_rm_subnet:
resource_group: "{{ resource_group }}"
name: testvm001
address_prefix: "10.10.0.0/24"
virtual_network: testvm001
- name: Create public ip
azure_rm_publicipaddress:
resource_group: "{{ resource_group }}"
allocation_method: Static
name: testvm001
- name: Create security group
azure_rm_securitygroup:
resource_group: "{{ resource_group }}"
name: testvm001
- name: Create NIC
azure_rm_networkinterface:
resource_group: "{{ resource_group }}"
name: testvm001
virtual_network: testvm001
subnet: testvm001
public_ip_name: testvm001
security_group: testvm001
- name: Create virtual machine
azure_rm_virtualmachine:
resource_group: "{{ resource_group }}"
name: testvm002
vm_size: Standard_A0
storage_account: "{{ storage_account }}"
storage_container: testvm001
storage_blob: testvm001.vhd
admin_username: adminuser
admin_password: Password123!
os_type: Linux
network_interfaces: testvm001
image:
offer: UbuntuServer
publisher: Canonical
sku: 16.04-LTS
version: latest
- name: Deallocate the virtual machine
azure_rm_virtualmachine:
resource_group: "{{ resource_group }}"
name: testvm002
allocated: no
vm_size: Standard_A0
register: output
- name: Start the virtual machine
azure_rm_virtualmachine:
resource_group: "{{ resource_group }}"
name: testvm002
vm_size: Standard_A0
- name: Create an image from VM (check mode)
azure_rm_image:
resource_group: "{{ resource_group }}"
source: "https://{{ storage_account }}.blob.core.windows.net/testvm001/testvm001.vhd"
name: testimage001
os_type: Linux
check_mode: yes
register: output
- assert:
that: output.changed
- name: Create an image from VM
azure_rm_image:
resource_group: "{{ resource_group }}"
source: "https://{{ storage_account }}.blob.core.windows.net/testvm001/testvm001.vhd"
name: testimage001
os_type: Linux
register: output
- assert:
that:
- output.changed
- output.id
- name: Create an image from VM (idempotent)
azure_rm_image:
resource_group: "{{ resource_group }}"
source: "https://{{ storage_account }}.blob.core.windows.net/testvm001/testvm001.vhd"
name: testimage001
os_type: Linux
register: output
- assert:
that:
- not output.changed
- output.id
- name: Delete image (check mode)
azure_rm_image:
resource_group: "{{ resource_group }}"
name: testimage001
state: absent
register: output
check_mode: yes
- assert:
that:
- output.changed
- name: Delete image
azure_rm_image:
resource_group: "{{ resource_group }}"
name: testimage001
state: absent
register: output
- assert:
that:
- output.changed
- name: Delete image (idempotent)
azure_rm_image:
resource_group: "{{ resource_group }}"
name: testimage001
state: absent
register: output
- assert:
that:
- not output.changed
- name: Delete VM
azure_rm_virtualmachine:
resource_group: "{{ resource_group }}"
name: testvm002
state: absent
vm_size: Standard_A0
register: output