The updateIPFilter() GraphQL mutation may
be used to update an IP filter in LogScale.
For more information on IP filters, see the
IP Filter reference page.
Below is the syntax for the
updateIPFilter() mutation field:
updateIPFilter(
input : IPFilterUpdateInput!
) : IPFilter!
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 {
updateIPFilter( input :
{ id : "abc123"
name : "my-filter" ,
ipFilter : "deny all\ndeny 127.0.0.1\nallow 10.0.0.0/24\nallow 192.168.0.0/8\n"
}
)
{ id }
}
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 {
updateIPFilter( input:
{ id: \"abc123\"
name: \"my-filter\",
ipFilter: \"deny all\ndeny 127.0.0.1\nallow 10.0.0.0/24\nallow 192.168.0.0/8\n\"
}
)
{ id }
}"
}
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 {
updateIPFilter( input:
{ id: \"abc123\"
name: \"my-filter\",
ipFilter: \"deny all\ndeny 127.0.0.1\nallow 10.0.0.0/24\nallow 192.168.0.0/8\n\"
}
)
{ id }
}"
}
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 { ^
updateIPFilter( input: ^
{ id: \"abc123\" ^
name: \"my-filter\", ^
ipFilter: \"deny all\ndeny 127.0.0.1\nallow 10.0.0.0/24\nallow 192.168.0.0/8\n\" ^
} ^
) ^
{ id } ^
}" ^
} '
Windows Powershell and curl curl.exe -X POST
-H "Authorization: Bearer $TOKEN "
-H "Content-Type: application/json"
-d '{"query" : "mutation {
updateIPFilter( input:
{ id: \"abc123\"
name: \"my-filter\",
ipFilter: \"deny all\ndeny 127.0.0.1\nallow 10.0.0.0/24\nallow 192.168.0.0/8\n\"
}
)
{ id }
}"
}'
"$YOUR_LOGSCALE_URL /graphql"
Perl
use HTTP::Request;
use LWP;
my $INGEST_TOKEN = "TOKEN" ;
my $uri = '$YOUR_LOGSCALE_URL/graphql' ;
my $json = '{"query" : "mutation {
updateIPFilter( input:
{ id: \"abc123\"
name: \"my-filter\",
ipFilter: \"deny all\ndeny 127.0.0.1\nallow 10.0.0.0/24\nallow 192.168.0.0/8\n\"
}
)
{ id }
}"
}' ;
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 {
updateIPFilter( input:
{ id: \"abc123\"
name: \"my-filter\",
ipFilter: \"deny all\ndeny 127.0.0.1\nallow 10.0.0.0/24\nallow 192.168.0.0/8\n\"
}
)
{ id }
}"
}'''
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 {
updateIPFilter( input:
{ id: \"abc123\"
name: \"my-filter\",
ipFilter: \"deny all\ndeny 127.0.0.1\nallow 10.0.0.0/24\nallow 192.168.0.0/8\n\"
}
)
{ id }
}"
}
);
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" : {
"updateIPFilter" : {
"id" : "abc123"
}
}
}
For IPFilterUpdateInput ,
there are a few parameters. Below is a list of them along with
their a description of each:
The returned datatype
IPFilter has a few
parameters. Below is a list of them along with a description of
each:
Table: IPFilter
Parameter Type Required Default Stability Description Some arguments may be required, as indicated in the Required column. For some fields, this column indicates that a result will always be returned for this column. Table last updated: Sep 25, 2024 id
string yes Long-Term
The unique identifier for the IP filter. ipFilter
string yes Long-Term
The IP filter itself. name
string yes Long-Term
The name for the IP filter.