diff --git a/src/vm-repair/HISTORY.rst b/src/vm-repair/HISTORY.rst index a4b92b5f6c2..ee30596bf7e 100644 --- a/src/vm-repair/HISTORY.rst +++ b/src/vm-repair/HISTORY.rst @@ -2,6 +2,10 @@ Release History =============== +0.4.7 +++++++ +Setting subscription account for reset-nic + 0.4.6 ++++++ Updating the fetch_repair_vm to use the small letters in the query instead of capital letters diff --git a/src/vm-repair/azext_vm_repair/_help.py b/src/vm-repair/azext_vm_repair/_help.py index 0cd4f156231..c2b1da9455d 100644 --- a/src/vm-repair/azext_vm_repair/_help.py +++ b/src/vm-repair/azext_vm_repair/_help.py @@ -85,10 +85,10 @@ - name: Reset the VM guest NIC. Specify VM resource group and name. text: > az vm repair reset-nic -g MyResourceGroup -n MyVM --verbose + - name: Reset the VM guest NIC. Specify subscription id, VM resource group and name. + text: > + az vm repair reset-nic -g MyResourceGroup -n MyVM --subscription mySub --verbose - name: Reset the VM guest NIC and auto-start the VM if it is not in running state. text: > az vm repair reset-nic -g MyResourceGroup -n MyVM --yes --verbose - - name: Reset the VM guest NIC. Specify VM resource id. - text: > - az vm repair reset-nic --ids /subscriptions/MySubscriptionId/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/MyVM --verbose """ diff --git a/src/vm-repair/azext_vm_repair/_params.py b/src/vm-repair/azext_vm_repair/_params.py index 138eb23b819..e6091691ec8 100644 --- a/src/vm-repair/azext_vm_repair/_params.py +++ b/src/vm-repair/azext_vm_repair/_params.py @@ -50,4 +50,5 @@ def load_arguments(self, _): c.argument('preview', help="URL of forked repair script library's map.json https://github.com/{user}/repair-script-library/blob/master/map.json") with self.argument_context('vm repair reset-nic') as c: + c.argument('subscriptionid', help='Subscription id to default subscription using `az account set -s NAME_OR_ID`.') c.argument('yes', help='Do not prompt for confirmation to start VM if it is not running.') diff --git a/src/vm-repair/azext_vm_repair/_validators.py b/src/vm-repair/azext_vm_repair/_validators.py index 88cd839316a..22277011c0b 100644 --- a/src/vm-repair/azext_vm_repair/_validators.py +++ b/src/vm-repair/azext_vm_repair/_validators.py @@ -176,6 +176,15 @@ def validate_run(cmd, namespace): def validate_reset_nic(cmd, namespace): check_extension_version(EXTENSION_NAME) + if namespace._subscription: + # setting subscription Id + try: + set_sub_command = 'az account set --subscription {sid}'.format(sid=namespace._subscription) + logger.info('Setting the subscription...\n') + _call_az_command(set_sub_command) + except AzCommandError as azCommandError: + logger.error(azCommandError) + raise CLIError('Unexpected error occured while setting the subscription..') _validate_and_get_vm(cmd, namespace.resource_group_name, namespace.vm_name) diff --git a/src/vm-repair/azext_vm_repair/custom.py b/src/vm-repair/azext_vm_repair/custom.py index 9f999c08748..751ced9b8c3 100644 --- a/src/vm-repair/azext_vm_repair/custom.py +++ b/src/vm-repair/azext_vm_repair/custom.py @@ -541,6 +541,7 @@ def reset_nic(cmd, vm_name, resource_group_name, yes=False): try: # 0) Check if VM is deallocated or off. If it is, ask to run start the VM. VM_OFF_MESSAGE = 'VM is not running. The VM must be in running to reset its NIC.\n' + vm_instance_view = get_vm(cmd, resource_group_name, vm_name, 'instanceView') VM_started = _check_n_start_vm(vm_name, resource_group_name, not yes, VM_OFF_MESSAGE, vm_instance_view) if not VM_started: diff --git a/src/vm-repair/setup.py b/src/vm-repair/setup.py index 0a53206fecf..84eee56eec0 100644 --- a/src/vm-repair/setup.py +++ b/src/vm-repair/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.4.6" +VERSION = "0.4.7" CLASSIFIERS = [ 'Development Status :: 4 - Beta',