Skip to content

Commit e2e6db3

Browse files
{Compute} az vm diagnostics: Migrate command group to aaz-based implementation (#32765)
1 parent 1ff731a commit e2e6db3

File tree

4 files changed

+3421
-3792
lines changed

4 files changed

+3421
-3792
lines changed

src/azure-cli/azure/cli/command_modules/vm/commands.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ def load_command_table(self, _):
320320
g.custom_command('enable', 'enable_boot_diagnostics')
321321
g.custom_command('get-boot-log', 'get_boot_log')
322322

323-
with self.command_group('vm diagnostics', compute_vm_sdk) as g:
323+
with self.command_group('vm diagnostics') as g:
324324
g.custom_command('set', 'set_diagnostics_extension')
325325
g.custom_command('get-default-config', 'show_default_diagnostics_configuration')
326326

src/azure-cli/azure/cli/command_modules/vm/custom.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2303,30 +2303,30 @@ def get_boot_log(cmd, resource_group_name, vm_name):
23032303

23042304

23052305
# region VirtualMachines Diagnostics
2306-
def set_diagnostics_extension(
2307-
cmd, resource_group_name, vm_name, settings, protected_settings=None, version=None,
2308-
no_auto_upgrade=False):
2309-
client = _compute_client_factory(cmd.cli_ctx)
2310-
vm = client.virtual_machines.get(resource_group_name, vm_name, expand='instanceView')
2311-
# pylint: disable=no-member
2312-
is_linux_os = _is_linux_os(vm)
2306+
def set_diagnostics_extension(cmd, resource_group_name, vm_name, settings, protected_settings=None, version=None,
2307+
no_auto_upgrade=False):
2308+
from .aaz.latest.vm.extension import Delete as VmExtensionDelete
2309+
vm = get_instance_view(cmd, resource_group_name, vm_name)
2310+
is_linux_os = _is_linux_os_aaz(vm)
23132311
vm_extension_name = _LINUX_DIAG_EXT if is_linux_os else _WINDOWS_DIAG_EXT
23142312
if is_linux_os: # check incompatible version
2315-
exts = vm.instance_view.extensions or []
2313+
exts = vm.get('instanceView', {}).get('extensions', [])
23162314
major_ver = extension_mappings[_LINUX_DIAG_EXT]['version'].split('.', maxsplit=1)[0]
2317-
if next((e for e in exts if e.name == vm_extension_name and
2318-
not e.type_handler_version.startswith(major_ver + '.')), None):
2315+
if next((e for e in exts if e.get('name') == vm_extension_name and
2316+
not e.get('typeHandlerVersion', '').startswith(major_ver + '.')), None):
23192317
logger.warning('There is an incompatible version of diagnostics extension installed. '
23202318
'We will update it with a new version')
2321-
poller = client.virtual_machine_extensions.begin_delete(resource_group_name, vm_name, vm_extension_name)
2319+
poller = VmExtensionDelete(cli_ctx=cmd.cli_ctx)(command_args={
2320+
'resource_group': resource_group_name,
2321+
'vm_extension_name': vm_extension_name,
2322+
'vm_name': vm_name
2323+
})
23222324
LongRunningOperation(cmd.cli_ctx)(poller)
23232325

23242326
return set_extension(cmd, resource_group_name, vm_name, vm_extension_name,
23252327
extension_mappings[vm_extension_name]['publisher'],
23262328
version or extension_mappings[vm_extension_name]['version'],
2327-
settings,
2328-
protected_settings,
2329-
no_auto_upgrade)
2329+
settings, protected_settings, no_auto_upgrade)
23302330

23312331

23322332
def show_default_diagnostics_configuration(is_windows_os=False):

0 commit comments

Comments
 (0)