Description
The createIntrusionRuleGroup operation handles configuration related to IntrusionRuleGroup model.
This API call is not allowed on the standby unit in an HA pair.
This API is only supported for Snort 3. This will allow the user to create a custom intrusion rule group.
HTTP request
POST /api/fdm/v6/object/intrusionrulegroups
Data Parameters
Parameter | Required | Type | Description | |||
---|---|---|---|---|---|---|
version | False | string | A unique string version assigned by the system when the object is created or modified. No assumption can be made on the format or content of this identifier. The identifier must be provided whenever attempting to modify/delete an existing object. As the version will change every time the object is modified, the value provided in this identifier must match exactly what is present in the system or the request will be rejected. | |||
name | True | string | A string that is the name of the Intrusion Rule Group | |||
description | False | string | A string that is the description of the Intrusion Rule Group Field level constraints: must match pattern ^((?!;).)*$, length must be between 0 and 32 (inclusive). (Note: Additional constraints might exist) |
|||
isSystemDefined | False | boolean | Read-only field that declares whether this object is defined by Talos or the user | |||
childGroups | False | [object] | A list of all children IntrusionRuleGroups under a Intrusion Rule Group. Only Talos groups can have child groups. Must be null on create/update of intrusion rule group. Allowed types are: [IntrusionRuleGroup] |
|||
defaultSecurityLevel | False | string | Optional read-only field. When queried in the context of policy, this will show the configured security level. Must be null on create/update of intrusion rule group. | |||
overrideSecurityLevel | False | string | Optional read-only field. When queried in context of a policy, this will show the User configured security level override. Must be null on create/update of intrusion rule group. | |||
id | False | string | A unique string identifier assigned by the system when the object is created. No assumption can be made on the format or content of this identifier. The identifier must be provided whenever attempting to modify/delete (or reference) an existing object. Field level constraints: must match pattern ^((?!;).)*$. (Note: Additional constraints might exist) |
|||
type | True | string | A UTF8 string, all letters lower-case, that represents the class-type. This corresponds to the class name. |
Example
curl -X POST \
--header "Accept: application/json" \
--header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
-d '{
"childGroups": [],
"defaultSecurityLevel": "DISABLED",
"description": "string",
"id": "string",
"isSystemDefined": true,
"name": "string",
"overrideSecurityLevel": "DISABLED",
"type": "intrusionrulegroup",
"version": "string"
}' \
"https://${HOST}:${PORT}/api/fdm/v6/object/intrusionrulegroups"
from bravado.requests_client import RequestsClient
from bravado.client import SwaggerClient
def get_client(host, token):
http_client = RequestsClient()
http_client.ssl_verify = False
http_client.set_api_key(
host,
"Bearer {}".format(token),
param_name="Authorization",
param_in="header"
)
return SwaggerClient.from_url(
"https://{}/apispec/ngfw.json".format(host),
http_client=http_client,
config={
"validate_responses": False,
"validate_swagger_spec": False
}
)
def create_intrusion_rule_group(client, body):
return client.IntrusionPolicy.createIntrusionRuleGroup(
body=body
).response().result
if __name__ == "__main__":
host = "ftd.example.com"
token = "access_token"
client = get_client(host, token)
body = {'childGroups': [],
'defaultSecurityLevel': 'DISABLED',
'description': 'string',
'id': 'string',
'isSystemDefined': True,
'name': 'string',
'overrideSecurityLevel': 'DISABLED',
'type': 'intrusionrulegroup',
'version': 'string'}
create_intrusion_rule_group(client, body)