From a74449b05f3456f189df0935434f3dd51aa1b1c7 Mon Sep 17 00:00:00 2001 From: Zim Kalinowski Date: Thu, 6 Dec 2018 10:23:03 +0800 Subject: [PATCH] several vmss fixes (#49580) --- .../azure/azure_rm_virtualmachine_scaleset.py | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset.py b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset.py index 64d35755be..f0b02fef51 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset.py @@ -696,7 +696,7 @@ class AzureRMVirtualMachineScaleSet(AzureRMModuleBase): for data_disk in self.data_disks: data_disk_managed_disk = self.compute_models.VirtualMachineScaleSetManagedDiskParameters( - storage_account_type=data_disk['managed_disk_type'] + storage_account_type=data_disk.get('managed_disk_type', None) ) data_disk['caching'] = data_disk.get( @@ -705,10 +705,10 @@ class AzureRMVirtualMachineScaleSet(AzureRMModuleBase): ) data_disks.append(self.compute_models.VirtualMachineScaleSetDataDisk( - lun=data_disk['lun'], - caching=data_disk['caching'], + lun=data_disk.get('lun', None), + caching=data_disk.get('caching', None), create_option=self.compute_models.DiskCreateOptionTypes.empty, - disk_size_gb=data_disk['disk_size_gb'], + disk_size_gb=data_disk.get('disk_size_gb', None), managed_disk=data_disk_managed_disk, )) @@ -725,18 +725,19 @@ class AzureRMVirtualMachineScaleSet(AzureRMModuleBase): vmss_resource.virtual_machine_profile.storage_profile.os_disk.caching = self.os_disk_caching vmss_resource.sku.capacity = self.capacity - data_disks = [] - for data_disk in self.data_disks: - data_disks.append(self.compute_models.VirtualMachineScaleSetDataDisk( - lun=data_disk['lun'], - caching=data_disk['caching'], - create_option=self.compute_models.DiskCreateOptionTypes.empty, - disk_size_gb=data_disk['disk_size_gb'], - managed_disk=self.compute_models.VirtualMachineScaleSetManagedDiskParameters( - storage_account_type=data_disk['managed_disk_type'] - ), - )) - vmss_resource.virtual_machine_profile.storage_profile.data_disks = data_disks + if self.data_disks is not None: + data_disks = [] + for data_disk in self.data_disks: + data_disks.append(self.compute_models.VirtualMachineScaleSetDataDisk( + lun=data_disk['lun'], + caching=data_disk['caching'], + create_option=self.compute_models.DiskCreateOptionTypes.empty, + disk_size_gb=data_disk['disk_size_gb'], + managed_disk=self.compute_models.VirtualMachineScaleSetManagedDiskParameters( + storage_account_type=data_disk['managed_disk_type'] + ), + )) + vmss_resource.virtual_machine_profile.storage_profile.data_disks = data_disks self.log("Update virtual machine with parameters:") self.create_or_update_vmss(vmss_resource)