列举资源栈事件
功能介绍
列举资源栈事件(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)
 - 
    
事件返回将以时间降序排列
 - 
    
支持分页返回。如果响应中存在next_marker,则表示实际总输出比当前响应中包含的输出多。在对请求的后续调用中,在请求参数中使用此值,以获取输出的下一部分。您应该重复此操作,直到next_marker响应元素返回为null
 
URI
GET /v1/{project_id}/stacks/{stack_name}/events
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        project_id  | 
      
        是  | 
      
        String  | 
      
        项目ID,可以从调用API处获取,也可以从控制台获取。 最小长度:3 最大长度:64  | 
     
| 
        stack_name  | 
      
        是  | 
      
        String  | 
      
        资源栈的名称。此名字在domain_id+区域+project_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 最小长度:1 最大长度:128  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        stack_id  | 
      
        否  | 
      
        String  | 
      
        资源栈(stack)的唯一ID。 此ID由资源编排服务在生成资源栈的时候生成,为UUID。 由于资源栈名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致,则返回400 最小长度:36 最大长度:36  | 
     
| 
        deployment_id  | 
      
        否  | 
      
        String  | 
      
        标识部署的唯一ID,此ID由资源编排服务在触发部署、回滚等操作时生成,为UUID。 最小长度:36 最大长度:36  | 
     
| 
        filter  | 
      
        否  | 
      
        String  | 
      
        过滤条件 
 最小长度:0 最大长度:512  | 
     
| 
        field  | 
      
        否  | 
      
        String  | 
      
        选择的属性名称 
 最小长度:0 最大长度:128  | 
     
| 
        marker  | 
      
        否  | 
      
        String  | 
      
        分页标记。当一页无法返回所有结果,上一次的请求将返回next_marker以指引还有更多页数,用户可以将next_marker中的值放到此处以查询下一页的信息。此marker只能用于与上一请求指定的相同参数的请求。不指定时默认从第一页开始查询。 最小长度:1 最大长度:512  | 
     
| 
        limit  | 
      
        否  | 
      
        Integer  | 
      
        每页返回的最多结果数量 最小值:10 最大值:1000 缺省值:1000  | 
     
请求参数
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        Client-Request-Id  | 
      
        是  | 
      
        String  | 
      
        用户指定的,对于此请求的唯一ID,用于定位某个请求,推荐使用UUID 最小长度:36 最大长度:128  | 
     
响应参数
状态码:200
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        stack_events  | 
      
        Array of StackEvent objects  | 
      
        资源栈事件列表  | 
     
| 
        page_info  | 
      
        PageInfo object  | 
      
        分页信息  | 
     
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        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  | 
      
        此事件执行所花的时间,以秒为单位  | 
     
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        next_marker  | 
      
        String  | 
      
        向后分页标识符。如果存在,则表示实际总输出比当前响应中包含的输出多。在对请求的后续调用中,在请求参数中使用此值,以获取输出的下一部分。您应该重复此操作,直到next_marker响应元素返回为null。  | 
     
| 
        previous_marker  | 
      
        String  | 
      
        向前分页标识符。  | 
     
| 
        current_count  | 
      
        Integer  | 
      
        本页显示的条目数量。  | 
     
状态码:400
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        响应码 最小长度:11 最大长度:11  | 
     
| 
        error_msg  | 
      
        String  | 
      
        响应消息  | 
     
| 
        encoded_authorization_message  | 
      
        String  | 
      
        包含有关未经授权请求的信息。  | 
     
| 
        details  | 
      
        Array of Detail objects  | 
      
        权限拒绝时服务返回的详细错误信息。  | 
     
状态码:401
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        响应码 最小长度:11 最大长度:11  | 
     
| 
        error_msg  | 
      
        String  | 
      
        响应消息  | 
     
| 
        encoded_authorization_message  | 
      
        String  | 
      
        包含有关未经授权请求的信息。  | 
     
| 
        details  | 
      
        Array of Detail objects  | 
      
        权限拒绝时服务返回的详细错误信息。  | 
     
状态码:403
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        响应码 最小长度:11 最大长度:11  | 
     
| 
        error_msg  | 
      
        String  | 
      
        响应消息  | 
     
| 
        encoded_authorization_message  | 
      
        String  | 
      
        包含有关未经授权请求的信息。  | 
     
| 
        details  | 
      
        Array of Detail objects  | 
      
        权限拒绝时服务返回的详细错误信息。  | 
     
状态码:404
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        响应码 最小长度:11 最大长度:11  | 
     
| 
        error_msg  | 
      
        String  | 
      
        响应消息  | 
     
| 
        encoded_authorization_message  | 
      
        String  | 
      
        包含有关未经授权请求的信息。  | 
     
| 
        details  | 
      
        Array of Detail objects  | 
      
        权限拒绝时服务返回的详细错误信息。  | 
     
状态码:429
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        响应码 最小长度:11 最大长度:11  | 
     
| 
        error_msg  | 
      
        String  | 
      
        响应消息  | 
     
| 
        encoded_authorization_message  | 
      
        String  | 
      
        包含有关未经授权请求的信息。  | 
     
| 
        details  | 
      
        Array of Detail objects  | 
      
        权限拒绝时服务返回的详细错误信息。  | 
     
状态码:500
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        响应码 最小长度:11 最大长度:11  | 
     
| 
        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 - 
    
通过stack_id获取指定部署的资源栈事件
GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/events?stack_id=ea6a4f0e-ee8a-494e-b12a-8be4a1e65af2 
响应示例
状态码: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"
  } ],
  "page_info" : {
    "current_count" : "5,",
    "next_marker" : null,
    "previous_marker" : "zxc1oHc08HcCmypYGTsOoRcvoHUvHRUAW5NOSnc1oHc08HcCPZrwP5NOeTlRiukJgtGxeujJeuGwGIihaIUCmypYGTsOtqvKPr2xmH8fPqpGWyQ0axGwGZp9aqvx8pQ7m5FvGTsJiKk7gtNFiuaxetdRCks="
  }
}
 状态码
| 
        状态码  | 
      
        描述  | 
     
|---|---|
| 
        200  | 
      
        列举资源栈事件成功  | 
     
| 
        400  | 
      
        用户请求非法  | 
     
| 
        401  | 
      
        用户身份认证失败  | 
     
| 
        403  | 
      
        用户无权限调用此API  | 
     
| 
        404  | 
      
        资源栈或指定的部署不存在  | 
     
| 
        429  | 
      
        请求数量过多  | 
     
| 
        500  | 
      
        服务器内部错误  |