[Index]
Describes a Device Model which maps to API endpoints of some external application (device)
Model ref.: data/DeviceModel
The full URL would include the host-proxy name: https://[host-proxy].
Variables are enclosed in square brackets.
{
"$schema": "http://json-schema.org/draft-03/schema",
"type": "object",
"properties": {
"version": {
"required": true,
"type": "string",
"description": "Version of this model",
"title": "Version"
},
"name": {
"required": true,
"type": "string",
"description": "Name of this Device Model and resulting model type i.e. device/<Device Type>/<Name>",
"title": "Name"
},
"documentation": {
"type": "string",
"description": "Documentation text for this model",
"title": "Documentation"
},
"Meta": {
"properties": {
"operations": {
"default": [
"list",
"get",
"add",
"update",
"remove",
"move",
"clone",
"export",
"export_bulkload_template",
"bulk_update_form",
"configuration_template",
"field_display_policy",
"help",
"migration",
"transform",
"tag",
"tag_version"
],
"items": {
"type": "string",
"choices": [
{
"value": "list",
"title": "List"
},
{
"value": "get",
"title": "Get"
},
{
"value": "add",
"title": "Add"
},
{
"value": "update",
"title": "Update"
},
{
"value": "remove",
"title": "Remove"
},
{
"value": "move",
"title": "Move"
},
{
"value": "clone",
"title": "Clone"
},
{
"value": "bulk_update_form",
"title": "Bulk Update"
},
{
"value": "configuration_template",
"title": "Configuration Template"
},
{
"value": "field_display_policy",
"title": "Field Display Policy"
},
{
"value": "execute",
"title": "Execute"
},
{
"value": "export",
"title": "Export"
},
{
"value": "export_bulkload_template",
"title": "Export Bulk Load Template"
},
{
"value": "help",
"title": "Help"
},
{
"value": "import",
"title": "Import"
},
{
"value": "migration",
"title": "Migration Template"
},
{
"value": "transform",
"title": "Transform Template"
},
{
"value": "tag",
"title": "Tag"
},
{
"value": "tag_version",
"title": "Tag Version"
},
{
"value": "test_connect",
"title": "Test Connection"
}
]
},
"type": "array",
"description": "List of supported operations",
"title": "Operations"
},
"list_operations": {
"default": [
"list"
],
"items": {
"type": "string",
"choices": [
{
"value": "list",
"title": "List"
},
{
"value": "get",
"title": "Get"
},
{
"value": "add",
"title": "Add"
},
{
"value": "update",
"title": "Update"
},
{
"value": "remove",
"title": "Remove"
},
{
"value": "move",
"title": "Move"
},
{
"value": "clone",
"title": "Clone"
},
{
"value": "bulk_update_form",
"title": "Bulk Update"
},
{
"value": "configuration_template",
"title": "Configuration Template"
},
{
"value": "field_display_policy",
"title": "Field Display Policy"
},
{
"value": "execute",
"title": "Execute"
},
{
"value": "export",
"title": "Export"
},
{
"value": "export_bulkload_template",
"title": "Export Bulk Load Template"
},
{
"value": "help",
"title": "Help"
},
{
"value": "import",
"title": "Import"
},
{
"value": "migration",
"title": "Migration Template"
},
{
"value": "transform",
"title": "Transform Template"
},
{
"value": "tag",
"title": "Tag"
},
{
"value": "tag_version",
"title": "Tag Version"
},
{
"value": "test_connect",
"title": "Test Connection"
}
]
},
"type": "array",
"description": "List of supported list operations",
"title": "List Operations"
},
"api_operations": {
"items": {
"type": "object",
"properties": {
"pre_request_calls": {
"items": {
"type": "string"
},
"type": "array",
"description": "List of API calls to make before making this request",
"title": "Pre-request Calls"
},
"target": {
"choices": [
{
"value": "HTTP",
"title": "HTTP"
},
{
"value": "Browser",
"title": "Browser"
},
{
"value": "SOAP",
"title": "SOAP"
},
{
"value": "Socket",
"title": "Socket"
},
{
"value": "winrm",
"title": "winrm"
}
],
"required": false,
"type": "string",
"description": "Target of this operation",
"title": "Target"
},
"variables": {
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Context variable name. This will appear in the context as 'variables.<name>'",
"title": "Name"
},
"value": {
"type": "string",
"description": "Value of this variable. This field supports Macros",
"title": "Value"
}
}
},
"type": "array",
"description": "List of context variables availble to template rendering (supports Macros)",
"title": "Variables"
},
"uri": {
"type": "string",
"description": "URI for the API request",
"title": "URI"
},
"response_format": {
"description": "Response format",
"title": "Response Format",
"default": "JSON",
"required": false,
"choices": [
{
"value": "JSON",
"title": "JSON"
},
{
"value": "XML",
"title": "XML"
}
],
"type": "string"
},
"request_headers": {
"items": {
"type": "object",
"properties": {
"name": {
"required": true,
"type": "string",
"description": "Name of HTTP request header, e.g. Accept.",
"title": "Name"
},
"value": {
"required": true,
"type": "string",
"description": "Value of HTTP request header, e.g. text/plain.",
"title": "Value"
}
}
},
"type": "array",
"description": "HTTP request headers to send with API operation request. Takes precedence over default request headers specified on related Connection Parameters Type instance.",
"title": "Request Headers"
},
"post_request_calls": {
"items": {
"type": "string"
},
"type": "array",
"description": "List of API calls to make after making this request",
"title": "Post-request Calls"
},
"per_result_post_request_calls": {
"items": {
"type": "object",
"properties": {
"loop_var": {
"type": "string",
"description": "A dot separated path to locate the value to loop over in result data.\nLoop data will be provided in context with key \"loop.<action>\".",
"title": "Loop Variable"
},
"operation": {
"required": true,
"type": "string",
"title": "Operation"
}
}
},
"type": "array",
"description": "List of API calls to make per result after making this request.\nResult data will be provided to the operation in context with key \"result.<action>\".\nCombined responses will be available afterwards in context with key \"request_data.cumulative.<action>\".",
"title": "Per-result Post-request Calls"
},
"http_method": {
"default": "get",
"choices": [
{
"value": "GET",
"title": "GET"
},
{
"value": "POST",
"title": "POST"
},
{
"value": "PATCH",
"title": "PATCH"
},
{
"value": "PUT",
"title": "PUT"
},
{
"value": "DELETE",
"title": "DELETE"
}
],
"type": "string",
"description": "HTTP method for API request",
"title": "HTTP Method"
},
"request_template": {
"type": "string",
"description": "Jinja template for API request. Maps system schema to external application schema.",
"title": "Request Template"
},
"response_code_template": {
"type": "string",
"description": "Jinja template for mapping API endpoint specific error/status response",
"title": "Response Code Template"
},
"action": {
"required": true,
"type": "string",
"description": "Name of the device model operation for e.g. add",
"title": "Action"
},
"response_template": {
"type": "string",
"description": "Jinja template for API response. Maps external application schema to system schema.",
"title": "Response Template"
},
"request_format": {
"description": "Request format",
"title": "Request Format",
"default": "JSON",
"required": false,
"choices": [
{
"value": "JSON",
"title": "JSON"
},
{
"value": "XML",
"title": "XML"
},
{
"value": "string",
"title": "string"
}
],
"type": "string"
},
"response_handlers": {
"items": {
"type": "object",
"properties": {
"type": {
"choices": [
{
"value": "backoff_retry",
"title": "Backoff & Retry"
},
{
"value": "failure_duplicate",
"title": "Failure - Duplicate"
}
],
"required": true,
"type": "string",
"description": "Response handler type to execute if specified condition evaluates to True, e.g. Backoff & Retry.",
"title": "Type"
},
"condition": {
"required": true,
"type": "string",
"description": "Jinja template which if evaluation results in a value of True will cause the specified handler type to be executed, e.g. {{ status_code == 429 }}.",
"title": "Condition"
}
}
},
"type": "array",
"description": "Handlers to execute on API responses. Only those response handlers' which condition evaluate to True are executed.",
"title": "Response Handlers"
}
}
},
"type": "array",
"description": "List of API endpoint definitions as they map to model operations",
"title": "API Operations"
},
"summary_attrs": {
"items": {
"type": "string"
},
"type": "array",
"description": "Summary attributes for this model. This defines the data returned in API list requests.",
"title": "Summary Attributes"
},
"instance_operations": {
"default": [
"get"
],
"items": {
"type": "string",
"choices": [
{
"value": "list",
"title": "List"
},
{
"value": "get",
"title": "Get"
},
{
"value": "add",
"title": "Add"
},
{
"value": "update",
"title": "Update"
},
{
"value": "remove",
"title": "Remove"
},
{
"value": "move",
"title": "Move"
},
{
"value": "clone",
"title": "Clone"
},
{
"value": "bulk_update_form",
"title": "Bulk Update"
},
{
"value": "configuration_template",
"title": "Configuration Template"
},
{
"value": "field_display_policy",
"title": "Field Display Policy"
},
{
"value": "execute",
"title": "Execute"
},
{
"value": "export",
"title": "Export"
},
{
"value": "export_bulkload_template",
"title": "Export Bulk Load Template"
},
{
"value": "help",
"title": "Help"
},
{
"value": "import",
"title": "Import"
},
{
"value": "migration",
"title": "Migration Template"
},
{
"value": "transform",
"title": "Transform Template"
},
{
"value": "tag",
"title": "Tag"
},
{
"value": "tag_version",
"title": "Tag Version"
},
{
"value": "test_connect",
"title": "Test Connection"
}
]
},
"type": "array",
"description": "List of supported instance operations",
"title": "Instance Operations"
}
},
"type": "object",
"description": "Meta information for this Device Model",
"title": "Meta Information"
},
"device_type": {
"required": true,
"type": "string",
"description": "Device type for e.g. device/facebook",
"title": "Device Type"
},
"schema": {
"required": true,
"type": "string",
"description": "JSON schema of the model",
"title": "Schema"
},
"primary_key": {
"required": true,
"type": "string",
"description": "This is the field returned by an add operation that uniquely identifies the created entity for e.g. id",
"title": "Primary Key Field"
}
},
"schema_version": "1.4.0"
}
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Get the GUI Add form. | GET | /api/data/DeviceModel/add/ |
|
The GUI Add form of data/DeviceModel as JSON |
The API call to the /add/ URL can only be made from a hierarchy that allows the model type to be added. The actions in the response shows the url for the POST API call to create an instance.
| Task | Call | URL | Parameters | Payload |
|---|---|---|---|---|
| Create | POST | /api/data/DeviceModel | hierarchy=[hierarchy] |
|
tool/Transaction/[trans pkid]to inspect the created resource and its instance pkid.
| Task | Call | URL | Parameters | Payload |
|---|---|---|---|---|
| Bulk delete [pkid1],[pkid2]... | DELETE | /api/data/DeviceModel/ | hierarchy=[hierarchy] | {"hrefs":["/api/data/DeviceModel/[pkid1]", "/api/data/DeviceModel/[pkid2]", ...]} |
GET http://[host-proxy]/api/data/DeviceModel/?hierarchy=[hierarchy]&format=json
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Bulk Modify | GET | /api/data/DeviceModel/bulk_update/?schema=&schema_rules=true |
|
|
| Task | Call | URL | Parameters | Payload |
|---|---|---|---|---|
| Bulk Modify | POST | /api/data/DeviceModel/bulk_update/ |
|
For example: {"data":{"name":"value"}, "meta":{}, "request_meta":{ "hrefs":["/api/v0/data/DeviceModel/[pkid1]", "/api/v0/data/DeviceModel/[pkid2]",...]}} |
GET http://[host-proxy]/api/data/DeviceModel/?hierarchy=[hierarchy]&format=json
| Task | Call | URL | Parameters | Payload |
|---|---|---|---|---|
| Get a selected [export_format] of the schema and instances [pkid1], [pkid2],... of data/DeviceModel; optionally with tag_version at [version] and Configuration Template as [configtemplate]. | POST | /api/data/DeviceModel/export/ |
|
{ "hrefs":["/api/data/DeviceModel/[pkid1]", "/api/data/DeviceModel/[pkid2]",...]}} |
For export_format=json, the response is a time stamped zip file of data in JSON as in the system database. Item properties such as strings that are empty or Boolean values that are not set, are not included. The filename in the response is of the format as the example:
Content-Disposition: attachment; filename=export_2013-05-17_14:20:19.186444.json.zip
Content-Language:en
Content-Type:application/x-zip
For export_format=raw_xlsx, the response is a MS Excel spreadsheet with columns corresponding to the JSON format export and a response filename format:
Content-Disposition: attachment; filename=<resource_type>_<resource_name>_exportedsheet_CCYY-MM-DD_HH-MM-SS.xlsx
Content-Language:en
Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
For export_format=xlsx, the response is a MS Excel spreadsheet, arranged by any Field Display Policies that apply. The columns correspond with those of a Bulk Load Template export sheet. The response filename format is:
Content-Disposition: attachment; filename=<resource_type>_<resource_name>_exportedsheet_formatted_CCYY-MM-DD_HH-MM-SS.xlsx
Content-Language:en
Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
The XLSX format can be used to bulk load instances of data/DeviceModel and the JSON format can be used to import instances of data/DeviceModel.
GET http://[host-proxy]/api/data/DeviceModel/?hierarchy=[hierarchy]
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Get a compressed format of the Bulk Load spreadsheet template for data/DeviceModel | POST | /api/data/DeviceModel/export_bulkload_template/ |
|
The response is an attachment of the format: filetype_bulkloadsheet.xlsx.gz |
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Configuration Template | GET | /api/data/DeviceModel/configuration_template/ | hierarchy=[hierarchy] |
|
POST http://[host-proxy]/api/data/ConfigurationTemplate/?hierarchy=[hierarchy]
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Field Display Policy | GET | /api/data/DeviceModel/field_display_policy/ | hierarchy=[hierarchy] |
|
POST http://[host-proxy]/api/data/FieldDisplayPolicy/?hierarchy=[hierarchy]
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Migration Template | GET | /api/data/DeviceModel/migration/ |
|
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| List | GET | /api/data/DeviceModel/ |
|
The data/DeviceModel schema and all instances as JSON. |
(The list will return 0 to 3 data/DeviceModel instances)
{
"operations": [
"field_display_policy",
"configuration_template",
"help",
"get",
"export_bulkload_template",
"list",
"update",
"remove",
"move",
"transform",
"add",
"export",
"migration",
"bulk_update_form"
],
"pagination": {
"direction": "asc",
"order_by": "name",
"maximum_limit": 2000,
"skip": 0,
"current": "/api/data/DeviceModel/?skip=0&limit=3&order_by=name&direction=asc&traversal=default",
"limit": 3,
"total_limit": null,
"total": 248
},
"meta": {
"tags": [],
"cached": true,
"title": "",
"business_key": {
"hierarchy": true,
"unique": [
"name",
"version",
"device_type"
]
},
"schema_version": "1.4.0",
"references": {
"device": [
{
"pkid": "",
"href": ""
}
],
"children": [],
"parent": [
{
"pkid": "6t0ggef2c0deab00hb595101",
"href": "/api/data/HierarchyNode/6t0ggef2c0deab00hb595101"
}
],
"foreign_key": []
},
"actions": [
{
"add": {
"support_async": false,
"class": "add",
"href": "/api/data/DeviceModel/add/?hierarchy=[hierarchy]",
"method": "GET",
"title": "Add"
}
},
{
"remove": {
"support_async": true,
"class": "delete",
"href": "/api/data/DeviceModel/?hierarchy=[hierarchy]",
"method": "DELETE",
"title": "Delete"
}
},
{
"bulk_update_form": {
"support_async": false,
"class": "update",
"href": "/api/data/DeviceModel/bulk_update/?hierarchy=[hierarchy]&schema=&schema_rules=true",
"method": "GET",
"title": "Bulk Modify"
}
},
{
"export": {
"title": "Export",
"support_async": false,
"submit": "payload",
"class": "export",
"href": "/api/data/DeviceModel/export/?hierarchy=[hierarchy]",
"method": "POST",
"view": "/api/view/ExportData/add/?auth_token=[authtoken]
}
},
{
"export_bulkload_template": {
"support_async": false,
"class": "bulkload_template",
"href": "/api/data/DeviceModel/export_bulkload_template/?hierarchy=[hierarchy]",
"method": "POST",
"title": "Export Bulk Load Template"
}
},
{
"tag": {
"title": "Tag",
"support_async": true,
"method": "PATCH",
"href": "/api/data/DeviceModel/+tag/?hierarchy=[hierarchy]",
"class": "tag",
"view": "/api/view/TagNameForm/add/?auth_token=[authtoken]
}
},
{
"tag_version": {
"title": "Tag Version",
"support_async": true,
"method": "PATCH",
"href": "/api/data/DeviceModel/+tag_version/?hierarchy=[hierarchy]",
"class": "tag_version",
"view": "/api/view/TagVersionForm/add/?auth_token=[authtoken]
}
},
{
"configuration_template": {
"support_async": false,
"class": "config",
"href": "/api/data/DeviceModel/configuration_template/?hierarchy=[hierarchy]",
"method": "GET",
"title": "Configuration Template"
}
},
{
"field_display_policy": {
"support_async": false,
"class": "display_policy",
"href": "/api/data/DeviceModel/field_display_policy/?hierarchy=[hierarchy]",
"method": "GET",
"title": "Field Display Policy"
}
},
{
"migration": {
"support_async": false,
"class": "migration",
"href": "/api/data/DeviceModel/migration/?hierarchy=[hierarchy]",
"method": "GET",
"title": "Migration Template"
}
},
{
"list": {
"support_async": false,
"class": "list",
"href": "/api/data/DeviceModel/?hierarchy=[hierarchy]",
"method": "GET",
"title": "List"
}
},
{
"help": {
"support_async": false,
"class": "help",
"href": "/api/data/DeviceModel/help?hierarchy=[hierarchy]",
"method": "GET",
"title": "Help"
}
}
],
"model_type": "data/DeviceModel",
"model_specific_actions": [
"add",
"bulk_update_form",
"configuration_template",
"export",
"export_bulkload_template",
"field_display_policy",
"get",
"help",
"list",
"clone",
"migration",
"remove",
"tag",
"tag_version",
"update"
],
"summary_attrs": [
{
"name": "name",
"title": "Name"
},
{
"name": "version",
"title": "Version"
},
{
"name": "device_type",
"title": "Device Type"
},
{
"allow_filtering": true,
"name": "hierarchy_friendly_name",
"title": "Located At"
}
],
"api_version": "21.2",
"tagged_versions": []
},
"resources": [
{
"pkid": "6260cd3fa96ee2847bf6777f",
"meta": {
"tags": [
"oraclesbc",
"V4UC",
"ba_CommonOverlay"
],
"cached": true,
"title": "AccessControl - 1.1 - device/oracleecb",
"business_key": {
"hierarchy": true,
"unique": [
"name",
"version",
"device_type"
]
},
"schema_version": "1.4.0",
"summary": "false",
"references": {
"device": [
{
"pkid": "",
"href": ""
}
],
"owner": [
{
"pkid": ""
}
],
"self": [
{
"pkid": "6260cd3fa96ee2847bf6777f",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/"
}
],
"parent": [
{
"pkid": "6t0ggef2c0deab00hb595101",
"href": "/api/data/HierarchyNode/6t0ggef2c0deab00hb595101"
}
],
"foreign_key": []
},
"actions": [
{
"update": {
"support_async": true,
"class": "update",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/",
"method": "PUT",
"title": "Modify"
}
},
{
"remove": {
"support_async": true,
"class": "delete",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/",
"method": "DELETE",
"title": "Delete"
}
},
{
"clone": {
"support_async": false,
"class": "clone",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/clone/?schema=&schema_rules=true",
"method": "GET",
"title": "Clone"
}
},
{
"export": {
"title": "Export",
"support_async": false,
"submit": "payload",
"class": "export",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/export/",
"method": "GET",
"view": "/api/view/ExportData/add/"
}
},
{
"tag": {
"title": "Tag",
"support_async": true,
"method": "PATCH",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/+tag/",
"class": "tag",
"view": "/api/view/TagNameForm/add/"
}
},
{
"tag_version": {
"title": "Tag Version",
"support_async": true,
"method": "PATCH",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/+tag_version/",
"class": "tag_version",
"view": "/api/view/TagVersionForm/add/"
}
},
{
"get": {
"support_async": false,
"class": "get",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/",
"method": "GET",
"title": "Get"
}
},
{
"help": {
"support_async": false,
"class": "help",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/help",
"method": "GET",
"title": "Help"
}
}
],
"model_type": "data/DeviceModel",
"path": [
"6t0ggef2c0deab00hb595101",
"6260cd3fa96ee2847bf6777f"
],
"summary_attrs": [
{
"name": "name",
"title": "Name"
},
{
"name": "version",
"title": "Version"
},
{
"name": "device_type",
"title": "Device Type"
},
{
"allow_filtering": true,
"name": "hierarchy_friendly_name",
"title": "Located At"
}
],
"api_version": "21.2",
"tagged_versions": []
},
"data": {
"schema": "{\n \"verified\": {\n \"name\": \"verified\",\n \"title\": \"Verified\",\n \"type\": \"boolean\",\n \"readonly\": true,\n \"cache_only\": true\n },\n \"saved\": {\n \"name\": \"saved\",\n \"title\": \"Saved\",\n \"type\": \"boolean\",\n \"readonly\": true,\n \"cache_only\": true\n },\n \"activated\": {\n \"name\": \"activated\",\n \"title\": \"Activated\",\n \"type\": \"boolean\",\n \"readonly\": true,\n \"cache_only\": true\n },\n \"id\": {\n \"name\": \"id\",\n \"type\": \"string\",\n \"title\": \"id\",\n \"readonly\": true,\n \"required\": false\n },\n \"realm-id\": {\n \"name\": \"realm-id\",\n \"type\": \"string\",\n \"title\": \"realm-id\",\n \"readonly\": true,\n \"required\": true,\n \"format\": \"uri\",\n \"target\": \"device/oracleecb/RealmConfig\",\n \"target_attr\": \"identifier\",\n \"target_title\": \"identifier\"\n },\n \"source-address\": {\n \"name\": \"source-address\",\n \"type\": \"string\",\n \"title\": \"source-address\",\n \"readonly\": true,\n \"required\": true\n },\n \"application-protocol\": {\n \"name\": \"application-protocol\",\n \"type\": \"string\",\n \"title\": \"application-protocol\",\n \"readonly\": true,\n \"required\": true,\n \"choices\": [\n {\n \"value\": \"SIP\",\n \"title\": \"SIP\"\n },\n {\n \"value\": \"H323\",\n \"title\": \"H323\"\n },\n {\n \"value\": \"MGCP\",\n \"title\": \"MGCP\"\n },\n {\n \"value\": \"DIAMETER\",\n \"title\": \"DIAMETER\"\n },\n {\n \"value\": \"NONE\",\n \"title\": \"NONE\"\n }\n ]\n },\n \"description\": {\n \"name\": \"description\",\n \"type\": \"string\",\n \"title\": \"description\"\n },\n \"destination-address\": {\n \"name\": \"destination-address\",\n \"type\": \"string\",\n \"title\": \"destination-address\"\n },\n \"transport-protocol\": {\n \"name\": \"transport-protocol\",\n \"type\": \"string\",\n \"title\": \"transport-protocol\",\n \"readonly\": true,\n \"required\": true,\n \"choices\": [\n {\n \"value\": \"UDP\",\n \"title\": \"UDP\"\n },\n {\n \"value\": \"TCP\",\n \"title\": \"TCP\"\n },\n {\n \"value\": \"SCTP\",\n \"title\": \"SCTP\"\n },\n {\n \"value\": \"ALL\",\n \"title\": \"ALL\"\n }\n ]\n },\n \"access\": {\n \"name\": \"access\",\n \"type\": \"string\",\n \"title\": \"access\",\n \"choices\": [\n {\n \"value\": \"deny\",\n \"title\": \"deny\"\n },\n {\n \"value\": \"permit\",\n \"title\": \"permit\"\n }\n ]\n },\n \"average-rate-limit\": {\n \"name\": \"average-rate-limit\",\n \"type\": \"string\",\n \"title\": \"average-rate-limit\"\n },\n \"trust-level\": {\n \"name\": \"trust-level\",\n \"type\": \"string\",\n \"title\": \"trust-level\",\n \"choices\": [\n {\n \"value\": \"none\",\n \"title\": \"none\"\n },\n {\n \"value\": \"low\",\n \"title\": \"low\"\n },\n {\n \"value\": \"medium\",\n \"title\": \"medium\"\n },\n {\n \"value\": \"high\",\n \"title\": \"high\"\n }\n ]\n },\n \"minimum-reserved-bandwidth\": {\n \"name\": \"minimum-reserved-bandwidth\",\n \"type\": \"string\",\n \"title\": \"minimum-reserved-bandwidth\"\n },\n \"invalid-signal-threshold\": {\n \"name\": \"invalid-signal-threshold\",\n \"type\": \"string\",\n \"title\": \"invalid-signal-threshold\"\n },\n \"maximum-signal-threshold\": {\n \"name\": \"maximum-signal-threshold\",\n \"type\": \"string\",\n \"title\": \"maximum-signal-threshold\"\n },\n \"untrusted-signal-threshold\": {\n \"name\": \"untrusted-signal-threshold\",\n \"type\": \"string\",\n \"title\": \"untrusted-signal-threshold\"\n },\n \"deny-period\": {\n \"name\": \"deny-period\",\n \"type\": \"string\",\n \"title\": \"deny-period\"\n },\n \"nat-trust-threshold\": {\n \"name\": \"nat-trust-threshold\",\n \"type\": \"string\",\n \"title\": \"nat-trust-threshold\"\n },\n \"max-endpoints-per-nat\": {\n \"name\": \"max-endpoints-per-nat\",\n \"type\": \"string\",\n \"title\": \"max-endpoints-per-nat\"\n },\n \"nat-invalid-message-threshold\": {\n \"name\": \"nat-invalid-message-threshold\",\n \"type\": \"string\",\n \"title\": \"nat-invalid-message-threshold\"\n },\n \"cac-failure-threshold\": {\n \"name\": \"cac-failure-threshold\",\n \"type\": \"string\",\n \"title\": \"cac-failure-threshold\"\n },\n \"untrust-cac-failure-threshold\": {\n \"name\": \"untrust-cac-failure-threshold\",\n \"type\": \"string\",\n \"title\": \"untrust-cac-failure-threshold\"\n }\n}",
"primary_key": "id",
"pkid": "6260cd3fa96ee2847bf67780",
"version": "1.1",
"Meta": {
"operations": [
"list",
"get",
"add",
"update",
"remove",
"move",
"clone",
"export",
"export_bulkload_template",
"bulk_update_form",
"configuration_template",
"field_display_policy",
"help",
"migration",
"transform",
"tag",
"tag_version"
],
"list_operations": [
"list",
"add"
],
"api_operations": [
{
"target": "HTTP",
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements?elementType=access-control",
"response_format": "XML",
"response_template": "{%- set ns=namespace(output_list=[], items=input['response']['data']['configElement']) %}\n\n{%- if ns.items is mapping %}\n {%- set ns.items = [ns.items] %}\n{%- endif %}\n\n{%- for item in ns.items %}\n {%- set output={} %}\n {%- for attr in item.get('attribute', []) %}\n {%- set _=output.__setitem__(attr['name'], attr['value']) %}\n {%- endfor %}\n {%- set xyz = output['realm-id'] + ':' + output['source-address'] + ':' + output['application-protocol'] + ':' + output['transport-protocol'] %}\n {%- set _=output.__setitem__('id', xyz) %}\n\n {%- set _=ns.output_list.append(output) %}\n{%- endfor %}\n\n{{ ns.output_list|to_json }}",
"http_method": "GET",
"action": "list",
"request_format": "JSON"
},
{
"target": "HTTP",
"variables": [
{
"name": "id",
"value": "(( fn.is_none_or_empty pwf._context.input.id == False )) <{{ pwf._context.input.id }}> <{{ pwf._context.driver_parameters.pk }}>"
},
{
"name": "pk_parts",
"value": "{{ fn.split pwf.id,: }}"
},
{
"name": "realmId",
"value": "{{ fn.index pwf.pk_parts,0 }}"
},
{
"name": "sourceAddress",
"value": "{{ fn.index pwf.pk_parts,1 }}"
},
{
"name": "applicationProtocol",
"value": "{{ fn.index pwf.pk_parts,2 }}"
},
{
"name": "transportProtocol",
"value": "{{ fn.index pwf.pk_parts,3 }}"
}
],
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements?elementType=access-control&realm-id={{ variables.realmId }}&source-address={{ variables.sourceAddress }}&application-protocol={{ variables.applicationProtocol }}&transport-protocol={{ variables.transportProtocol }}",
"response_format": "XML",
"response_template": "{%- set ns=namespace(output={}, item=input['response']['data']['configElement']['attribute']) %}\n\n{%- if ns.item is mapping %}\n {%- set ns.item = [ns.item] %}\n{%- endif %}\n\n{%- for attr in ns.item %}\n {%- set _=ns.output.__setitem__(attr['name'], attr['value']) %}\n{%- endfor %}\n\n{{ ns.output | to_json }}",
"http_method": "GET",
"action": "get",
"request_format": "JSON"
},
{
"pre_request_calls": [
"get_conf_lock"
],
"target": "HTTP",
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements",
"response_format": "XML",
"response_template": "{%- set ns=namespace(output={'verified': false, 'saved': false, 'activated': false}, item=input['response']['data']['configElement']['attribute']) %}\n\n{%- if ns.item is mapping %}\n {%- set ns.item = [ns.item] %}\n{%- endif %}\n\n{%- for attr in ns.item %}\n {%- set _=ns.output.__setitem__(attr['name'], attr['value']) %}\n{%- endfor %}\n\n{%- for confirm_type, confirm_field_name in (('confirm_verify_conf', 'verified'), ('confirm_save_conf', 'saved'), ('confirm_activate_conf', 'activated')) %}\n {%- if request_data.get(confirm_type) %}\n {%- if request_data[confirm_type][0].get(confirm_field_name) == true %}\n {%- set _=ns.output.__setitem__(confirm_field_name, true) %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n\n{{ ns.output | to_json }}",
"post_request_calls": [
"verify_conf",
"save_conf",
"activate_conf",
"release_conf_lock"
],
"http_method": "PUT",
"request_template": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<configElement>\n <elementType>access-control</elementType>\n{%- if input['realm-id'] %}\n <attribute>\n <name>realm-id</name>\n <value>{{ input['realm-id'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['description'] %}\n <attribute>\n <name>description</name>\n <value>{{ input['description'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['source-address'] %}\n <attribute>\n <name>source-address</name>\n <value>{{ input['source-address'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['destination-address'] %}\n <attribute>\n <name>destination-address</name>\n <value>{{ input['destination-address'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['application-protocol'] %}\n <attribute>\n <name>application-protocol</name>\n <value>{{ input['application-protocol'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['transport-protocol'] %}\n <attribute>\n <name>transport-protocol</name>\n <value>{{ input['transport-protocol'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['access'] %}\n <attribute>\n <name>access</name>\n <value>{{ input['access'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['average-rate-limit'] %}\n <attribute>\n <name>average-rate-limit</name>\n <value>{{ input['average-rate-limit'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['minimum-reserved-bandwidth'] %}\n <attribute>\n <name>minimum-reserved-bandwidth</name>\n <value>{{ input['minimum-reserved-bandwidth'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['trust-level'] %}\n <attribute>\n <name>trust-level</name>\n <value>{{ input['trust-level'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['invalid-signal-threshold'] %}\n <attribute>\n <name>invalid-signal-threshold</name>\n <value>{{ input['invalid-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['maximum-signal-threshold'] %}\n <attribute>\n <name>maximum-signal-threshold</name>\n <value>{{ input['maximum-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['untrusted-signal-threshold'] %}\n <attribute>\n <name>untrusted-signal-threshold</name>\n <value>{{ input['untrusted-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['deny-period'] %}\n <attribute>\n <name>deny-period</name>\n <value>{{ input['deny-period'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['nat-trust-threshold'] %}\n <attribute>\n <name>nat-trust-threshold</name>\n <value>{{ input['nat-trust-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['max-endpoints-per-nat'] %}\n <attribute>\n <name>max-endpoints-per-nat</name>\n <value>{{ input['max-endpoints-per-nat'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['nat-invalid-message-threshold'] %}\n <attribute>\n <name>nat-invalid-message-threshold</name>\n <value>{{ input['nat-invalid-message-threshold'] }}</value>\n </attribute>\n{%- endif %}\n</configElement>",
"action": "update",
"request_format": "JSON"
},
{
"pre_request_calls": [
"get_conf_lock"
],
"target": "HTTP",
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements",
"response_format": "XML",
"response_template": "{%- set ns=namespace(output={'verified': false, 'saved': false, 'activated': false}, item=input['response']['data']['configElement']['attribute']) %}\n\n{%- if ns.item is mapping %}\n {%- set ns.item = [ns.item] %}\n{%- endif %}\n\n{%- for attr in ns.item %}\n {%- set _=ns.output.__setitem__(attr['name'], attr['value']) %}\n{%- endfor %}\n\n{%- set xyz = ns.output['realm-id'] + ':' + ns.output['source-address'] + ':' + ns.output['application-protocol'] + ':' + ns.output['transport-protocol'] %}\n{%- set _=ns.output.__setitem__('id', xyz) %}\n\n{%- for confirm_type, confirm_field_name in (('confirm_verify_conf', 'verified'), ('confirm_save_conf', 'saved'), ('confirm_activate_conf', 'activated')) %}\n {%- if request_data.get(confirm_type) %}\n {%- if request_data[confirm_type][0].get(confirm_field_name) == true %}\n {%- set _=ns.output.__setitem__(confirm_field_name, true) %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n\n{{ ns.output | to_json }}",
"post_request_calls": [
"verify_conf",
"save_conf",
"activate_conf",
"release_conf_lock"
],
"http_method": "POST",
"request_template": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<configElement>\n <elementType>access-control</elementType>\n{%- if input['realm-id'] %}\n <attribute>\n <name>realm-id</name>\n <value>{{ input['realm-id'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['description'] %}\n <attribute>\n <name>description</name>\n <value>{{ input['description'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['source-address'] %}\n <attribute>\n <name>source-address</name>\n <value>{{ input['source-address'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['destination-address'] %}\n <attribute>\n <name>destination-address</name>\n <value>{{ input['destination-address'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['application-protocol'] %}\n <attribute>\n <name>application-protocol</name>\n <value>{{ input['application-protocol'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['transport-protocol'] %}\n <attribute>\n <name>transport-protocol</name>\n <value>{{ input['transport-protocol'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['access'] %}\n <attribute>\n <name>access</name>\n <value>{{ input['access'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['average-rate-limit'] %}\n <attribute>\n <name>average-rate-limit</name>\n <value>{{ input['average-rate-limit'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['minimum-reserved-bandwidth'] %}\n <attribute>\n <name>minimum-reserved-bandwidth</name>\n <value>{{ input['minimum-reserved-bandwidth'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['trust-level'] %}\n <attribute>\n <name>trust-level</name>\n <value>{{ input['trust-level'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['invalid-signal-threshold'] %}\n <attribute>\n <name>invalid-signal-threshold</name>\n <value>{{ input['invalid-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['maximum-signal-threshold'] %}\n <attribute>\n <name>maximum-signal-threshold</name>\n <value>{{ input['maximum-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['untrusted-signal-threshold'] %}\n <attribute>\n <name>untrusted-signal-threshold</name>\n <value>{{ input['untrusted-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['deny-period'] %}\n <attribute>\n <name>deny-period</name>\n <value>{{ input['deny-period'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['nat-trust-threshold'] %}\n <attribute>\n <name>nat-trust-threshold</name>\n <value>{{ input['nat-trust-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['max-endpoints-per-nat'] %}\n <attribute>\n <name>max-endpoints-per-nat</name>\n <value>{{ input['max-endpoints-per-nat'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['nat-invalid-message-threshold'] %}\n <attribute>\n <name>nat-invalid-message-threshold</name>\n <value>{{ input['nat-invalid-message-threshold'] }}</value>\n </attribute>\n{%- endif %}\n</configElement>",
"action": "add",
"request_format": "JSON"
},
{
"pre_request_calls": [
"get_conf_lock"
],
"target": "HTTP",
"variables": [
{
"name": "id",
"value": "(( fn.is_none_or_empty pwf._context.input.id == False )) <{{ pwf._context.input.id }}> <{{ pwf._context.driver_parameters.pk }}>"
},
{
"name": "pk_parts",
"value": "{{ fn.split pwf.id,: }}"
},
{
"name": "realmId",
"value": "{{ fn.index pwf.pk_parts,0 }}"
},
{
"name": "sourceAddress",
"value": "{{ fn.index pwf.pk_parts,1 }}"
},
{
"name": "applicationProtocol",
"value": "{{ fn.index pwf.pk_parts,2 }}"
},
{
"name": "transportProtocol",
"value": "{{ fn.index pwf.pk_parts,3 }}"
}
],
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements?elementType=access-control&realm-id={{ variables.realmId }}&source-address={{ variables.sourceAddress }}&application-protocol={{ variables.applicationProtocol }}&transport-protocol={{ variables.transportProtocol }}",
"response_format": "XML",
"post_request_calls": [
"verify_conf",
"save_conf",
"activate_conf",
"release_conf_lock"
],
"http_method": "DELETE",
"action": "remove",
"request_format": "JSON"
}
],
"summary_attrs": [
"realm-id",
"source-address",
"application-protocol",
"transport-protocol"
],
"instance_operations": [
"get",
"update",
"remove"
]
},
"device_type": "device/oracleecb",
"hierarchy_friendly_name": "sys (System)",
"hierarchy_path": "sys",
"name": "AccessControl"
}
},
{
"pkid": "6260cd4aa96ee2847bf67857",
"meta": {
"tags": [
"oraclesbc",
"V4UC",
"ba_CommonOverlay"
],
"cached": true,
"title": "AccessControl - 1.2 - device/oraclesbc",
"business_key": {
"hierarchy": true,
"unique": [
"name",
"version",
"device_type"
]
},
"schema_version": "1.4.0",
"summary": "false",
"references": {
"device": [
{
"pkid": "",
"href": ""
}
],
"owner": [
{
"pkid": ""
}
],
"self": [
{
"pkid": "6260cd4aa96ee2847bf67857",
"href": "/api/data/DeviceModel/6260cd4aa96ee2847bf67857/"
}
],
"parent": [
{
"pkid": "6t0ggef2c0deab00hb595101",
"href": "/api/data/HierarchyNode/6t0ggef2c0deab00hb595101"
}
],
"foreign_key": []
},
"actions": [
{
"update": {
"support_async": true,
"href": "/api/data/DeviceModel/6260cd4aa96ee2847bf67857/",
"title": "Modify",
"class": "update",
"method": "PUT"
}
},
{
"remove": {
"support_async": true,
"href": "/api/data/DeviceModel/6260cd4aa96ee2847bf67857/",
"title": "Delete",
"class": "delete",
"method": "DELETE"
}
},
{
"clone": {
"support_async": false,
"href": "/api/data/DeviceModel/6260cd4aa96ee2847bf67857/clone/?schema=&schema_rules=true",
"title": "Clone",
"class": "clone",
"method": "GET"
}
},
{
"export": {
"title": "Export",
"support_async": false,
"submit": "payload",
"class": "export",
"href": "/api/data/DeviceModel/6260cd4aa96ee2847bf67857/export/",
"method": "GET",
"view": "/api/view/ExportData/add/"
}
},
{
"tag": {
"title": "Tag",
"support_async": true,
"class": "tag",
"href": "/api/data/DeviceModel/6260cd4aa96ee2847bf67857/+tag/",
"method": "PATCH",
"view": "/api/view/TagNameForm/add/"
}
},
{
"tag_version": {
"title": "Tag Version",
"support_async": true,
"class": "tag_version",
"href": "/api/data/DeviceModel/6260cd4aa96ee2847bf67857/+tag_version/",
"method": "PATCH",
"view": "/api/view/TagVersionForm/add/"
}
},
{
"get": {
"support_async": false,
"href": "/api/data/DeviceModel/6260cd4aa96ee2847bf67857/",
"title": "Get",
"class": "get",
"method": "GET"
}
},
{
"help": {
"support_async": false,
"href": "/api/data/DeviceModel/6260cd4aa96ee2847bf67857/help",
"title": "Help",
"class": "help",
"method": "GET"
}
}
],
"model_type": "data/DeviceModel",
"path": [
"6t0ggef2c0deab00hb595101",
"6260cd4aa96ee2847bf67857"
],
"summary_attrs": [
{
"name": "name",
"title": "Name"
},
{
"name": "version",
"title": "Version"
},
{
"name": "device_type",
"title": "Device Type"
},
{
"allow_filtering": true,
"name": "hierarchy_friendly_name",
"title": "Located At"
}
],
"api_version": "21.2",
"tagged_versions": []
},
"data": {
"schema": "{\n \"verified\": {\n \"name\": \"verified\",\n \"title\": \"Verified\",\n \"type\": \"boolean\",\n \"readonly\": true,\n \"cache_only\": true\n },\n \"saved\": {\n \"name\": \"saved\",\n \"title\": \"Saved\",\n \"type\": \"boolean\",\n \"readonly\": true,\n \"cache_only\": true\n },\n \"activated\": {\n \"name\": \"activated\",\n \"title\": \"Activated\",\n \"type\": \"boolean\",\n \"readonly\": true,\n \"cache_only\": true\n },\n \"id\": {\n \"name\": \"id\",\n \"type\": \"string\",\n \"title\": \"id\",\n \"readonly\": true,\n \"required\": false\n },\n \"realm-id\": {\n \"name\": \"realm-id\",\n \"type\": \"string\",\n \"title\": \"realm-id\",\n \"readonly\": true,\n \"required\": true,\n \"format\": \"uri\",\n \"target\": \"device/oraclesbc/RealmConfig\",\n \"target_attr\": \"identifier\",\n \"target_title\": \"identifier\"\n },\n \"source-address\": {\n \"name\": \"source-address\",\n \"type\": \"string\",\n \"title\": \"source-address\",\n \"readonly\": true,\n \"required\": true\n },\n \"application-protocol\": {\n \"name\": \"application-protocol\",\n \"type\": \"string\",\n \"title\": \"application-protocol\",\n \"readonly\": true,\n \"required\": true,\n \"choices\": [\n {\n \"value\": \"SIP\",\n \"title\": \"SIP\"\n },\n {\n \"value\": \"H323\",\n \"title\": \"H323\"\n },\n {\n \"value\": \"MGCP\",\n \"title\": \"MGCP\"\n },\n {\n \"value\": \"DIAMETER\",\n \"title\": \"DIAMETER\"\n },\n {\n \"value\": \"NONE\",\n \"title\": \"NONE\"\n }\n ]\n },\n \"description\": {\n \"name\": \"description\",\n \"type\": \"string\",\n \"title\": \"description\"\n },\n \"destination-address\": {\n \"name\": \"destination-address\",\n \"type\": \"string\",\n \"title\": \"destination-address\"\n },\n \"transport-protocol\": {\n \"name\": \"transport-protocol\",\n \"type\": \"string\",\n \"title\": \"transport-protocol\",\n \"readonly\": true,\n \"required\": true,\n \"choices\": [\n {\n \"value\": \"UDP\",\n \"title\": \"UDP\"\n },\n {\n \"value\": \"TCP\",\n \"title\": \"TCP\"\n },\n {\n \"value\": \"SCTP\",\n \"title\": \"SCTP\"\n },\n {\n \"value\": \"ALL\",\n \"title\": \"ALL\"\n }\n ]\n },\n \"access\": {\n \"name\": \"access\",\n \"type\": \"string\",\n \"title\": \"access\",\n \"choices\": [\n {\n \"value\": \"deny\",\n \"title\": \"deny\"\n },\n {\n \"value\": \"permit\",\n \"title\": \"permit\"\n }\n ]\n },\n \"average-rate-limit\": {\n \"name\": \"average-rate-limit\",\n \"type\": \"string\",\n \"title\": \"average-rate-limit\"\n },\n \"trust-level\": {\n \"name\": \"trust-level\",\n \"type\": \"string\",\n \"title\": \"trust-level\",\n \"choices\": [\n {\n \"value\": \"none\",\n \"title\": \"none\"\n },\n {\n \"value\": \"low\",\n \"title\": \"low\"\n },\n {\n \"value\": \"medium\",\n \"title\": \"medium\"\n },\n {\n \"value\": \"high\",\n \"title\": \"high\"\n }\n ]\n },\n \"minimum-reserved-bandwidth\": {\n \"name\": \"minimum-reserved-bandwidth\",\n \"type\": \"string\",\n \"title\": \"minimum-reserved-bandwidth\"\n },\n \"invalid-signal-threshold\": {\n \"name\": \"invalid-signal-threshold\",\n \"type\": \"string\",\n \"title\": \"invalid-signal-threshold\"\n },\n \"maximum-signal-threshold\": {\n \"name\": \"maximum-signal-threshold\",\n \"type\": \"string\",\n \"title\": \"maximum-signal-threshold\"\n },\n \"untrusted-signal-threshold\": {\n \"name\": \"untrusted-signal-threshold\",\n \"type\": \"string\",\n \"title\": \"untrusted-signal-threshold\"\n },\n \"deny-period\": {\n \"name\": \"deny-period\",\n \"type\": \"string\",\n \"title\": \"deny-period\"\n },\n \"nat-trust-threshold\": {\n \"name\": \"nat-trust-threshold\",\n \"type\": \"string\",\n \"title\": \"nat-trust-threshold\"\n },\n \"max-endpoints-per-nat\": {\n \"name\": \"max-endpoints-per-nat\",\n \"type\": \"string\",\n \"title\": \"max-endpoints-per-nat\"\n },\n \"nat-invalid-message-threshold\": {\n \"name\": \"nat-invalid-message-threshold\",\n \"type\": \"string\",\n \"title\": \"nat-invalid-message-threshold\"\n },\n \"cac-failure-threshold\": {\n \"name\": \"cac-failure-threshold\",\n \"type\": \"string\",\n \"title\": \"cac-failure-threshold\"\n },\n \"untrust-cac-failure-threshold\": {\n \"name\": \"untrust-cac-failure-threshold\",\n \"type\": \"string\",\n \"title\": \"untrust-cac-failure-threshold\"\n }\n}",
"primary_key": "id",
"pkid": "6260cd4aa96ee2847bf67858",
"version": "1.2",
"Meta": {
"operations": [
"list",
"get",
"add",
"update",
"remove",
"move",
"clone",
"export",
"export_bulkload_template",
"bulk_update_form",
"configuration_template",
"field_display_policy",
"help",
"migration",
"transform",
"tag",
"tag_version"
],
"list_operations": [
"list",
"add"
],
"api_operations": [
{
"target": "HTTP",
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements?elementType=access-control",
"response_format": "XML",
"response_template": "{%- set ns=namespace(output_list=[], items=input['response']['data']['configElement']) %}\n\n{%- if ns.items is mapping %}\n {%- set ns.items = [ns.items] %}\n{%- endif %}\n\n{%- for item in ns.items %}\n {%- set output={} %}\n {%- for attr in item.get('attribute', []) %}\n {%- set _=output.__setitem__(attr['name'], attr['value']) %}\n {%- endfor %}\n {%- set xyz = output['realm-id'] + ':' + output['source-address'] + ':' + output['application-protocol'] + ':' + output['transport-protocol'] %}\n {%- set _=output.__setitem__('id', xyz) %}\n\n {%- set _=ns.output_list.append(output) %}\n{%- endfor %}\n\n{{ ns.output_list|to_json }}",
"http_method": "GET",
"action": "list",
"request_format": "JSON"
},
{
"target": "HTTP",
"variables": [
{
"name": "id",
"value": "(( fn.is_none_or_empty pwf._context.input.id == False )) <{{ pwf._context.input.id }}> <{{ pwf._context.driver_parameters.pk }}>"
},
{
"name": "pk_parts",
"value": "{{ fn.split pwf.id,: }}"
},
{
"name": "realmId",
"value": "{{ fn.index pwf.pk_parts,0 }}"
},
{
"name": "sourceAddress",
"value": "{{ fn.index pwf.pk_parts,1 }}"
},
{
"name": "applicationProtocol",
"value": "{{ fn.index pwf.pk_parts,2 }}"
},
{
"name": "transportProtocol",
"value": "{{ fn.index pwf.pk_parts,3 }}"
}
],
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements?elementType=access-control&realm-id={{ variables.realmId }}&source-address={{ variables.sourceAddress }}&application-protocol={{ variables.applicationProtocol }}&transport-protocol={{ variables.transportProtocol }}",
"response_format": "XML",
"response_template": "{%- set ns=namespace(output={}, item=input['response']['data']['configElement']['attribute']) %}\n\n{%- if ns.item is mapping %}\n {%- set ns.item = [ns.item] %}\n{%- endif %}\n\n{%- for attr in ns.item %}\n {%- set _=ns.output.__setitem__(attr['name'], attr['value']) %}\n{%- endfor %}\n\n{{ ns.output | to_json }}",
"http_method": "GET",
"action": "get",
"request_format": "JSON"
},
{
"pre_request_calls": [
"get_conf_lock"
],
"target": "HTTP",
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements",
"response_format": "XML",
"response_template": "{%- set ns=namespace(output={'verified': false, 'saved': false, 'activated': false}, item=input['response']['data']['configElement']['attribute']) %}\n\n{%- if ns.item is mapping %}\n {%- set ns.item = [ns.item] %}\n{%- endif %}\n\n{%- for attr in ns.item %}\n {%- set _=ns.output.__setitem__(attr['name'], attr['value']) %}\n{%- endfor %}\n\n{%- for confirm_type, confirm_field_name in (('confirm_verify_conf', 'verified'), ('confirm_save_conf', 'saved'), ('confirm_activate_conf', 'activated')) %}\n {%- if request_data.get(confirm_type) %}\n {%- if request_data[confirm_type][0].get(confirm_field_name) == true %}\n {%- set _=ns.output.__setitem__(confirm_field_name, true) %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n\n{{ ns.output | to_json }}",
"post_request_calls": [
"verify_conf",
"save_conf",
"activate_conf",
"release_conf_lock"
],
"http_method": "PUT",
"request_template": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<configElement>\n <elementType>access-control</elementType>\n{%- if input['realm-id'] %}\n <attribute>\n <name>realm-id</name>\n <value>{{ input['realm-id'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['description'] %}\n <attribute>\n <name>description</name>\n <value>{{ input['description'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['source-address'] %}\n <attribute>\n <name>source-address</name>\n <value>{{ input['source-address'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['destination-address'] %}\n <attribute>\n <name>destination-address</name>\n <value>{{ input['destination-address'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['application-protocol'] %}\n <attribute>\n <name>application-protocol</name>\n <value>{{ input['application-protocol'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['transport-protocol'] %}\n <attribute>\n <name>transport-protocol</name>\n <value>{{ input['transport-protocol'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['access'] %}\n <attribute>\n <name>access</name>\n <value>{{ input['access'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['average-rate-limit'] %}\n <attribute>\n <name>average-rate-limit</name>\n <value>{{ input['average-rate-limit'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['minimum-reserved-bandwidth'] %}\n <attribute>\n <name>minimum-reserved-bandwidth</name>\n <value>{{ input['minimum-reserved-bandwidth'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['trust-level'] %}\n <attribute>\n <name>trust-level</name>\n <value>{{ input['trust-level'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['invalid-signal-threshold'] %}\n <attribute>\n <name>invalid-signal-threshold</name>\n <value>{{ input['invalid-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['maximum-signal-threshold'] %}\n <attribute>\n <name>maximum-signal-threshold</name>\n <value>{{ input['maximum-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['untrusted-signal-threshold'] %}\n <attribute>\n <name>untrusted-signal-threshold</name>\n <value>{{ input['untrusted-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['deny-period'] %}\n <attribute>\n <name>deny-period</name>\n <value>{{ input['deny-period'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['nat-trust-threshold'] %}\n <attribute>\n <name>nat-trust-threshold</name>\n <value>{{ input['nat-trust-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['max-endpoints-per-nat'] %}\n <attribute>\n <name>max-endpoints-per-nat</name>\n <value>{{ input['max-endpoints-per-nat'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['nat-invalid-message-threshold'] %}\n <attribute>\n <name>nat-invalid-message-threshold</name>\n <value>{{ input['nat-invalid-message-threshold'] }}</value>\n </attribute>\n{%- endif %}\n</configElement>",
"action": "update",
"request_format": "JSON"
},
{
"pre_request_calls": [
"get_conf_lock"
],
"target": "HTTP",
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements",
"response_format": "XML",
"response_template": "{%- set ns=namespace(output={'verified': false, 'saved': false, 'activated': false}, item=input['response']['data']['configElement']['attribute']) %}\n\n{%- if ns.item is mapping %}\n {%- set ns.item = [ns.item] %}\n{%- endif %}\n\n{%- for attr in ns.item %}\n {%- set _=ns.output.__setitem__(attr['name'], attr['value']) %}\n{%- endfor %}\n\n{%- set xyz = ns.output['realm-id'] + ':' + ns.output['source-address'] + ':' + ns.output['application-protocol'] + ':' + ns.output['transport-protocol'] %}\n{%- set _=ns.output.__setitem__('id', xyz) %}\n\n{%- for confirm_type, confirm_field_name in (('confirm_verify_conf', 'verified'), ('confirm_save_conf', 'saved'), ('confirm_activate_conf', 'activated')) %}\n {%- if request_data.get(confirm_type) %}\n {%- if request_data[confirm_type][0].get(confirm_field_name) == true %}\n {%- set _=ns.output.__setitem__(confirm_field_name, true) %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n\n{{ ns.output | to_json }}",
"post_request_calls": [
"verify_conf",
"save_conf",
"activate_conf",
"release_conf_lock"
],
"http_method": "POST",
"request_template": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<configElement>\n <elementType>access-control</elementType>\n{%- if input['realm-id'] %}\n <attribute>\n <name>realm-id</name>\n <value>{{ input['realm-id'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['description'] %}\n <attribute>\n <name>description</name>\n <value>{{ input['description'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['source-address'] %}\n <attribute>\n <name>source-address</name>\n <value>{{ input['source-address'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['destination-address'] %}\n <attribute>\n <name>destination-address</name>\n <value>{{ input['destination-address'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['application-protocol'] %}\n <attribute>\n <name>application-protocol</name>\n <value>{{ input['application-protocol'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['transport-protocol'] %}\n <attribute>\n <name>transport-protocol</name>\n <value>{{ input['transport-protocol'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['access'] %}\n <attribute>\n <name>access</name>\n <value>{{ input['access'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['average-rate-limit'] %}\n <attribute>\n <name>average-rate-limit</name>\n <value>{{ input['average-rate-limit'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['minimum-reserved-bandwidth'] %}\n <attribute>\n <name>minimum-reserved-bandwidth</name>\n <value>{{ input['minimum-reserved-bandwidth'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['trust-level'] %}\n <attribute>\n <name>trust-level</name>\n <value>{{ input['trust-level'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['invalid-signal-threshold'] %}\n <attribute>\n <name>invalid-signal-threshold</name>\n <value>{{ input['invalid-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['maximum-signal-threshold'] %}\n <attribute>\n <name>maximum-signal-threshold</name>\n <value>{{ input['maximum-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['untrusted-signal-threshold'] %}\n <attribute>\n <name>untrusted-signal-threshold</name>\n <value>{{ input['untrusted-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['deny-period'] %}\n <attribute>\n <name>deny-period</name>\n <value>{{ input['deny-period'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['nat-trust-threshold'] %}\n <attribute>\n <name>nat-trust-threshold</name>\n <value>{{ input['nat-trust-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['max-endpoints-per-nat'] %}\n <attribute>\n <name>max-endpoints-per-nat</name>\n <value>{{ input['max-endpoints-per-nat'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['nat-invalid-message-threshold'] %}\n <attribute>\n <name>nat-invalid-message-threshold</name>\n <value>{{ input['nat-invalid-message-threshold'] }}</value>\n </attribute>\n{%- endif %}\n</configElement>",
"action": "add",
"request_format": "JSON"
},
{
"pre_request_calls": [
"get_conf_lock"
],
"target": "HTTP",
"variables": [
{
"name": "id",
"value": "(( fn.is_none_or_empty pwf._context.input.id == False )) <{{ pwf._context.input.id }}> <{{ pwf._context.driver_parameters.pk }}>"
},
{
"name": "pk_parts",
"value": "{{ fn.split pwf.id,: }}"
},
{
"name": "realmId",
"value": "{{ fn.index pwf.pk_parts,0 }}"
},
{
"name": "sourceAddress",
"value": "{{ fn.index pwf.pk_parts,1 }}"
},
{
"name": "applicationProtocol",
"value": "{{ fn.index pwf.pk_parts,2 }}"
},
{
"name": "transportProtocol",
"value": "{{ fn.index pwf.pk_parts,3 }}"
}
],
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements?elementType=access-control&realm-id={{ variables.realmId }}&source-address={{ variables.sourceAddress }}&application-protocol={{ variables.applicationProtocol }}&transport-protocol={{ variables.transportProtocol }}",
"response_format": "XML",
"post_request_calls": [
"verify_conf",
"save_conf",
"activate_conf",
"release_conf_lock"
],
"http_method": "DELETE",
"action": "remove",
"request_format": "JSON"
}
],
"summary_attrs": [
"realm-id",
"source-address",
"application-protocol",
"transport-protocol"
],
"instance_operations": [
"get",
"update",
"remove"
]
},
"device_type": "device/oraclesbc",
"hierarchy_friendly_name": "sys (System)",
"hierarchy_path": "sys",
"name": "AccessControl"
}
},
{
"pkid": "6018fc16ce894e0011b196e4",
"meta": {
"tags": [
"auto_cucm",
"V4UC",
"ba_CommonOverlay"
],
"cached": true,
"title": "AccessControlGroup - 11.5.3 - device/guicucm",
"business_key": {
"hierarchy": true,
"unique": [
"name",
"version",
"device_type"
]
},
"schema_version": "1.4.0",
"summary": "false",
"references": {
"device": [
{
"pkid": "",
"href": ""
}
],
"owner": [
{
"pkid": ""
}
],
"self": [
{
"pkid": "6018fc16ce894e0011b196e4",
"href": "/api/data/DeviceModel/6018fc16ce894e0011b196e4/"
}
],
"parent": [
{
"pkid": "6t0ggef2c0deab00hb595101",
"href": "/api/data/HierarchyNode/6t0ggef2c0deab00hb595101"
}
],
"foreign_key": []
},
"actions": [
{
"update": {
"support_async": true,
"method": "PUT",
"href": "/api/data/DeviceModel/6018fc16ce894e0011b196e4/",
"class": "update",
"title": "Modify"
}
},
{
"remove": {
"support_async": true,
"method": "DELETE",
"href": "/api/data/DeviceModel/6018fc16ce894e0011b196e4/",
"class": "delete",
"title": "Delete"
}
},
{
"clone": {
"support_async": false,
"method": "GET",
"href": "/api/data/DeviceModel/6018fc16ce894e0011b196e4/clone/?schema=&schema_rules=true",
"class": "clone",
"title": "Clone"
}
},
{
"export": {
"title": "Export",
"support_async": false,
"submit": "payload",
"method": "GET",
"href": "/api/data/DeviceModel/6018fc16ce894e0011b196e4/export/",
"class": "export",
"view": "/api/view/ExportData/add/"
}
},
{
"tag": {
"title": "Tag",
"support_async": true,
"class": "tag",
"href": "/api/data/DeviceModel/6018fc16ce894e0011b196e4/+tag/",
"method": "PATCH",
"view": "/api/view/TagNameForm/add/"
}
},
{
"tag_version": {
"title": "Tag Version",
"support_async": true,
"class": "tag_version",
"href": "/api/data/DeviceModel/6018fc16ce894e0011b196e4/+tag_version/",
"method": "PATCH",
"view": "/api/view/TagVersionForm/add/"
}
},
{
"get": {
"support_async": false,
"method": "GET",
"href": "/api/data/DeviceModel/6018fc16ce894e0011b196e4/",
"class": "get",
"title": "Get"
}
},
{
"help": {
"support_async": false,
"method": "GET",
"href": "/api/data/DeviceModel/6018fc16ce894e0011b196e4/help",
"class": "help",
"title": "Help"
}
}
],
"model_type": "data/DeviceModel",
"path": [
"6t0ggef2c0deab00hb595101",
"6018fc16ce894e0011b196e4"
],
"summary_attrs": [
{
"name": "name",
"title": "Name"
},
{
"name": "version",
"title": "Version"
},
{
"name": "device_type",
"title": "Device Type"
},
{
"allow_filtering": true,
"name": "hierarchy_friendly_name",
"title": "Located At"
}
],
"api_version": "21.2",
"tagged_versions": []
},
"data": {
"primary_key": "id",
"Meta": {
"operations": [
"list",
"get",
"add",
"update",
"remove",
"move",
"clone",
"export",
"export_bulkload_template",
"bulk_update_form",
"configuration_template",
"field_display_policy",
"help",
"migration",
"transform",
"tag",
"tag_version",
"execute",
"import",
"test_connect"
],
"list_operations": [
"list"
],
"api_operations": [
{
"action": "Create",
"http_method": "get",
"request_template": "[\n {\n \"command\": \"open\",\n \"target\": \"https://{{ driver_parameters.host }}/ccmadmin/index.jsp\"\n },\n {\n \"command\": \"type\",\n \"target\": \"name=j_username\",\n \"value\": \"{{ driver_parameters.username }}\"\n },\n {\n \"command\": \"type\",\n \"target\": \"name=j_password\",\n \"value\": \"{{ driver_parameters.password }}\"\n },\n {\n \"command\": \"click\",\n \"target\": \"xpath=//button[@type='submit']\"\n },\n\n {\n \"command\": \"open\",\n \"target\": \"https://{{ driver_parameters.host }}/ccmadmin/userGroupFindList.do\",\n \"value\": \"\"\n },\n {\n \"command\": \"click\",\n \"target\": \"id=1tbllink\",\n \"value\": \"\"\n },\n {\n \"command\": \"type\",\n \"target\": \"id=NAME\",\n \"value\": \"{{ input.access_control_group }}\"\n },\n {\n \"command\": \"click\",\n \"target\": \"name=Save\",\n \"value\": \"\"\n },\n\n\n\n {\n \"command\": \"click\",\n \"target\": \"id=menu1\",\n \"value\": \"\"\n },\n {\n \"command\": \"select\",\n \"target\": \"id=menu1\",\n \"value\": \"label=Assign Role to Access Control Group\"\n },\n {\n \"command\": \"click\",\n \"target\": \"xpath=(.//*[normalize-space(text()) and normalize-space(.)='Related Links:'])[1]/following::input[1]\",\n \"value\": \"\"\n },\n {\n \"command\": \"click\",\n \"target\": \"name=Assign Role to Group\",\n \"value\": \"\",\n \"sleep\": 3\n },\n {\n \"command\": \"switch_to_window_handle\",\n \"target\": 1,\n \"value\": \"\"\n },\n {\n \"command\": \"type\",\n \"target\": \"id=searchString0\",\n \"value\": \"{{ input.role }}\"\n },\n {\n \"command\": \"click\",\n \"target\": \"name=findButton\",\n \"value\": \"\"\n },\n {\n \"command\": \"click\",\n \"target\": \"name=result[0].chked\",\n \"value\": \"\"\n },\n {\n \"command\": \"click\",\n \"target\": \"name=Add Selected\",\n \"value\": \"\"\n },\n\n {\n \"command\": \"switch_to_window_handle\",\n \"target\": 0,\n \"value\": \"\"\n },\n {\n \"command\": \"click\",\n \"target\": \"name=Save\",\n \"value\": \"\"\n },\n\n\n {\n \"command\": \"open\",\n \"target\": \"https://{{ driver_parameters.host }}/ccmadmin/logoff.do\"\n }\n]",
"target": "Browser",
"response_format": "JSON"
}
],
"summary_attrs": [
"id"
],
"instance_operations": [
"get"
]
},
"pkid": "6018fc16ce894e0011b196e5",
"documentation": "Device model used to add an Access Control Group in CUCM",
"name": "AccessControlGroup",
"version": "11.5.3",
"device_type": "device/guicucm",
"hierarchy_friendly_name": "sys (System)",
"schema": "{\n \"id\": {\n \"type\": \"string\"\n },\n \"url\": {\n \"type\": \"string\"\n },\n \"gui_cucm_bkey\": {\n \"type\": \"string\"\n },\n \"cucm_bkey\": {\n \"type\": \"string\"\n },\n \"cucm_server\": {\n \"type\": \"string\"\n },\n \"access_control_group\": {\n \"type\": \"string\"\n },\n \"role\": {\n \"type\": \"string\"\n }\n}",
"hierarchy_path": "sys"
}
}
]
}
(Show the first instance)
{
"pkid": "6260cd3fa96ee2847bf6777f",
"meta": {
"tags": [
"oraclesbc",
"V4UC",
"ba_CommonOverlay"
],
"cached": false,
"title": "AccessControl - 1.1 - device/oracleecb",
"business_key": {
"hierarchy": true,
"unique": [
"name",
"version",
"device_type"
]
},
"schema_version": "1.4.0",
"references": {
"parent": [
{
"pkid": "6t0ggef2c0deab00hb595101",
"href": "/api/data/HierarchyNode/6t0ggef2c0deab00hb595101"
}
],
"self": [
{
"pkid": "6260cd3fa96ee2847bf6777f",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/"
}
],
"foreign_key": [],
"device": [
{
"pkid": "",
"href": ""
}
],
"owner": [
{
"pkid": ""
}
],
"children": []
},
"actions": [
{
"update": {
"support_async": true,
"class": "update",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/?hierarchy=[hierarchy]",
"method": "PUT",
"title": "Modify"
}
},
{
"remove": {
"support_async": true,
"class": "delete",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/?hierarchy=[hierarchy]",
"method": "DELETE",
"title": "Delete"
}
},
{
"clone": {
"support_async": false,
"class": "clone",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/clone/?hierarchy=[hierarchy]&schema=&schema_rules=true",
"method": "GET",
"title": "Clone"
}
},
{
"export": {
"title": "Export",
"support_async": false,
"submit": "payload",
"class": "export",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/export/?hierarchy=[hierarchy]",
"method": "GET",
"view": "/api/view/ExportData/add/?auth_token=[authtoken]
}
},
{
"tag": {
"title": "Tag",
"support_async": true,
"method": "PATCH",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/+tag/?hierarchy=[hierarchy]",
"class": "tag",
"view": "/api/view/TagNameForm/add/?auth_token=[authtoken]
}
},
{
"tag_version": {
"title": "Tag Version",
"support_async": true,
"method": "PATCH",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/+tag_version/?hierarchy=[hierarchy]",
"class": "tag_version",
"view": "/api/view/TagVersionForm/add/?auth_token=[authtoken]
}
},
{
"get": {
"support_async": false,
"class": "get",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/?hierarchy=[hierarchy]",
"method": "GET",
"title": "Get"
}
},
{
"help": {
"support_async": false,
"class": "help",
"href": "/api/data/DeviceModel/6260cd3fa96ee2847bf6777f/help?hierarchy=[hierarchy]",
"method": "GET",
"title": "Help"
}
}
],
"model_type": "data/DeviceModel",
"path": [
"6t0ggef2c0deab00hb595101",
"6260cd3fa96ee2847bf6777f"
],
"summary_attrs": [
{
"name": "name",
"title": "Name"
},
{
"name": "version",
"title": "Version"
},
{
"name": "device_type",
"title": "Device Type"
},
{
"allow_filtering": true,
"name": "hierarchy_friendly_name",
"title": "Located At"
}
],
"api_version": "21.2",
"tagged_versions": []
},
"data": {
"primary_key": "id",
"pkid": "6260cd3fa96ee2847bf67780",
"version": "1.1",
"Meta": {
"operations": [
"list",
"get",
"add",
"update",
"remove",
"move",
"clone",
"export",
"export_bulkload_template",
"bulk_update_form",
"configuration_template",
"field_display_policy",
"help",
"migration",
"transform",
"tag",
"tag_version"
],
"list_operations": [
"list",
"add"
],
"api_operations": [
{
"target": "HTTP",
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements?elementType=access-control",
"response_format": "XML",
"response_template": "{%- set ns=namespace(output_list=[], items=input['response']['data']['configElement']) %}\n\n{%- if ns.items is mapping %}\n {%- set ns.items = [ns.items] %}\n{%- endif %}\n\n{%- for item in ns.items %}\n {%- set output={} %}\n {%- for attr in item.get('attribute', []) %}\n {%- set _=output.__setitem__(attr['name'], attr['value']) %}\n {%- endfor %}\n {%- set xyz = output['realm-id'] + ':' + output['source-address'] + ':' + output['application-protocol'] + ':' + output['transport-protocol'] %}\n {%- set _=output.__setitem__('id', xyz) %}\n\n {%- set _=ns.output_list.append(output) %}\n{%- endfor %}\n\n{{ ns.output_list|to_json }}",
"http_method": "GET",
"action": "list",
"request_format": "JSON"
},
{
"target": "HTTP",
"variables": [
{
"name": "id",
"value": "(( fn.is_none_or_empty pwf._context.input.id == False )) <{{ pwf._context.input.id }}> <{{ pwf._context.driver_parameters.pk }}>"
},
{
"name": "pk_parts",
"value": "{{ fn.split pwf.id,: }}"
},
{
"name": "realmId",
"value": "{{ fn.index pwf.pk_parts,0 }}"
},
{
"name": "sourceAddress",
"value": "{{ fn.index pwf.pk_parts,1 }}"
},
{
"name": "applicationProtocol",
"value": "{{ fn.index pwf.pk_parts,2 }}"
},
{
"name": "transportProtocol",
"value": "{{ fn.index pwf.pk_parts,3 }}"
}
],
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements?elementType=access-control&realm-id={{ variables.realmId }}&source-address={{ variables.sourceAddress }}&application-protocol={{ variables.applicationProtocol }}&transport-protocol={{ variables.transportProtocol }}",
"response_format": "XML",
"response_template": "{%- set ns=namespace(output={}, item=input['response']['data']['configElement']['attribute']) %}\n\n{%- if ns.item is mapping %}\n {%- set ns.item = [ns.item] %}\n{%- endif %}\n\n{%- for attr in ns.item %}\n {%- set _=ns.output.__setitem__(attr['name'], attr['value']) %}\n{%- endfor %}\n\n{{ ns.output | to_json }}",
"http_method": "GET",
"action": "get",
"request_format": "JSON"
},
{
"pre_request_calls": [
"get_conf_lock"
],
"target": "HTTP",
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements",
"response_format": "XML",
"response_template": "{%- set ns=namespace(output={'verified': false, 'saved': false, 'activated': false}, item=input['response']['data']['configElement']['attribute']) %}\n\n{%- if ns.item is mapping %}\n {%- set ns.item = [ns.item] %}\n{%- endif %}\n\n{%- for attr in ns.item %}\n {%- set _=ns.output.__setitem__(attr['name'], attr['value']) %}\n{%- endfor %}\n\n{%- for confirm_type, confirm_field_name in (('confirm_verify_conf', 'verified'), ('confirm_save_conf', 'saved'), ('confirm_activate_conf', 'activated')) %}\n {%- if request_data.get(confirm_type) %}\n {%- if request_data[confirm_type][0].get(confirm_field_name) == true %}\n {%- set _=ns.output.__setitem__(confirm_field_name, true) %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n\n{{ ns.output | to_json }}",
"post_request_calls": [
"verify_conf",
"save_conf",
"activate_conf",
"release_conf_lock"
],
"http_method": "PUT",
"request_template": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<configElement>\n <elementType>access-control</elementType>\n{%- if input['realm-id'] %}\n <attribute>\n <name>realm-id</name>\n <value>{{ input['realm-id'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['description'] %}\n <attribute>\n <name>description</name>\n <value>{{ input['description'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['source-address'] %}\n <attribute>\n <name>source-address</name>\n <value>{{ input['source-address'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['destination-address'] %}\n <attribute>\n <name>destination-address</name>\n <value>{{ input['destination-address'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['application-protocol'] %}\n <attribute>\n <name>application-protocol</name>\n <value>{{ input['application-protocol'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['transport-protocol'] %}\n <attribute>\n <name>transport-protocol</name>\n <value>{{ input['transport-protocol'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['access'] %}\n <attribute>\n <name>access</name>\n <value>{{ input['access'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['average-rate-limit'] %}\n <attribute>\n <name>average-rate-limit</name>\n <value>{{ input['average-rate-limit'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['minimum-reserved-bandwidth'] %}\n <attribute>\n <name>minimum-reserved-bandwidth</name>\n <value>{{ input['minimum-reserved-bandwidth'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['trust-level'] %}\n <attribute>\n <name>trust-level</name>\n <value>{{ input['trust-level'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['invalid-signal-threshold'] %}\n <attribute>\n <name>invalid-signal-threshold</name>\n <value>{{ input['invalid-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['maximum-signal-threshold'] %}\n <attribute>\n <name>maximum-signal-threshold</name>\n <value>{{ input['maximum-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['untrusted-signal-threshold'] %}\n <attribute>\n <name>untrusted-signal-threshold</name>\n <value>{{ input['untrusted-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['deny-period'] %}\n <attribute>\n <name>deny-period</name>\n <value>{{ input['deny-period'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['nat-trust-threshold'] %}\n <attribute>\n <name>nat-trust-threshold</name>\n <value>{{ input['nat-trust-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['max-endpoints-per-nat'] %}\n <attribute>\n <name>max-endpoints-per-nat</name>\n <value>{{ input['max-endpoints-per-nat'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['nat-invalid-message-threshold'] %}\n <attribute>\n <name>nat-invalid-message-threshold</name>\n <value>{{ input['nat-invalid-message-threshold'] }}</value>\n </attribute>\n{%- endif %}\n</configElement>",
"action": "update",
"request_format": "JSON"
},
{
"pre_request_calls": [
"get_conf_lock"
],
"target": "HTTP",
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements",
"response_format": "XML",
"response_template": "{%- set ns=namespace(output={'verified': false, 'saved': false, 'activated': false}, item=input['response']['data']['configElement']['attribute']) %}\n\n{%- if ns.item is mapping %}\n {%- set ns.item = [ns.item] %}\n{%- endif %}\n\n{%- for attr in ns.item %}\n {%- set _=ns.output.__setitem__(attr['name'], attr['value']) %}\n{%- endfor %}\n\n{%- set xyz = ns.output['realm-id'] + ':' + ns.output['source-address'] + ':' + ns.output['application-protocol'] + ':' + ns.output['transport-protocol'] %}\n{%- set _=ns.output.__setitem__('id', xyz) %}\n\n{%- for confirm_type, confirm_field_name in (('confirm_verify_conf', 'verified'), ('confirm_save_conf', 'saved'), ('confirm_activate_conf', 'activated')) %}\n {%- if request_data.get(confirm_type) %}\n {%- if request_data[confirm_type][0].get(confirm_field_name) == true %}\n {%- set _=ns.output.__setitem__(confirm_field_name, true) %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n\n{{ ns.output | to_json }}",
"post_request_calls": [
"verify_conf",
"save_conf",
"activate_conf",
"release_conf_lock"
],
"http_method": "POST",
"request_template": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<configElement>\n <elementType>access-control</elementType>\n{%- if input['realm-id'] %}\n <attribute>\n <name>realm-id</name>\n <value>{{ input['realm-id'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['description'] %}\n <attribute>\n <name>description</name>\n <value>{{ input['description'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['source-address'] %}\n <attribute>\n <name>source-address</name>\n <value>{{ input['source-address'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['destination-address'] %}\n <attribute>\n <name>destination-address</name>\n <value>{{ input['destination-address'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['application-protocol'] %}\n <attribute>\n <name>application-protocol</name>\n <value>{{ input['application-protocol'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['transport-protocol'] %}\n <attribute>\n <name>transport-protocol</name>\n <value>{{ input['transport-protocol'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['access'] %}\n <attribute>\n <name>access</name>\n <value>{{ input['access'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['average-rate-limit'] %}\n <attribute>\n <name>average-rate-limit</name>\n <value>{{ input['average-rate-limit'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['minimum-reserved-bandwidth'] %}\n <attribute>\n <name>minimum-reserved-bandwidth</name>\n <value>{{ input['minimum-reserved-bandwidth'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['trust-level'] %}\n <attribute>\n <name>trust-level</name>\n <value>{{ input['trust-level'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['invalid-signal-threshold'] %}\n <attribute>\n <name>invalid-signal-threshold</name>\n <value>{{ input['invalid-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['maximum-signal-threshold'] %}\n <attribute>\n <name>maximum-signal-threshold</name>\n <value>{{ input['maximum-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['untrusted-signal-threshold'] %}\n <attribute>\n <name>untrusted-signal-threshold</name>\n <value>{{ input['untrusted-signal-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['deny-period'] %}\n <attribute>\n <name>deny-period</name>\n <value>{{ input['deny-period'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['nat-trust-threshold'] %}\n <attribute>\n <name>nat-trust-threshold</name>\n <value>{{ input['nat-trust-threshold'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['max-endpoints-per-nat'] %}\n <attribute>\n <name>max-endpoints-per-nat</name>\n <value>{{ input['max-endpoints-per-nat'] }}</value>\n </attribute>\n{%- endif %}\n{%- if input['nat-invalid-message-threshold'] %}\n <attribute>\n <name>nat-invalid-message-threshold</name>\n <value>{{ input['nat-invalid-message-threshold'] }}</value>\n </attribute>\n{%- endif %}\n</configElement>",
"action": "add",
"request_format": "JSON"
},
{
"pre_request_calls": [
"get_conf_lock"
],
"target": "HTTP",
"variables": [
{
"name": "id",
"value": "(( fn.is_none_or_empty pwf._context.input.id == False )) <{{ pwf._context.input.id }}> <{{ pwf._context.driver_parameters.pk }}>"
},
{
"name": "pk_parts",
"value": "{{ fn.split pwf.id,: }}"
},
{
"name": "realmId",
"value": "{{ fn.index pwf.pk_parts,0 }}"
},
{
"name": "sourceAddress",
"value": "{{ fn.index pwf.pk_parts,1 }}"
},
{
"name": "applicationProtocol",
"value": "{{ fn.index pwf.pk_parts,2 }}"
},
{
"name": "transportProtocol",
"value": "{{ fn.index pwf.pk_parts,3 }}"
}
],
"uri": "https://{{ driver_parameters.host }}{{ driver_parameters.api_base }}v{{ driver_parameters.version }}/configuration/configElements?elementType=access-control&realm-id={{ variables.realmId }}&source-address={{ variables.sourceAddress }}&application-protocol={{ variables.applicationProtocol }}&transport-protocol={{ variables.transportProtocol }}",
"response_format": "XML",
"post_request_calls": [
"verify_conf",
"save_conf",
"activate_conf",
"release_conf_lock"
],
"http_method": "DELETE",
"action": "remove",
"request_format": "JSON"
}
],
"summary_attrs": [
"realm-id",
"source-address",
"application-protocol",
"transport-protocol"
],
"instance_operations": [
"get",
"update",
"remove"
]
},
"device_type": "device/oracleecb",
"schema": "{\n \"verified\": {\n \"name\": \"verified\",\n \"title\": \"Verified\",\n \"type\": \"boolean\",\n \"readonly\": true,\n \"cache_only\": true\n },\n \"saved\": {\n \"name\": \"saved\",\n \"title\": \"Saved\",\n \"type\": \"boolean\",\n \"readonly\": true,\n \"cache_only\": true\n },\n \"activated\": {\n \"name\": \"activated\",\n \"title\": \"Activated\",\n \"type\": \"boolean\",\n \"readonly\": true,\n \"cache_only\": true\n },\n \"id\": {\n \"name\": \"id\",\n \"type\": \"string\",\n \"title\": \"id\",\n \"readonly\": true,\n \"required\": false\n },\n \"realm-id\": {\n \"name\": \"realm-id\",\n \"type\": \"string\",\n \"title\": \"realm-id\",\n \"readonly\": true,\n \"required\": true,\n \"format\": \"uri\",\n \"target\": \"device/oracleecb/RealmConfig\",\n \"target_attr\": \"identifier\",\n \"target_title\": \"identifier\"\n },\n \"source-address\": {\n \"name\": \"source-address\",\n \"type\": \"string\",\n \"title\": \"source-address\",\n \"readonly\": true,\n \"required\": true\n },\n \"application-protocol\": {\n \"name\": \"application-protocol\",\n \"type\": \"string\",\n \"title\": \"application-protocol\",\n \"readonly\": true,\n \"required\": true,\n \"choices\": [\n {\n \"value\": \"SIP\",\n \"title\": \"SIP\"\n },\n {\n \"value\": \"H323\",\n \"title\": \"H323\"\n },\n {\n \"value\": \"MGCP\",\n \"title\": \"MGCP\"\n },\n {\n \"value\": \"DIAMETER\",\n \"title\": \"DIAMETER\"\n },\n {\n \"value\": \"NONE\",\n \"title\": \"NONE\"\n }\n ]\n },\n \"description\": {\n \"name\": \"description\",\n \"type\": \"string\",\n \"title\": \"description\"\n },\n \"destination-address\": {\n \"name\": \"destination-address\",\n \"type\": \"string\",\n \"title\": \"destination-address\"\n },\n \"transport-protocol\": {\n \"name\": \"transport-protocol\",\n \"type\": \"string\",\n \"title\": \"transport-protocol\",\n \"readonly\": true,\n \"required\": true,\n \"choices\": [\n {\n \"value\": \"UDP\",\n \"title\": \"UDP\"\n },\n {\n \"value\": \"TCP\",\n \"title\": \"TCP\"\n },\n {\n \"value\": \"SCTP\",\n \"title\": \"SCTP\"\n },\n {\n \"value\": \"ALL\",\n \"title\": \"ALL\"\n }\n ]\n },\n \"access\": {\n \"name\": \"access\",\n \"type\": \"string\",\n \"title\": \"access\",\n \"choices\": [\n {\n \"value\": \"deny\",\n \"title\": \"deny\"\n },\n {\n \"value\": \"permit\",\n \"title\": \"permit\"\n }\n ]\n },\n \"average-rate-limit\": {\n \"name\": \"average-rate-limit\",\n \"type\": \"string\",\n \"title\": \"average-rate-limit\"\n },\n \"trust-level\": {\n \"name\": \"trust-level\",\n \"type\": \"string\",\n \"title\": \"trust-level\",\n \"choices\": [\n {\n \"value\": \"none\",\n \"title\": \"none\"\n },\n {\n \"value\": \"low\",\n \"title\": \"low\"\n },\n {\n \"value\": \"medium\",\n \"title\": \"medium\"\n },\n {\n \"value\": \"high\",\n \"title\": \"high\"\n }\n ]\n },\n \"minimum-reserved-bandwidth\": {\n \"name\": \"minimum-reserved-bandwidth\",\n \"type\": \"string\",\n \"title\": \"minimum-reserved-bandwidth\"\n },\n \"invalid-signal-threshold\": {\n \"name\": \"invalid-signal-threshold\",\n \"type\": \"string\",\n \"title\": \"invalid-signal-threshold\"\n },\n \"maximum-signal-threshold\": {\n \"name\": \"maximum-signal-threshold\",\n \"type\": \"string\",\n \"title\": \"maximum-signal-threshold\"\n },\n \"untrusted-signal-threshold\": {\n \"name\": \"untrusted-signal-threshold\",\n \"type\": \"string\",\n \"title\": \"untrusted-signal-threshold\"\n },\n \"deny-period\": {\n \"name\": \"deny-period\",\n \"type\": \"string\",\n \"title\": \"deny-period\"\n },\n \"nat-trust-threshold\": {\n \"name\": \"nat-trust-threshold\",\n \"type\": \"string\",\n \"title\": \"nat-trust-threshold\"\n },\n \"max-endpoints-per-nat\": {\n \"name\": \"max-endpoints-per-nat\",\n \"type\": \"string\",\n \"title\": \"max-endpoints-per-nat\"\n },\n \"nat-invalid-message-threshold\": {\n \"name\": \"nat-invalid-message-threshold\",\n \"type\": \"string\",\n \"title\": \"nat-invalid-message-threshold\"\n },\n \"cac-failure-threshold\": {\n \"name\": \"cac-failure-threshold\",\n \"type\": \"string\",\n \"title\": \"cac-failure-threshold\"\n },\n \"untrust-cac-failure-threshold\": {\n \"name\": \"untrust-cac-failure-threshold\",\n \"type\": \"string\",\n \"title\": \"untrust-cac-failure-threshold\"\n }\n}",
"name": "AccessControl"
}
}
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Get the on-line Help for data/DeviceModel. | GET | /api/data/DeviceModel/help | hierarchy=[hierarchy] | On-line help of Model ref.: data/DeviceModel as HTML |
| Task | Call | URL | Parameters | Payload |
|---|---|---|---|---|
| Modify | PUT | /api/data/DeviceModel/[pkid] | hierarchy=[hierarchy] | (For payload specification) |
For Bulk modification, refer to the Bulk Modify section.
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Delete | DELETE | /api/data/DeviceModel/[pkid] | hierarchy=[hierarchy] |
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Clone instance with [pkid]. The schema rules are applied. | GET | /api/data/DeviceModel/[pkid]/clone/?schema=&schema_rules=true |
|
A JSON payload with:
|
GET http://[host-proxy]/api/data/DeviceModel/?hierarchy=[hierarchy]&format=json
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Get a selected [export_format] of the schema and a single instance with [pkid] of data/DeviceModel; optionally with tag_version at [version] and Configuration Template as [configtemplate]. | GET | /api/data/DeviceModel/[pkid]/export |
|
The response is an attachment. Refer to the list below. |
For export_format=raw_xlsx, the response is a "raw" MS Excel spreadsheet with columns corresponding to the JSON format export and a response format:
Content-Disposition: attachment; filename=<resource_type>_<resource_name>_exportedsheet_CCYY-MM-DD_HH-MM-SS.xlsx
Content-Language:en
Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
For export_format=xlsx, the response is a MS Excel spreadsheet, formatted to show all columns and a response format:
Content-Disposition: attachment; filename=<resource_type>_<resource_name>_exportedsheet_formatted_CCYY-MM-DD_HH-MM-SS.xlsx
Content-Language:en
Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
For export_format=json, the response is a time stamped zip file of data in JSON and a response format:
Content-Disposition: attachment; filename=export_2013-05-17_14:20:19.186444.json.zip
Content-Language:en
Content-Type:application/x-zip
The XLSX format can be used to bulk load instances of data/DeviceModel and the JSON format can be used to import instances of data/DeviceModel.
For Bulk Export, refer to the Bulk Export section.
| Task | Call | URL | Parameters | Payload |
|---|---|---|---|---|
| Tag | PATCH | /api/data/DeviceModel/[pkid]/+tag | hierarchy=[hierarchy] | If payload required: |
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Get | GET | /api/data/DeviceModel/[pkid] | hierarchy=[hierarchy] | The data/DeviceModel instance with [pkid]. |
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Help | GET | /api/data/DeviceModel/[pkid]/help | hierarchy=[hierarchy] | The on-line Help for data/DeviceModel. |