simplify get/delete for scalesets (#468)

This commit is contained in:
bmc-msft
2021-01-26 14:43:14 -05:00
committed by GitHub
parent 165257e989
commit 5027745ee2
2 changed files with 17 additions and 10 deletions

View File

@ -46,16 +46,17 @@ def list_vmss(name: UUID) -> Optional[List[str]]:
def delete_vmss(name: UUID) -> bool:
resource_group = get_base_resource_group()
compute_client = get_compute_client()
try:
compute_client.virtual_machine_scale_sets.begin_delete(
resource_group, str(name)
)
except ResourceNotFoundError:
return True
except CloudError as err:
logging.error("cloud error deleting vmss: %s (%s)", name, err)
response = compute_client.virtual_machine_scale_sets.begin_delete(
resource_group, str(name)
)
return False
# https://docs.microsoft.com/en-us/python/api/azure-core/
# azure.core.polling.lropoller?view=azure-python#status--
#
# status returns a str, however mypy thinks this is an Any.
#
# Checked by hand that the result is Succeeded in practice
return bool(response.status() == "Succeeded")
def get_vmss(name: UUID) -> Optional[Any]:
@ -64,7 +65,7 @@ def get_vmss(name: UUID) -> Optional[Any]:
compute_client = get_compute_client()
try:
return compute_client.virtual_machine_scale_sets.get(resource_group, str(name))
except (ResourceNotFoundError, CloudError) as err:
except ResourceNotFoundError as err:
logging.debug("vm does not exist %s", err)
return None