mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 12:50:22 -07:00
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
This commit is contained in:
parent
0c7c30b47a
commit
37ce7ef0db
5 changed files with 485 additions and 0 deletions
3
test/integration/targets/azure_rm_image/aliases
Normal file
3
test/integration/targets/azure_rm_image/aliases
Normal file
|
@ -0,0 +1,3 @@
|
|||
cloud/azure
|
||||
posix/ci/cloud/group2/azure
|
||||
destructive
|
2
test/integration/targets/azure_rm_image/meta/main.yml
Normal file
2
test/integration/targets/azure_rm_image/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- setup_azure
|
154
test/integration/targets/azure_rm_image/tasks/main.yml
Normal file
154
test/integration/targets/azure_rm_image/tasks/main.yml
Normal file
|
@ -0,0 +1,154 @@
|
|||
- 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
|
Loading…
Add table
Add a link
Reference in a new issue