Space banner This version of the product is in limited support. However, the documentation is available for your convenience. You will not be able to leave comments.

v4.0 Templates API


TrueSight Network Automation REST API – TemplateService
The base URL for the API is:

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

templates

{{status subtle="false" colour="Blue" title="GET"/}}

 /v4.0/templates
Click here to expand...


Description

Retrieves templates, matching any filter criteria or view; may filter by filterable template dynamic fields by including query parameters in the form 'filter.dynamicFieldName=value'

Parameters

Name

Located in

Description

Default

Schema

filter.name

query

Filter for templates matching this name, asterisk wildcards allowed


string

filter.contents

query

Filter for templates whose content matches this text, asterisk wildcards allowed


string

filter.deviceType

query

Filter for templates with a content of this device type, by GUID


string

filter.vendor

query

Filter for templates with a content of this vendor GUID


string

filter.containerBlueprintName

query

Filter for templates with a content of this container blueprint name


string

view

query

Filter for templates per the named private or shared view; any input filter.* or orderBy parameters override those settings in the view


string

orderBy

query

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


string 
Enum: [
 "+contents",
 "-contents",
 "+name",
 "-name"
]

offset

query

Return the specified page number

1

integer

limit

query

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

25

integer

Authorization

header

Authorization token formatted as 'Bearer [token]'


string *

Responses

Code

Description

Schema

200

successful operation

[ 
  TemplateDTO
]

401

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


403

Forbidden: Not allowed to access templates


404

Not found: No matching view found


500

Internal server error: Unexpected exception occurred


{{status subtle="false" colour="Green" title="POST"/}}

 /v4.0/templates
Click here to expand...


Parameters

Name

Located in

Description

Default

Schema

body

body

Complete attributes of the new template


Authorization

header

Authorization token formatted as 'Bearer [token]'


string *

Responses

Code

Description

Schema

201

Created: New template successfully added


400

Bad request: Input template DTO is missing or new template is invalid


401

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


403

Forbidden: Not allowed to add a new template or not allowed to specify an ACL


500

Internal server error: Unexpected exception occurred


{{status subtle="false" colour="Green" title="POST"/}}

 /v4.0/templates/changes_to_acls
Click here to expand...


Parameters

Name

Located in

Description

Default

Schema

body

body

Changes to be made in the access control lists


Authorization

header

Authorization token formatted as 'Bearer [token]'


string *

Responses

Code

Description

Schema

200

OK: Access control lists updated successfully


400

Bad request: Template access control lists are not enabled, input DTO is missing or invalid, or a modified template is invalid


401

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


403

Forbidden: Not allowed to manage the access control lists of templates,not allowed to modify a particular template, or not allowed to grant or revoke a particular right


500

Internal server error: Unexpected exception occurred


{{status subtle="false" colour="Blue" title="GET"/}}

 /v4.0/templates/custom_rights_management_information
Click here to expand...


Parameters

Name

Located in

Description

Default

Schema

Authorization

header

Authorization token formatted as 'Bearer [token]'


string *

Responses

Code

Description

Schema

200

successful operation

400

Bad request: Template access control lists are not enabled


401

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


500

Internal server error: Unexpected exception occurred


{{status subtle="false" colour="Blue" title="GET"/}}

 /v4.0/templates/{nameOrKey
}
Click here to expand...


Parameters

Name

Located in

Description

Default

Schema

nameOrKey

path

Name or database key of the template of interest


string *

Authorization

header

Authorization token formatted as 'Bearer [token]'


string *

Responses

Code

Description

Schema

200

successful operation

401

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


403

Forbidden: Not allowed to access templates


404

Not found: No single matching accessible template found


500

Internal server error: Unexpected exception occurred


{{status subtle="false" colour="Yellow" title="PUT"/}}

 /v4.0/templates/{nameOrKey
}
Click here to expand...


Parameters

Name

Located in

Description

Default

Schema

nameOrKey

path

Name or database key of the template to be modified


string *

body

body

Complete new attribute values for the template; anything left out will be considered to be null and will be nulled out in the template


Authorization

header

Authorization token formatted as 'Bearer [token]'


string *

Responses

Code

Description

Schema

200

successful operation

400

Bad request: Input template DTO is missing or modified template is invalid


401

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


403

Forbidden: Not allowed to modify the template or not allowed to modify the ACL


404

Not found: No single matching accessible template found


500

Internal server error: Unexpected exception occurred


{{status subtle="false" colour="Red" title="DELETE"/}}

 /v4.0/templates/{nameOrKey
}
Click here to expand...


Description

Deletes a template that is not referenced by any jobs, predefined jobs, policies, or rule corrective actions; if this template is instead referenced only in the subject of a rule, or in the contents of another template, this delete request will succeed, but then the rule/template may produce an "unresolved parameter" error during a snapshot or a refresh device status operation, or when displaying the compliance summary report

Parameters

Name

Located in

Description

Default

Schema

nameOrKey

path

Name or database key of the template to be deleted


string *

Authorization

header

Authorization token formatted as 'Bearer [token]'


string *

Responses

Code

Description

Schema

200

successful operation

string

400

Bad request: Template is currently in use by a job, predefined job, policy, or rule corrective action


401

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


403

Forbidden: Not allowed to delete the template


404

Not found: No single matching accessible template found


500

Internal server error: Unexpected exception occurred


{{status subtle="false" colour="Yellow" title="PATCH"/}}

 /v4.0/templates/{nameOrKey
}
Click here to expand...


Parameters

Name

Located in

Description

Default

Schema

nameOrKey

path

Name or database key of the template to be modified


string *

body

body

New attribute values for the template, in JSON Patch format


Authorization

header

Authorization token formatted as 'Bearer [token]'


string *

Responses

Code

Description

Schema

200

successful operation

400

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


401

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


403

Forbidden: Not allowed to modify the template or not allowed to modify the ACL


404

Not found: No single matching accessible template found


500

Internal server error: Unexpected exception occurred


{{status subtle="false" colour="Blue" title="GET"/}}

 /v4.0/templates/{nameOrKey}/runtime_parameters
Click here to expand...


Parameters

Name

Located in

Description

Default

Schema

nameOrKey

path

Name or database key of the template of interest


string *

Authorization

header

Authorization token formatted as 'Bearer [token]'


string *

Responses

Code

Description

Schema

200

successful operation

401

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


403

Forbidden: Not allowed to access templates


404

Not found: No single matching accessible template found


500

Internal server error: Unexpected exception occurred

Object Definitions

Object

Schema

AclChangesDTO


Click here to expand...


{ 
    components: [ 
      The components whose access control list is to be updated; components can be groups, rule sets, or templates, which are the types of components that support ACLs 

       ComponentId
    ] * 

     customRights: { 
      The changes to be made to the rights in each component's ACL; this is a map where the key is a right string appropriate to the components, and the value is a flag indicating the type of change to make to the right; for the flag value, a null means no change, a true means grant the right, and a false means revoke the right; when this field is null, the specified roles are set back to default rights 
    } 

     roles: [ 
      The roles whose rights are to be modified in the access control list of each component 

       ComponentId
    ] * 
}

AclDTO


Click here to expand...


{ 
    canEditFlag: boolean 
   {{Whether or not the user is allowed to edit (grant or revoke) the rights for the specified role (read-only) }}

     roleId: ComponentId*
    The role being granted the specified rights 

     rights: [ 
      The rights being granted to the users who belong to the specified role; the right strings used here are specific to the type of component that owns this ACL; when null, means default rights are granted to the role (that is, the rights granted by the role definition, not by this ACL); when non-null but empty, means no rights are granted to the role;otherwise, the specified rights are granted to the role 

       string 
    ] 
}

ComponentId


Click here to expand...


{ 
    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; for componentType Configuration and HardwareInventory, componentName is the created timestamp (in milliseconds); for componentType SecurityVulnerability, componentName is the securityVulnerabilityID; for componentType SnmpManagerStation, componentName is the address 

     componentType: string * 
    The type of the component, used to verify what is retrieved by key/name; valid values are: Combogroup, Condition, Configuration, Device, DeviceAdapter, DeviceAgent, DeviceSecurityProfile DynamicField, EmailDistributionList, Group, HardwareInventory, JobApprovalType, Keyword, Model, OsImage, PredefinedJob, Realm, RemoteFileServer, 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 and HardwareInventory: key=deviceKey, value=database key of the device the item belongs to, key=deviceName, value=name of the device the item belongs to, key=timestamp, value=creation date/time in server display format; for componentType DeviceAdapter: key=adapterType, value=type of the device adapter, key=parent, value=parent or owner used for organizing certain types of adapters, key=vendorName, value=name of the vendor that owns a device type; 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 
    } 
}

CustomRightsManagementDTO


Click here to expand...


{ 
    availableCustomRights: [ 
      Full set of rights applicable to a component's ACL 

       string 
    ] 

     components: [ 
      The components whose access control list the user is allowed to edit; components can be groups, rule sets, or templates 

       ComponentId
    ] 

     defaultCustomRights: [ 
      For each role the user is allowed to edit, which of the availableCustomRights are granted by that role 

       PerRoleRightsDTO
    ] 

     grantedCustomRights: [ 
      Of the availableCustomRights, the rights the user is granted, and thus the rights the user is allowed to modify (grant or revoke) in the components 

       string 
    ] 
}

DynamicFieldValueDTO


Click here to expand...


{ 
    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


Click here to expand...


[ 
    A list of JSON Patch operations 

     JsonPatch.OneOperation
  ]

JsonPatch.OneOperation

JsonPatch.Pointer


Click here to expand...


string 
  Pointer or path to an element or property

JsonPatch.Add


Click here to expand...


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

JsonPatch.Remove


Click here to expand...


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

JsonPatch.Replace


Click here to expand...


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

JsonPatch.Move


Click here to expand...


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

JsonPatch.Copy


Click here to expand...


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

JsonPatch.Test


Click here to expand...


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

OsImageReleaseDTO


Click here to expand...


{ 
    major: string * 
    The first element of a version number; asterisk wildcard is allowed 

     minor: string * 
    The second element of a version number; asterisk wildcard is allowed 

     build: string * 
    The rest of a version number; asterisk wildcard is allowed 
}

PerRoleRightsDTO


Click here to expand...


{ 
    role: ComponentId
    A role that can used for editing an ACL 

     rights: [ 
      The rights granted by the role; in case of groups, these are network rights for the realm that the group belongs to 

       string 
    ] 
}

TemplateContentDTO


Click here to expand...


{ 
    deviceTypeId: ComponentId
    The device type and vendor compatible with this content; a null indicates the content is compatible with any device type 

     injectionTemplateFlag: boolean 
    Whether or not the contents contain an injection template, for making device configuration changes using an API; when true, the contents are validated for proper XML syntax 

     minimumOSVersion: OsImageReleaseDTO
    The minimal OS version with which this content is compatible; required when deviceTypeGuid is not null 

     minimumOSVersionName: string 
    Displayable version of the minimumOSVersion, in major.minor.build format (read-only) 

     maximumOSVersion: OsImageReleaseDTO
    The maximal OS version with which this content is compatible; required when deviceTypeGuid is not null 

     maximumOSVersionName: string 
    Displayable version of the maximumOSVersion, in major.minor.build format (read-only) 

     scriptContents: string * 
    The configuration commands that are to be sent to a device during a deploy span action; any sensitive configuration data is masked when you retrieve the template if you are not granted the "Access Sensitive Data" system right; masked data cannot be stored into the contents 
}

TemplateDTO


Click here to expand...


{ 
    id: string 
    The template's unique database key (read-only) 

     name: string * 
    The template's unique display name 

     acl: [ 
      How users can manipulate this template, for the accessible roles, containing template custom rights; applicable only when template ACLs are enabled in the system parameters; ignored on input if template ACLs are disabled; if there are multiple entries for the same role, the rights are combined together; during an update, a null value reverts the custom rights of accessible roles back to default rights 

       AclDTO
    ] 

     annotation: string 
    Notes, comments, description, explanation 

     canCopyFlag: boolean 
    Whether or not the user is allowed to copy this template (read-only) 

     canDeleteFlag: boolean 
    Whether or not the user is allowed to delete this template (read-only) 

     canEditFlag: boolean 
    Whether or not the user is allowed to edit this template (read-only) 

     contents: [ 
      The scripts that make up this template; there must be at least one 

       TemplateContentDTO
    ] * 

     hasRuntimeParameters: boolean 
    Whether or not the template references any runtime parameters (read-only) 

     validateSubstitutionParametersFlag: boolean 
    Whether or not substitution parameter syntax is validated in the contents before the template is stored; when true, invalid use of substitution parameters causes create, update, and patch requests to fail with an error; when false, the contents are not examined 

     dynamicFields: [ 
      The dynamic fields 

       DynamicFieldValueDTO
    ] 
}

TemplateRuntimeParameterDTO

Click here to expand...


{ 
    name: string 
    The name of the runtime parameter 

     defaultValue: string 
    Default value of the runtime parameter 

     options: [ 
      Menu options from which the user can choose a value for this parameter 

       string 
    ] 
}

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*