Bare Metal Management


Add Preconfiguration Template (AddPreconfigurationTemplate)

API Request

URLs
POST zstack/v1/baremetal/preconfigurations
Headers
Authorization: OAuth the-session-uuid
Body
{   "params": {     "name": "centos-7.2-minimal",     "description": "centos-7.2-minimal kickstart file",     "distribution": "centos7.2-x86_64",     "type": "kickstart",     "content": "..."   },   "systemTags": [],   "userTags": [] }
Note: In the example above, systemTags and userTags fields can be omitted. They are listed to indicate that these two fields can be included in the body.
Curl Example
curl -H "Content-Type: application/json;charset=UTF-8" \ -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \ -X POST -d '{"params":{"name":"centos-7.2-minimal","description":"centos-7.2-minimal kickstart file","distribution":"centos7.2-x86_64","type":"kickstart","content":"..."}}' \ http://localhost:8080/zstack/v1/baremetal/preconfigurations
Parameter List
Name Type Location Description Allowed Values Starting Version
name String body(included in the params structure) Resource name 3.4.0
description (Optional) String body(included in the params structure) Detailed description of the resource 3.4.0
distribution String body(included in the params structure) Applicable operating system distribution 3.4.0
type String body(included in the params structure) Template type
  • kickstart
  • preseed
  • autoyast
3.4.0
content String body(included in the params structure) Template content 3.4.0
resourceUuid (Optional) String body(included in the params structure) Resource UUID 3.4.0
systemTags (Optional) List body System Tag 3.4.0
userTags (Optional) List body User Tag 3.4.0
tagUuids (Optional) List body(included in the params structure) Tag UUID List 3.4.0

API Response

Response Example
{   "inventory": {     "uuid": "8d837ba978a4462eada4cd80f395617f",     "name": "centos_7_x86_64_mini_v1.cfg",     "description": "centos-7-minimal kickstart file",     "distribution": "centos-7-x86_64",     "type": "kickstart",     "content": "...",     "md5sum": "4448ac513c464e86aeb7eb75417c9345",     "isPredefined": false,     "state": "Enabled",     "createDate": "Aug 15, 2025 5:35:30 AM",     "lastOpDate": "Aug 15, 2025 5:35:30 AM"   } }
Name Type Description Starting Version
success boolean 0.6
error ErrorCode Error code. If not null, the operation failed. When the operation is successful, this field is null. For details, see error 3.4.0
inventory PreconfigurationTemplateInventory For details, see inventory 3.4.0
#error
Name Type Description Starting Version
code String Error code number, globally unique identifier of the error, for example SYS.1000, HOST.1001 0.6
description String Brief description of the error 0.6
details String Detailed error information 0.6
elaboration String Reserved field, default is null 0.6
opaque LinkedHashMap Reserved field, default is null 0.6
cause ErrorCode Root cause: the source error that triggered the current error. If there is no original error, this field is null 0.6
#inventory
Name Type Description Starting Version
uuid String UUID of the resource, uniquely identifying the resource 3.4.0
name String Resource name 3.4.0
description String Detailed description of the resource 3.4.0
distribution String Applicable operating system distribution 3.4.0
type String Template type 3.4.0
content String Template content 3.4.0
md5sum String Template MD5 3.4.0
isPredefined Boolean Whether it is system predefined 3.4.0
state String State 3.4.0
createDate Timestamp Create time 3.4.0
lastOpDate Timestamp Last modification time 3.4.0

SDK Examples

Java SDK
AddPreconfigurationTemplateAction action = new AddPreconfigurationTemplateAction(); action.name = "centos-7.2-minimal"; action.description = "centos-7.2-minimal kickstart file"; action.distribution = "centos7.2-x86_64"; action.type = "kickstart"; action.content = "..."; action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"; AddPreconfigurationTemplateAction.Result res = action.call();
Python SDK
action = AddPreconfigurationTemplateAction() action.name = "centos-7.2-minimal" action.description = "centos-7.2-minimal kickstart file" action.distribution = "centos7.2-x86_64" action.type = "kickstart" action.content = "..." action.sessionId = "b86c9016b4f24953a9edefb53ca0678c" res = action.call()

Delete Preconfiguration Template (DeletePreconfigurationTemplate)

API Request

URLs
DELETE zstack/v1/baremetal/preconfigurations/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl Example
curl -H "Content-Type: application/json;charset=UTF-8" \ -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \ -X DELETE http://localhost:8080/zstack/v1/baremetal/preconfigurations/a605200589a54c25962a351d2d7995ea?deleteMode=Permissive
Parameter List
Name Type Location Description Allowed Values Starting Version
uuid String url UUID of the resource, uniquely identifying the resource 3.4.0
deleteMode (Optional) String query Delete mode 3.4.0
systemTags (Optional) List query System Tag 3.4.0
userTags (Optional) List query User Tag 3.4.0

API Response

This API returns an empty JSON structure {} on success. On error, the returned JSON structure contains an error field, for example:
{ 	"error": { 		"code": "SYS.1001", 		"description": "A message or a operation timeout", 		"details": "Create VM on KVM timeout after 300s" 	} }

SDK Examples

Java SDK
DeletePreconfigurationTemplateAction action = new DeletePreconfigurationTemplateAction(); action.uuid = "d24775f1fff14a8e9d67a9d889db8a81"; action.deleteMode = "Permissive"; action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"; DeletePreconfigurationTemplateAction.Result res = action.call();
Python SDK
action = DeletePreconfigurationTemplateAction() action.uuid = "3a4fc05bf396447880dfd3fa4cf965b1" action.deleteMode = "Permissive" action.sessionId = "b86c9016b4f24953a9edefb53ca0678c" res = action.call()

Change Preconfiguration Template State (ChangePreconfigurationTemplateState)

API Request

URLs
PUT zstack/v1/baremetal/preconfigurations/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
{   "changePreconfigurationTemplateState": {     "stateEvent": "disable"   },   "systemTags": [],   "userTags": [] }
Note: In the example above, systemTags and userTags fields can be omitted. They are listed to indicate that these two fields can be included in the body.
Curl Example
curl -H "Content-Type: application/json;charset=UTF-8" \ -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \ -X PUT -d '{"changePreconfigurationTemplateState":{"stateEvent":"disable"}}' \ http://localhost:8080/zstack/v1/baremetal/preconfigurations/48e32bae102b30ccb921f582a33cee14/actions
Parameter List
Name Type Location Description Allowed Values Starting Version
uuid String url UUID of the resource, uniquely identifying the resource 3.4.0
stateEvent String body(included in the changePreconfigurationTemplateState structure) State event
  • enable
  • disable
3.4.0
systemTags (Optional) List body System Tag 3.4.0
userTags (Optional) List body User Tag 3.4.0

API Response

Response Example
{   "inventory": {     "uuid": "edf8b9576a5d408fb135c20aa7dcefd3",     "name": "centos_7_x86_64_mini_v1.cfg",     "description": "centos-7-minimal kickstart file",     "distribution": "centos-7-x86_64",     "type": "kickstart",     "content": "...",     "md5sum": "f79f67ab6c3445029b187d14bf7e3b99",     "isPredefined": false,     "state": "Enabled",     "createDate": "Aug 15, 2025 5:33:55 AM",     "lastOpDate": "Aug 15, 2025 5:33:55 AM"   } }
Name Type Description Starting Version
success boolean 0.6
error ErrorCode Error code. If not null, the operation failed. When the operation is successful, this field is null. For details, see error 3.4.0
inventory PreconfigurationTemplateInventory For details, see inventory 3.4.0
#error
Name Type Description Starting Version
code String Error code number, globally unique identifier of the error, for example SYS.1000, HOST.1001 0.6
description String Brief description of the error 0.6
details String Detailed error information 0.6
elaboration String Reserved field, default is null 0.6
opaque LinkedHashMap Reserved field, default is null 0.6
cause ErrorCode Root cause: the source error that triggered the current error. If there is no original error, this field is null 0.6
#inventory
Name Type Description Starting Version
uuid String UUID of the resource, uniquely identifying the resource 3.4.0
name String Resource name 3.4.0
description String Detailed description of the resource 3.4.0
distribution String Applicable operating system distribution 3.4.0
type String Template type 3.4.0
content String Template content 3.4.0
md5sum String Template MD5 3.4.0
isPredefined Boolean Whether it is system predefined 3.4.0
state String State 3.4.0
createDate Timestamp Create time 3.4.0
lastOpDate Timestamp Last modification time 3.4.0

SDK Examples

Java SDK
ChangePreconfigurationTemplateStateAction action = new ChangePreconfigurationTemplateStateAction(); action.uuid = "48e32bae102b30ccb921f582a33cee14"; action.stateEvent = "disable"; action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"; ChangePreconfigurationTemplateStateAction.Result res = action.call();
Python SDK
action = ChangePreconfigurationTemplateStateAction() action.uuid = "48e32bae102b30ccb921f582a33cee14" action.stateEvent = "disable" action.sessionId = "b86c9016b4f24953a9edefb53ca0678c" res = action.call()


Archives

Download Document Archives

Download

Already filled the basic info?Click here.

Enter at least 2 characters.
Cannot be empty.
Invalid mobile number.
Enter at least 4 characters.
Invalid email address.
Wrong code. Try again. Send Code Resend Code (60s)

An email with a verification code will be sent to you. Make sure the address you provided is valid and correct.

同意 不同意

I have read and concur with the Site TermsPrivacy PolicyRules and Conventions on User Management of ZStack Cloud

Download

Not filled the basic info yet? Click here.

Invalid email address or mobile number.
同意 不同意

I have read and concur with the Site TermsPrivacy PolicyRules and Conventions on User Management of ZStack Cloud

Email Us

contact@zstack.io
ZStack Training and Certification
Enter at least 2 characters.
Invalid mobile number.
Enter at least 4 characters.
Invalid email address.
Wrong code. Try again. Send Code Resend Code (60s)

同意 不同意

I have read and concur with the Site TermsPrivacy PolicyRules and Conventions on User Management of ZStack Cloud

Email Us

contact@zstack.io
Request Trial
Enter at least 2 characters.
Invalid mobile number.
Enter at least 4 characters.
Invalid email address.
Wrong code. Try again. Send Code Resend Code (60s)

同意 不同意

I have read and concur with the Site TermsPrivacy PolicyRules and Conventions on User Management of ZStack Cloud

Email Us

contact@zstack.io

The download link is sent to your email address.

If you don't see it, check your spam folder, subscription folder, or AD folder. After receiving the email, click the URL to download the documentation.

The download link is sent to your email address.

If you don't see it, check your spam folder, subscription folder, or AD folder.
Or click on the URL below. (For Internet Explorer, right-click the URL and save it.)

Thank you for using ZStack products and services.

Submit successfully.

We'll connect soon.

Thank you for using ZStack products and services.