Summary

The updateFdrFeedControl() mutation updates administrator controls for an FDR feed in a LogScale repository. Adjust polling node limits and per-node file download parallelism after the feed is created. To update the feed configuration itself (name, credentials, and so on), use updateFdrFeed() instead.

Syntax

graphql
updateFdrFeedControl(
      input: UpdateFdrFeedControl!
   ): FdrFeedControl!

The mutation accepts a single required input argument of type UpdateFdrFeedControl!. The input includes the repository name, FDR feed ID, and control settings to update. The mutation returns a non-null FdrFeedControl! object.

The returned FdrFeedControl! object reflects the updated control settings.

Input parameters

Provide the repository name, the FDR feed ID, and the control values to update. To find the feed ID, use the repository() query shown in the Related section.

Table: UpdateFdrFeedControl Input Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
fileDownloadParallelismUpdateLong  Long-Term Maximum amount of files downloaded from s3 in parallel for a single node. To clear value, enter no value or a null. If parameter is not included, it won't be change. See UpdateLong.
idStringyes Long-Term The unique identifier of the FDR feed.
maxNodesUpdateLong  Long-Term Maximum number of nodes with which to poll FDR feed. To clear value, enter no value or a null. If parameter is not included, it won't be change. See UpdateLong.
repositoryNameStringyes Long-Term The name of the repository of the FDR feed.

Example

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

Returned values

The mutation returns a non-null FdrFeedControl! object. The object contains updated administrator control settings for the FDR feed. These settings include polling node limits and per-node file download parallelism.

Table: FdrFeedControl Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
fileDownloadParallelismInt  Long-Term The maximum amount of files downloaded from s3 in parallel for a single node.
idStringyes Long-Term The unique identifier of the FDR feed.
maxNodesInt  Long-Term The maximum number of nodes with which to poll the FDR feed.