以下是我从运行aws ec2 describe-volumes获得的JSON结果(对于一个卷):
{ "AvailabilityZone": "eu-west-1a", "Attachments": [ { "AttachTime": "2015-02-23T15:01:37.000Z", "InstanceId": "i-abcd1234", "VolumeId": "vol-pqrs1234", "State": "attached", "DeleteOnTermination": true, "Device": "/dev/xvda" } ], "Tags": [ { "Value": "on", "Key": "snapshot" }, { "Value": "srv001: /", "Key": "Name" } ], "Encrypted": false, "VolumeType": "gp2", "VolumeId": "vol-pqrs1234", "State": "in-use", "Iops": 24, "SnapshotId": "snap-klmn1234", "CreateTime": "2015-02-23T15:01:37.000Z", "Size": 8 },
使用Python Boto,我可以使用filter来获取卷ID的列表。
volumes = conn.get_all_volumes(filters={"tag:snapshot" : "on"})
我想过滤“状态:使用中”和其他可能的值,并为快照做类似的事情。 我无法find正确的filter名称。 像“状态”或“attachment.state”的filter是不允许的:
The filter 'attachment.state' is invalid
什么是正确的filter名称,或者我在哪里可以find它们?
我相信你可以使用VolumeId调用ec2-describe-snapshots ,并从这个卷获得更多关于快照的信息。
原始的海报问到关于aws ec2 describe-volumes ,这是一个不同于ec2-describe-volumes工具。 关于awscli描述卷的信息可以在这里find。
关于OP的问题,下面是filter列表:
– filter(列表)
One or more filters. attachment.attach-time - The time stamp when the attachment initiated. attachment.delete-on-termination - Whether the volume is deleted on instance termination. attachment.device - The device name that is exposed to the instance (for example, /dev/sda1 ). attachment.instance-id - The ID of the instance the volume is attached to. attachment.status - The attachment state (attaching | attached | detaching | detached ). availability-zone - The Availability Zone in which the volume was created. create-time - The time stamp when the volume was created. encrypted - The encryption status of the volume. size - The size of the volume, in GiB. snapshot-id - The snapshot from which the volume was created. status - The status of the volume (creating | available | in-use | deleting | deleted | error ). tag :key =*value* - The key/value combination of a tag assigned to the resource. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag :key =*value* filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. volume-id - The volume ID. volume-type - The Amazon EBS volume type. This can be gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, or standard for Magnetic volumes.