Summary

The updateLogCollectorGroupWantedVersion() mutation sets the target software version for a Log Collector group. Use this mutation to pin or update the version that collectors in the group should run. Omitting wantedVersion clears any previously set version target, restoring default version behavior for the group.

Syntax

graphql
updateLogCollectorGroupWantedVersion(
      id: String!, wantedVersion: String
   ): LogCollectorGroup!

The id argument is required and identifies the Log Collector group to update. The optional wantedVersion argument specifies the version string to assign. Omit it or pass null to clear any previously set version target. The mutation returns a non-null LogCollectorGroup! object.

Input parameters

Provide the unique identifier of the Log Collector group and, optionally, the target version string.

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 group to update.
wantedVersion String     The target software version for collectors in this group. Omit or pass null to clear any previously set version target and restore default version behavior.

Example

Raw
graphql
mutation {
  updateLogCollectorGroupWantedVersion( 
     id: "abc123",
     wantedVersion: "1.0.23"
  )
 { id }
}
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 {
  updateLogCollectorGroupWantedVersion( 
     id: \"abc123\",
     wantedVersion: \"1.0.23\"
  )
 { id }
}"
}
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 {
  updateLogCollectorGroupWantedVersion( 
     id: \"abc123\",
     wantedVersion: \"1.0.23\"
  )
 { id }
}"
}
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 { ^
  updateLogCollectorGroupWantedVersion(  ^
     id: \"abc123\", ^
     wantedVersion: \"1.0.23\" ^
  ) ^
 { id } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  updateLogCollectorGroupWantedVersion( 
     id: \"abc123\",
     wantedVersion: \"1.0.23\"
  )
 { id }
}"
}'
    "$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 {
  updateLogCollectorGroupWantedVersion( 
     id: \"abc123\",
     wantedVersion: \"1.0.23\"
  )
 { id }
}";
$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 {
  updateLogCollectorGroupWantedVersion( 
     id: \"abc123\",
     wantedVersion: \"1.0.23\"
  )
 { id }
}"
}'''

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 {
  updateLogCollectorGroupWantedVersion( 
     id: \"abc123\",
     wantedVersion: \"1.0.23\"
  )
 { id }
}"
}
);


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
{
  "data": {
    "updateLogCollectorGroupWantedVersion": {
      "id": "abc123"
    }
  }
}

Returned values

The mutation returns a non-null LogCollectorGroup! object representing the updated group. The returned object reflects the group's current state, including the updated wantedVersion value, assigned configurations, filter, and other properties.

Table: LogCollectorGroup Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
collectorCountInt  Short-Term text
collectorsAtWantedVersionInt  Short-Term Stability: Short-term
collectorsWithVersionConflictInt  Short-Termadded in 1.255Stability: Short-term
configurationsLogCollectorConfigurationyes Short-Term The log collector's configurations. See LogCollectorConfiguration.
conflictingGroupNamesStringyes Short-Termadded in 1.255Stability: Short-term
filterString  Short-Term The filter used with the log collector.
idStringyes Short-Term The unique identifier for the group.
nameStringyes Short-Term The name of the log collector group.
onlyUsesRemoteUpdatesBooleanyes Short-Term Whether the group only uses remove updates.
wantedVersionString  Short-Term The wanted version.