API Stability Short-Term

The environmentVariableUsage() GraphQL query is used to get usage information about non-secret environment variables.

Syntax

Below is the syntax for the environmentVariableUsage() query field:

graphql
environmentVariableUsage: [EnvironmentVariableUsage]

This query is simple. You just enter the parameters you want returned, as you can see in the example below:

Raw
graphql
query {
  environmentVariableUsage {name, source, value}
}
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" : "query {
  environmentVariableUsage {name, source, value}
}"
}
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" : "query {
  environmentVariableUsage {name, source, value}
}"
}
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" : "query { ^
  environmentVariableUsage {name, source, value} ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "query {
  environmentVariableUsage {name, source, value}
}"
}'
    "$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 = "query {
  environmentVariableUsage {name, source, value}
}";
$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" : "query {
  environmentVariableUsage {name, source, value}
}"
}'''

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" : "query {
  environmentVariableUsage {name, source, value}
}"
}
);


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": {
    "environmentVariableUsage": [
      {
        "name": "S3_STORAGE_CHUNK_SIZE",
        "source": "Default",
        "value": "*****"
      },
      {
        "name": "TLS_KEY_PASSWORD",
        "source": "Missing",
        "value": "*****"
      },
      {
        "name": "HUMIO_GITHUB_DEMO",
        "source": "Default",
        "value": "*****"
      },
      {
        "name": "EMERGENCY_USERS",
        "source": "Default",
        "value": "*****"
      },
      {
        "name": "INGEST_FEED_GOVERNOR_INITIAL_RATE_PER_CORE",
        "source": "Default",
        "value": "*****"
      },
      ...
    ]
  }
}

Since the results are very long, they've been shortened here to save space.

Returned Datatypes

The EnvironmentVariableUsage datatype has only a few parameters. They're listed below:

Table: EnvironmentVariableUsage

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 24, 2024
namestringyes Short-TermThe environment variable name.
sourcestringyes Short-TermThe source for the environment variable. Environment: The value is from the environment, Default: variable not found in the environment, but a default value is used. Missing: no variable or default found.
valuestringyes Short-TermThe value for this variable.