Important

   

This version of the product has reached end of support. The documentation is available for your convenience. However, you must be logged in to access it. You will not be able to leave comments.

Rule Sets API

TrueSight Network Automation REST API – Version 3.0 – RuleSetService
The base URL for the API is:

https://serverName:portNumber/bca-networks/api


GET /v3.0/rule_sets
Parameters

Name

Located in

Description

Default

Schema

filter.name

query

Filter for rule sets matching this name, asterisk wildcards allowed


string

filter.enabled

query

Filter for enabled or disabled rule sets; when true, returns only enabled rule sets; when false, returns only disabled rule sets; when this filter is absent, no filtering is done


boolean

orderBy

query

Sort by the specified attribute ('name' or a listable rule set dynamic field name) in the specified order (prefix with a '+' for ascending or a '-' for descending)

"+name"

string

offset

query

Return the specified page number

1

integer

limit

query

Define the number of rows in a page or the maximum number of rule set to return

25

integer

Authorization

header

Authorization token formatted as 'Bearer [token]'


String*

Responses

Code

Description

Schema

200

successful operation

[
   #RuleSetDTO
]

401

Unauthorized: Failed to provide a suitable Authorization header or the specified user is not logged in


403

Forbidden: Not allowed to access rule sets


500

Internal server error: Unexpected exception occurred


POST /v3.0/rule_sets
Parameters

Name

Located in

Description

Default

Schema

body

body

Complete attributes of the new rule set


#RuleSetDTO

Authorization

header

Authorization token formatted as 'Bearer [token]'


String*

Responses

Code

Description

Schema

201

Created: New rule set successfully added


400

Bad request: Input rule set DTO is missing or new rule set is invalid


401

Unauthorized: Failed to provide a suitable Authorization header or the specified user is not logged in


403

Forbidden: Not allowed to add a new rule set


500

Internal server error: Unexpected exception occurred


GET /v3.0/rule_sets/{nameOrKey}
Parameters

Name

Located in

Description

Default

Schema

nameOrKey

path

Name or database key of the rule set of interest


string*

Authorization

header

Authorization token formatted as 'Bearer [token]'


String*

Responses

Code

Description

Schema

200

successful operation

#RuleSetDTO

401

Unauthorized: Failed to provide a suitable Authorization header or the specified user is not logged in


403

Forbidden: Not allowed to access rule sets


404

Not found: No single matching accessible rule set found


500

Internal server error: Unexpected exception occurred


PUT /v3.0/rule_sets/{nameOrKey}
Parameters

Name

Located in

Description

Default

Schema

nameOrKey

path

Name or Database key of the rule set to be modified


string*

body

body

Complete new attribute values for the rule set; anything left out will be considered to be null and will be nulled out in the rule set; any required dynamic fields missing or null in the input will revert to default values


#RuleSetDTO

Authorization

header

Authorization token formatted as 'Bearer [token]'


String*

Responses

Code

Description

Schema

200

successful operation

#RuleSetDTO

400

Bad request: Input rule set DTO is missing or modified rule set is invalid


401

Unauthorized: Failed to provide a suitable Authorization header or the specified user is not logged in


403

Forbidden: Not allowed to modify the rule set


404

Not found: No single matching accessible rule set found


500

Internal server error: Unexpected exception occurred


DELETE /v3.0/rule_sets/{nameOrKey}
Parameters

Name

Located in

Description

Default

Schema

nameOrKey

path

Name or database key of the rule set to be deleted


string*

Authorization

header

Authorization token formatted as 'Bearer [token]'


String*

Responses

Code

Description

Schema

200

successful operation

string

400

Bad request: Rule set is currently in use


401

Unauthorized: Failed to provide a suitable Authorization header or the specified user is not logged in


403

Forbidden: Not allowed to delete the rule set


404

Not found: No single matching accessible rule set found


500

Internal server error: Unexpected exception occurred


PATCH /v3.0/rule_sets/{nameOrKey}
Parameters

Name

Located in

Description

Default

Schema

nameOrKey

path

Name or database key of the rule set to be modified


string*

body

body

New attribute values for the rule set, in JSON Patch format


#JsonPatch

Authorization

header

Authorization token formatted as 'Bearer [token]'


String*

Responses

Code

Description

Schema

200

successful operation

#RuleSetDTO

400

Bad request: Input JSON patch information is missing or modified rule set is invalid


401

Unauthorized: Failed to provide a suitable Authorization header or the specified user is not logged in


403

Forbidden: Not allowed to modify the rule set


404

Not found: No single matching accessible rule set found


500

Internal server error: Unexpected exception occurred



Object Definitions

Object

Schema

ComponentId

{
    id: string
    The database key of the component; an incoming component can be identified either by its database key, or by its unique name, or by its name with qualifiers which are unique when combined; when this database key is present, it takes precedence and componentName and qualifiers(when present) are used to verify the retrieved component
 
    componentName: string
    The name of the component; an incoming component can be identified either by its database key, or by its unique name, or by its name with qualifiers which are unique when combined; this name is used to verify any component retrieved by database key, and is used if there is no database key or if the database key fails to resolve
 
    componentType: string*
    The type of the component, used to verify what is retrieved by key/name; valid values are: Combogroup, Condition, Configuration, Device, DynamicField, EmailDistributionList, Group, Keyword, Model, OsImage, Realm, Role, Rule, RuleSet, SecurityVulnerability, SnmpManagerStation, Template, and User
 
    qualifiers: {
      Any additional single qualifier needed to identify the component uniquely, when the name alone is not sufficient; the map key is the extra attribute name string; the map value string completes the identification of the component; for componentType Configuration: key=deviceName, value=name of the device the configuration belongs to; for componentType DynamicField: key=type, value=base class name of the component associated with the dynamic field; for componentType Group, ComboGroup: key=realmName, value=name of the realm the group belongs to; for componentType Model: key=vendorGuid, value=the vendor GUID; for componentType OsImage: key=filename, value=name of the file(s) making up the image; for componentType SecurityVulnerability: key=vendorGuid, value=the vendor GUID
    }
}

DynamicFieldValueDTO

{
    id: string
    The database key of the dynamic field whose value this is (read-only)
 
    name: string
    The name of the dynamic field (read-only)
 
    values: [
      The value(s) for the dynamic field; for a single-value field, only the first entry is relevant; read-only for Auto Derived and Configuration Profiled types
 
      string
    ]
 
    dynamicFieldDetailsLink: string
    Link to get more detailed information about the dynamic field (read-only)
}

JsonPatch

[
    A list of JSON Patch operations
 
     #JsonPatch.OneOperation
  ]

JsonPatch.OneOperation

JsonPatch.Pointer

string
  Pointer or path to an element or property

JsonPatch.Add

{
    op: string*
    Enum: [
      "add"
    ]
    value: any*
    path: #JsonPatch.Pointer *
}

JsonPatch.Remove

{
    op: string*
    Enum: [
      "remove"
    ]
    path: #JsonPatch.Pointer *
}

JsonPatch.Replace

{
    op: string*
    Enum: [
      "replace"
    ]
    value: any*
    path: #JsonPatch.Pointer *
}

JsonPatch.Move

{
    op: string*
    Enum: [
      "move"
    ]
    path: #JsonPatch.Pointer *
    from: #JsonPatch.Pointer *
}

JsonPatch.Copy

{
    op: string*
    Enum: [
      "copy"
    ]
    path: #JsonPatch.Pointer *
    from: #JsonPatch.Pointer *
}

JsonPatch.Test

{
    op: string*
    Enum: [
      "test"
    ]
    value: any*
    path: #JsonPatch.Pointer *
}

RuleSetDTO

{
    id: string
    The rule set's unique database key (read-only)
 
    name: string*
    The rule set's unique display name
 
    assignedGroupFilters: {
      The names of any groups whose member devices are to be checked against the rules in this rule set; map key is the name of the group (asterisk wildcards allowed); map value is a list of ComponentId containing the realm(s) that own the groups of interest (where a null value means all realms); null when the rule set applies to the entire network
    }
 
    assignedSpanIds: [
      The network spans whose member devices are to be checked against the rules in this rule set; null when the rule set applies to the entire network
 
       #ComponentId
    ]
 
    assignedToEntireNetworkFlag: boolean
    Whether or not the rules in this rule set are to be applied to all devices in the system
 
    enabledFlag: boolean
    Whether or not the rule set is enabled
 
    excludedGroupFilters: {
      The names of any groups whose member devices are excluded from being checked against all of the rules in this rule set; map key is the name of the group (asterisk wildcards allowed); map value is a list of ComponentId containing the realm(s) that own the groups of interest (where a null value means all realms)
    }
 
    excludedSpanIds: [
      Any network spans whose member devices are excluded from being checked against all of the rules in this rule set
 
       #ComponentId
    ]
 
    dynamicFields: [
      The dynamic fields
 
       #DynamicFieldValueDTO
    ]
}

Was this page helpful? Yes No Submitting... Thank you

Comments