API Stability Short-Term

The dynamicConfig() GraphQL query returns the current value for the dynamic configuration.

For more information on configuring all aspects of LogScale, see the Configuration Settings reference section.

Syntax

graphql
dynamicConfig(
     dynamicConfig: query!
   ): string

This query is fairly versatile, but its syntax may be confusing. In essence, you specify a sub-query from which you want information, and then within curly-brackets the parameters for which you want returned — all in the input area, so to speak (i.e., within the parentheses). Nothing is specified outside of the parentheses where you would normally give return parameters. This may be easier to understand by looking at an example.

Examples

Below are two examples. The first calls for information on the current user (i.e., it uses the currentUser() query). The second calls for information all repositories (i.e., using the repositories() query) and a list of users for each repository (i.e., using users()). Notice that the example queries are labeled me and us.

Raw
graphql
query me {
   dynamicConfig:currentUser {
     id, username, isOrgRoot
   }
}
query us {
   dynamicConfig:repositories {
    name, type,
    users{ username }
  } 
}
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 me {
   dynamicConfig:currentUser {
     id, username, isOrgRoot
   }
}
query us {
   dynamicConfig:repositories {
    name, type,
    users{ username }
  } 
}"
}
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 me {
   dynamicConfig:currentUser {
     id, username, isOrgRoot
   }
}
query us {
   dynamicConfig:repositories {
    name, type,
    users{ username }
  } 
}"
}
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 me { ^
   dynamicConfig:currentUser { ^
     id, username, isOrgRoot ^
   } ^
} ^
query us { ^
   dynamicConfig:repositories { ^
    name, type, ^
    users{ username } ^
  }  ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "query me {
   dynamicConfig:currentUser {
     id, username, isOrgRoot
   }
}
query us {
   dynamicConfig:repositories {
    name, type,
    users{ username }
  } 
}"
}'
    "$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 me {
   dynamicConfig:currentUser {
     id, username, isOrgRoot
   }
}
query us {
   dynamicConfig:repositories {
    name, type,
    users{ username }
  } 
}";
$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 me {
   dynamicConfig:currentUser {
     id, username, isOrgRoot
   }
}
query us {
   dynamicConfig:repositories {
    name, type,
    users{ username }
  } 
}"
}'''

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 me {
   dynamicConfig:currentUser {
     id, username, isOrgRoot
   }
}
query us {
   dynamicConfig:repositories {
    name, type,
    users{ username }
  } 
}"
}
);


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": {
    "dynamicConfig": { 
      "id": "abc123",
      "username": "bob",
      "isOrgRoot": true
    }
  }
}

The results here are only for the me query.