如何从虚拟机的 Azure Python SDK 获取 OS 磁盘相关详细信息

How to get OS disk related details from Azure Python SDK for a vm

我正在尝试通过 python sdk

获取有关 Azure VM 的 OS 磁盘的信息

我试图通过

获取信息
 disk_account_type =  vm.managed_disk.storage_account_type

但出现以下错误:

AttributeError: 'VirtualMachine' object has no attribute 'managed_disk'

我在哪里可以获得 OS 磁盘名称、大小和加密值以及此 OS 磁盘的存储帐户类型。 编辑:截图

您可以使用下面的代码获取它们。

vm = compute_client.virtual_machines.get("groupname", "joyvm1")

name = vm.storage_profile.os_disk.name
disk_size_gb = vm.storage_profile.os_disk.disk_size_gb
encryption_settings = vm.storage_profile.os_disk.encryption_settings
storage_account_type = vm.storage_profile.os_disk.managed_disk.storage_account_type

print(name, disk_size_gb, encryption_settings, storage_account_type)

更新:

如果你说的Encryption valuedisk_encryption_set,你可以使用下面的代码,它returns磁盘加密集资源id。

disk_encryption_set = vm.storage_profile.os_disk.managed_disk.disk_encryption_set
print(disk_encryption_set)

更新2:

disk_encryption_set = vm.storage_profile.os_disk.managed_disk.disk_encryption_set

if disk_encryption_set is None:
    encryption = "SSE with PMK"
else:
    encryption = "SSE with CMK"

print(encryption)