50 KiB
Creating a Template Version
Function
CreateTemplateVersion
This API creates a template version.
- The request must contain either template_uri or template_body. The former is the OBS link of the template content, and the latter is the template content.
- The ID of the new template version is automatically increased by 1 based on the maximum template version ID.
- For details about how to create a template version, refer to CreateTemplateVersionRequestBody.
- template_id is the unique ID of the template. It is a UUID generated by RFS when a template is created. Template names are unique at one specific time, so you can create a template named HelloWorld and another template with the same name after deleting the first one. For parallel development, team members may want to ensure that they are operating the template they created, not 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 template has a unique ID that does not change with updates. If the template_id value differs from the current template ID, 400 is returned.
Debugging
You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.
URI
POST /v1/{project_id}/templates/{template_name}/versions
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
project_id |
Yes |
String |
Project ID. It can be obtained by calling an API or from the console. |
template_name |
Yes |
String |
Name of the template to be created. |
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
template_id |
No |
String |
ID of a template. If template_id exists, the template service checks whether template_id matches template_name. If not, 400 is returned. |
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. |
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
version_description |
No |
String |
Description of a template version. It can be used by users to identify their own template versions. |
template_body |
No |
String |
HCL template. It describes the resources used in the template. You can specify either template_body or template_uri, but not both. |
template_uri |
No |
String |
OBS link of an HCL template. The template describes the target status of a resource. The corresponding file must be a pure .tf file or a .zip package. A pure .tf file must end with .tf or .tf.json and comply with the HCL syntax. Currently, only the .zip package is supported. The file name extension must be .zip. The decompressed files cannot contain .tfvars files. You can specify either template_body or template_uri, but not both. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
|---|---|---|
version_id |
String |
Template version ID. |
Status code: 400
Parameter |
Type |
Description |
|---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
encoded_authorization_message |
String |
The message contains information about unauthorized requests. |
details |
Array of Table 7-100 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 |
Error code. |
error_msg |
String |
Error message. |
encoded_authorization_message |
String |
The message contains information about unauthorized requests. |
details |
Array of Table 7-102 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 |
Error code. |
error_msg |
String |
Error message. |
encoded_authorization_message |
String |
The message contains information about unauthorized requests. |
details |
Array of Table 7-104 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 |
Error code. |
error_msg |
String |
Error message. |
encoded_authorization_message |
String |
The message contains information about unauthorized requests. |
details |
Array of Table 7-106 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 |
Error code. |
error_msg |
String |
Error message. |
encoded_authorization_message |
String |
The message contains information about unauthorized requests. |
details |
Array of Table 7-108 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 |
Error code. |
error_msg |
String |
Error message. |
encoded_authorization_message |
String |
The message contains information about unauthorized requests. |
details |
Array of Table 7-110 objects |
Detailed error messages returned by service when permission is denied. |
Parameter |
Type |
Description |
|---|---|---|
error_code |
String |
Response code. |
error_msg |
String |
Response message. |
Example Requests
None
Example Responses
None
Status Codes
Status Code |
Description |
|---|---|
200 |
Template version created. |
400 |
Invalid request. |
401 |
Authentication failed. |
403 |
The user does not have the permission to call this API. |
404 |
The template does not exist. |
429 |
Too frequent requests. |
500 |
Internal server error. |