Set Object’s Stat Metadata

Request

HTTP Request

POST /node/api/objects/:id/stat/meta

Permissions

objectPermissions + (modify-objects | manage-objects)

Path parameters

Parameter Type Description

id

String
required

The ID or discovery ID of the object whose stat metadata must be set.

Request body

Request body contains new metadata for the specified object. See the Stat Metadata model for more information.

{
    "percentageUsage": {
        "wait": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "system": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "user": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "nice": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        }
    }
}

Response

The response body is empty.

Example

Request

  • Bash

  • JavaScript

  • NodeJS

  • Python

login=<...>
password=<...>
saymon_hostname=<...>
object_id=<...>
url=https://$saymon_hostname/node/api/objects/$object_id/stat/meta

curl -X POST $url -u $login:$password \
    -H "Content-Type: application/json" \
    -d @- <<EOF
{
    "percentageUsage": {
        "wait": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "system": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "user": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "nice": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        }
    }
}
let login = <...>
let password = <...>
let saymonHostname = <...>
let objectId = <...>
let path = "/node/api/objects/" + objectId + "/stat/meta";
let auth = "Basic " + btoa(login + ":" + password);

let headers = new Headers();
headers.append("Authorization", auth);
headers.append("Content-Type", "application/json");

let data = JSON.stringify({
    "percentageUsage": {
        "wait": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "system": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "user": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "nice": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        }
    }
});

let requestOptions = {
    method: "POST",
    headers: headers,
    body: data
};

fetch(saymonHostname + path, requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log("error", error));
const http = require("http");

let login = <...>
let password = <...>
let saymonHostname = <...>
let objectId = <...>
let path = "/node/api/objects/" + objectId + "/stat/meta";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    "method": "POST",
    "hostname": saymonHostname,
    "headers": {
        "Authorization": auth,
        "Content-Type": "application/json"
    },
    "path": path
};

let req = http.request(options, function (res) {
    let chunks = [];

    res.on("data", function (chunk) {
        chunks.push(chunk);
    });

    res.on("end", function (chunk) {
        let body = Buffer.concat(chunks);
        console.log(body.toString());
    });

    res.on("error", function (error) {
        console.error(error);
    });
});

let data = JSON.stringify({
    "percentageUsage": {
        "wait": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "system": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "user": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "nice": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        }
    }
});

req.write(data);
req.end();
import requests

login = <...>
password = <...>
saymon_hostname = <...>
object_id = <...>
url = "https://" + saymon_hostname + "/node/api/objects/" + \
    object_id + "/stat/meta";

body = {
    "percentageUsage": {
        "wait": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "system": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "user": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        },
        "nice": {
            "type": "PERCENTILE",
            "changeRate": "ALWAYS"
        }
    }
}

response = requests.request("POST", url, json=body, auth=(login, password))
print(response.text)