Skip to content

Commit 496b949

Browse files
committed
Fix code
1 parent 39b34e2 commit 496b949

2 files changed

Lines changed: 248 additions & 4 deletions

File tree

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2278,18 +2278,20 @@ def get_boot_log(cmd, resource_group_name, vm_name):
22782278
# region VirtualMachines Diagnostics
22792279
def set_diagnostics_extension(cmd, resource_group_name, vm_name, settings, protected_settings=None, version=None,
22802280
no_auto_upgrade=False):
2281-
from .aaz.latest.vm.extension import Delete as VmExtentionDelete
2281+
from .aaz.latest.vm.extension import Delete as VmExtensionDelete
2282+
from .operations.vm import convert_show_result_to_snake_case
22822283
vm = get_instance_view(cmd, resource_group_name, vm_name)
2284+
vm = convert_show_result_to_snake_case(vm)
22832285
is_linux_os = _is_linux_os_by_aaz(vm)
22842286
vm_extension_name = _LINUX_DIAG_EXT if is_linux_os else _WINDOWS_DIAG_EXT
22852287
if is_linux_os: # check incompatible version
2286-
exts = vm.get('instanceView', {}).get('extensions', [])
2288+
exts = vm.get('instance_view', {}).get('extensions', [])
22872289
major_ver = extension_mappings[_LINUX_DIAG_EXT]['version'].split('.', maxsplit=1)[0]
22882290
if next((e for e in exts if e.get('name') == vm_extension_name and
2289-
not e.get('typeHandlerVersion', '').startswith(major_ver + '.')), None):
2291+
not e.get('type_handler_version', '').startswith(major_ver + '.')), None):
22902292
logger.warning('There is an incompatible version of diagnostics extension installed. '
22912293
'We will update it with a new version')
2292-
poller = VmExtentionDelete(cmd.cli_ctx)(command_args={
2294+
poller = VmExtensionDelete(cli_ctx=cmd.cli_ctx)(command_args={
22932295
'resource_group': resource_group_name,
22942296
'vm_extension_name': vm_extension_name,
22952297
'vm_name': vm_name

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

Lines changed: 242 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,8 @@ def convert_show_result_to_snake_case(result):
322322
new_result["host"] = result["host"]
323323
if "hostGroup" in result:
324324
new_result["host_group"] = result["hostGroup"]
325+
if "instanceView" in result:
326+
new_result["instance_view"] = result["instanceView"]
325327
if "licenseType" in result:
326328
new_result["license_type"] = result["licenseType"]
327329
if "networkProfile" in result:
@@ -414,6 +416,246 @@ def convert_show_result_to_snake_case(result):
414416
vm_size_properties["v_cp_us_per_core"] = vm_size_properties["vCPUsPerCore"]
415417
vm_size_properties.pop("vCPUsPerCore")
416418

419+
instance_view_properties = new_result.get("instance_view", {}) or {}
420+
if "assignedHost" in instance_view_properties:
421+
instance_view_properties['assigned_host'] = instance_view_properties['assignedHost']
422+
instance_view_properties.pop("assignedHost")
423+
if "bootDiagnostics" in instance_view_properties:
424+
instance_view_properties['boot_diagnostics'] = instance_view_properties['bootDiagnostics']
425+
instance_view_properties.pop("bootDiagnostics")
426+
if "computerName" in instance_view_properties:
427+
instance_view_properties['computer_name'] = instance_view_properties['computerName']
428+
instance_view_properties.pop("computerName")
429+
430+
disks_properties = instance_view_properties.get("disks", []) or []
431+
for disks_property in disks_properties:
432+
if "encryptionSettings" in disks_property:
433+
disks_property['encryption_settings'] = disks_property['encryptionSettings']
434+
disks_property.pop("encryptionSettings")
435+
436+
es_properties = disks_property.get("encryption_settings", []) or []
437+
for es_property in es_properties:
438+
if "diskEncryptionKey" in es_property:
439+
es_property['disk_encryption_key'] = es_property['diskEncryptionKey']
440+
es_property.pop("diskEncryptionKey")
441+
442+
dek_properties = es_property.get("disk_encryption_key", {}) or {}
443+
if "secretUrl" in dek_properties:
444+
dek_properties['secret_url'] = dek_properties['secretUrl']
445+
dek_properties.pop("secretUrl")
446+
if "sourceVault" in dek_properties:
447+
dek_properties['source_vault'] = dek_properties['sourceVault']
448+
dek_properties.pop("sourceVault")
449+
450+
if "keyEncryptionKey" in es_property:
451+
es_property['key_encryption_key'] = es_property['keyEncryptionKey']
452+
es_property.pop("keyEncryptionKey")
453+
454+
kek_properties = es_property.get("key_encryption_key", {}) or {}
455+
if "keyUrl" in kek_properties:
456+
kek_properties['key_url'] = kek_properties['keyUrl']
457+
kek_properties.pop("keyUrl")
458+
if "sourceVault" in kek_properties:
459+
kek_properties['source_vault'] = kek_properties['sourceVault']
460+
kek_properties.pop("sourceVault")
461+
462+
statuses_properties = disks_property.get("statuses", []) or []
463+
for statuses_property in statuses_properties:
464+
if "displayStatus" in statuses_property:
465+
statuses_property['display_status'] = statuses_property['displayStatus']
466+
statuses_property.pop("displayStatus")
467+
468+
extensions_properties = instance_view_properties.get("extensions", []) or []
469+
for extensions_property in extensions_properties:
470+
if "typeHandlerVersion" in extensions_property:
471+
extensions_property['type_handler_version'] = extensions_property['typeHandlerVersion']
472+
extensions_property.pop("typeHandlerVersion")
473+
474+
statuses_properties = extensions_property.get("statuses", []) or []
475+
for statuses_property in statuses_properties:
476+
if "displayStatus" in statuses_property:
477+
statuses_property['display_status'] = statuses_property['displayStatus']
478+
statuses_property.pop("displayStatus")
479+
480+
substatuses_properties = extensions_property.get("substatuses", []) or []
481+
for substatuses_property in substatuses_properties:
482+
if "displayStatus" in substatuses_property:
483+
substatuses_property['display_status'] = substatuses_property['displayStatus']
484+
substatuses_property.pop("displayStatus")
485+
486+
if "hyperVGeneration" in instance_view_properties:
487+
instance_view_properties['hyper_v_generation'] = instance_view_properties['hyperVGeneration']
488+
instance_view_properties.pop("hyperVGeneration")
489+
if "isVMInStandbyPool" in instance_view_properties:
490+
instance_view_properties['is_vm_in_standby_pool'] = instance_view_properties['isVMInStandbyPool']
491+
instance_view_properties.pop("isVMInStandbyPool")
492+
if "maintenanceRedeployStatus" in instance_view_properties:
493+
instance_view_properties['maintenance_redeploy_status'] = instance_view_properties['maintenanceRedeployStatus']
494+
instance_view_properties.pop("maintenanceRedeployStatus")
495+
if "osName" in instance_view_properties:
496+
instance_view_properties['os_name'] = instance_view_properties['osName']
497+
instance_view_properties.pop("osName")
498+
if "osVersion" in instance_view_properties:
499+
instance_view_properties['os_version'] = instance_view_properties['osVersion']
500+
instance_view_properties.pop("osVersion")
501+
if "patchStatus" in instance_view_properties:
502+
instance_view_properties['patch_status'] = instance_view_properties['patchStatus']
503+
instance_view_properties.pop("patchStatus")
504+
if "platformFaultDomain" in instance_view_properties:
505+
instance_view_properties['platform_fault_domain'] = instance_view_properties['platformFaultDomain']
506+
instance_view_properties.pop("platformFaultDomain")
507+
if "platformUpdateDomain" in instance_view_properties:
508+
instance_view_properties['platform_update_domain'] = instance_view_properties['platformUpdateDomain']
509+
instance_view_properties.pop("platformUpdateDomain")
510+
if "rdpThumbPrint" in instance_view_properties:
511+
instance_view_properties['rdp_thumb_print'] = instance_view_properties['rdpThumbPrint']
512+
instance_view_properties.pop("rdpThumbPrint")
513+
514+
statuses_properties = instance_view_properties.get("statuses", []) or []
515+
for statuses_property in statuses_properties:
516+
if "displayStatus" in statuses_property:
517+
statuses_property['display_status'] = statuses_property['displayStatus']
518+
statuses_property.pop("displayStatus")
519+
520+
if "vmAgent" in instance_view_properties:
521+
instance_view_properties['vm_agent'] = instance_view_properties['vmAgent']
522+
instance_view_properties.pop("vmAgent")
523+
if "vmHealth" in instance_view_properties:
524+
instance_view_properties['vm_health'] = instance_view_properties['vmHealth']
525+
instance_view_properties.pop("vmHealth")
526+
527+
bd_properties = instance_view_properties.get("boot_diagnostics", {}) or {}
528+
if "consoleScreenshotBlobUri" in bd_properties:
529+
bd_properties['console_screenshot_blob_uri'] = bd_properties['consoleScreenshotBlobUri']
530+
bd_properties.pop("consoleScreenshotBlobUri")
531+
if "serialConsoleLogBlobUri" in bd_properties:
532+
bd_properties['serial_console_log_blob_uri'] = bd_properties['serialConsoleLogBlobUri']
533+
bd_properties.pop("serialConsoleLogBlobUri")
534+
status_properties = bd_properties.get("status", {}) or {}
535+
if "displayStatus" in status_properties:
536+
status_properties['display_status'] = status_properties['displayStatus']
537+
status_properties.pop("displayStatus")
538+
539+
mrs_properties = instance_view_properties.get("maintenance_redeploy_status", {}) or {}
540+
if "isCustomerInitiatedMaintenanceAllowed" in mrs_properties:
541+
mrs_properties['is_customer_initiated_maintenance_allowed'] = mrs_properties['isCustomerInitiatedMaintenanceAllowed']
542+
mrs_properties.pop("isCustomerInitiatedMaintenanceAllowed")
543+
if "lastOperationMessage" in mrs_properties:
544+
mrs_properties['last_operation_message'] = mrs_properties['lastOperationMessage']
545+
mrs_properties.pop("lastOperationMessage")
546+
if "lastOperationResultCode" in mrs_properties:
547+
mrs_properties['last_operation_result_code'] = mrs_properties['lastOperationResultCode']
548+
mrs_properties.pop("lastOperationResultCode")
549+
if "maintenanceWindowEndTime" in mrs_properties:
550+
mrs_properties['maintenance_window_end_time'] = mrs_properties['maintenanceWindowEndTime']
551+
mrs_properties.pop("maintenanceWindowEndTime")
552+
if "maintenanceWindowStartTime" in mrs_properties:
553+
mrs_properties['maintenance_window_start_time'] = mrs_properties['maintenanceWindowStartTime']
554+
mrs_properties.pop("maintenanceWindowStartTime")
555+
if "preMaintenanceWindowEndTime" in mrs_properties:
556+
mrs_properties['pre_maintenance_window_end_time'] = mrs_properties['preMaintenanceWindowEndTime']
557+
mrs_properties.pop("preMaintenanceWindowEndTime")
558+
if "preMaintenanceWindowStartTime" in mrs_properties:
559+
mrs_properties['pre_maintenance_window_start_time'] = mrs_properties['preMaintenanceWindowStartTime']
560+
mrs_properties.pop("preMaintenanceWindowStartTime")
561+
562+
ps_properties = instance_view_properties.get("patch_status", {}) or {}
563+
if "availablePatchSummary" in ps_properties:
564+
ps_properties['available_patch_summary'] = ps_properties['availablePatchSummary']
565+
ps_properties.pop("availablePatchSummary")
566+
if "configurationStatuses" in ps_properties:
567+
ps_properties['configuration_statuses'] = ps_properties['configurationStatuses']
568+
ps_properties.pop("configurationStatuses")
569+
if "lastPatchInstallationSummary" in ps_properties:
570+
ps_properties['last_patch_installation_summary'] = ps_properties['lastPatchInstallationSummary']
571+
ps_properties.pop("lastPatchInstallationSummary")
572+
573+
va_properties = instance_view_properties.get("vm_agent", {}) or {}
574+
if "extensionHandlers" in va_properties:
575+
va_properties['extension_handlers'] = va_properties['extensionHandlers']
576+
va_properties.pop("extensionHandlers")
577+
if "vmAgentVersion" in va_properties:
578+
va_properties['vm_agent_version'] = va_properties['vmAgentVersion']
579+
va_properties.pop("vmAgentVersion")
580+
581+
vh_properties = instance_view_properties.get("vm_health", {}) or {}
582+
status_properties = vh_properties.get("status", {}) or {}
583+
if "displayStatus" in status_properties:
584+
status_properties['display_status'] = status_properties['displayStatus']
585+
status_properties.pop("displayStatus")
586+
587+
aps_properties = ps_properties.get("available_patch_summary", {}) or {}
588+
if "assessmentActivityId" in aps_properties:
589+
aps_properties['assessment_activity_id'] = aps_properties['assessmentActivityId']
590+
aps_properties.pop("assessmentActivityId")
591+
if "criticalAndSecurityPatchCount" in aps_properties:
592+
aps_properties['critical_and_security_patch_count'] = aps_properties['criticalAndSecurityPatchCount']
593+
aps_properties.pop("criticalAndSecurityPatchCount")
594+
if "lastModifiedTime" in aps_properties:
595+
aps_properties['last_modified_time'] = aps_properties['lastModifiedTime']
596+
aps_properties.pop("lastModifiedTime")
597+
if "otherPatchCount" in aps_properties:
598+
aps_properties['other_patch_count'] = aps_properties['otherPatchCount']
599+
aps_properties.pop("otherPatchCount")
600+
if "rebootPending" in aps_properties:
601+
aps_properties['reboot_pending'] = aps_properties['rebootPending']
602+
aps_properties.pop("rebootPending")
603+
if "startTime" in aps_properties:
604+
aps_properties['start_time'] = aps_properties['startTime']
605+
aps_properties.pop("startTime")
606+
607+
cs_properties = ps_properties.get("configuration_statuses", []) or []
608+
for cs_property in cs_properties:
609+
if "displayStatus" in cs_property:
610+
cs_property['display_status'] = cs_property['displayStatus']
611+
cs_property.pop("displayStatus")
612+
613+
lpis_properties = ps_properties.get("last_patch_installation_summary", {}) or {}
614+
if "excludedPatchCount" in lpis_properties:
615+
lpis_properties['excluded_patch_count'] = lpis_properties['excludedPatchCount']
616+
lpis_properties.pop("excludedPatchCount")
617+
if "failedPatchCount" in lpis_properties:
618+
lpis_properties['failed_patch_count'] = lpis_properties['failedPatchCount']
619+
lpis_properties.pop("failedPatchCount")
620+
if "installationActivityId" in lpis_properties:
621+
lpis_properties['installation_activity_id'] = lpis_properties['installationActivityId']
622+
lpis_properties.pop("installationActivityId")
623+
if "installedPatchCount" in lpis_properties:
624+
lpis_properties['installed_patch_count'] = lpis_properties['installedPatchCount']
625+
lpis_properties.pop("installedPatchCount")
626+
if "lastModifiedTime" in lpis_properties:
627+
lpis_properties['last_modified_time'] = lpis_properties['lastModifiedTime']
628+
lpis_properties.pop("lastModifiedTime")
629+
if "maintenanceWindowExceeded" in lpis_properties:
630+
lpis_properties['maintenance_window_exceeded'] = lpis_properties['maintenanceWindowExceeded']
631+
lpis_properties.pop("maintenanceWindowExceeded")
632+
if "notSelectedPatchCount" in lpis_properties:
633+
lpis_properties['not_selected_patch_count'] = lpis_properties['notSelectedPatchCount']
634+
lpis_properties.pop("notSelectedPatchCount")
635+
if "pendingPatchCount" in lpis_properties:
636+
lpis_properties['pending_patch_count'] = lpis_properties['pendingPatchCount']
637+
lpis_properties.pop("pendingPatchCount")
638+
if "startTime" in lpis_properties:
639+
lpis_properties['start_time'] = lpis_properties['startTime']
640+
lpis_properties.pop("startTime")
641+
642+
eh_properties = va_properties.get("extension_handlers", []) or []
643+
for eh_property in eh_properties:
644+
status_properties = eh_property.get("status", {}) or {}
645+
if "displayStatus" in status_properties:
646+
status_properties['display_status'] = status_properties['displayStatus']
647+
status_properties.pop("displayStatus")
648+
649+
if "typeHandlerVersion" in eh_property:
650+
eh_property['type_handler_version'] = eh_property['typeHandlerVersion']
651+
eh_property.pop("typeHandlerVersion")
652+
653+
statuses_properties = va_properties.get("statuses", []) or []
654+
for statuses_property in statuses_properties:
655+
if "displayStatus" in statuses_property:
656+
statuses_property['display_status'] = statuses_property['displayStatus']
657+
statuses_property.pop("displayStatus")
658+
417659
network_profile = new_result.get("network_profile", {}) or {}
418660
if "networkApiVersion" in network_profile:
419661
network_profile["network_api_version"] = network_profile["networkApiVersion"]

0 commit comments

Comments
 (0)