- name: Create virtual network azure_rm_virtualnetwork: resource_group: "{{ resource_group }}" name: testVnet address_prefixes: "10.0.0.0/16" - name: Add subnet azure_rm_subnet: resource_group: "{{ resource_group }}" name: testSubnet address_prefix: "10.0.1.0/24" virtual_network: testVnet - name: Create public IP address azure_rm_publicipaddress: resource_group: "{{ resource_group }}" allocation_method: Static name: testPublicIP - name: Create load balancer azure_rm_loadbalancer: resource_group: "{{ resource_group }}" name: testLB public_ip_address_name: testPublicIP - name: Create VMSS azure_rm_virtualmachine_scaleset: resource_group: "{{ resource_group }}" name: testVMSS vm_size: Standard_DS1_v2 admin_username: testuser ssh_password_enabled: true admin_password: "Password1234!" capacity: 2 virtual_network_name: testVnet subnet_name: testSubnet upgrade_policy: Manual tier: Standard managed_disk_type: Standard_LRS os_disk_caching: ReadWrite image: offer: CoreOS publisher: CoreOS sku: Stable version: latest data_disks: - lun: 0 disk_size_gb: 64 caching: ReadWrite managed_disk_type: Standard_LRS register: results - name: Assert that VMSS ran assert: that: results.changed - name: Delete VMSS azure_rm_virtualmachine_scaleset: resource_group: "{{ resource_group }}" name: testVMSS state: absent remove_on_absent: ['all'] vm_size: Standard_DS1_v2 admin_username: testuser capacity: 2 virtual_network_name: testVnet subnet_name: testSubnet upgrade_policy: Manual tier: Standard os_disk_caching: ReadWrite image: offer: CoreOS publisher: CoreOS sku: Stable version: latest data_disks: - lun: 0 disk_size_gb: 64 caching: ReadWrite managed_disk_type: Standard_LRS - name: Create VMSS (check mode) azure_rm_virtualmachine_scaleset: resource_group: "{{ resource_group }}" name: testVMSS1 vm_size: Standard_DS1_v2 admin_username: testuser ssh_password_enabled: true admin_password: "Password1234!" capacity: 2 virtual_network_name: testVnet subnet_name: testSubnet load_balancer: testLB upgrade_policy: Manual tier: Standard managed_disk_type: Standard_LRS os_disk_caching: ReadWrite image: offer: CoreOS publisher: CoreOS sku: Stable version: latest data_disks: - lun: 0 disk_size_gb: 64 caching: ReadWrite managed_disk_type: Standard_LRS register: results check_mode: yes - name: Assert that VMSS can be created assert: that: results.changed - name: Create VMSS (check mode) azure_rm_virtualmachine_scaleset: resource_group: "{{ resource_group }}" name: testVMSS1 vm_size: Standard_DS1_v2 admin_username: testuser ssh_password_enabled: true admin_password: "Password1234!" capacity: 2 virtual_network_name: testVnet subnet_name: testSubnet load_balancer: testLB upgrade_policy: Manual tier: Standard managed_disk_type: Standard_LRS os_disk_caching: ReadWrite image: offer: CoreOS publisher: CoreOS sku: Stable version: latest data_disks: - lun: 0 disk_size_gb: 64 caching: ReadWrite managed_disk_type: Standard_LRS register: results - name: Assert that VMSS ran assert: that: results.changed - name: Delete VMSS azure_rm_virtualmachine_scaleset: resource_group: "{{ resource_group }}" name: testVMSS1 state: absent remove_on_absent: ['all'] vm_size: Standard_DS1_v2 admin_username: testuser capacity: 2 virtual_network_name: testVnet subnet_name: testSubnet upgrade_policy: Manual tier: Standard os_disk_caching: ReadWrite image: offer: CoreOS publisher: CoreOS sku: Stable version: latest data_disks: - lun: 0 disk_size_gb: 64 caching: ReadWrite managed_disk_type: Standard_LRS - name: Delete load balancer azure_rm_loadbalancer: resource_group: "{{ resource_group }}" name: testLB state: absent - name: Delete public IP address azure_rm_publicipaddress: resource_group: "{{ resource_group }}" state: absent name: testPublicIP - name: Delete virtual network azure_rm_virtualnetwork: resource_group: "{{ resource_group }}" name: testVnet state: absent address_prefixes: "10.0.0.0/16" # TODO: Until we have a module to create/delete images this is the best tests # I can do - name: assert error thrown with invalid image dict azure_rm_virtualmachine_scaleset: resource_group: "{{ resource_group }}" name: testvm002 state: present vm_size: Standard_DS1_v2 image: offer: UbuntuServer register: fail_invalid_image_dict failed_when: 'fail_invalid_image_dict.msg != "parameter error: expecting image to contain [publisher, offer, sku, version] or [name, resource_group]"' - name: assert error thrown with invalid image type azure_rm_virtualmachine_scaleset: resource_group: "{{ resource_group }}" name: testvm002 state: present vm_size: Standard_DS1_v2 image: - testing register: fail_invalid_image_type failed_when: 'fail_invalid_image_type.msg != "parameter error: expecting image to be a string or dict not list"' - name: assert error finding missing custom image azure_rm_virtualmachine_scaleset: resource_group: "{{ resource_group }}" name: testvm002 state: present vm_size: Standard_DS1_v2 image: invalid-image register: fail_missing_custom_image failed_when: fail_missing_custom_image.msg != "Error could not find image with name invalid-image" - name: assert error finding missing custom image (dict style) azure_rm_virtualmachine_scaleset: resource_group: "{{ resource_group }}" name: testvm002 state: present vm_size: Standard_DS1_v2 image: name: invalid-image register: fail_missing_custom_image_dict failed_when: fail_missing_custom_image_dict.msg != "Error could not find image with name invalid-image"