Summary

The unenrollLogCollectors() mutation removes one or more LogCollectors from Fleet management enrollment. Unenrolled collectors no longer report to Fleet management or receive configuration updates. Use this mutation to decommission unneeded collectors or to correct enrollment errors. To re-enroll a collector, use assignLogCollectorsToConfiguration().

Syntax

graphql
unenrollLogCollectors(
      ids: [String!]
   ): [EnrolledCollector!]!

Provide a list of LogCollector machine identifiers in the ids argument. Use the searchFleet() query to retrieve the machine identifier for each LogCollector before calling this mutation.

The mutation returns a non-null list of EnrolledCollector objects reflecting the updated state of each unenrolled collector.

Example

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

Input Parameters

Provide one or more LogCollector machine identifiers in the ids argument. Retrieve valid identifiers from the searchFleet() query before calling this mutation.

Table: Input Parameters & Datatypes

Parameter Type Required Default Description
This table contains all input parameters for this mutation.
ids [String!] yes   The machine identifiers of the LogCollectors to unenroll. Each identifier must be a non-null string.

Returned Values

The mutation returns a non-null list of EnrolledCollector objects. Each object represents the updated enrollment state of a collector after unenrollment. Request the id field to confirm which collectors were removed. The following table lists all available fields on the returned type:

Table: EnrolledCollector Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
configIdString  Short-Term The unique identifier for the configuration used.
idStringyes Short-Term The unique identifier for the enrolled LogCollector.
machineIdStringyes Short-Term The unique machine identifier.