API Stability Short-Term

The createRemoteClusterConnection() GraphQL mutation field is used to create a cluster connection to a remote view. MultiClusterSearch needs to be enabled to use it.

To update a cluster connection, use the updateRemoteClusterConnection() mutation. Use the checkRemoteClusterConnection() query to check the connection. You can use deleteClusterConnection() to delete a connection.

Hide Query Example

Show Cluster Nodes Query

Syntax

graphql
createRemoteClusterConnection(
       input: CreateRemoteClusterConnectionInput!
    ): RemoteClusterConnection!

Example

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

Raw
graphql
mutation {
  createRemoteClusterConnection(input:
       { multiClusterViewName: "my-cluster-view",
        publicUrl: "https://cluster.company.com",
        token: "1234abc"
      } )
  { 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 {
  createRemoteClusterConnection(input:
       { multiClusterViewName: \"my-cluster-view\",
        publicUrl: \"https://cluster.company.com\",
        token: \"1234abc\"
      } )
  { 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 {
  createRemoteClusterConnection(input:
       { multiClusterViewName: \"my-cluster-view\",
        publicUrl: \"https://cluster.company.com\",
        token: \"1234abc\"
      } )
  { 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 { ^
  createRemoteClusterConnection(input: ^
       { multiClusterViewName: \"my-cluster-view\", ^
        publicUrl: \"https://cluster.company.com\", ^
        token: \"1234abc\" ^
      } ) ^
  { id } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  createRemoteClusterConnection(input:
       { multiClusterViewName: \"my-cluster-view\",
        publicUrl: \"https://cluster.company.com\",
        token: \"1234abc\"
      } )
  { 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 {
  createRemoteClusterConnection(input:
       { multiClusterViewName: \"my-cluster-view\",
        publicUrl: \"https://cluster.company.com\",
        token: \"1234abc\"
      } )
  { 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 {
  createRemoteClusterConnection(input:
       { multiClusterViewName: \"my-cluster-view\",
        publicUrl: \"https://cluster.company.com\",
        token: \"1234abc\"
      } )
  { 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 {
  createRemoteClusterConnection(input:
       { multiClusterViewName: \"my-cluster-view\",
        publicUrl: \"https://cluster.company.com\",
        token: \"1234abc\"
      } )
  { 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();

Given Datatype

For this input datatype, you would give the URL of the remote cluster, and the token for accessing. These are described in more detail in the table below, along with other parameters and links to related sub-parameters:

Table: CreateRemoteClusterConnectionInput

ParameterTypeRequiredDefaultStabilityDescription
Some arguments may be required, as indicated in the Required column. For return datatypes, this indicates that you must specify which fields you want returned in the results.
Table last updated: Sep 17, 2024
multiClusterViewNamestringyes Short-TermThe name or unique identifier of the multi-cluster view to add.
publicUrlstringyes Short-TermThe public URL of the remote cluster.
queryPrefixstring  Short-TermFilter query that restricts the data visible through this connection.
tags[ClusterConnectionInputTag]yes Short-TermAdditional tags that can be used to filter queries. See ClusterConnectionInputTag.
tokenstringyes Short-TermThe access token for connecting to the remote view.

Returned Datatype

With the returned datatype, you can get information on a remove cluster connection, such as the public URL and the unique identifiers of the cluster. To see all of your choices, click on the link for that sub-datatype in the table below:

Table: RemoteClusterConnection

ParameterTypeRequiredDefaultStabilityDescription
Some arguments may be required, as indicated in the Required column. For return datatypes, this indicates that you must specify which fields you want returned in the results.
Table last updated: Mar 17, 2025
clusterIdstringyes Short-TermCluster identity of the connection.
idstringyes Short-TermThe unique identifier of the connection.
publicUrlstringyes Short-TermPublic URL of the remote cluster with which to connect.
queryPrefixstringyes Short-TermThe cluster connection query prefix.
tags[ClusterConnectionTag]yes Short-TermCluster connection tags. See ClusterConnectionTag.