Create a private hook version
Function
CreatePrivateHookVersion
Create a private hook version. After creating a private hook version, you need to call UpdatePrivateHook API to set it as the default version for it to take effect.
-
The hook_version must follow the Semantic Version and is customized by the user. Each component (Major.Minor.Patch) is an unsigned 64-bit integer (uint64).
-
If both hook_name and hook_id are provided, RFS checks whether they match. If hook name does not match the current private hook ID, error code 400 is returned.
-
RFS performs validations on private hooks, such as file size checks and policy document syntax validation. If any errors are found, the creation of the hook will fail.
URI
POST /v1/private-hooks/{hook_name}/versions
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| hook_name | Yes | String | Private hook name. The name is unique within its domain (domain_id) and region. It can contain Chinese characters, uppercase and lowercase letters, digits, underscores (_), and hyphens (-). The first character must be a Chinese or English character. It is case sensitive. Minimum: 1 Maximum: 128 |
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| Client-Request-Id | Yes | String | Unique request ID. It is specified by a user and is used to locate a request. UUID is recommended. Minimum: 36 Maximum: 128 |
Response Parameters
Status code: 201
Private hook version created successfully. No content returned.
Status code: 400
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Response code Minimum: 11 Maximum: 11 |
| error_msg | String | Response message |
| encoded_authorization_message | String | The message contains information about unauthorized requests. |
| details | Array of Detail objects | Detailed error messages returned by service when permission is denied. |
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Response code. |
| error_msg | String | Response message. |
Status code: 401
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Response code Minimum: 11 Maximum: 11 |
| error_msg | String | Response message |
| encoded_authorization_message | String | The message contains information about unauthorized requests. |
| details | Array of Detail objects | Detailed error messages returned by service when permission is denied. |
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Response code. |
| error_msg | String | Response message. |
Status code: 403
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Response code Minimum: 11 Maximum: 11 |
| error_msg | String | Response message |
| encoded_authorization_message | String | The message contains information about unauthorized requests. |
| details | Array of Detail objects | Detailed error messages returned by service when permission is denied. |
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Response code. |
| error_msg | String | Response message. |
Status code: 404
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Response code Minimum: 11 Maximum: 11 |
| error_msg | String | Response message |
| encoded_authorization_message | String | The message contains information about unauthorized requests. |
| details | Array of Detail objects | Detailed error messages returned by service when permission is denied. |
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Response code. |
| error_msg | String | Response message. |
Status code: 409
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Response code Minimum: 11 Maximum: 11 |
| error_msg | String | Response message |
| encoded_authorization_message | String | The message contains information about unauthorized requests. |
| details | Array of Detail objects | Detailed error messages returned by service when permission is denied. |
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Response code. |
| error_msg | String | Response message. |
Status code: 429
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Response code Minimum: 11 Maximum: 11 |
| error_msg | String | Response message |
| encoded_authorization_message | String | The message contains information about unauthorized requests. |
| details | Array of Detail objects | Detailed error messages returned by service when permission is denied. |
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Response code. |
| error_msg | String | Response message. |
Status code: 500
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Response code Minimum: 11 Maximum: 11 |
| error_msg | String | Response message |
| encoded_authorization_message | String | The message contains information about unauthorized requests. |
| details | Array of Detail objects | Detailed error messages returned by service when permission is denied. |
Example Requests
-
Create a private hook version under the specified private hook via the policy uri
POST https://{endpoint}/v1/private-hooks/my-hello-world-hook-name/versions { "hook_version" : "0.0.1", "policy_uri" : "https://my_hello_world_bucket.{region}.myhuaweicloud.com/policy.rego", "hook_version_description" : "my first private hook version" } -
Create a private hook version under the specified private hook via the policy body
POST https://{endpoint}/v1/private-hooks/my-hello-world-hook-name/versions { "hook_version" : "0.0.2", "policy_body" : "package policy\n\nimport rego.v1\n\nhook_result := {\n\"is_passed\": input.message == \"world\",\n\"err_msg\": \"The error msg when private hook is not passed the validation\",\n}", "hook_version_description" : "my second private hook version" }
Example Responses
None
Status Codes
| Status Code | Description |
|---|---|
| 201 | Private hook version created successfully. No content returned. |
| 400 | Invalid request. |
| 401 | Authentication failed. |
| 403 | |
| 404 | The private hook does not exist. |
| 409 | Creation requests conflict. The specified private hook version already exists. |
| 429 | Too frequent requests. |
| 500 | Internal server error. |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.