diff --git a/changelogs/fragments/azure_rm_subnet_route_table.yaml b/changelogs/fragments/azure_rm_subnet_route_table.yaml new file mode 100644 index 00000000000..46a3a15cb3f --- /dev/null +++ b/changelogs/fragments/azure_rm_subnet_route_table.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: +- "Fix if the route table changed to none (https://github.com/ansible/ansible/pull/49533)" diff --git a/lib/ansible/modules/cloud/azure/azure_rm_subnet.py b/lib/ansible/modules/cloud/azure/azure_rm_subnet.py index a600481750d..99a12c5ab6e 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_subnet.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_subnet.py @@ -221,6 +221,7 @@ class AzureRMSubnet(AzureRMModuleBase): if self.security_group: nsg = self.parse_nsg() + route_table = dict() if self.route_table: route_table = self.parse_resource_to_dict(self.route_table) self.route_table = format_resource_id(val=route_table['name'], @@ -256,7 +257,8 @@ class AzureRMSubnet(AzureRMModuleBase): if self.route_table != results['route_table'].get('id'): changed = True results['route_table']['id'] = self.route_table - self.log("CHANGED: subnet {0} route_table to {1}".format(self.name, route_table['name'])) + self.log("CHANGED: subnet {0} route_table to {1}".format(self.name, route_table.get('name'))) + elif self.state == 'absent': changed = True except CloudError: