Обновить всех агентов

Обновляет всех агентов пакетом, переданным в теле запроса.

Запрос

HTTP Запрос

POST /node/api/agents/update

Права

upload-agent-updates

Параметры пути

Параметры не требуются.

Тело запроса

Тело запроса содержит бинарный файл с обновлением агентов. Этот файл можно загрузить на странице загрузок SAYMON.

Ответ

Ответ содержит результат обновления агентов.

Ответ на успешный запрос выглядит следующим образом:

"OK"

Если загрузить некорректный файл, в теле ответа будет записано следующее:

{
    "code":"InvalidArgument",
    "message":"Update file has wrong type (expected application/zip, application/x-zip or application/x-zip-compressed)."
}

Пример

Запрос

  • Bash

  • JavaScript

  • NodeJS

  • Python

login=<...>
password=<...>
saymon_hostname=<...>
url=https://$saymon_hostname/node/api/agents/update

curl -u $login:$password \
    -F "file=@saymon-agent-rl-update-archive.zip;type=application/zip" $url
Файл может быть выбран элементом HTML <input type="file" />.
let login = <...>
let password = <...>
let saymon_hostname = <...>
let path = "https://" + saymon_hostname + "/node/api/agents/update";
let auth = "Basic " + btoa(login + ":" + password);

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

let formData = new FormData();
let fileField = document.querySelector('input[type="file"]');

formData.append('file', fileField.files[0]);

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

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

let login = <...>
let password = <...>
let saymon_hostname = <...>
let url = "https://" + saymon_hostname + "/node/api/agents/update";

let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    method: "POST",
    url: url,
    headers: {
        Authorization: auth
    },
    formData: {
        file: fs.createReadStream("saymon-agent-rl-update-archive.zip")
    }
};

request(options, function (error, response, body) {
    if (error) throw new Error(error);
    console.log(body);
});
import requests
import json

login = <...>
password = <...>
saymon_hostname = <...>
url = "https://" + saymon_hostname + "/node/api/agents/update";

files = {
    "file": (
        "saymon-agent-rl-update-archive.zip",
        open("saymon-agent-rl-update-archive.zip", "rb"),
        "application/zip"
    )
}

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

Ответ

Ответ при успешном обновлении агентов выглядит следующим образом:

"OK"