Summary

The updateLogCollectorGroupConfigIds() mutation replaces the set of Log Collector configurations assigned to a Log Collector group. Use this mutation after creating a group with createLogCollectorGroup() or when the configurations assigned to an existing group must change.

Syntax

graphql
updateLogCollectorGroupConfigIds(
      id: String!, configIds: [String!]
   ): LogCollectorGroup!

The id argument is required and identifies the Log Collector group to update. The configIds argument is optional; omit it or pass null to clear all existing configuration assignments from the group. The mutation returns a LogCollectorGroup! object — the updated group — which is always non-null on success.

Input parameters

Provide the unique identifier of the Log Collector group and the list of configuration IDs to assign to it.

Table: Input parameters and datatypes

Parameter Type Required Default Description
This table contains all input parameters for this mutation.
configIds [String!]     A list of Log Collector configuration IDs to assign to the group. Each ID must be a non-null string. Omit this argument or pass null to remove all configuration assignments from the group.
id String yes   The unique identifier of the Log Collector group to update.

Example

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

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 {
  updateLogCollectorGroupConfigIds( 
     id: \"abc123\",
     configIds: [\"1234\", \"4321\"]
  )
 { name }
}"
}
);


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": {
    "updateLogCollectorGroupConfigIds": {
      "name": "we-few"
    }
  }
}

Returned values

The mutation returns the updated LogCollectorGroup! object. The returned object reflects the group's current state, including the new configuration assignments, any applied filter, and version information.

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.