Summary

The s3ResetArchiving() mutation marks all segment files in a repository as unarchived. Use this mutation to force the archiving job to re-process all segments, for example after correcting a misconfigured S3 bucket or recovering from an archiving failure. Specify the archivalKind parameter to target a specific archiving type; it defaults to RepoOnly.

Syntax

graphql
s3ResetArchiving(
      repositoryName: String!,
      archivalKind: ArchivalKind = RepoOnly
   ): BooleanResultType!

The mutation requires repositoryName, the name of the repository whose segment files to mark as unarchived. Provide archivalKind to target a specific archiving type; it defaults to RepoOnly.

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

Example

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

Input Parameters

Provide the name of the target repository and, optionally, the archiving type to reset. The archivalKind parameter uses an enum type described in the following table.

Table: Input Parameters & Datatypes

Parameter Type Required Default Description
This table contains all input parameters for this mutation. Because one parameter uses a special datatype, an additional table follows with its possible values.
archivalKind ArchivalKind   RepoOnly The archiving type to reset. Omitting this parameter resets only repository-level archiving. See the following table for all valid values.
repositoryName string yes   The name of the repository whose segment files to mark as unarchived.

The archivalKind parameter accepts one of the enum values listed in the following table.

Returned Values

The mutation returns a BooleanResultType indicating whether the reset operation succeeded. A true result confirms that LogScale has marked the target segments as unarchived and scheduled them for archiving.

Table: BooleanResultType Datatype

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