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.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot