列举资源栈事件
功能介绍
列举资源栈事件(ListStackEvents)
此API用于列举资源栈某一次或全部的部署事件
-
如果给予deployment_id,则会将deployment_id作为查询条件,返回对应某一次部署的资源栈事件;如果不给予deployment_id,则返回全量的资源栈事件
-
如果给定的deployment_id对应的部署不存在,则返回404
-
可以使用filter作为过滤器,过滤出指定事件类型(event_type)、资源类型(resource_type)、资源名称(resource_name)的资源栈事件
-
可以使用field选择数据应返回的属性,属性事件类型(event_type)不可配置,一定会返回,可选择的属性有逝去时间(elapsed_seconds)、事件消息(event_message)、 资源ID键(resource_id_key)、资源ID值(resource_id_value)、资源键(resource_key)、资源类型(resource_type)、资源名称(resource_name)和时间戳(timestamp)
-
事件返回将以时间降序排列
URI
GET /v1/{project_id}/stacks/{stack_name}/events
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,可以从调用API处获取,也可以从控制台获取。 |
stack_name |
是 |
String |
资源栈的名称。此名字在domain_id+区域+project_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
stack_id |
否 |
String |
资源栈(stack)的唯一Id。 此Id由资源编排服务在生成资源栈的时候生成,为UUID。 由于资源栈名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致,则返回400 |
deployment_id |
否 |
String |
标识部署的唯一Id,此Id由资源编排服务在触发部署、回滚等操作时生成,为UUID。 |
filter |
否 |
String |
过滤条件
|
field |
否 |
String |
选择的属性名称
|
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Client-Request-Id |
是 |
String |
用户指定的,对于此请求的唯一ID,用于定位某个请求,推荐使用UUID |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
stack_events |
Array of StackEvent objects |
资源栈事件列表 |
参数 |
参数类型 |
描述 |
---|---|---|
resource_type |
String |
资源的类型 以HCL格式的模板为例,resource_type 为 huaweicloud_vpc resource "huaweicloud_vpc" "my_hello_world_vpc" { name = "test_vpc" } 以json格式的模板为例,resource_type 为 huaweicloud_vpc { "resource": { "huaweicloud_vpc": { "my_hello_world_vpc": { "name": "test_vpc" } } } } |
resource_name |
String |
资源的名称,默认为资源的逻辑名称 以HCL格式的模板为例,resource_name 为 my_hello_world_vpc resource "huaweicloud_vpc" "my_hello_world_vpc" { name = "test_vpc" } 以json格式的模板为例,resource_name 为 my_hello_world_vpc { "resource": { "huaweicloud_vpc": { "my_hello_world_vpc": { "name": "test_vpc" } } } } |
resource_id_key |
String |
资源id的名称,即对应资源作为id使用的值的名称,当资源未创建的时候,不返回resource_id_key 此id由provider定义,因此不同的provider可能遵循了不同的命名规则,具体的命名规则请与provider开发者确认或阅读provider文档 |
resource_id_value |
String |
资源id的值,即对应资源作为id使用的值,当资源未创建的时候,不返回resource_id_value |
resource_key |
String |
资源键,如果用户在模板中使用了count或for_each则会返回resource_key 如果用户在模板中使用count,则resource_key为从0开始的数字 以HCL格式的模板为例,模板中count为2,意味着将会生成两个资源,对应的resource_key分别为0和1 resource "huaweicloud_vpc" "my_hello_world_vpc" { count = 2 name = "test_vpc" } 以json格式的模板为例,模板中count为2,意味着将会生成两个资源,对应的resource_key分别为0和1 { "resource": { "huaweicloud_vpc": { "my_hello_world_vpc": { "name": "test_vpc", "count": 2 } } } } 如果用户在模板中使用for_each,则resource_key为用户自定义的字符串 以HCL格式的模板为例,resource_key分别为vpc1和vpc2 resource "huaweicloud_vpc" "my_hello_world_vpc" { for_each = { "vpc1" = "test_vpc" "vpc2" = "test_vpc" } name = each.value } 以json格式的模板为例,resource_key分别为vpc1和vpc2 { "resource": { "huaweicloud_vpc": { "my_hello_world_vpc": { "for_each": { "vpc1": "test_vpc", "vpc2": "test_vpc" } "name": "${each.value}" } } } } |
time |
String |
事件发生的时间 格式遵循RFC3339,即yyyy-mm-ddTHH:MM:SSZ,如1970-01-01T00:00:00Z |
event_type |
String |
此次事件的类型
|
event_message |
String |
该资源栈事件对应的详细信息 |
elapsed_seconds |
Integer |
此事件执行所花的时间,以秒为单位 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 404
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 429
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
请求示例
-
通过filter获取指定event_type和resource_name的资源栈事件
GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/events?filter=event_type==LOG,resource_name==my_hello_world_resource
-
通过field选择返回resource_key、resource_name和event_type三个属性,其中event_type为自动补选
GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/events?field=resource_key,resource_name
-
通过deployment_id获取指定部署的资源栈事件
GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/events?deployment_id=81edbb3e-00d9-42fd-94c8-59c7525d0f28
响应示例
状态码: 200
列举资源栈事件成功
{ "stack_events" : [ { "event_message" : "Apply required resource success. ", "event_type" : "LOG", "time" : "2023-05-17T11:56:47Z" }, { "event_message" : "Apply complete! Resources: 1 added, 0 changed, 0 destroyed.", "event_type" : "SUMMARY", "time" : "2023-05-17T11:56:45Z" }, { "resource_type" : "huaweicloud_vpc", "resource_name" : "vpc", "elapsed_seconds" : 8, "event_message" : "huaweicloud_vpc.vpc: Creation complete after 8s [id=38d617da-9b7f-4550-9ff7-d0e271dd4735]", "event_type" : "CREATION_COMPLETE", "resource_id_key" : "id", "resource_id_value" : "38d617da-9b7f-4550-9ff7-d0e271dd4735", "time" : "2023-05-17T11:56:40Z" }, { "resource_type" : "huaweicloud_vpc", "resource_name" : "vpc", "event_message" : "huaweicloud_vpc.vpc: Creating...", "event_type" : "CREATION_IN_PROGRESS", "time" : "2023-05-17T11:56:32Z" }, { "event_message" : "Creating required resource now", "event_type" : "LOG", "time" : "2023-05-17T11:56:31Z" } ] }
状态码
状态码 |
描述 |
---|---|
200 |
列举资源栈事件成功 |
400 |
用户请求非法 |
401 |
用户身份认证失败 |
403 |
用户无权限调用此API |
404 |
资源栈或指定的部署不存在 |
429 |
请求数量过多 |
500 |
服务器内部错误 |