The setDynamicConfig() GraphQL mutation
is used to set a dynamic configuration. It requires root level
access.
For more information on configuring all aspects of LogScale, see the
Configuration Settings reference section.
Below is the syntax for the
setDynamicConfig() mutation field:
setDynamicConfig(
input : DynamicConfigInputObject!
) : boolean!
Below is an example of how this mutation field might be used:
Show:
Raw Mac OS or Linux (curl) Mac OS or Linux (curl) One-line Windows Cmd and curl Windows Powershell and curl Perl Python Node.js
Raw mutation {
setDynamicConfig( input :
{ config : NAME_OF_CONFIG,
value : "VALUE_FOR_CONFIG"
}
)
}
Mac OS or Linux (curl) curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d @- << EOF
{"query" : "mutation {
setDynamicConfig(input:
{ config: NAME_OF_CONFIG,
value: \"VALUE_FOR_CONFIG\"
}
)
}"
}
EOF
Mac OS or Linux (curl) One-line curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d @- << EOF
{"query" : "mutation {
setDynamicConfig(input:
{ config: NAME_OF_CONFIG,
value: \"VALUE_FOR_CONFIG\"
}
)
}"
}
EOF
Windows Cmd and curl curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
-H "Authorization: Bearer $TOKEN" ^
-H "Content-Type: application/json" ^
-d @'{"query" : "mutation { ^
setDynamicConfig(input: ^
{ config: NAME_OF_CONFIG, ^
value: \"VALUE_FOR_CONFIG\" ^
} ^
) ^
}" ^
} '
Windows Powershell and curl curl.exe -X POST
-H "Authorization: Bearer $TOKEN "
-H "Content-Type: application/json"
-d '{"query" : "mutation {
setDynamicConfig(input:
{ config: NAME_OF_CONFIG,
value: \"VALUE_FOR_CONFIG\"
}
)
}"
}'
"$YOUR_LOGSCALE_URL /graphql"
Perl
use HTTP::Request;
use LWP;
my $INGEST_TOKEN = "TOKEN" ;
my $uri = '$YOUR_LOGSCALE_URL/graphql' ;
my $json = '{"query" : "mutation {
setDynamicConfig(input:
{ config: NAME_OF_CONFIG,
value: \"VALUE_FOR_CONFIG\"
}
)
}"
}' ;
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
import requests
url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
setDynamicConfig(input:
{ config: NAME_OF_CONFIG,
value: \"VALUE_FOR_CONFIG\"
}
)
}"
}'''
resp = requests.post(url,
data = mydata,
headers = {
"Authorization" : "Bearer $TOKEN" ,
"Content-Type" : "application/json"
}
)
print (resp.text)
Node.js const https = require ('https' );
const data = JSON .stringify (
{"query" : "mutation {
setDynamicConfig(input:
{ config: NAME_OF_CONFIG,
value: \"VALUE_FOR_CONFIG\"
}
)
}"
}
);
const options = {
hostname : '$YOUR_LOGSCALE_URL/graphql' ,
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 Show:
Success (HTTP Response Code 200 OK)
Success (HTTP Response Code 200 OK) {
"data" : {
"setDynamicConfig" : true
}
}
To unset a dynamic configuration, see the
unsetDynamicConfig() mutation field.
DynamicConfigInputObject
has a couple of parameters, and several sub-parameters. Below is a
list of them along with descriptions of each: