【第84课】怎样使用API查询资源是否售罄/查询可用的公共镜像
查询规格资源是否可购买/资源是否售罄
如需查询某一具体的云服务器规格在某可用区是否资源充足,可以通过调用查询规格详情和规格扩展信息列表查看该规格的详细信息。并通过响应信息中的cond:operation:status和cond:operation:az字段的取值判断在区域和可用区的取值。
例如查询华东上海二可用区一的资源情况,请求URI如下。
GET https://ecs.cn-east-2.myhuaweicloud.com/v1/05041fea8a8025662f4ac00927982f3e/cloudservers/flavors?availability_zone=cn-east-2a
响应信息
{
"id": "c3.3xlarge.2",
"name": "c3.3xlarge.2",
...
"os_extra_specs": {
"cond:spot_block:operation:az": "cn-east-2a(sellout),cn-east-2b(normal),cn-east-2c(normal),cn-east-2d(normal)",
"cond:operation:az": ,"cn-east-2d(sellout),cn-east-2a(normal),cn-east-2b(normal)"
...
"cond:operation:status": "abandon",
"cond:spot_block:operation:interrupt_policy": "cn-east-2d(immediate),cn-east-2a(immediate),cn-east-2b(immediate),cn-east-2c(immediate)",
"resource_type": "IOoptimizedC3_2"
}
}
响应信息中通过cond:operation:status和cond:operation:az字段的取值判断资源是否可用。
优先查看cond:operation:az的取值,如果某个可用区没有在cond:operation:az参数中配置时默认使用cond:operation:status的取值。
例如本例中,c3.3xlarge.2在华东上海二的可用区一、可用区二正常商用,可用区四售罄,可用区三在在cond:operation:az中无配置信息,则以cond:operation:status的取值为准,即c3.3xlarge.2在华东上海二的可用区三下线。
查询可用的公共镜像
使用镜像服务的查询镜像列表的API可以根据不同条件查询镜像列表信息,在GET请求后通过‘?’和‘&’添加不同的查询条件组合。
如需查询公共镜像列表。
GET /v2/cloudimages?__imagetype=gold&visibility=public&protected=true
请注意调用镜像服务接口注意替换镜像服务的Endpoint信息。
查询镜像列表时,建议使用分页查询才能返回全部的镜像列表。通过指定marker和limit实现镜像列表的分页查询。
maker表示从哪个镜像开始查询,取值为镜像ID。limit表示查询几条镜像记录,取值为整数,默认取值为500。
GET /v2/cloudimages?__imagetype=gold&visibility=public&protected=true&marker=af92bb51-ec9d-4b02-912f-da0b3f0f7635&limit=5
如需查询其他的镜像类型
-
公共镜像列表查询
GET /v2/cloudimages?__imagetype=gold&visibility=public&protected=true
-
私有镜像列表查询
GET /v2/cloudimages?owner={project_id}
-
可以使用的共享镜像列表
GET /v2/cloudimages?member_status=accepted&visibility=shared&__imagetype=shared
-
被拒绝的共享镜像列表
GET /v2/cloudimages?member_status=rejected&visibility=shared&__imagetype=shared
-
未接受的共享镜像列表
GET /v2/cloudimages?member_status=pending&visibility=shared&__imagetype=shared
-
裸金属服务器某规格支持的公共镜像列表
GET /v2/cloudimages?__imagetype=gold&__support_xxx=true&virtual_env_type=Ironic
如果未指定镜像类型,那么可以通过响应信息中的__imagetype字段判断镜像类型。
- 点赞
- 收藏
- 关注作者
评论(0)