Summary

The setWantedLogCollectorVersion() mutation sets the desired target version for a specific Log Collector instance. The fleet management system uses this value to track and coordinate version updates across collector instances. To retrieve collector IDs and current version information before calling this mutation, use the searchFleet() query.

Syntax

graphql
setWantedLogCollectorVersion(
      id: String!,
      version: String,
      timeOfUpdate: DateTime
   ): Boolean!

The id argument is required. The version and timeOfUpdate arguments are optional.

The mutation returns a non-nullable Boolean! value. A return value of true confirms the wanted version was set successfully.

Example

Raw
graphql
mutation {
  setWantedLogCollectorVersion( 
     id: "abc123",
     version: "1.3.0",
  ) 
}
Mac OS or Linux (curl)
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  setWantedLogCollectorVersion( 
     id: \"abc123\",
     version: \"1.3.0\",
  ) 
}"
}
EOF
Mac OS or Linux (curl) One-line
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  setWantedLogCollectorVersion( 
     id: \"abc123\",
     version: \"1.3.0\",
  ) 
}"
}
EOF
Windows Cmd and curl
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
    -H "Authorization: Bearer $TOKEN" ^
    -H "Content-Type: application/json" ^
    -d @'{"query" : "mutation { ^
  setWantedLogCollectorVersion(  ^
     id: \"abc123\", ^
     version: \"1.3.0\", ^
  )  ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  setWantedLogCollectorVersion( 
     id: \"abc123\",
     version: \"1.3.0\",
  ) 
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $query = "mutation {
  setWantedLogCollectorVersion( 
     id: \"abc123\",
     version: \"1.3.0\",
  ) 
}";
$query =~ s/\n/ /g;
my $json = sprintf('{"query" : "%s"}',$query);
my $req = HTTP::Request->new("POST", $uri );

$req->header("Authorization" => "Bearer $TOKEN");
$req->header("Content-Type" => "application/json");

$req->content( $json );

my $lwp = LWP::UserAgent->new;

my $result = $lwp->request( $req );

print $result->{"_content"},"\n";
Python
python
#! /usr/local/bin/python3

import requests

url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
  setWantedLogCollectorVersion( 
     id: \"abc123\",
     version: \"1.3.0\",
  ) 
}"
}'''

resp = requests.post(url,
                     data = mydata,
                     headers = {
   "Authorization" : "Bearer $TOKEN",
   "Content-Type" : "application/json"
}
)

print(resp.text)
Node.js
javascript
const https = require('https');

const data = JSON.stringify(
    {"query" : "mutation {
  setWantedLogCollectorVersion( 
     id: \"abc123\",
     version: \"1.3.0\",
  ) 
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL',
  path: 'graphql',
  port: 443,
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    Authorization: 'BEARER ' + process.env.TOKEN,
    'User-Agent': 'Node',
  },
};

const req = https.request(options, (res) => {
  let data = '';
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', (d) => {
    data += d;
  });
  res.on('end', () => {
    console.log(JSON.parse(data).data);
  });
});

req.on('error', (error) => {
  console.error(error);
});

req.write(data);
req.end();
Example Responses
Success (HTTP Response Code 200 OK)
json
{
  "setWantedLogCollectorVersion": true
  }
}

Input Parameters

The id parameter identifies the target Log Collector instance. Retrieve this value from the searchFleet() query. The version and timeOfUpdate parameters are optional and control what version to apply and when.

Table: Input Parameters and Datatypes

Parameter Type Required Default Description
This table contains all input parameters for this mutation.
id String yes   The unique identifier of the Log Collector instance in the fleet management system. Retrieve this value using the searchFleet() query.
timeOfUpdate DateTime     The date and time to schedule the version update. When omitted, the update takes effect immediately. The fleet management system applies the change when the collector next checks in after the specified time.
version String     The target version string for the Log Collector instance. When omitted, the wanted version is unset and the fleet management system applies its default version policy.