API StabilityLongTerm

The createIngestListenerV3() GraphQL mutation may be used to create a new ingest listener.

For more information on ingest listeners, see the Ingest Listeners documentation page. You may also want to look at the Ingesting Data page for related information.

Syntax

Below is the syntax for the createIngestListenerV3() mutation field:

graphql
createIngestListenerV3(
      input: CreateIngestListenerV3Input!
   ): IngestListener!

Below is an example of how this mutation field might be used:

Raw
graphql
mutation {
  createIngestListenerV3(input:
       { repositoryName: "humio",
         port: 8080, protocol: TCP,
         name: "listen-up",
         bindInterface: "12.127.18.88",
         parser: "kv", charset: "UTF-8" } )
  { 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 {
  createIngestListenerV3(input:
       { repositoryName: \"humio\",
         port: 8080, protocol: TCP,
         name: \"listen-up\",
         bindInterface: \"12.127.18.88\",
         parser: \"kv\", charset: \"UTF-8\" } )
  { 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 {
  createIngestListenerV3(input:
       { repositoryName: \"humio\",
         port: 8080, protocol: TCP,
         name: \"listen-up\",
         bindInterface: \"12.127.18.88\",
         parser: \"kv\", charset: \"UTF-8\" } )
  { 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 { ^
  createIngestListenerV3(input: ^
       { repositoryName: \"humio\", ^
         port: 8080, protocol: TCP, ^
         name: \"listen-up\", ^
         bindInterface: \"12.127.18.88\", ^
         parser: \"kv\", charset: \"UTF-8\" } ) ^
  { id } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  createIngestListenerV3(input:
       { repositoryName: \"humio\",
         port: 8080, protocol: TCP,
         name: \"listen-up\",
         bindInterface: \"12.127.18.88\",
         parser: \"kv\", charset: \"UTF-8\" } )
  { id }
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $INGEST_TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $json = '{"query" : "mutation {
  createIngestListenerV3(input:
       { repositoryName: \"humio\",
         port: 8080, protocol: TCP,
         name: \"listen-up\",
         bindInterface: \"12.127.18.88\",
         parser: \"kv\", charset: \"UTF-8\" } )
  { id }
}"
}';
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 {
  createIngestListenerV3(input:
       { repositoryName: \"humio\",
         port: 8080, protocol: TCP,
         name: \"listen-up\",
         bindInterface: \"12.127.18.88\",
         parser: \"kv\", charset: \"UTF-8\" } )
  { 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 {
  createIngestListenerV3(input:
       { repositoryName: \"humio\",
         port: 8080, protocol: TCP,
         name: \"listen-up\",
         bindInterface: \"12.127.18.88\",
         parser: \"kv\", charset: \"UTF-8\" } )
  { id }
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL/graphql',
  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();

Given Datatypes

For CreateIngestListenerV3Input, there are several parameters that may be given. Below is a list of them along with their datatypes and a description of each:

Table: CreateIngestListenerV3Input

ParameterTypeRequiredDefaultStabilityDescription
Some arguments may be required, as indicated in the Required column. For some fields, this column indicates that a result will always be returned for this column.
Table last updated: Sep 17, 2024
bindInterfacestringyes  The IP address that to which the ingest listener will bind.
charsetstringyes  The charset used to decode the event stream.
namestringyes  Name of the ingest listener.
parserIdstringyes  The identifier of the parser to assign to the ingest listener.
portintegeryes  The TCP/UDP port the ingest listener will listen on.
protocolIngestListenerProtocolyes  The kind of listener. See IngestListenerProtocol.
repositoryNamestringyes  Name of the repository.
vHostinteger   The vHost name for the ingest listener.

Returned Datatypes

The returned datatype IngestListener has its own parameters. Below is a list of them along with their datatypes and a description of each:

Table: IngestListener

ParameterTypeRequiredDefaultStabilityDescription
Some arguments may be required, as indicated in the Required column. For some fields, this column indicates that a result will always be returned for this column.
Table last updated: Sep 25, 2024
bindInterfacestringyes  The ip address this listener will bind to. By default (leaving this field empty) it will bind to 0.0.0.0 - all interfaces. Using this field it is also possible to specify the address to bind to. In a cluster setup it is also possible to specify if only one machine should open a socket - The vhost field is used for that.
charsetstringyes  The character set used to decode the event stream. Available character sets depend on the JVM running the LogScale instance. Names and aliases can be found at http://www.iana.org/assignments/character-sets/character-sets.xhtml
idstringyes  The unique identifier for the ingest listener.
namestringyes  The name of the ingest listener.
ParserParseryes  The parser configured to parse data for the listener. It returns null if the parser has been removed since the listener was created. See Parser.
portintegeryes  The TCP/UDP port on which to listen.
protocolIngestListenerProtocolyes  The network protocol data is sent through. See IngestListenerProtocol.
RepositoryRepositoryyes  The repository associated with the ingest listener. See Repository.
vHostinteger   Specify which host should open the socket. By default this field is empty and all hosts will open a socket. This field can be used to select only one host to open the socket.