Important

   

Starting from version 8.9.03, BMC Network Automation is renamed to TrueSight Network Automation. This space contains information about TrueSight Network Automation 8.9.03 and the later service packs for 8.9. For earlier releases, see BMC Network Automation 8.9.

Job Approval Types API

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

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


GET /v3.0/job_approval_types
 Retrieves all job approval types
Parameters

Name

Located in

Description

Default

Schema

orderBy

query

Sort by the specified attribute (name, methodName, sortOrder, accessibleTo, or a listable job approval type dynamic field name)in the specified order (prefix with a '+' for ascending or a '-' for descending)

"+name"

string
Enum: [
  "+name",
  "-name",
  "+methodName",
  "-methodName",
  "+sortOrder",
  "-sortOrder",
  "+accessibleTo",
  "-accessibleTo"
]

offset

query

Return the specified page number

1

integer

limit

query

Define the number of rows in a page or the maximum number of job approval types to return

25

integer

Authorization

header

Authorization token formatted as 'Bearer [token]'

String*

Responses

Code

Description

Schema

200

successful operation

[
   #JobApprovalTypeDTO
]

401

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

403

Forbidden: Not allowed to access job approval types

500

Internal server error: Unexpected exception occurred

POST /v3.0/job_approval_types
 Adds a new job approval type
Parameters

Name

Located in

Description

Default

Schema

body

body

Complete attributes of the new job approval type

#JobApprovalTypeDTO

Authorization

header

Authorization token formatted as 'Bearer [token]'

string*

Responses

Code

Description

Schema

201

Created: New job approval type successfully added

400

Bad request: Input job approval type DTO is missing or new job approval type 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 job approval type

500

Internal server error: Unexpected exception occurred

GET /v3.0/job_approval_types/{nameOrKey}
 Retrieves one job approval type either by name or by database key
Parameters

Name

Located in

Description

Default

Schema

nameOrKey

path

Name or database key of the job approval type of interest

string*

Authorization

header

Authorization token formatted as 'Bearer [token]'

String*

Responses

Code

Description

Schema

200

successful operation

#JobApprovalTypeDTO

401

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

403

Forbidden: Not allowed to access job approval types

404

Not found: No single matching accessible job approval type found

500

Internal server error: Unexpected exception occurred

PUT /v3.0/job_approval_types/{nameOrKey}
 Modifies all attributes of an existing job approval type
Parameters

Name

Located in

Description

Default

Schema

nameOrKey

path

Name or database key of the job approval type to be modified

string*

body

body

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

#JobApprovalTypeDTO

Authorization

header

Authorization token formatted as 'Bearer [token]'

string*

Responses

Code

Description

Schema

200

successful operation

#JobApprovalTypeDTO

400

Bad request: Input job approval type DTO is missing or modified job approval type 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 job approval type

404

Not found: No single matching accessible job approval type found

500

Internal server error: Unexpected exception occurred

DELETE /v3.0/job_approval_types/{nameOrKey}
 Deletes an unreferenced job approval type
Parameters

Name

Located in

Description

Default

Schema

nameOrKey

path

Name or database key of the job approval type to be deleted

string*

Authorization

header

Authorization token formatted as 'Bearer [token]'

string*

Responses

Code

Description

Schema

200

successful operation

string

400

Bad request: job approval type is currently in use by a policy

401

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

403

Forbidden: Not allowed to delete the job approval type

404

Not found: No single matching accessible job approval type found

500

Internal server error: Unexpected exception occurred

PATCH /v3.0/job_approval_types/{nameOrKey}
 Modifies only the specified attributes of an existing job approval type, where the changes are specified in JSON Patch format (per RFC 6902)
Parameters

Name

Located in

Description

Default

Schema

nameOrKey

path

Name or database key of the job approval type to be modified

string*

body

body

New attribute values for the job approval type, in JSON Patch format

#JsonPatch

Authorization

header

Authorization token formatted as 'Bearer [token]'

string*

Responses

Code

Description

Schema

200

successful operation

#JobApprovalTypeDTO

400

Bad request: Input JSON patch information is missing or modified job approval type 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 job approval type

404

Not found: No single matching accessible job approval type found

500

Internal server error: Unexpected exception occurred


Object Definitions

Object

Schema

ComponentId

 Identifies a component in a form that can be input to either the same TrueSight Network Automation server that emitted it or to a different TrueSight Network Automation server; the name, qualifiers, and type uniquely identify a component; and they verify that anything successfully retrieved by a database key is the right component

{
    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

 A dynamic field value

{
    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)
}

JobApprovalStepDTO

 A step within a job approval type

{
    jobApproverRoles: [
      The roles who can approve the job at this step in the approval process
 
       #ComponentId
    ]
 
    jobApproverUsers: [
      The users who can approve the job in this step in the approval process
 
       #ComponentId
    ]
 
    numRequired: integer*
    The number of approvals required at this step;value must be between 1 and 9
}

JobApprovalTypeDTO

 Information about a job approval type

{
    id: string
    The job approval type's unique database key (read-only)
 
    name: string*
    The job approval type's unique display name
 
    accessibleTo: string
    The users and roles allowed to use this job approval type (read-only)
 
    accessibleToRoles: [
      The roles allowed to use this job approval type on jobs they submit; when accessibleToRoles and accessibleToUsers are both null, then this job approval type is accessible to all users
 
       #ComponentId
    ]
 
    accessibleToUsers: [
      The users allowed to use this job approval type on jobs they submit; when accessibleToRoles and accessibleToUsers are both null, then this job approval type is accessible to all users
 
       #ComponentId
    ]
 
    approvalSteps: [
      Who must approve a job and in what order
 
       #JobApprovalStepDTO
    ]
 
    externalApprovalRequiredFlag: boolean
    Whether or not approval is required from an external change management system
 
    methodId: integer
    What sort of approval process is required
 
    methodName: string
    The meaning of the numeric methodId (read-only)
 
    sendEmailFlag: boolean
    Whether or not to send an email to the users when their approval is pending for a job
 
    sortOrder: integer*
    Where this job approval type is listed among the other job approval types in the menu for selecting an approval type
 
    dynamicFields: [
      The dynamic fields
 
       #DynamicFieldValueDTO
    ]
}

JsonPatch

 A list of JSON Patch operations

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

JsonPatch.OneOperation

JsonPatch.Pointer

 Pointer or path to an element or property

string
  Pointer or path to an element or property

JsonPatch.Add

 Add a value to an object or inserts it into an array. In the case of an array, the value is inserted before the given index. The - character can be used instead of an index to insert at the end of an array. The value can be any JSON value.

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

JsonPatch.Remove

 Remove a value from an object or array.

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

JsonPatch.Replace

 Replace an existing value. THe value can be any JSON value.

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

JsonPatch.Move

 Move a value from one location to the other. "path" is the destination.

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

JsonPatch.Copy

 Copy a value from one location to another. "path" is the destination.

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

JsonPatch.Test

 Test that the specified value is set in the document at the specified path. If the test fails, then the patch as a whole is not applied. The Value can be any JSON value.

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

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

Comments