GET /compliancePolicies

Use this method to export a firmware-update compliance policy or retrieve basic or detailed information for a specified compliance policy or all policies. The basic information includes the name, last modified, and description. The detailed information includes the target versions and information about the firmware-update packages.

Authentication

Authentication with user name and password is required.

Request URL

GET https://{management_server_IP}/compliancePolicies

Query parameters

Parameters Required / Optional Description
basic_full={type} Optional Returns the specified type of information. This can be one of the following values.
  • basic. Returns basic information for the compliance policy.
  • full. Returns detailed information for the compliance policy.
exportDownload={file_name} Optional Downloads the specified compliance policy as a .zip file to your local system
policyname_all={policy_name} Optional Returns information about the specified compliance policy. If the value is empty, information is returned for all compliance policies.
refresh={Boolean} Optional Indicates whether to refresh the compliance-policy data before returning the results. This can be one of the following values.
  • true. Refreshes the compliance-policy data.
  • false. (default) Does not refresh the compliance policy data.
The following example refreshes the compliance-policy data and then returns basic information about all compliance policies.
GET https://{management_server_IP}/compliancePolicies?basic_full=basic
&policyname_all=&refresh=false

Response codes

Code Description Comments
200 OK The request completed successfully.
400 Bad Request A query parameter or request attribute is missing or not valid, or the operation is not supported. A descriptive error message is returned in the response body.
403 Forbidden The orchestrator server was prevented from fulfilling the request. A descriptive error message is returned in the response body. Ensure that you have privileges to perform the request.
409 Conflict There is a conflict with the current state of the resource. A descriptive error message is returned in the response body.
500 Internal Server Error An internal error occurred. A descriptive error message is returned in the response body.

Response body

Table 1. Basic information for compliance policies.
Attributes Type Description
policies Array Information about the compliance policy
  description String Compliance policy description
  id String Compliance policy ID
  inUse Boolean Identifies whether the compliance policy is in use. This can be one of the following values.
  • true. The compliance policy is in use.
  • false. The compliance policy is not in use.
  filterType String Filter type. This can be one of the following values.
  • all. All supported machine types

  • managed. Only managed machine types.

  lastAction String Last action that was performed on the compliance policy. This can be one of the following values.
  • Predefined. The compliance policy is predefined.

  • Created by {user_name}. The user-defined compliance policy was created by the specified user.

  • Edited by <user_name}. The user-defined compliance policy was edited by the specified user.

  lastEdited String Timestamp of the last change to the compliance policy
  lastModified String Timestamp of the last change to the compliance policy
  name String Compliance policy name
  updateRule String Internal use only
  userDefined String Identifies whether the compliance policy is user-defined. This can be one of the following values.
  • yes. The compliance policy is user-defined.
  • no. The compliance policy is predefined.
This example response is returned if the request is successful when the basic_full=basic query parameter is specified and the policyname_all query parameter is not specified.
{
   "policies":[{
      "id": "1612876820379",
      "description": "",
      "filterType": "managed",
      "inUse": "true",
      "lastAction": "Created by USER1",
      "lastEdited": "2021-02-09T13:20:20Z",
      "lastModified": "This policy was created by USER1 on 2021-02-09T13:20:20Z",
      "name": "7162-imm2-dsa",
      "updateRule": "",
      "userDefined": "yes"
   }]
}
Table 2. Detailed information for compliance policies.
Attributes Type Description
policies Array Information about the compliance policy
  id String Compliance policy ID
  description String Compliance policy description
  details Array Details about each compliance policy
    id String System type used to identify the CMM. Internal use only
    baseVersion String For CMMs or switches, this is the fix ID of the package. For servers, the following is returned.
xxxx_utl_uxsp_xxxxxx-1.00_xxxx_32-64
    build String Firmware update build number
    components Array Information about each component in the firmware update package
      build String Component firmware update build number.
      isDefault String Indicates whether the component update is the default component (the latest component update). If so, yes is returned.
      isGA String Indicates whether the component update is the GA level version of the update. This can be one of the following values.
  • yes. Component update is the GA level

      name String Component name
      packageExistence String Indicates whether the update exists in the firmware-updates repository. This can be one of the following values.
  • yes. Update package exists.
  • no. Update package does not exist.
      releaseDate String Release date of the component update
      rule String Rule for raising a non-compliant alert. This can be one of the following values.
  • alertIfNotExactMatch. Show non-compliance when the installed version on device does not exactly match the compliance target.
  • alertIfDownlevel. Show non-compliance when the installed version on device is earlier than the compliance target.
  • noAlerting. Never show non-compliance.
      targetVersion String Firmware level that is considered to be the baseline for the specified system type
      type String For CMMs or switches, this attribute is empty. For servers, specifies the type of package. This can be one of the following values.
  • IMM
  • IMM-Backup
  • UEFI
  • UEFI-Backup
      version String Component firmware update version
    isDefault String Indicates whether the update package is the default package (the latest package). This can be one of the following values.
  • yes. This is the default update package

  • no. This is not the default update package

    isDoNotUpdate String Indicates whether to not update the firmware for this component. This can be one of the following values.
  • Yes. Do not update firmware on this component.
  • No. Update firmware on this component.
    isGA String Indicates whether the package is the GA level version of the update
    isUXSP String Indicates whether this update package is an UpdateXpress System Pack (UXSP). This can be one of the following values.
  • yes. This is a UXSP.

  • no. This is not a UXSP.

    name String Compliance policy name
    packageExistence String Indicates whether the update package exists in the firmware-updates repository. This can be one of the following values.
  • yes. Update package exists.
  • no. Update package does not exist.
    releaseDate String For CMMs or switches, the release date of the update package. If so, yes is returned.

For servers, this attribute is empty.

    rule String Rule for raising a non-compliant alert. This can be one of the following values.
  • alertIfNotExactMatch. Show non-compliance when the installed version on device does not exactly match the compliance target.
  • alertIfDownlevel. Show non-compliance when the installed version on device is earlier than the compliance target.
  • noAlerting. Never show non-compliance.
  • custom. Follow the detailed rules of each firmware component.
    systemType String Type of device for which the policy applies
    version String Firmware update version
  filterType String Filter type. This can be one of the following values.
  • all. All supported machine types

  • managed. Only managed machine types.

  inUse Boolean Identifies whether the compliance policy is in use. This can be one of the following values.
  • true. The compliance policy is in use.
  • false. The compliance policy is not in use.
  lastAction String Last action that was performed on the compliance policy. This can be one of the following values.
  • Predefined. The compliance policy is predefined.

  • Created by {user_name}. The user-defined compliance policy was created by the specified user.

  • Edited by {user_name}. The user-defined compliance policy was edited by the specified user.

  lastEdited String Timestamp of the last change to the compliance policy
  lastModified String Timestamp of the last change to the compliance policy
  name String Compliance policy name
  updateRule String Internal use only
  userDefined String Identifies whether the compliance policy is user-defined. This can be one of the following values.
  • yes. The compliance policy is user-defined.
  • no. The compliance policy is predefined.
This example response is returned if the request is successful when the basic_full=full query parameter is not specified and the policyname_all query parameter is specified.
{
   "policies": [{
      "id": "1612876820379",
      "description": "",
      "details": [{
         "id": "7162",
         "baseVersion": "xxxx_utl_uxsp_xxxxxx-1.00_xxxx_32-64",
         "build": "",
         "components": [{
            "build": "",
            "isDefault": "yes",
            "isGA": "no",
            "name": "Integrated Management Module 2 (IMM2) Update (Backup)",
            "packageExistence": "yes",
            "releaseDate": "",
            "rule": "alertIfDownlevel",
            "targetVersion": "DoNotUpdate_SERVER_IMM2-BACKUP",
            "type": "IMM-Backup",
            "version": ""
         },
         {
            "build": "TCOO75J",
            "isDefault": "yes",
            "isGA": "no",
            "name": "Integrated Management Module 2 (IMM2) Update",
            "packageExistence": "yes",
            "releaseDate": "2020-12-30",
            "rule": "alertIfDownlevel",
            "size": 90447000,
            "targetVersion": "lnvgy_fw_imm2_tcoo75j-9.00_anyos_noarch",
            "type": "IMM",
            "version": "9.00"
         },
         {
            "build": "DSALB5S",
            "isDefault": "yes",
            "isGA": "no",
            "name": "Lenovo Dynamic System Analysis (DSA) - Preboot Embedded (For AnyOS)",
            "packageExistence": "yes",
            "releaseDate": "2020-10-13",
            "rule": "alertIfDownlevel",
            "size": 241505000,
            "targetVersion": "lnvgy_fw_dsa_dsalb5s-10.8_anyos_32-64",
            "type": "Diagnostics",
            "version": "10.8"
         }],
         "isDefault": "yes",
         "isDoNotUpdate": "no",
         "isGA": "yes",
         "isUXSP": "yes",
         "packageExistence": "yes"
         "name": "Lenovo Flex System x240 Compute Node-7162",
         "releaseDate": "",
         "rule": "alertIfDownlevel",
         "systemType": "7162",
         "version": "",
      }],
      "filterType": "managed",
      "inUse": "true",
      "lastAction": "Created by JBRUNDIDGE",
      "lastModified": "This policy was created by JBRUNDIDGE on 2021-02-09T13:20:20Z",
      "lastEdited": "2021-02-09T13:20:20Z",
      "name": "7162-imm2-dsa",
      "updateRule": "",
      "userDefined": "yes"
   }]
} 

}