Skip to content

Commit

Permalink
Support to update proximity_placement_group parameters (#1329)
Browse files Browse the repository at this point in the history
  • Loading branch information
Fred-sun authored Nov 22, 2023
1 parent f004291 commit e21da37
Showing 1 changed file with 35 additions and 5 deletions.
40 changes: 35 additions & 5 deletions plugins/modules/azure_rm_virtualmachine.py
Original file line number Diff line number Diff line change
Expand Up @@ -1619,6 +1619,29 @@ def exec_module(self, **kwargs):
vm_dict['tags']['_own_sa_'] = own_sa
changed = True

if self.proximity_placement_group is not None:
if vm_dict.get('proximity_placement_group') is None:
changed = True
differences.append('proximity_placement_group')
if self.proximity_placement_group.get('name') is not None and self.proximity_placement_group.get('resource_group') is not None:
proximity_placement_group = self.get_proximity_placement_group(self.proximity_placement_group.get('resource_group'),
self.proximity_placement_group.get('name'))
self.proximity_placement_group['id'] = proximity_placement_group.id

elif self.proximity_placement_group.get('id') is not None:
if vm_dict['proximity_placement_group'].get('id', "").lower() != self.proximity_placement_group['id'].lower():
changed = True
differences.append('proximity_placement_group')
elif self.proximity_placement_group.get('name') is not None and self.proximity_placement_group.get('resource_group') is not None:
proximity_placement_group = self.get_proximity_placement_group(self.proximity_placement_group.get('resource_group'),
self.proximity_placement_group.get('name'))
if vm_dict['proximity_placement_group'].get('id', "").lower() != proximity_placement_group.id.lower():
changed = True
differences.append('proximity_placement_group')
self.proximity_placement_group['id'] = proximity_placement_group.id
else:
self.fail("Parameter error: Please recheck your proximity placement group ")

self.differences = differences

elif self.state == 'absent':
Expand Down Expand Up @@ -1965,11 +1988,18 @@ def exec_module(self, **kwargs):
)

proximity_placement_group_resource = None
try:
proximity_placement_group_resource = self.compute_models.SubResource(id=vm_dict['proximity_placement_group'].get('id'))
except Exception:
# pass if the proximity Placement Group
pass
if self.proximity_placement_group is not None:
try:
proximity_placement_group_resource = self.compute_models.SubResource(id=self.proximity_placement_group.get('id'))
except Exception:
# pass if the proximity Placement Group
pass
else:
try:
proximity_placement_group_resource = self.compute_models.SubResource(id=vm_dict['proximity_placement_group'].get('id'))
except Exception:
# pass if the proximity Placement Group
pass

availability_set_resource = None
try:
Expand Down

0 comments on commit e21da37

Please sign in to comment.