创建编排部署
功能介绍
创建一个编排部署。
URI
POST /v1/{tenant_id}/stacks
参数 | 是否必选 | 描述 |
---|---|---|
tenant_id | 是 | 项目ID。 |
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
disable_rollback | boolean | 否 | 启用或禁用编排部署失败时删除所有编排资源。为True时创建会保留所有资源;为False时创建失败时清理所有资源。 |
environment | object | 否 | 编排部署的json格式环境变量。 |
environment_files | object | 否 | Files里面的有序的名字列表。 |
files | object | 否 | 提供编排引用文件的内容。 |
files_container | String | 否 | 在swift内的容器的子编排和环境变量的名字。 |
parameters | object | 否 | 为编排部署中的变量提供参数值。 |
stack_name | String | 是 | 编排部署的名字。 |
tags | String | 否 | 一个或者多个编排部署的标识。 |
template | object | 否 | 执行操作的编排部署。 |
template_url | String | 否 | 一个本地的编排部署地址的url |
timeout_mins | integer | 否 | 编排部署的超时时间。 |
请求示例
示例:创建编排部署
{
"files": {},
"disable_rollback": true,
"parameters": {
"flavor": "m1.heat"
},
"stack_name": "teststack",
"template": {
"heat_template_version": "2021-01-03",
"description": "Simple template to test heat commands",
"parameters": {
"flavor": {
"default": "m1.tiny",
"type": "String"
}
},
"resources": {
"hello_world": {
"type": "OS::Nova::Server",
"properties": {
"key_name": "heat_key",
"flavor": {
"get_param": "flavor"
},
"image": "40be8d1a-3eb9-40de-8abd-43237517384f",
"user_data": "#!/bin/bash -xv\necho \"hello world\" > /root/hello-world.txt\n"
}
}
}
},
"timeout_mins": 60
}
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
stack | object | 编排部署的对象 |
id | String | 编排部署的UUid |
links | String | 编排部署的链接 |
响应示例
{
"stack": {
"id": "3095aefc-09fb-4bc7-b1f0-f21a304e864c",
"links": [
{
"href": "http://heat-api.openstack.svc.cluster.local:8004:8004/v1/eb1c63a4f77141548385f113a28f0f52/stacks/teststack/3095aefc-09fb-4bc7-b1f0-f21a304e864c",
"rel": "self"
}
]
}
}
正常响应代码
201
错误码
400,401,409
获取编排部署列表
功能介绍
获取编排部署列表。
URI
GET /v1/{tenant_id}/stacks
参数 | 是否必选 | 描述 |
---|---|---|
tenant_id | 是 | 项目ID。 |
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
id | String | 否 | 通过编排部署uuid过滤 |
status | String | 否 | 通过状态来过滤编排部署列表。 |
name | String | 否 | 通过名字来过滤编排部署列表。 |
action | String | 否 | 通过action来过滤编排部署列表 |
tenant | String | 否 | 通过项目来过滤编排部署列表。 |
usename | String | 否 | 通过用户名来过滤编排部署列表。 |
owner_id | String | 否 | 通过owner_id来过滤编排部署列表 |
limit | integer | 否 | 每个分页的数量限制。 |
marker | String | 否 | 分页看到的最后一个id。 |
sort_keys | String | 否 | 编排部署列表按照某一个属性排序。 |
sort_dir | String | 否 | 编排部署列表的排序方式。(asc或者desc) |
show_deleted | boolean | 否 | 资源编排列表包含已删除的编排部署。 |
show_nested | boolean | 否 | 编排部署列表包含嵌套的编排部署。 |
tags | String | 否 | 理出包含一个或者多个字符串tags(AND关系)的编排部署。 |
tags_any | String | 否 | 列出包含一个或者多个字符串tags(OR关系)的编排部署。 |
not_tags | String | 否 | 列出不包含一个或者多个字符串tags(AND关系)的编排部署。 |
not_tags_any | String | 否 | 列出不包含一个或者多个字符串tags(OR关系)的编排部署。 |
global_tenant | boolean | 否 | 设置为True时,返回所有项目的编排部署列表 |
with_count | boolean | 否 | 设置为True时,返回带有计数的字段 |
请求示例
示例:验证编排模板
请求body可以为空。{}
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
stacks | array | 编排部署列表 |
creation_time | String | 创建时间 |
deletion_time | String | 删除时间 |
description | String | 编排部署的描述 |
links | array | 编排部署的链接地址列表。 |
parent | String | 编排部署的父编排的uuid。 |
stack_name | String | 编排部署的名称。 |
stack_owner | String | 编排部署的所有者。 |
stack_status | String | 编排部署的状态 |
stack_status_reason | String | 编排部署当前状态的原因。 |
tags | String | 编排部署的标签 |
updated_time | String | 编排部署的更新时间 |
stack_user_project_id | String | 编排部署用户的项目UUID |
响应示例
{
"stacks": [
{
"creation_time": "2014-06-03T20:59:46Z",
"deletion_time": null,
"description": "sample stack",
"id": "3095aefc-09fb-4bc7-b1f0-f21a304e864c",
"links": [
{
"href": "http://192.168.123.200:8004/v1/eb1c63a4f77141548385f113a28f0f52/stacks/simple_stack/3095aefc-09fb-4bc7-b1f0-f21a304e864c",
"rel": "self"
}
],
"parent": null,
"stack_name": "simple_stack",
"stack_owner": null,
"stack_status": "CREATE_COMPLETE",
"stack_status_reason": "Stack CREATE completed successfully",
"stack_user_project_id": "71510cbd459a49ac989ca1055de7038b",
"tags": null,
"updated_time": null
}
]
}
正常响应代码
200
错误码
400,401,500
获取编排部署
功能介绍
获取一个编排部署的详细信息。
URI
GET /v1/{tenant_id}/{stack_name}/{stack_id}
参数 | 是否必选 | 描述 |
---|---|---|
tenant_id | 是 | 项目ID。 |
stack_name | 否 | 编排部署的名字。 |
stack_id | 是 | 编排部署的uuid。 |
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
resolve_outputs | boolean | 否 | 是否输出编排部署的片段。 |
请求示例
示例:创建编排部署
请求body为空。{}
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
stack | object | 编排部署对象。 |
capabilities | array | 编排部署功能的列表。 |
creation_time | String | 编排部署的创建时间。 |
deletion_time | String | 编排部署的删除时间 |
description | String | 编排部署的描述 |
disable_rollback | String | 编排部署失败时资源是否回滚清理。 |
id | String | 编排部署的uuid。 |
links | arrary | 编排部署的链接列表。 |
notification_topics | array | 编排部署的提醒通道。 |
outputs | array | 编排部署的输出列表。 |
parameters | object | 编排部署的键值对参数。 |
stack_name | String | 编排部署的名称。 |
stack_owner | String | 编排部署的拥有者 |
stack_status | String | 编排部署的状态 |
stack_status_reason | String | 编排部署状态的原因 |
stack_user_project_id | String | 编排部署用户的项目UUID |
tags | String | 编排部署的标签。 |
template_description | String | 编排部署使用模板的描述。 |
timeout_mins | integer | 编排部署的超时时间。 |
updated_time | String | 编排部署å的更新时间。 |
响应示例
{
"stack": {
"capabilities": [],
"creation_time": "2014-06-03T20:59:46Z",
"deletion_time": null,
"description": "sample stack",
"disable_rollback": true,
"id": "3095aefc-09fb-4bc7-b1f0-f21a304e864c",
"links": [
{
"href": "http://192.168.123.200:8004/v1/eb1c63a4f77141548385f113a28f0f52/stacks/simple_stack/3095aefc-09fb-4bc7-b1f0-f21a304e864c",
"rel": "self"
}
],
"notification_topics": [],
"outputs": [],
"parameters": {
"OS::project_id": "3ab5b02f-a01f-4f95-afa1-e254afc4a435",
"OS::stack_id": "3095aefc-09fb-4bc7-b1f0-f21a304e864c",
"OS::stack_name": "simple_stack"
},
"parent": null,
"stack_name": "simple_stack",
"stack_owner": "simple_username",
"stack_status": "CREATE_COMPLETE",
"stack_status_reason": "Stack CREATE completed successfully",
"stack_user_project_id": "65728b74-cfe7-4f17-9c15-11d4f686e591",
"tags": null,
"template_description": "sample stack",
"timeout_mins": null,
"updated_time": null
}
}
正常响应代码
200
错误码
400,401,404,500
删除编排部署
功能介绍
删除一个编排部署。
URI
DELETE /v1/{tenant_id}/stacks/{stack_name}/{stack_id}
参数 | 是否必选 | 描述 |
---|---|---|
tenant_id | 是 | 项目ID。 |
请求消息
无
请求示例
示例:创建编排部署
请求body为空。{}
响应消息
无
响应示例
此请求不会在响应正文中返回任何内容。
正常响应代码
204
错误码
400,401,404,500