Create a Private Module
Function
Create a Private Module (CreatePrivateModule)
Create a private empty module. If you specify module_version and module_uri, a private module version will be created along with the private module.
-
If a private module with the same name already exists in the current account, an error message will be returned.
-
The module_version follows the Semantic Versioning specification and is user-customizable. Each component (Major.Minor.Patch) is an unsigned 64-bit integer (uint64).
-
RFS conducts basic validations on modules, including file size, decompression capability, and number of files. However, it does not perform detailed verification, such as syntax checking.
The following example is a HCL-formatted template, which shows how to reference a private module:
module "my_hello_word_module" {
source = "rf://rfs.{region_id}.myhuaweicloud.com/private/{domain_id}/{module_name}?version=={module_version}"
} The following example is a JSON-formatted template, which shows how to reference a private module using the correct syntax:
{
"module": {
"my_hello_word_module": {
"source": "rf://rfs.{region_id}.myhuaweicloud.com/private/{domain_id}/{module_name}?version=={module_version}"
}
}
} The module URLs (value of the source field) in the previous two examples come from the module_source field, which can be obtained by calling the ShowPrivateModuleVersionMetadata API.
URI
POST /v1/private-modules
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| Client-Request-Id | Yes | String | A unique request ID is specified by a user to locate a request. UUID is recommended. Minimum: 36 Maximum: 128 |
Response Parameters
Status code: 201
| Parameter | Type | Description |
|---|---|---|
| module_id | String | Unique ID of a private module. It is a UUID generated by RFS when a module is created. Private module names are unique only at a specific time, so you can create a private module named HelloWorld and another private module with the same name after deleting the first one. For parallel development, team members may want to ensure that they are operating the private module they created, not the one with the same name created by other members after deleting the previous one. To avoid this mismatch, check the ID, since RFS ensures each private module has a unique ID that does not change with updates. If the module_id differs from the current module ID, error code 400 is returned. Minimum: 36 Maximum: 36 |
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 information. It is returned by the service when the "permission denied" error occurs. |
| 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 information. It is returned by the service when the "permission denied" error occurs. |
| 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 information. It is returned by the service when the "permission denied" error occurs. |
| 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 information. It is returned by the service when the "permission denied" error occurs. |
| 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 information. It is returned by the service when the "permission denied" error occurs. |
| 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 information. It is returned by the service when the "permission denied" error occurs. |
Example Requests
-
Create an empty private module
POST https://{endpoint}/v1/private-modules { "module_name" : "test-limit_vpc_resource-module" } -
Create a private module with version
POST https://{endpoint}/v1/private-modules { "module_name" : "test-limit_vpc_resource-module", "module_version" : "1.0.0", "module_uri" : "https://integration-test.obs.{region}.huawei.com/mock_zip_template_for_module_service.zip" }
Example Responses
Status code: 201
The private module is created.
{
"module_id" : "fd0e12bc-a1a4-4cac-8cbe-b023c389736b"
} Status Codes
| Status Code | Description |
|---|---|
| 201 | The private module is created. |
| 400 | Invalid request. |
| 401 | Authentication failed. |
| 403 | |
| 409 | Creation request conflict. The specified private module 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.