Add Preconfiguration Template

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": []
}

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"
  }
}
NameTypeDescriptionStarting Version
successboolean 0.6
errorErrorCodeError code. If not null, the operation failed. When the operation is successful, this field is null. For details, see error3.4.0
inventoryPreconfigurationTemplateInventoryFor details, see inventory3.4.0

error

NameTypeDescriptionStarting Version
codeStringError code number, globally unique identifier of the error, for example SYS.1000, HOST.10010.6
descriptionStringBrief description of the error0.6
detailsStringDetailed error information0.6
elaborationStringReserved field, default is null0.6
opaqueLinkedHashMapReserved field, default is null0.6
causeErrorCodeRoot cause: the source error that triggered the current error. If there is no original error, this field is null0.6

inventory

NameTypeDescriptionStarting Version
uuidStringUUID of the resource, uniquely identifying the resource3.4.0
nameStringResource name3.4.0
descriptionStringDetailed description of the resource3.4.0
distributionStringApplicable operating system distribution3.4.0
typeStringTemplate type3.4.0
contentStringTemplate content3.4.0
md5sumStringTemplate MD53.4.0
isPredefinedBooleanWhether it is system predefined3.4.0
stateStringState3.4.0
createDateTimestampCreate time3.4.0
lastOpDateTimestampLast modification time3.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()