更新时间:2024-11-22 GMT+08:00

更新私有hook元数据

功能介绍

更新私有hook元数据(UpdatePrivateHookMetadata)

更新当前私有hook的元数据信息

  • 目前支持更新私有hook的描述、默认版本、配置。

  • 如果需要创建新的版本,请调用CreatePrivateHookVersion。

  • 更新为增量更新,即如果某个参数不提供,则保持原始值。

  • 如果请求中没有需要被更新的参数(如请求中没有任何内容,或仅有hook_id),则返回400。注意:即使更新原始值和目标值一致也被认为是有效更新

  • 更新后私有hook的更新时间(update_time)也会被更新

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

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

hook_name

String

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

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

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Client-Request-Id

String

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

表3 请求Body参数

参数

是否必选

参数类型

描述

hook_description

String

私有hook的描述。可用于客户识别创建的私有hook。可通过UpdatePrivateHook API更新私有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。

default_version

String

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

configuration

configuration object

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

表4 configuration

参数

是否必选

参数类型

描述

target_stacks

String

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

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

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

failure_mode

String

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

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

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

响应参数

状态码: 400

表5 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

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

details

Array of Detail objects

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

表6 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 401

表7 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

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

details

Array of Detail objects

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

表8 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 403

表9 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

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

details

Array of Detail objects

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

表10 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 404

表11 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

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

details

Array of Detail objects

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

表12 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 409

表13 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

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

details

Array of Detail objects

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

表14 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 429

表15 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

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

details

Array of Detail objects

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

表16 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 500

表17 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

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

details

Array of Detail objects

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

表18 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

请求示例

  • 更新私有hook描述信息

    PATCH https://{endpoint}/v1/private-hooks/my-hello-world-hook-name/metadata
    
    {
      "hook_description" : "my first private hook"
    }
  • 更新私有hook默认版本

    PATCH https://{endpoint}/v1/private-hooks/my-hello-world-hook-name/metadata
    
    {
      "default_version" : "0.0.2"
    }
  • 更新私有hook配置

    PATCH https://{endpoint}/v1/private-hooks/my-hello-world-hook-name/metadata
    
    {
      "configuration" : {
        "target_stacks" : "ALL",
        "failure_mode" : "FAIL"
      }
    }
  • 更新私有hook描述信息、默认版本、配置

    PATCH https://{endpoint}/v1/private-hooks/my-hello-world-hook-name/metadata
    
    {
      "hook_description" : "my first private hook",
      "default_version" : "0.0.2",
      "configuration" : {
        "target_stacks" : "ALL",
        "failure_mode" : "FAIL"
      }
    }
  • 更新私有hook描述信息,并带有hook_id

    PATCH https://{endpoint}/v1/private-hooks/my-hello-world-hook-name/metadata
    
    {
      "hook_id" : "77dad9a0-6b11-4bf5-ba62-c7e0029dcb6f",
      "hook_description" : "my first private hook"
    }

响应示例

状态码

状态码

描述

204

更新私有hook的元数据成功,无数据返回

400

用户请求非法

401

用户身份认证失败

403

用户无权限调用此API

404

1.私有hook不存在

2.默认版本不存在

409

  1. 请求冲突,默认版本已经被删除。

  2. 请求冲突,私有hook已经被更新。

429

请求数量过多

500

服务器内部错误