Python Boto 列出附加到实例的存储设备
Python Boto List Storage Devices Attached to Instance
我正在使用 Python 2.7 和 Boto.latest。
我正在创建一个动态清单脚本,我想列出连接到每个实例的存储设备
示例:
ID: i-3rblah
Storage:
- /dev/sda
- /dev/sdb
- /dev/sdc
尝试过:
for reservation in reservations:
for i in reservation.instances:
volumes = conn.get_all_volumes(filters={'attachment.instance-id': i.id})
print i.__dict__
print volumes.__dict__
所以我有一些卷信息,但没有 VolumeID 映射到的信息。
要获取所有卷都附加了一个实例-:
inst=conn.get_all_instances()
for reservation in inst:
for i in reservation.instances:
volumes = conn.get_all_volumes(filters={'attachment.instance-id': i.id})
print "This instance:",i.id," is attached to ", volumes
我想你想要实例的 BlockDeviceMapping
。根据你上面的例子,下面应该找到 block_device_mapping
作为字典的实例。字典中的每个键都是一个设备名称,值是一个 BlockDeviceType
对象,其中包含有关与该设备名称关联的块设备的信息。
for reservation in reservations:
for instance in reservation.instances:
bdm = instance.block_device_mapping
for device in bdm:
print('Device: {}'.format(device)
bdt = bdm[device]
print('\tVolumeID: {}'.format(bdt.volume_id))
print('\tVolume Status: {}'.format(bd.volume_status))
这应该打印如下内容:
Device: /dev/sda1
VolumeID: vol-1d011806
Volume Size: attached
BlockDeviceType
对象中还有其他字段。您应该能够在 Boto 文档中找到更多相关信息。
我正在使用 Python 2.7 和 Boto.latest。
我正在创建一个动态清单脚本,我想列出连接到每个实例的存储设备
示例:
ID: i-3rblah
Storage:
- /dev/sda
- /dev/sdb
- /dev/sdc
尝试过:
for reservation in reservations:
for i in reservation.instances:
volumes = conn.get_all_volumes(filters={'attachment.instance-id': i.id})
print i.__dict__
print volumes.__dict__
所以我有一些卷信息,但没有 VolumeID 映射到的信息。
要获取所有卷都附加了一个实例-:
inst=conn.get_all_instances()
for reservation in inst:
for i in reservation.instances:
volumes = conn.get_all_volumes(filters={'attachment.instance-id': i.id})
print "This instance:",i.id," is attached to ", volumes
我想你想要实例的 BlockDeviceMapping
。根据你上面的例子,下面应该找到 block_device_mapping
作为字典的实例。字典中的每个键都是一个设备名称,值是一个 BlockDeviceType
对象,其中包含有关与该设备名称关联的块设备的信息。
for reservation in reservations:
for instance in reservation.instances:
bdm = instance.block_device_mapping
for device in bdm:
print('Device: {}'.format(device)
bdt = bdm[device]
print('\tVolumeID: {}'.format(bdt.volume_id))
print('\tVolume Status: {}'.format(bd.volume_status))
这应该打印如下内容:
Device: /dev/sda1
VolumeID: vol-1d011806
Volume Size: attached
BlockDeviceType
对象中还有其他字段。您应该能够在 Boto 文档中找到更多相关信息。