Summary

The updateRemoteClusterConnection() mutation updates a connection between a multi-cluster view and a remote LogScale cluster. Update the public URL, access token, query filter prefix, or tags for the connection. To create a new connection, call createRemoteClusterConnection(). To remove a connection, call deleteClusterConnection().

Syntax

graphql
updateRemoteClusterConnection(
      input: UpdateRemoteClusterConnectionInput!
   ): RemoteClusterConnection!

The mutation accepts a single required input argument of type UpdateRemoteClusterConnectionInput!. The input requires the name or ID of the multi-cluster view (multiClusterViewName) and the ID of the connection to update (connectionId). All other fields are optional. The mutation returns a non-null RemoteClusterConnection! object containing the updated connection details.

Input parameters

Provide the name or ID of the multi-cluster view that owns the connection (multiClusterViewName) and the ID of the connection to update (connectionId). Both are required. Retrieve connection IDs with the cluster() query. You can optionally update the public URL of the remote cluster (publicUrl), the access token (token), a filter query (queryPrefix) that restricts data visible through the connection, and filtering tags (tags). For automatic token rotation, supply refreshTokenConfig instead of token; one of the two must be set when changing authentication.

Table: UpdateRemoteClusterConnectionInput Input Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
connectionIdStringyes Short-Term The unique identifier of the connection to update.
multiClusterViewNameStringyes Short-Term The name or unique identifier of the multi-cluster view that has the connection.
publicUrlString  Short-Term The public URL of the remote cluster with which to connect.
queryPrefixString  Short-Term The filter query that restricts the data visible through this connection.
refreshTokenConfigFederatedRefreshTokenConfigInput   added in 1.257Refresh token configuration for automatic token rotation. Either this or token must be set.
tagsClusterConnectionInputTagyes Short-Term Any additional tags that can be used to filter queries. See ClusterConnectionInputTag.
tokenString  Short-Term The access token for the remote view with which to connect.

Example

Raw
graphql
mutation {
  updateRemoteClusterConnection( input:
    {
      multiClusterViewName: "my-gang",
      connectionId: "abc123",
      queryPrefix: "the_gang"
    }
  ) 
  { 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 {
  updateRemoteClusterConnection( input:
    {
      multiClusterViewName: \"my-gang\",
      connectionId: \"abc123\",
      queryPrefix: \"the_gang\"
    }
  ) 
  { 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 {
  updateRemoteClusterConnection( input:
    {
      multiClusterViewName: \"my-gang\",
      connectionId: \"abc123\",
      queryPrefix: \"the_gang\"
    }
  ) 
  { 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 { ^
  updateRemoteClusterConnection( input: ^
    { ^
      multiClusterViewName: \"my-gang\", ^
      connectionId: \"abc123\", ^
      queryPrefix: \"the_gang\" ^
    } ^
  )  ^
  { id } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  updateRemoteClusterConnection( input:
    {
      multiClusterViewName: \"my-gang\",
      connectionId: \"abc123\",
      queryPrefix: \"the_gang\"
    }
  ) 
  { 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 {
  updateRemoteClusterConnection( input:
    {
      multiClusterViewName: \"my-gang\",
      connectionId: \"abc123\",
      queryPrefix: \"the_gang\"
    }
  ) 
  { 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 {
  updateRemoteClusterConnection( input:
    {
      multiClusterViewName: \"my-gang\",
      connectionId: \"abc123\",
      queryPrefix: \"the_gang\"
    }
  ) 
  { 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 {
  updateRemoteClusterConnection( input:
    {
      multiClusterViewName: \"my-gang\",
      connectionId: \"abc123\",
      queryPrefix: \"the_gang\"
    }
  ) 
  { 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": {
    "updateRemoteClusterConnection": {
      "id": "abc123"
    }
  }
}

Returned values

The mutation returns a non-null RemoteClusterConnection! object representing the updated connection. The returned object includes the connection ID, the public URL of the remote cluster, and any tags or query prefix associated with the connection. Check these values to confirm the update, or pass them to subsequent mutations and queries.

Table: RemoteClusterConnection Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
clusterIdstringyes Short-Term Cluster identity of the connection.
idstringyes Short-Term The unique identifier of the connection.
publicUrlstringyes Short-Term Public URL of the remote cluster with which to connect.
queryPrefixstringyes Short-Term The cluster connection query prefix.
tags[ClusterConnectionTag]yes Short-Term Cluster connection tags. See ClusterConnectionTag.