Summary

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

API Stability Short-Term

Syntax

graphql
createRemoteClusterConnection(
       input: CreateRemoteClusterConnectionInput!
    ): RemoteClusterConnection!

For the input, you'll have to give the URL of the remote cluster, the token for accessing, etc. See the Input Parameters section for details.

For the results, you can get the public URL, the unique identifiers of the cluster, etc. See the Returned Values section for more.

Example

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();

Input Parameters

For the input, 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 Input Datatype

ParameterTypeRequiredDefaultStabilityDescription
Some input parameters may be required, as indicated in the Required column. For return values, this indicates that you are assured a value if the field is requested for 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 Values

For the results, you can get information on a remote 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 Datatype

ParameterTypeRequiredDefaultStabilityDescription
Some input parameters may be required, as indicated in the Required column. For return values, this indicates that you are assured a value if the field is requested for 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.