POST /osImages/<id>

Use the POST method to create a customized OS-image profile from a base operating system and add custom files (such as configuration settings, installation scripts, software, and unattend files).

Note: This REST API requires Lenovo XClarity Administrator v1.3.0 or later.

Authentication

Authentication with user name and password is required.

Request URL

POST https://<management_server_IP>/osImages/<id>

where <id> is the ID of the predefined OS-image profile that you want to customize. To obtain the ID, use the value in the items.profiles. id response attribute that is returned by the GET /osImages method.

Query parameters

None

Request body

Attributes Required / Optional Type Description
profile Required Object Information about one or more customized OS image profiles

Preloaded OS image profiles cannot be imported.

  customizationOptions Required Object Information about all options that can be customized in this operating system

If the base operating system for the profile does not support customization, this attribute is null.

If the base operating system for the profile supports customization but does support certain child attributes, the unsupported chile attributes are returned as an empty strings.

    bootOptions Optional Object Information about customizable boot options
      bootFileIds Optional Array of strings Boot file IDs that correlate to the imported boot files

Use POST /osImages to import the boot file, and then use POST /files/osImages?jobId=<job_id> to import the boot file into the OS images repository.

    customConfigOptions Optional Object Information about the custom profile-configuration settings
      customConfigFileIds Optional Array of objects IDs of the configuration-settings files
    customSoftwareOptions Optional Object Information about custom software payloads that are associated with this customized OS image profile
      customSoftwareIds Optional Array of strings List of IDs for each software payload
    customType Required Integer Customization type. This can be one of the following values.
  • 1. Custom unattend file and associated custom config file.

  • 2. Custom unattend file only.

  • 3. Custom unattend file and custom config file.

  • 4. Custom config file only.

  • 5. No custom unattend or config file.

    deployDataAndSoftwareLocation Optional String Path to the extracted software payload, custom files, and deployment data (such as certificates and logs) on the deployment host

The following directories are used by default.

  • Linux: /home/lxca

  • Windows: c:\lxca

    driverOptions Optional Object Information about predefined and imported device drivers that are associated with this customized OS image profile
      driverFileIds Optional Array of strings Device driver IDs that correlate to imported device-drivers

Use POST /osImages to import the device driver, and then use POST /files/osImages?jobId=<job_id> to import the device driver into the OS images repository.

    installScriptOptions Optional Object Information about install script files associated with this customized OS image profile
      scriptFileIds Optional Array of strings List of IDs for each installation script
  • If a specified ID is not currently in the customized OS image profile, the installation-script file is added to the profile.

  • If an ID is currently in the customized OS image profile but is not specified, the installation-script file is removed from the profile.

Note: Installation-script files must be imported in the OS-image repository before they can be added to a customized OS image profile. Use POST /osImages to import installation-script files, and then use POST /files/osImages?jobId=<job_id> to import installation-script files into the OS images repository.
    unattendOptions Optional Object Information about predefined unattended-file options
      unattendFileIds Optional Array of strings List of IDs for each unattend-file that correlate to imported unattend files
  description Optional String Description for the customized OS image profile
  name Required String Name of the customized OS image profile
  type Optional String Type of OS profile. This can be the following value.
  • custom. (default) The profile was created when a custom file (such as a boot file or device driver) was manually uploaded and added to an operating system.

Request example

{
   "profile": {
      "customizationOptions": {
         "bootOptions": {
            "bootFileIds": ["winpe-64-base"]
         },
         "customConfigOptions " : {
            "customConfigFileIds" : []
         },
         "customSoftwareOptions " : {
            "customSoftwareIds" : []
         },
         "customType": 5,
         "driverOptions": {
            "driverFileIds": [
               "nic-broadcom-bnxtnd-win2016-v1",
               "storage-broadcom-megasas35-win2016-v1",
               "hba-broadcom-itsas35-win2016-v1",
               "hba-elxcna-windows2016-v1"
            ]
         },
         "installScriptOptions": {
            "scriptFileIds": []
         },
         "unattendOptions": {
            "unattendFileId": []
         }
      },
      "description": "My custom profile",
      "name": "Win2016-Custom-Datacenter-2",
      "type": "custom"
   }
}

Response codes

Code Description
200 OK. The request completed successfully.
500 Internal server error. An internal error occurred.

Response body

Attributes Type Description
result String Results of the request. This can be one of the following values.
  • success. The request completed successfully.
  • failed. The request failed. A descriptive error message was returned.
  • warning. The request completed with a warning. A descriptive error message was returned.
messages Array of objects Information about one or more messages
  id String Message identifier of a returned message
  text String Message text associated with the message identifier
  explanation String Additional information to clarify the reason for the message
  recovery Array of objects Recovery information
    text String User actions that can be taken to recover from the event
    URL String Link to the help system for more information, if available

Response example

{
    "result": "success",
    "messages": []
}