Reservation API v1¶
这是由 Blazar 项目提供的 OpenStack Reservation API 的参考。
租赁¶
*_date 参数的日期和时间格式为 CCYY-MM-DD hh:mm。例如,2017-12-26 12:00。
列出租赁。
响应代码
正常响应代码:200
错误响应代码:请求错误(400),未授权(401),禁止(403),内部服务器错误(500)
请求¶
没有正文内容、路径或查询选项。
响应¶
通用参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
leases |
body |
数组 |
一个 |
id |
body |
字符串 |
租赁的 UUID。 |
name |
body |
字符串 |
租赁的名称。 |
start_date |
body |
字符串 |
租赁的开始日期和时间。 |
end_date |
body |
字符串 |
租赁的结束日期和时间。 |
status |
body |
字符串 |
租赁的状态。 |
degraded |
body |
布尔值 |
租赁的保留资源的标志。当预订的missing_resources 或 resources_changed 设置为 True 时,此标志设置为 True。 |
user_id |
body |
字符串 |
租赁所有者的 UUID。 |
project_id |
body |
字符串 |
拥有租赁的项目 UUID。 |
trust_id |
body |
字符串 |
租赁所有者的信任 UUID。 |
created_at |
body |
字符串 |
创建对象的时间和日期。 |
updated_at |
body |
字符串 |
更新对象的时间和日期。 |
reservations |
body |
数组 |
一个 |
reservation.id |
body |
字符串 |
预订的 UUID。 |
reservation.lease_id |
body |
字符串 |
预订所属的租赁的 UUID。 |
reservation.status |
body |
字符串 |
预订的状态。 |
reservation.missing_resources |
body |
布尔值 |
保留资源容量的标志。如果保留的资源量少于请求量,则设置为 True。 |
reservation.resources_changed |
body |
布尔值 |
保留资源更改的标志。如果租赁开始后保留的资源发生更改,则设置为 True。 |
reservation.resource_id |
body |
字符串 |
预订的资源对象的 ID。 |
reservation.resource_type |
body |
字符串 |
要预订的资源类型。 注意
|
reservation.created_at |
body |
字符串 |
创建对象的时间和日期。 |
reservation.updated_at |
body |
字符串 |
更新对象的时间和日期。 |
events |
body |
数组 |
一个 |
event.id |
body |
字符串 |
事件的 UUID。 |
event.lease_id |
body |
字符串 |
事件所属的租赁的 UUID。 |
event.status |
body |
字符串 |
事件的状态。 |
event.event_type |
body |
字符串 |
事件的类型。 |
event.time |
body |
字符串 |
事件的日期和时间。 |
event.created_at |
body |
字符串 |
创建对象的时间和日期。 |
event_updated_at |
body |
字符串 |
更新对象的时间和日期。 |
主机预订参数¶
以下参数用于主机预订返回。所有参数都在 reservation 对象中。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
reservation.min |
body |
整数 |
要预订的最小主机数。该值应大于 0。 |
reservation.max |
body |
整数 |
要预订的最大主机数。该值应大于或等于 |
reservation.hypervisor_properties |
body |
字符串 |
要预订的 hypervisor 的属性。 |
reservation.resource_properties |
body |
字符串 |
要预订的资源的属性。 |
reservation.before_end |
body |
字符串 |
预订的 before-end 操作。 注意
|
实例预订参数¶
以下参数用于实例预订返回。所有参数都在 reservation 对象中。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
reservation.amount |
body |
整数 |
要预订的实例数量。该值应大于 0。 |
reservation.vcpus |
body |
整数 |
每个实例的 VCPU 数量。 |
reservation.memory_mb |
body |
整数 |
每个实例的内存 MB 数。 |
reservation.disk_gb |
body |
字符串 |
每个实例的本地磁盘 GB 数。 |
reservation.affinity |
body |
trilean |
要预订的实例的亲和性。该值应为 |
reservation.resource_properties |
body |
字符串 |
要预订的资源的属性。 |
reservation.flavor_id |
body |
字符串 |
用于在保留资源上启动实例的 flavor ID。 |
reservation.server_group_id |
body |
字符串 |
在保留资源上启动实例时指定的 server group ID。 |
reservation.aggregate_id |
body |
整数 |
预订的 aggregate ID。 |
列出租赁响应示例
{
"leases": [
{
"id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"name": "lease_foo",
"start_date": "2017-12-26T12:00:00.000000",
"end_date": "2017-12-27T12:00:00.000000",
"status":"PENDING",
"degraded": false,
"user_id": "5434f637520d4c17bbf254af034b0320",
"project_id": "aa45f56901ef45ee95e3d211097c0ea3",
"trust_id": "b442a580b9504ababf305bf2b4c49512",
"created_at": "2017-12-27 10:00:00",
"updated_at": null,
"reservations": [
{
"id": "087bc740-6d2d-410b-9d47-c7b2b55a9d36",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "pending",
"missing_resources": false,
"resources_changed": false,
"resource_id": "5e6c0e6e-f1e6-490b-baaf-50deacbbe371",
"resource_type": "physical:host",
"min": 4,
"max": 6,
"hypervisor_properties": "[\">=\", \"$vcpus\", \"4\"]",
"resource_properties": "",
"before_end": "default",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
},
{
"id": "ddc45423-f863-4e4e-8e7a-51d27cfec962",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "pending",
"missing_resources": false,
"resources_changed": false,
"resource_id": "0b901727-cca2-43ed-bcc8-c21b0982dcb1",
"resource_type": "virtual:instance",
"amount": 4,
"vcpus": 2,
"memory_mb": 4096,
"disk_gb": 100,
"affinity": false,
"resource_properties": "",
"flavor_id": "ddc45423-f863-4e4e-8e7a-51d27cfec962",
"server_group_id": "33cdfc42-5a04-4fcc-b190-1abebaa056bb",
"aggregate_id": 11,
"created_at": "2017-12-27 10:00:00",
"updated_at": null
}
],
"events": [
{
"id": "188a8584-f832-4df9-9a4a-51e6364420ff",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "UNDONE",
"event_type": "start_lease",
"time": "2017-12-26T12:00:00.000000",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
},
{
"id": "277d6436-dfcb-4eae-ae5e-ac7fa9c2fd56",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "UNDONE",
"event_type": "end_lease",
"time": "2017-12-27T12:00:00.000000",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
},
{
"id": "f583af71-ca21-4b66-87de-52211d118029",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "UNDONE",
"time": "2017-12-27T11:00:00.000000",
"event_type": "before_end_lease",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
}
]
}
]
}
创建一个租赁。
响应代码
正常响应代码:201
错误响应代码:请求错误(400),未授权(401),禁止(403),冲突(409),内部服务器错误(500)
请求¶
通用参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
name |
body |
字符串 |
租赁的名称。 |
start_date |
body |
字符串 |
租赁的开始日期和时间。 注意 如果指定了 |
end_date |
body |
字符串 |
租赁的结束日期和时间。 |
before_end_date (可选) |
body |
字符串 |
租赁的 before-end 操作的日期和时间。 |
reservations |
body |
数组 |
一个 |
reservation.resource_type |
body |
字符串 |
要预订的资源类型。 注意
|
events (可选) |
body |
数组 |
一个 |
主机预订参数¶
以下参数是主机预订必需的。所有参数都在 reservation 对象中。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
reservation.min |
body |
整数 |
要预订的最小主机数。该值应大于 0。 |
reservation.max |
body |
整数 |
要预订的最大主机数。该值应大于或等于 |
reservation.hypervisor_properties |
body |
字符串 |
要预订的 hypervisor 的属性。 |
reservation.resource_properties |
body |
字符串 |
要预订的资源的属性。 |
reservation.before_end (可选) |
body |
字符串 |
预订的 before-end 操作。 注意
|
实例预订参数¶
以下参数是实例预订必需的。所有参数都在 reservation 对象中。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
reservation.amount |
body |
整数 |
要预订的实例数量。该值应大于 0。 |
reservation.vcpus |
body |
整数 |
每个实例的 VCPU 数量。 |
reservation.memory_mb |
body |
整数 |
每个实例的内存 MB 数。 |
reservation.disk_gb |
body |
字符串 |
每个实例的本地磁盘 GB 数。 |
reservation.affinity |
body |
trilean |
要预订的实例的亲和性。该值应为 |
reservation.resource_properties |
body |
字符串 |
要预订的资源的属性。 |
创建租赁请求示例
{
"name": "lease_foo",
"start_date": "2017-12-26 12:00",
"end_date": "2017-12-27 12:00",
"before_end_date": "2017-12-27 11:00",
"reservations": [
{
"resource_type": "physical:host",
"min": 4,
"max": 6,
"hypervisor_properties": "[\">=\", \"$vcpus\", \"4\"]",
"resource_properties": "",
"before_end": "default"
},
{
"resource_type": "virtual:instance",
"amount": 4,
"vcpus": 2,
"memory_mb": 4096,
"disk_gb": 100,
"affinity": false,
"resource_properties": ""
}
],
"events": []
}
响应¶
通用参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
lease |
body |
对象 |
一个 |
id |
body |
字符串 |
租赁的 UUID。 |
name |
body |
字符串 |
租赁的名称。 |
start_date |
body |
字符串 |
租赁的开始日期和时间。 |
end_date |
body |
字符串 |
租赁的结束日期和时间。 |
status |
body |
字符串 |
租赁的状态。 |
degraded |
body |
布尔值 |
租赁的保留资源的标志。当预订的missing_resources 或 resources_changed 设置为 True 时,此标志设置为 True。 |
user_id |
body |
字符串 |
租赁所有者的 UUID。 |
project_id |
body |
字符串 |
拥有租赁的项目 UUID。 |
trust_id |
body |
字符串 |
租赁所有者的信任 UUID。 |
created_at |
body |
字符串 |
创建对象的时间和日期。 |
updated_at |
body |
字符串 |
更新对象的时间和日期。 |
reservations |
body |
数组 |
一个 |
reservation.id |
body |
字符串 |
预订的 UUID。 |
reservation.lease_id |
body |
字符串 |
预订所属的租赁的 UUID。 |
reservation.status |
body |
字符串 |
预订的状态。 |
reservation.missing_resources |
body |
布尔值 |
保留资源容量的标志。如果保留的资源量少于请求量,则设置为 True。 |
reservation.resources_changed |
body |
布尔值 |
保留资源更改的标志。如果租赁开始后保留的资源发生更改,则设置为 True。 |
reservation.resource_id |
body |
字符串 |
预订的资源对象的 ID。 |
reservation.resource_type |
body |
字符串 |
要预订的资源类型。 注意
|
reservation.created_at |
body |
字符串 |
创建对象的时间和日期。 |
reservation.updated_at |
body |
字符串 |
更新对象的时间和日期。 |
events |
body |
数组 |
一个 |
event.id |
body |
字符串 |
事件的 UUID。 |
event.lease_id |
body |
字符串 |
事件所属的租赁的 UUID。 |
event.status |
body |
字符串 |
事件的状态。 |
event.event_type |
body |
字符串 |
事件的类型。 |
event.time |
body |
字符串 |
事件的日期和时间。 |
event.created_at |
body |
字符串 |
创建对象的时间和日期。 |
event_updated_at |
body |
字符串 |
更新对象的时间和日期。 |
主机预订参数¶
以下参数用于主机预订返回。所有参数都在 reservation 对象中。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
reservation.min |
body |
整数 |
要预订的最小主机数。该值应大于 0。 |
reservation.max |
body |
整数 |
要预订的最大主机数。该值应大于或等于 |
reservation.hypervisor_properties |
body |
字符串 |
要预订的 hypervisor 的属性。 |
reservation.resource_properties |
body |
字符串 |
要预订的资源的属性。 |
reservation.before_end |
body |
字符串 |
预订的 before-end 操作。 注意
|
实例预订参数¶
以下参数用于实例预订返回。所有参数都在 reservation 对象中。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
reservation.amount |
body |
整数 |
要预订的实例数量。该值应大于 0。 |
reservation.vcpus |
body |
整数 |
每个实例的 VCPU 数量。 |
reservation.memory_mb |
body |
整数 |
每个实例的内存 MB 数。 |
reservation.disk_gb |
body |
字符串 |
每个实例的本地磁盘 GB 数。 |
reservation.affinity |
body |
trilean |
要预订的实例的亲和性。该值应为 |
reservation.resource_properties |
body |
字符串 |
要预订的资源的属性。 |
reservation.flavor_id |
body |
字符串 |
用于在保留资源上启动实例的 flavor ID。 |
reservation.server_group_id |
body |
字符串 |
在保留资源上启动实例时指定的 server group ID。 |
reservation.aggregate_id |
body |
整数 |
预订的 aggregate ID。 |
创建租赁响应示例
{
"lease": {
"id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"name": "lease_foo",
"start_date": "2017-12-26T12:00:00.000000",
"end_date": "2017-12-27T12:00:00.000000",
"status":"PENDING",
"degraded": false,
"user_id": "5434f637520d4c17bbf254af034b0320",
"project_id": "aa45f56901ef45ee95e3d211097c0ea3",
"trust_id": "b442a580b9504ababf305bf2b4c49512",
"created_at": "2017-12-27 10:00:00",
"updated_at": null,
"reservations": [
{
"id": "087bc740-6d2d-410b-9d47-c7b2b55a9d36",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "pending",
"missing_resources": false,
"resources_changed": false,
"resource_id": "5e6c0e6e-f1e6-490b-baaf-50deacbbe371",
"resource_type": "physical:host",
"min": 4,
"max": 6,
"hypervisor_properties": "[\">=\", \"$vcpus\", \"4\"]",
"resource_properties": "",
"before_end": "default",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
},
{
"id": "ddc45423-f863-4e4e-8e7a-51d27cfec962",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "pending",
"missing_resources": false,
"resources_changed": false,
"resource_id": "0b901727-cca2-43ed-bcc8-c21b0982dcb1",
"resource_type": "virtual:instance",
"amount": 4,
"vcpus": 2,
"memory_mb": 4096,
"disk_gb": 100,
"affinity": false,
"resource_properties": "",
"flavor_id": "ddc45423-f863-4e4e-8e7a-51d27cfec962",
"server_group_id": "33cdfc42-5a04-4fcc-b190-1abebaa056bb",
"aggregate_id": 11,
"created_at": "2017-12-27 10:00:00",
"updated_at": null
}
],
"events": [
{
"id": "188a8584-f832-4df9-9a4a-51e6364420ff",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "UNDONE",
"event_type": "start_lease",
"time": "2017-12-26T12:00:00.000000",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
},
{
"id": "277d6436-dfcb-4eae-ae5e-ac7fa9c2fd56",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "UNDONE",
"event_type": "end_lease",
"time": "2017-12-27T12:00:00.000000",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
},
{
"id": "f583af71-ca21-4b66-87de-52211d118029",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "UNDONE",
"time": "2017-12-27T11:00:00.000000",
"event_type": "before_end_lease",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
}
]
}
}
显示租赁的详情。
先决条件
租赁必须存在。
响应代码
正常响应代码:200
错误响应代码:请求错误(400),未授权(401),禁止(403),未找到(404),内部服务器错误(500)
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
lease_id |
路径 |
字符串 |
租赁的 UUID。 |
响应¶
通用参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
lease |
body |
对象 |
一个 |
id |
body |
字符串 |
租赁的 UUID。 |
name |
body |
字符串 |
租赁的名称。 |
start_date |
body |
字符串 |
租赁的开始日期和时间。 |
end_date |
body |
字符串 |
租赁的结束日期和时间。 |
status |
body |
字符串 |
租赁的状态。 |
degraded |
body |
布尔值 |
租赁的保留资源的标志。当预订的missing_resources 或 resources_changed 设置为 True 时,此标志设置为 True。 |
user_id |
body |
字符串 |
租赁所有者的 UUID。 |
project_id |
body |
字符串 |
拥有租赁的项目 UUID。 |
trust_id |
body |
字符串 |
租赁所有者的信任 UUID。 |
created_at |
body |
字符串 |
创建对象的时间和日期。 |
updated_at |
body |
字符串 |
更新对象的时间和日期。 |
reservations |
body |
数组 |
一个 |
reservation.id |
body |
字符串 |
预订的 UUID。 |
reservation.lease_id |
body |
字符串 |
预订所属的租赁的 UUID。 |
reservation.status |
body |
字符串 |
预订的状态。 |
reservation.missing_resources |
body |
布尔值 |
保留资源容量的标志。如果保留的资源量少于请求量,则设置为 True。 |
reservation.resources_changed |
body |
布尔值 |
保留资源更改的标志。如果租赁开始后保留的资源发生更改,则设置为 True。 |
reservation.resource_id |
body |
字符串 |
预订的资源对象的 ID。 |
reservation.resource_type |
body |
字符串 |
要预订的资源类型。 注意
|
reservation.created_at |
body |
字符串 |
创建对象的时间和日期。 |
reservation.updated_at |
body |
字符串 |
更新对象的时间和日期。 |
events |
body |
数组 |
一个 |
event.id |
body |
字符串 |
事件的 UUID。 |
event.lease_id |
body |
字符串 |
事件所属的租赁的 UUID。 |
event.status |
body |
字符串 |
事件的状态。 |
event.event_type |
body |
字符串 |
事件的类型。 |
event.time |
body |
字符串 |
事件的日期和时间。 |
event.created_at |
body |
字符串 |
创建对象的时间和日期。 |
event_updated_at |
body |
字符串 |
更新对象的时间和日期。 |
主机预订参数¶
以下参数用于主机预订返回。所有参数都在 reservation 对象中。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
reservation.min |
body |
整数 |
要预订的最小主机数。该值应大于 0。 |
reservation.max |
body |
整数 |
要预订的最大主机数。该值应大于或等于 |
reservation.hypervisor_properties |
body |
字符串 |
要预订的 hypervisor 的属性。 |
reservation.resource_properties |
body |
字符串 |
要预订的资源的属性。 |
reservation.before_end |
body |
字符串 |
预订的 before-end 操作。 注意
|
实例预订参数¶
以下参数用于实例预订返回。所有参数都在 reservation 对象中。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
reservation.amount |
body |
整数 |
要预订的实例数量。该值应大于 0。 |
reservation.vcpus |
body |
整数 |
每个实例的 VCPU 数量。 |
reservation.memory_mb |
body |
整数 |
每个实例的内存 MB 数。 |
reservation.disk_gb |
body |
字符串 |
每个实例的本地磁盘 GB 数。 |
reservation.affinity |
body |
trilean |
要预订的实例的亲和性。该值应为 |
reservation.resource_properties |
body |
字符串 |
要预订的资源的属性。 |
reservation.flavor_id |
body |
字符串 |
用于在保留资源上启动实例的 flavor ID。 |
reservation.server_group_id |
body |
字符串 |
在保留资源上启动实例时指定的 server group ID。 |
reservation.aggregate_id |
body |
整数 |
预订的 aggregate ID。 |
显示租赁详情响应示例
{
"lease": {
"id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"name": "lease_foo",
"start_date": "2017-12-26T12:00:00.000000",
"end_date": "2017-12-27T12:00:00.000000",
"status":"PENDING",
"degraded": false,
"user_id": "5434f637520d4c17bbf254af034b0320",
"project_id": "aa45f56901ef45ee95e3d211097c0ea3",
"trust_id": "b442a580b9504ababf305bf2b4c49512",
"created_at": "2017-12-27 10:00:00",
"updated_at": null,
"reservations": [
{
"id": "087bc740-6d2d-410b-9d47-c7b2b55a9d36",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "pending",
"missing_resources": false,
"resources_changed": false,
"resource_id": "5e6c0e6e-f1e6-490b-baaf-50deacbbe371",
"resource_type": "physical:host",
"min": 4,
"max": 6,
"hypervisor_properties": "[\">=\", \"$vcpus\", \"4\"]",
"resource_properties": "",
"before_end": "default",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
},
{
"id": "ddc45423-f863-4e4e-8e7a-51d27cfec962",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "pending",
"missing_resources": false,
"resources_changed": false,
"resource_id": "0b901727-cca2-43ed-bcc8-c21b0982dcb1",
"resource_type": "virtual:instance",
"amount": 4,
"vcpus": 2,
"memory_mb": 4096,
"disk_gb": 100,
"affinity": false,
"resource_properties": "",
"flavor_id": "ddc45423-f863-4e4e-8e7a-51d27cfec962",
"server_group_id": "33cdfc42-5a04-4fcc-b190-1abebaa056bb",
"aggregate_id": 11,
"created_at": "2017-12-27 10:00:00",
"updated_at": null
}
],
"events": [
{
"id": "188a8584-f832-4df9-9a4a-51e6364420ff",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "UNDONE",
"event_type": "start_lease",
"time": "2017-12-26T12:00:00.000000",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
},
{
"id": "277d6436-dfcb-4eae-ae5e-ac7fa9c2fd56",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "UNDONE",
"event_type": "end_lease",
"time": "2017-12-27T12:00:00.000000",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
},
{
"id": "f583af71-ca21-4b66-87de-52211d118029",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "UNDONE",
"time": "2017-12-27T11:00:00.000000",
"event_type": "before_end_lease",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
}
]
}
}
更新一个租赁。
先决条件
租赁必须存在。
响应代码
正常响应代码:200
错误响应代码:请求错误(400),未授权(401),禁止(403),未找到(404),冲突(409),内部服务器错误(500)
请求¶
通用参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
lease_id |
路径 |
字符串 |
租赁的 UUID。 |
name (可选) |
body |
字符串 |
租赁的名称。 |
start_date (可选) |
body |
字符串 |
租赁的开始日期和时间。 注意 如果指定了 |
end_date (可选) |
body |
字符串 |
租赁的结束日期和时间。 |
before_end_date (可选) |
body |
字符串 |
租赁的 before-end 操作的日期和时间。 |
reservations (可选) |
body |
数组 |
一个 |
reservation.id |
body |
字符串 |
预订的 UUID。 |
主机预订参数¶
以下参数是主机预订必需的。所有参数都在 reservation 对象中。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
reservation.min (可选) |
body |
整数 |
要预订的最小主机数。该值应大于 0。 |
reservation.max (可选) |
body |
整数 |
要预订的最大主机数。该值应大于或等于 |
reservation.hypervisor_properties |
body |
字符串 |
要预订的 hypervisor 的属性。 |
reservation.resource_properties (可选) |
body |
字符串 |
要预订的资源的属性。 |
reservation.before_end (可选) |
body |
字符串 |
预订的 before-end 操作。 注意
|
实例预订参数¶
以下参数是实例预订必需的。所有参数都在 reservation 对象中。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
reservation.amount (可选) |
body |
整数 |
要预订的实例数量。该值应大于 0。 |
reservation.vcpus (可选) |
body |
整数 |
每个实例的 VCPU 数量。 |
reservation.memory_mb (可选) |
body |
整数 |
每个实例的内存 MB 数。 |
reservation.disk_gb (可选) |
body |
字符串 |
每个实例的本地磁盘 GB 数。 |
reservation.affinity (可选) |
body |
trilean |
要预订的实例的亲和性。该值应为 |
reservation.resource_properties (可选) |
body |
字符串 |
要预订的资源的属性。 |
更新租赁请求示例
{
"end_date": "2017-12-28 12:00",
"reservations": [
{
"id": "087bc740-6d2d-410b-9d47-c7b2b55a9d36",
"min": 6,
"max": 8
},
{
"id": "ddc45423-f863-4e4e-8e7a-51d27cfec962",
"amount": 6
}
],
"events": []
}
Response¶
通用参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
lease |
body |
对象 |
一个 |
id |
body |
字符串 |
租赁的 UUID。 |
name |
body |
字符串 |
租赁的名称。 |
start_date |
body |
字符串 |
租赁的开始日期和时间。 |
end_date |
body |
字符串 |
租赁的结束日期和时间。 |
status |
body |
字符串 |
租赁的状态。 |
degraded |
body |
布尔值 |
租赁的保留资源的标志。当预订的missing_resources 或 resources_changed 设置为 True 时,此标志设置为 True。 |
user_id |
body |
字符串 |
租赁所有者的 UUID。 |
project_id |
body |
字符串 |
拥有租赁的项目 UUID。 |
trust_id |
body |
字符串 |
租赁所有者的信任 UUID。 |
created_at |
body |
字符串 |
创建对象的时间和日期。 |
updated_at |
body |
字符串 |
更新对象的时间和日期。 |
reservations |
body |
数组 |
一个 |
reservation.id |
body |
字符串 |
预订的 UUID。 |
reservation.lease_id |
body |
字符串 |
预订所属的租赁的 UUID。 |
reservation.status |
body |
字符串 |
预订的状态。 |
reservation.missing_resources |
body |
布尔值 |
保留资源容量的标志。如果保留的资源量少于请求量,则设置为 True。 |
reservation.resources_changed |
body |
布尔值 |
保留资源更改的标志。如果租赁开始后保留的资源发生更改,则设置为 True。 |
reservation.resource_id |
body |
字符串 |
预订的资源对象的 ID。 |
reservation.resource_type |
body |
字符串 |
要预订的资源类型。 注意
|
reservation.created_at |
body |
字符串 |
创建对象的时间和日期。 |
reservation.updated_at |
body |
字符串 |
更新对象的时间和日期。 |
events |
body |
数组 |
一个 |
event.id |
body |
字符串 |
事件的 UUID。 |
event.lease_id |
body |
字符串 |
事件所属的租赁的 UUID。 |
event.status |
body |
字符串 |
事件的状态。 |
event.event_type |
body |
字符串 |
事件的类型。 |
event.time |
body |
字符串 |
事件的日期和时间。 |
event.created_at |
body |
字符串 |
创建对象的时间和日期。 |
event_updated_at |
body |
字符串 |
更新对象的时间和日期。 |
主机预订参数¶
以下参数用于主机预订返回。所有参数都在 reservation 对象中。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
reservation.min |
body |
整数 |
要预订的最小主机数。该值应大于 0。 |
reservation.max |
body |
整数 |
要预订的最大主机数。该值应大于或等于 |
reservation.hypervisor_properties |
body |
字符串 |
要预订的 hypervisor 的属性。 |
reservation.resource_properties |
body |
字符串 |
要预订的资源的属性。 |
reservation.before_end |
body |
字符串 |
预订的 before-end 操作。 注意
|
实例预订参数¶
以下参数用于实例预订返回。所有参数都在 reservation 对象中。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
reservation.amount |
body |
整数 |
要预订的实例数量。该值应大于 0。 |
reservation.vcpus |
body |
整数 |
每个实例的 VCPU 数量。 |
reservation.memory_mb |
body |
整数 |
每个实例的内存 MB 数。 |
reservation.disk_gb |
body |
字符串 |
每个实例的本地磁盘 GB 数。 |
reservation.affinity |
body |
trilean |
要预订的实例的亲和性。该值应为 |
reservation.resource_properties |
body |
字符串 |
要预订的资源的属性。 |
reservation.flavor_id |
body |
字符串 |
用于在保留资源上启动实例的 flavor ID。 |
reservation.server_group_id |
body |
字符串 |
在保留资源上启动实例时指定的 server group ID。 |
reservation.aggregate_id |
body |
整数 |
预订的 aggregate ID。 |
更新租赁响应示例
{
"lease": {
"id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"name": "lease_foo",
"start_date": "2017-12-26T12:00:00.000000",
"end_date": "2017-12-28T12:00:00.000000",
"status":"PENDING",
"degraded": false,
"user_id": "5434f637520d4c17bbf254af034b0320",
"project_id": "aa45f56901ef45ee95e3d211097c0ea3",
"trust_id": "b442a580b9504ababf305bf2b4c49512",
"created_at": "2017-12-27 10:00:00",
"updated_at": null,
"reservations": [
{
"id": "087bc740-6d2d-410b-9d47-c7b2b55a9d36",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "pending",
"missing_resources": false,
"resources_changed": false,
"resource_id": "5e6c0e6e-f1e6-490b-baaf-50deacbbe371",
"resource_type": "physical:host",
"min": 6,
"max": 8,
"hypervisor_properties": "[\">=\", \"$vcpus\", \"4\"]",
"resource_properties": "",
"before_end": "default",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
},
{
"id": "ddc45423-f863-4e4e-8e7a-51d27cfec962",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "pending",
"missing_resources": false,
"resources_changed": false,
"resource_id": "0b901727-cca2-43ed-bcc8-c21b0982dcb1",
"resource_type": "virtual:instance",
"amount": 6,
"vcpus": 2,
"memory_mb": 4096,
"disk_gb": 100,
"affinity": false,
"resource_properties": "",
"flavor_id": "ddc45423-f863-4e4e-8e7a-51d27cfec962",
"server_group_id": "33cdfc42-5a04-4fcc-b190-1abebaa056bb",
"aggregate_id": 11,
"created_at": "2017-12-27 10:00:00",
"updated_at": null
}
],
"events": [
{
"id": "188a8584-f832-4df9-9a4a-51e6364420ff",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "UNDONE",
"event_type": "start_lease",
"time": "2017-12-26T12:00:00.000000",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
},
{
"id": "277d6436-dfcb-4eae-ae5e-ac7fa9c2fd56",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "UNDONE",
"event_type": "end_lease",
"time": "2017-12-27T12:00:00.000000",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
},
{
"id": "f583af71-ca21-4b66-87de-52211d118029",
"lease_id": "6ee55c78-ac52-41a6-99af-2d2d73bcc466",
"status": "UNDONE",
"time": "2017-12-27T11:00:00.000000",
"event_type": "before_end_lease",
"created_at": "2017-12-27 10:00:00",
"updated_at": null
}
]
}
}
删除一个租赁。
先决条件
租赁必须存在。
响应代码
正常响应代码:204
错误响应代码:请求错误(400),未授权(401),禁止(403),未找到(404),冲突(409),内部服务器错误(500)
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
lease_id |
路径 |
字符串 |
租赁的 UUID。 |
响应¶
成功删除后不返回正文内容。
主机¶
列出主机。
响应代码
正常响应代码:200
错误响应代码:请求错误(400),未授权(401),禁止(403),内部服务器错误(500)
请求¶
没有正文内容、路径或查询选项。
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
hosts |
body |
数组 |
一个 |
id |
body |
字符串 |
主机的 ID。 |
hypervisor_hostname |
body |
字符串 |
主机的 hypervisor 名称。 |
hypervisor_type |
body |
字符串 |
主机的 hypervisor 类型。 |
hypervisor_version |
body |
整数 |
主机的 hypervisor 版本。 |
vcpus |
body |
整数 |
主机的 VCPU 数量。 |
cpu_info |
body |
字符串 |
CPU 的信息。 |
memory_mb |
body |
整数 |
主机的内存 MB 数。 |
local_gb |
body |
整数 |
主机的磁盘 GB 数。 |
service_name |
body |
字符串 |
主机的计算服务名称。 |
reservable |
body |
布尔值 |
一个标志,表示主机是否可预订。 |
status |
body |
字符串 |
主机的状态。 注意 当前为 null。 |
trust_id |
body |
字符串 |
主机操作者的信任 UUID。 |
created_at |
body |
字符串 |
创建对象的时间和日期。 |
updated_at |
body |
字符串 |
更新对象的时间和日期。 |
extra_capability (可选) |
body |
any |
主机的额外功能。 注意 任何键值对都可以存储为主机的一个额外功能。 |
列出主机响应示例
{
"hosts": [
{
"id": "1",
"hypervisor_hostname": "compute-1",
"hypervisor_type": "QEMU",
"hypervisor_version": 2010001,
"vcpus": 4,
"cpu_info": "{'arch': 'x86_64', 'model': 'cpu64-rhel6',
'vendor': 'Intel', 'features': [
'pge', 'clflush', 'sep', 'syscall', 'msr',
'vmx', 'cmov', 'nx', 'pat', 'lm', 'tsc',
'fpu', 'fxsr', 'pae', 'mmx', 'cx8', 'mce',
'de', 'mca', 'pse', 'pni', 'apic', 'sse',
'lahf_lm', 'sse2', 'hypervisor', 'cx16',
'pse36', 'mttr', 'x2apic'],
'topology': {
'cores': 1, 'cells': 1, 'threads': 1, 'sockets': 4
}}",
"memory_mb": 8192,
"local_gb": 100,
"service_name": "compute-1",
"reservable": true,
"status": null,
"trust_id": "5f67f11215cf4c52906453a181bfcfea",
"created_at": "2017-12-27 10:00:00",
"updated_at": null,
"extra_capability_sample": "foo"
}
]
}
创建一个主机。
响应代码
正常响应代码:201
错误响应代码:请求错误(400),未授权(401),禁止(403),冲突(409),内部服务器错误(500)
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
name |
body |
字符串 |
主机的名称。 |
extra_capability (可选) |
body |
any |
主机的额外功能。 注意 任何键值对都可以存储为主机的一个额外功能。 |
创建主机请求示例
{
"name": "compute-1",
"extra_capability_sample": "foo"
}
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
host |
body |
对象 |
一个 |
id |
body |
字符串 |
主机的 ID。 |
hypervisor_hostname |
body |
字符串 |
主机的 hypervisor 名称。 |
hypervisor_type |
body |
字符串 |
主机的 hypervisor 类型。 |
hypervisor_version |
body |
整数 |
主机的 hypervisor 版本。 |
vcpus |
body |
整数 |
主机的 VCPU 数量。 |
cpu_info |
body |
字符串 |
CPU 的信息。 |
memory_mb |
body |
整数 |
主机的内存 MB 数。 |
local_gb |
body |
整数 |
主机的磁盘 GB 数。 |
service_name |
body |
字符串 |
主机的计算服务名称。 |
reservable |
body |
布尔值 |
一个标志,表示主机是否可预订。 |
status |
body |
字符串 |
主机的状态。 注意 当前为 null。 |
trust_id |
body |
字符串 |
主机操作者的信任 UUID。 |
created_at |
body |
字符串 |
创建对象的时间和日期。 |
updated_at |
body |
字符串 |
更新对象的时间和日期。 |
extra_capability (可选) |
body |
any |
主机的额外功能。 注意 任何键值对都可以存储为主机的一个额外功能。 |
创建主机响应示例
{
"host": {
"id": "1",
"hypervisor_hostname": "compute-1",
"hypervisor_type": "QEMU",
"hypervisor_version": 2010001,
"vcpus": 4,
"cpu_info": "{'arch': 'x86_64', 'model': 'cpu64-rhel6',
'vendor': 'Intel', 'features': [
'pge', 'clflush', 'sep', 'syscall', 'msr',
'vmx', 'cmov', 'nx', 'pat', 'lm', 'tsc',
'fpu', 'fxsr', 'pae', 'mmx', 'cx8', 'mce',
'de', 'mca', 'pse', 'pni', 'apic', 'sse',
'lahf_lm', 'sse2', 'hypervisor', 'cx16',
'pse36', 'mttr', 'x2apic'],
'topology': {
'cores': 1, 'cells': 1, 'threads': 1, 'sockets': 4
}}",
"memory_mb": 8192,
"local_gb": 100,
"service_name": "compute-1",
"reservable": true,
"status": null,
"trust_id": "5f67f11215cf4c52906453a181bfcfea",
"created_at": "2017-12-27 10:00:00",
"updated_at": null,
"extra_capability_sample": "foo"
}
}
显示主机详情。
先决条件
主机必须存在。
响应代码
正常响应代码:200
错误响应代码:请求错误(400),未授权(401),禁止(403),未找到(404),内部服务器错误(500)
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
host_id |
路径 |
字符串 |
主机的 ID。 |
private |
body |
布尔值 |
属性是否私有。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
host |
body |
对象 |
一个 |
id |
body |
字符串 |
主机的 ID。 |
hypervisor_hostname |
body |
字符串 |
主机的 hypervisor 名称。 |
hypervisor_type |
body |
字符串 |
主机的 hypervisor 类型。 |
hypervisor_version |
body |
整数 |
主机的 hypervisor 版本。 |
vcpus |
body |
整数 |
主机的 VCPU 数量。 |
cpu_info |
body |
字符串 |
CPU 的信息。 |
memory_mb |
body |
整数 |
主机的内存 MB 数。 |
local_gb |
body |
整数 |
主机的磁盘 GB 数。 |
service_name |
body |
字符串 |
主机的计算服务名称。 |
reservable |
body |
布尔值 |
一个标志,表示主机是否可预订。 |
status |
body |
字符串 |
主机的状态。 注意 当前为 null。 |
trust_id |
body |
字符串 |
主机操作者的信任 UUID。 |
created_at |
body |
字符串 |
创建对象的时间和日期。 |
updated_at |
body |
字符串 |
更新对象的时间和日期。 |
extra_capability (可选) |
body |
any |
主机的额外功能。 注意 任何键值对都可以存储为主机的一个额外功能。 |
显示主机详情响应示例
{
"host": {
"id": "1",
"hypervisor_hostname": "compute-1",
"hypervisor_type": "QEMU",
"hypervisor_version": 2010001,
"vcpus": 4,
"cpu_info": "{'arch': 'x86_64', 'model': 'cpu64-rhel6',
'vendor': 'Intel', 'features': [
'pge', 'clflush', 'sep', 'syscall', 'msr',
'vmx', 'cmov', 'nx', 'pat', 'lm', 'tsc',
'fpu', 'fxsr', 'pae', 'mmx', 'cx8', 'mce',
'de', 'mca', 'pse', 'pni', 'apic', 'sse',
'lahf_lm', 'sse2', 'hypervisor', 'cx16',
'pse36', 'mttr', 'x2apic'],
'topology': {
'cores': 1, 'cells': 1, 'threads': 1, 'sockets': 4
}}",
"memory_mb": 8192,
"local_gb": 100,
"service_name": "compute-1",
"reservable": true,
"status": null,
"trust_id": "5f67f11215cf4c52906453a181bfcfea",
"created_at": "2017-12-27 10:00:00",
"updated_at": null,
"extra_capability_sample": "foo"
}
}
更新一个主机。
先决条件
主机必须存在。
响应代码
正常响应代码:200
错误响应代码:请求错误(400),未授权(401),禁止(403),未找到(404),冲突(409),内部服务器错误(500)
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
host_id |
路径 |
字符串 |
主机的 ID。 |
extra_capability (可选) |
body |
any |
主机的额外功能。 注意 任何键值对都可以存储为主机的一个额外功能。 |
更新主机请求示例
{
"extra_capability_sample": "bar"
}
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
host |
body |
对象 |
一个 |
id |
body |
字符串 |
主机的 ID。 |
hypervisor_hostname |
body |
字符串 |
主机的 hypervisor 名称。 |
hypervisor_type |
body |
字符串 |
主机的 hypervisor 类型。 |
hypervisor_version |
body |
整数 |
主机的 hypervisor 版本。 |
vcpus |
body |
整数 |
主机的 VCPU 数量。 |
cpu_info |
body |
字符串 |
CPU 的信息。 |
memory_mb |
body |
整数 |
主机的内存 MB 数。 |
local_gb |
body |
整数 |
主机的磁盘 GB 数。 |
service_name |
body |
字符串 |
主机的计算服务名称。 |
reservable |
body |
布尔值 |
一个标志,表示主机是否可预订。 |
status |
body |
字符串 |
主机的状态。 注意 当前为 null。 |
trust_id |
body |
字符串 |
主机操作者的信任 UUID。 |
created_at |
body |
字符串 |
创建对象的时间和日期。 |
updated_at |
body |
字符串 |
更新对象的时间和日期。 |
extra_capability (可选) |
body |
any |
主机的额外功能。 注意 任何键值对都可以存储为主机的一个额外功能。 |
主机更新响应示例
{
"host": {
"id": "1",
"hypervisor_hostname": "compute-1",
"hypervisor_type": "QEMU",
"hypervisor_version": 2010001,
"vcpus": 4,
"cpu_info": "{'arch': 'x86_64', 'model': 'cpu64-rhel6',
'vendor': 'Intel', 'features': [
'pge', 'clflush', 'sep', 'syscall', 'msr',
'vmx', 'cmov', 'nx', 'pat', 'lm', 'tsc',
'fpu', 'fxsr', 'pae', 'mmx', 'cx8', 'mce',
'de', 'mca', 'pse', 'pni', 'apic', 'sse',
'lahf_lm', 'sse2', 'hypervisor', 'cx16',
'pse36', 'mttr', 'x2apic'],
'topology': {
'cores': 1, 'cells': 1, 'threads': 1, 'sockets': 4
}}",
"memory_mb": 8192,
"local_gb": 100,
"service_name": "compute-1",
"reservable": true,
"status": null,
"trust_id": "5f67f11215cf4c52906453a181bfcfea",
"created_at": "2017-12-27 10:00:00",
"updated_at": null,
"extra_capability_sample": "bar"
}
}
删除一个主机。
先决条件
主机必须存在。
响应代码
正常响应代码:204
错误响应代码:请求错误(400),未授权(401),禁止(403),未找到(404),冲突(409),内部服务器错误(500)
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
host_id |
路径 |
字符串 |
主机的 ID。 |
响应¶
成功删除后不返回正文内容。
资源分配¶
列出所有主机的分配。
响应代码
正常响应代码:200
错误响应代码:请求错误(400),未授权(401),禁止(403),内部服务器错误(500)
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
lease_id (可选) |
查询 |
字符串 |
按租赁 ID 过滤分配结果 |
reservation_id (可选) |
查询 |
字符串 |
按预订 ID 过滤分配结果 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
allocations |
body |
数组 |
一个 |
resource_id |
body |
字符串 |
主机的 ID。 |
reservations |
body |
数组 |
一个 |
reservation.id |
body |
字符串 |
预订的 UUID。 |
reservation.lease_id |
body |
字符串 |
租赁的 UUID。 |
reservation.start_date |
body |
字符串 |
租赁的开始日期。 |
reservation.end_date |
body |
字符串 |
租赁的结束日期。 |
列出分配响应示例
{
"allocations": [
{
"resource_id": "1",
"reservations": [
{
"id": "3504fbac-fdb2-458e-a43f-34d27fbd0b86",
"lease_id": "0ec2bed6-75f9-4959-8198-9d9717dde4cb",
"start_date": "2021-12-16T17:11:00.000000",
"end_date": "2021-12-16T17:13:00.000000"
},
{
"id": "4f4743a2-d8c7-44c2-ba39-300eb7659bb9",
"lease_id": "6050288d-5535-4e3c-93d5-083184b86c61",
"start_date": "2021-12-16T17:11:00.000000",
"end_date": "2021-12-16T17:13:00.000000"
}
]
},
{
"resource_id": "2",
"reservations": [
{
"id": "b2475424-6872-43ec-857d-f4b50b403e97",
"lease_id": "e92b9d47-9078-47ec-a35c-27e67f7b8429",
"start_date": "2021-12-16T17:11:00.000000",
"end_date": "2021-12-16T17:13:00.000000"
}
]
}
]
}
获取主机的分配。
响应代码
正常响应代码:200
错误响应代码:请求错误(400),未授权(401),禁止(403),内部服务器错误(500)
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
host_id |
路径 |
字符串 |
主机的 ID。 |
lease_id (可选) |
查询 |
字符串 |
按租赁 ID 过滤分配结果 |
reservation_id (可选) |
查询 |
字符串 |
按预订 ID 过滤分配结果 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
allocation |
body |
数组 |
一个 |
resource_id |
body |
字符串 |
主机的 ID。 |
reservations |
body |
数组 |
一个 |
reservation.id |
body |
字符串 |
预订的 UUID。 |
reservation.lease_id |
body |
字符串 |
租赁的 UUID。 |
reservation.start_date |
body |
字符串 |
租赁的开始日期。 |
reservation.end_date |
body |
字符串 |
租赁的结束日期。 |
获取分配响应示例
{
"allocation": {
"resource_id": "1",
"reservations": [
{
"id": "3504fbac-fdb2-458e-a43f-34d27fbd0b86",
"lease_id": "0ec2bed6-75f9-4959-8198-9d9717dde4cb",
"start_date": "2021-12-16T17:11:00.000000",
"end_date": "2021-12-16T17:13:00.000000"
},
{
"id": "4f4743a2-d8c7-44c2-ba39-300eb7659bb9",
"lease_id": "6050288d-5535-4e3c-93d5-083184b86c61",
"start_date": "2021-12-16T17:11:00.000000",
"end_date": "2021-12-16T17:13:00.000000"
}
]
}
}
从主机获取所有资源属性
响应代码
正常响应代码:200
错误响应代码:请求错误(400),未授权(401),禁止(403),内部服务器错误(500)
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
detail (可选) |
查询 |
字符串 |
是否包含每个属性的值以及属性是否私有。 |
all (可选) |
查询 |
字符串 |
是否包含所有资源属性,公共和私有。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
resource_properties |
body |
数组 |
一个 |
property |
body |
any |
属性的名称。 |
private (可选) |
body |
布尔值 |
属性是否私有。 |
values (可选) |
body |
数组 |
属性的值列表。 |
列出资源属性响应示例
{
"resource_properties": [
{
"property": "gpu"
}
]
}
列出带有详细信息的资源属性示例
{
"resource_properties": [
{
"property": "gpu",
"private": false,
"values": [
"True",
"False"
]
}
]
}
更新主机资源属性
响应代码
正常响应代码:200
错误响应代码:请求错误(400),未授权(401),禁止(403),内部服务器错误(500)
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
property_name |
路径 |
字符串 |
属性的名称。 |
private |
body |
布尔值 |
属性是否私有。 |
更新资源属性示例
{
"private": true
}
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
created_at |
body |
字符串 |
创建对象的时间和日期。 |
updated_at |
body |
字符串 |
更新对象的时间和日期。 |
id |
body |
字符串 |
更新后的 |
resource_type |
body |
字符串 |
更新后的 |
property_name |
body |
any |
属性的名称。 |
private |
body |
布尔值 |
更新后的 |
列出资源属性响应示例
{
"resource_property": {
"created_at": "2021-12-15T19:38:16.000000",
"updated_at": "2021-12-21T21:37:19.000000",
"id": "19e48cd0-042d-4044-a69a-d44d672849b5",
"resource_type": "physical:host",
"property_name": "gpu",
"private": true
}
}
浮动IP¶
列出浮动IP。
响应代码
正常响应代码:200
错误响应代码:请求错误(400),未授权(401),禁止(403),内部服务器错误(500)
请求¶
没有正文内容、路径或查询选项。
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
浮动 IP |
body |
数组 |
一个 |
id |
body |
字符串 |
浮动IP资源的ID。 |
floating_network_id |
body |
字符串 |
浮动IP所属的外部网络ID。 |
subnet_id |
body |
布尔值 |
浮动IP所属的外部子网ID。 |
floating_ip_address |
body |
字符串 |
浮动 IP 地址。 |
reservable |
body |
布尔值 |
一个标志,表示浮动IP是否可预订。 |
created_at |
body |
字符串 |
创建对象的时间和日期。 |
updated_at |
body |
字符串 |
更新对象的时间和日期。 |
列出主机响应示例
{
"floatingips": [
{
"id": "84c4d37e-1f8b-45ce-897b-16ad7f49b0e9",
"floating_network_id": "1e17587e-a7ed-4b82-a17b-4beb32523e28",
"subnet_id": "a2fa9b7e-8451-4868-85f4-92ee7c77eed6",
"floating_ip_address": "172.24.4.101",
"reservable": true,
"created_at": "2019-01-28 08:01:46",
"updated_at": null
},
{
"id": "f180cf4c-f886-4dd1-8c36-854d17fbefb5",
"floating_network_id": "1e17587e-a7ed-4b82-a17b-4beb32523e28",
"subnet_id": "a2fa9b7e-8451-4868-85f4-92ee7c77eed6",
"floating_ip_address": "172.24.4.102",
"reservable": true,
"created_at": "2019-01-28 08:08:22",
"updated_at": null
}
]
}
创建一个浮动IP。
响应代码
正常响应代码:201
错误响应代码:请求错误(400),未授权(401),禁止(403),冲突(409),内部服务器错误(500)
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
floating_network_id |
body |
字符串 |
浮动IP所属的外部网络ID。 |
floating_ip_address |
body |
字符串 |
浮动IP地址。IP必须在分配池之外,并且在其子网的CIDR网络内。 |
创建主机请求示例
{
"floating_network_id": "1e17587e-a7ed-4b82-a17b-4beb32523e28",
"floating_ip_address": "172.24.4.101"
}
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
floatingip |
body |
对象 |
一个 |
id |
body |
字符串 |
浮动IP资源的ID。 |
floating_ip_address |
body |
字符串 |
浮动 IP 地址。 |
network_id |
body |
字符串 |
浮动IP所属的外部网络ID。 |
subnet_id |
body |
布尔值 |
浮动IP所属的外部子网ID。 |
reservable |
body |
布尔值 |
一个标志,表示浮动IP是否可预订。 |
created_at |
body |
字符串 |
创建对象的时间和日期。 |
updated_at |
body |
字符串 |
更新对象的时间和日期。 |
创建主机响应示例
{
"floatingip": {
"id": "84c4d37e-1f8b-45ce-897b-16ad7f49b0e9",
"floating_network_id": "1e17587e-a7ed-4b82-a17b-4beb32523e28",
"floating_ip_address": "172.24.4.101",
"subnet_id": "a2fa9b7e-8451-4868-85f4-92ee7c77eed6",
"reservable": true,
"created_at": "2019-01-28T08:01:46.000000",
"updated_at": null
}
}
显示浮动IP的详情。
先决条件
浮动IP必须存在。
响应代码
正常响应代码:200
错误响应代码:请求错误(400),未授权(401),禁止(403),未找到(404),内部服务器错误(500)
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
floatingip_id |
路径 |
字符串 |
浮动IP的ID。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
floatingip |
body |
对象 |
一个 |
id |
body |
字符串 |
浮动IP资源的ID。 |
floating_network_id |
body |
字符串 |
浮动IP所属的外部网络ID。 |
floating_ip_address |
body |
字符串 |
浮动 IP 地址。 |
reservable |
body |
布尔值 |
一个标志,表示浮动IP是否可预订。 |
created_at |
body |
字符串 |
创建对象的时间和日期。 |
updated_at |
body |
字符串 |
更新对象的时间和日期。 |
显示浮动IP详情响应示例
{
"floatingip": {
"id": "84c4d37e-1f8b-45ce-897b-16ad7f49b0e9",
"floating_network_id": "1e17587e-a7ed-4b82-a17b-4beb32523e28",
"floating_ip_address": "172.24.4.101",
"subnet_id": "a2fa9b7e-8451-4868-85f4-92ee7c77eed6",
"reservable": true,
"created_at": "2019-01-28T08:01:46.000000",
"updated_at": null
}
}
删除一个浮动IP。
先决条件
浮动IP必须存在。
响应代码
正常响应代码:204
错误响应代码:请求错误(400),未授权(401),禁止(403),未找到(404),冲突(409),内部服务器错误(500)
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
floatingip_id |
路径 |
字符串 |
浮动IP的ID。 |
响应¶
成功删除后不返回正文内容。
请求ID¶
对于每个REST API请求,一个本地请求ID作为响应头返回。
响应
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
字符串 |
本地请求ID,它是自动生成的唯一ID,用于跟踪发送到Blazar的每个请求。它与请求相关联,并出现在该请求的日志行中。 |
响应头
对于每个REST API请求,响应包含一个 X-Openstack-Request-Id 头。
X-Openstack-Request-Id 头的值是分配给请求的本地请求ID。
响应头示例
X-Openstack-Request-Id: req-d7bc29d0-7b99-4aeb-a356-89975043ab5e
全局请求ID¶
用户可以在请求头中指定一个全局请求ID。
请求
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id (可选) |
标头 |
字符串 |
全局请求ID,它是OpenStack服务中跟踪每个请求的唯一通用ID。全局请求ID的格式必须为 |
请求头
在每个REST API请求中,您可以在 X-Openstack-Request-Id 头中指定一个全局请求ID。格式必须为 req- + UUID (UUID4)。如果格式不正确,Blazar将忽略全局请求ID。
请求头示例
X-Openstack-Request-Id: req-e19f8f4f-40e7-441e-b776-7b43ed15c7dd