From 308e4c31c6e82f8669e9c70e855e61aeeae1dad6 Mon Sep 17 00:00:00 2001 From: Zim Kalinowski Date: Fri, 18 Jan 2019 10:25:47 +0800 Subject: [PATCH] fixed vmss required parameters handling (#51012) --- .../azure/azure_rm_virtualmachine_scaleset.py | 13 ++++++++----- .../tasks/main.yml | 16 ---------------- 2 files changed, 8 insertions(+), 21 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 2a63174b30a..38071f81748 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset.py @@ -54,11 +54,9 @@ options: description: - A valid Azure VM size value. For example, 'Standard_D4'. The list of choices varies depending on the subscription and location. Check your subscription for available choices. - required: true capacity: description: - Capacity of VMSS. - required: true default: 1 tier: description: @@ -394,7 +392,7 @@ class AzureRMVirtualMachineScaleSet(AzureRMModuleBase): state=dict(choices=['present', 'absent'], default='present', type='str'), location=dict(type='str'), short_hostname=dict(type='str'), - vm_size=dict(type='str', required=True), + vm_size=dict(type='str'), tier=dict(type='str', choices=['Basic', 'Standard']), capacity=dict(type='int', default=1), upgrade_policy=dict(type='str', choices=['Automatic', 'Manual']), @@ -448,6 +446,11 @@ class AzureRMVirtualMachineScaleSet(AzureRMModuleBase): self.overprovision = None self.zones = None + required_if = [ + ('state', 'present', [ + 'vm_size']) + ] + self.results = dict( changed=False, actions=[], @@ -456,8 +459,8 @@ class AzureRMVirtualMachineScaleSet(AzureRMModuleBase): super(AzureRMVirtualMachineScaleSet, self).__init__( derived_arg_spec=self.module_arg_spec, - supports_check_mode=True - ) + supports_check_mode=True, + required_if=required_if) def exec_module(self, **kwargs): diff --git a/test/integration/targets/azure_rm_virtualmachine_scaleset/tasks/main.yml b/test/integration/targets/azure_rm_virtualmachine_scaleset/tasks/main.yml index 78169a0960f..8af30a9a085 100644 --- a/test/integration/targets/azure_rm_virtualmachine_scaleset/tasks/main.yml +++ b/test/integration/targets/azure_rm_virtualmachine_scaleset/tasks/main.yml @@ -263,14 +263,6 @@ resource_group: "{{ resource_group }}" name: testVMSS{{ rpfx }} state: absent - remove_on_absent: ['all'] - vm_size: Standard_B1s - capacity: 1 - image: - offer: CoreOS - publisher: CoreOS - sku: Stable - version: latest - name: Create VMSS with security group in same resource group, with accelerated networking(check mode). azure_rm_virtualmachine_scaleset: @@ -402,14 +394,6 @@ resource_group: "{{ resource_group }}" name: testVMSS{{ rpfx }}2 state: absent - remove_on_absent: ['all'] - vm_size: Standard_B1s - capacity: 1 - image: - offer: CoreOS - publisher: CoreOS - sku: Stable - version: latest - name: Fail when instance type is not supported to enable accelerated networking azure_rm_virtualmachine_scaleset: