更新时间:2024-12-12 GMT+08:00
分享

获取私有hook元数据

功能介绍

获取私有hook元数据(ShowPrivateHookMetadata)

获取某个私有hook的元数据信息

  • 具体返回的信息见ShowPrivateHookMetadataResponseBody,若想查看私有hook下全部版本,请调用ListPrivateHookVersions。

  • 若hook_name和hook_id同时存在,则资源编排服务会检查两个是否匹配,如果不匹配则会返回400。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

GET /v1/private-hooks/{hook_name}/metadata

表1 路径参数

参数

是否必选

参数类型

描述

hook_name

String

私有hook的名字。此名字在domain_id+region下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。

推荐用户使用三段命名空间:{自定义hook名称}-{hook应用场景}-hook。

表2 Query参数

参数

是否必选

参数类型

描述

hook_id

String

私有hook(private-hook)的唯一Id。

此Id由资源编排服务在生成私有hook的时候生成,为UUID。

由于私有hook名称仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的私有hook,删除,再重新创建一个同名私有hook。

对于团队并行开发,用户可能希望确保,当前我操作的私有hook就是我认为的那个,而不是其他队友删除后创建的同名私有hook。因此,使用Id就可以做到强匹配。

资源编排服务保证每次创建的私有hook所对应的Id都不相同,更新不会影响Id。如果给予的hook_id和当前hook的Id不一致,则返回400。

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

Client-Request-Id

String

用户指定的,对于此请求的唯一Id,用于定位某个请求,推荐使用UUID

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

hook_name

String

私有hook的名字。此名字在domain_id+region下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。

推荐用户使用三段命名空间:{自定义hook名称}-{hook应用场景}-hook。

hook_id

String

私有hook(private-hook)的唯一Id。

此Id由资源编排服务在生成私有hook的时候生成,为UUID。

由于私有hook名称仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的私有hook,删除,再重新创建一个同名私有hook。

对于团队并行开发,用户可能希望确保,当前我操作的私有hook就是我认为的那个,而不是其他队友删除后创建的同名私有hook。因此,使用Id就可以做到强匹配。

资源编排服务保证每次创建的私有hook所对应的Id都不相同,更新不会影响Id。如果给予的hook_id和当前hook的Id不一致,则返回400。

hook_description

String

私有hook的描述。可用于客户识别创建的私有hook。可通过UpdatePrivateHook API更新私有hook的描述。

default_version

String

私有hook的默认版本号。版本号必须遵循语义化版本号(Semantic Version),为用户自定义。

configuration

configuration object

私有hook配置项,可以指定私有hook生效的目标资源栈以及私有hook校验失败后资源栈的行为。可通过UpdatePrivateHook API更新私有hook配置项。

create_time

String

私有Hook(private-hook)的生成时间,格式为YYYY-MM-DDTHH:mm:ss.SSSZ,精确到毫秒,UTC时区,即,如1970-01-01T00:00:00.000Z。

update_time

String

私有Hook(private-hook)的更新时间,格式为YYYY-MM-DDTHH:mm:ss.SSSZ,精确到毫秒,UTC时区,即,如1970-01-01T00:00:00.000Z。

表5 configuration

参数

参数类型

描述

target_stacks

String

指定私有hook生效的目标资源栈,有效值为NONE或ALL。

NONE:指定此私有hook不会作用于任何资源栈

ALL:指定此私有hook将会应用于账号下的所有资源栈

failure_mode

String

指定私有hook校验失败后的行为,有效值为FAIL或WARN。

FAIL:指定此私有hook校验失败后资源栈将停止部署,资源栈状态将更新为DEPLOYMENT_FAILED。

WARN:指定此私有hook校验失败后仅通过资源栈事件展示警告消息,但不影响资源栈部署。

状态码: 400

表6 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表7 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 401

表8 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表9 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 403

表10 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表11 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 404

表12 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表13 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 429

表14 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表15 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 500

表16 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表17 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

请求示例

  • 获取私有hook元数据

    GET https://{endpoint}/v1/private-hooks/my-hello-world-hook-name/metadata
  • 获取私有hook元数据,并提供hook ID以校验是否与当前私有hook匹配

    GET https://{endpoint}/v1/private-hooks/my-hello-world-hook-name/metadata?hook_id=ea6a4f0e-ee8a-494e-b12a-8be4a1e65af2

响应示例

状态码: 200

获取私有hook元数据成功

{
  "hook_name" : "my-hello-world-hook-name",
  "hook_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3",
  "hook_description" : "my first hello world private hook",
  "default_version" : "1.2.3",
  "configuration" : {
    "target_stacks" : "NONE",
    "failure_mode" : "WARN"
  },
  "create_time" : "1970-01-01T00:00:00.000Z",
  "update_time" : "1970-01-01T00:00:00.000Z"
}

状态码

状态码

描述

200

获取私有hook元数据成功

400

用户请求非法

401

用户身份认证失败

403

用户无权限调用此API

404

私有hook不存在

429

请求数量过多

500

服务器内部错误

相关文档