diff --git a/changelogs/fragments/azure_autoscale.yaml b/changelogs/fragments/azure_autoscale.yaml new file mode 100644 index 00000000000..92c4ea579c6 --- /dev/null +++ b/changelogs/fragments/azure_autoscale.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: +- fix azure_rm_autoscale module can use dict to identify target (https://github.com/ansible/ansible/pull/45477) diff --git a/lib/ansible/modules/cloud/azure/azure_rm_autoscale.py b/lib/ansible/modules/cloud/azure/azure_rm_autoscale.py index 5db8e516859..dacc56d5258 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_autoscale.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_autoscale.py @@ -521,11 +521,11 @@ class AzureRMAutoScale(AzureRMModuleBase): resource_id = self.target if isinstance(self.target, dict): - resource_id = format_resource_id(val=self.target.name, - subscription_id=self.target.subscription_id or self.subscription_id, - namespace=self.target.namespace, - types=self.target.types, - resource_group=self.target.resource_group or self.resource_group) + resource_id = format_resource_id(val=self.target['name'], + subscription_id=self.target.get('subscription_id') or self.subscription_id, + namespace=self.target['namespace'], + types=self.target['types'], + resource_group=self.target.get('resource_group') or self.resource_group) self.target = resource_id resource_name = self.name diff --git a/test/integration/targets/azure_rm_autoscale/tasks/main.yml b/test/integration/targets/azure_rm_autoscale/tasks/main.yml index ab90d92030e..af769c99bdc 100644 --- a/test/integration/targets/azure_rm_autoscale/tasks/main.yml +++ b/test/integration/targets/azure_rm_autoscale/tasks/main.yml @@ -74,7 +74,10 @@ azure_rm_autoscale: resource_group: "{{ resource_group }}" name: "{{ name }}" - target: "{{ vmss.ansible_facts.azure_vmss.id }}" + target: + name: "testVMSS{{ rpfx }}" + types: "virtualMachineScaleSets" + namespace: "Microsoft.Compute" enabled: true profiles: - count: '1'