PATCH – Update KeyRepoServers and other properties
Use the PATCH method to update properties in SecureKeyLifecycleService resource for Redfish service.
Request URL
PATCH https://<BMC_IPADDR>/redfish/v1/Managers/1/Oem/Lenovo/SecureKeyLifecycleService
Request body
Properties to be updated are shown as bellow, all of these properties can be changed individually.
| Field | Type | Error Message ID | |
|---|---|---|---|
KeyRepoServers[N]  | Object | Expanded Note When the tier level is lower than 2, this object will not be presented. All the item should be added to the PATCH body.  | |
HostName  | String | A remote server address. It can be an IPv4 address, an IPv6 address, a hostname, or a FQDN.  | |
Port  | Number | A remote server port. A valid value is from 1 to 65535.  | |
DeviceGroup  | String | A string with a maximum length of 16 bytes. Note When the tier level is lower than 2, this property will not be presented.  | |
Protocol  | String | Server protocol. Value: SKLM or KMIP. ST250/SR250/ST50 platform only support SKLM. Note When the tier level is lower than 2, this property will not be presented.  | |
EKMSLocalCachedKeySettings  | Object | Expanded Note This object will not be presented on edge platform.  | |
LocalCachedKeyEnabled  | Boolean | Local cached key enabled status  | |
CacheExpirationTime  | Number | Cache expiration time  | |
Response body
The response returns same content as GET operation with updated properties.
Status code
| HTTP Status Code | Error Message ID | 
|---|---|
| 500 | InternalError | 
Example
The following example is PATCH body.
{
    "KeyRepoServers": [
        {
            "Port": 5696,
            "HostName": ""
        },
        {
            "Port": 5696,
            "HostName": ""
        },
        {
            "Port": 5696,
            "HostName": ""
        },
        {
            "Port": 5696,
            "HostName": ""
        }
    ],
    "EKMSLocalCachedKeySettings": {
        "LocalCachedKeyEnabled": false,
        "CacheExpirationIntervalHours": 1
    },
    "Protocol": "SKLM",
    "DeviceGroup": "TKLM_DEV_GROUP"
}
After the PATCH operation runs successfully, querying the resource returns below example JSON response:
{
    "Name": "SecureKeyLifecycleService",
    "@odata.type": "#LenovoSecureKeyLifecycle.v1_0_0.LenovoSecureKeyLifecycle",
    "@odata.id": "/redfish/v1/Managers/1/Oem/Lenovo/SecureKeyLifecycleService",
    "@odata.context": "/redfish/v1/$metadata#LenovoSecureKeyLifecycle.LenovoSecureKeyLifecycle",
    "Description": "This resource is used to represent a secure key lifecycle service for a Redfish implementation.",
    "EKMSLocalCachedKeySettings": {
        "LocalCachedKeyEnabled": false,
        "CacheExpirationIntervalHours": 1
    },
    "KeyRepoServers": [
        {
            "Port": 5696,
            "HostName": ""
        },
        {
            "Port": 5696,
            "HostName": ""
        },
        {
            "Port": 5696,
            "HostName": ""
        },
        {
            "Port": 5696,
            "HostName": ""
        }
    ],
    "@odata.etag": "\"71103de0be6a24f03b3\"",
    "ServerCertificate": {
        "@odata.id": "/redfish/v1/Managers/1/Oem/Lenovo/SecureKeyLifecycleService/ServerCertificate"
    },
    "DeviceGroup": "TKLM_DEV_GROUP",
    "Protocol@Redfish.AllowableValues": [
        "SKLM",
        "KMIP"
    ],
    "Protocol": "SKLM",
    "ClientCertificate": {
        "@odata.id": "/redfish/v1/Managers/1/Oem/Lenovo/SecureKeyLifecycleService/ClientCertificate"
    },
    "Id": "SecureKeyLifecycleService"
}