Summary

The s3EnableArchiving() mutation enables the S3 archiving job for a named repository in LogScale. Use this mutation after you have configured S3 archiving with s3ConfigureArchiving() to start sending segment files to the configured S3 bucket. If archiving is already enabled, this mutation has no effect.

Syntax

graphql
s3EnableArchiving(
      repositoryName: String!
   ): BooleanResultType!

The mutation requires one argument: repositoryName, the name of the repository whose S3 archiving job you want to enable.

The mutation returns a BooleanResultType! indicating whether the operation succeeded. See the Returned Values section.

Example

Raw
graphql
mutation {
  s3EnableArchiving(
     repositoryName: "humio"
  )
  { result }
}
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 {
  s3EnableArchiving(
     repositoryName: \"humio\"
  )
  { result }
}"
}
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 {
  s3EnableArchiving(
     repositoryName: \"humio\"
  )
  { result }
}"
}
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 { ^
  s3EnableArchiving( ^
     repositoryName: \"humio\" ^
  ) ^
  { result } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  s3EnableArchiving(
     repositoryName: \"humio\"
  )
  { result }
}"
}'
    "$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 {
  s3EnableArchiving(
     repositoryName: \"humio\"
  )
  { result }
}";
$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 {
  s3EnableArchiving(
     repositoryName: \"humio\"
  )
  { result }
}"
}'''

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 {
  s3EnableArchiving(
     repositoryName: \"humio\"
  )
  { result }
}"
}
);


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": {
    "s3EnableArchiving": {
      "result": true
    }
  }
}

Input Parameters

This mutation takes one required input parameter identifying the target repository.

Table: Input Parameters & Datatypes

Parameter Type Required Default Description
This table contains all input parameters for this mutation.
repositoryName string yes   The name of the LogScale repository whose S3 archiving job you want to enable. This must match the exact repository name as it appears in LogScale. The repository must already have S3 archiving configured via s3ConfigureArchiving().

Returned Values

The mutation returns a BooleanResultType confirming whether the archiving job was successfully enabled. A successful result means LogScale will begin archiving unarchived segment files to the configured S3 bucket. To verify the current state of the archiving configuration, use the repository() query and inspect the s3ArchivingConfiguration field.

Table: BooleanResultType Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
resultBooleanyes Long-Term Whether the mutation was performed successfully.