Contents
Entity - Instructions (Questions and Actions) - Interrogates the Instruction table
Verb | Request | Notes | Permissions Required |
---|---|---|---|
GET - single | /Consumer/Instructions /{instructionId}
| Gets an individual question or action by an Id. Example Request { "Id": 54, "Name": "AgentDiagnostics", "Description": "Get live diagnostic information from Tachyon Agents", "ProductPackId": 7, "InstructionType":0, "ReadablePayload": "Tachyon agent diagnostic information.", "Parameters":null, "Schema":[ { "Name": "CrashDumpsCollected", "Type": "int32", "Length": 0 }, { "Name": "BytesReceived", "Type": "int64", "Length": 0 }, { "Name": "BytesSent", "Type": "int64", "Length": 0 }, { "Name": "ConnectionsSuccessful", "Type": "int32", "Length": 0 }, { "Name": "ConnectionsFailed", "Type": "int32", "Length": 0 }, { "Name": "ExecutionsSuccessful", "Type": "int32", "Length": 0 }, { "Name": "ExecutionsErrored", "Type": "int32", "Length": 0 }, { "Name": "ExecutionsNotImplemented", "Type": "int32", "Length": 0 }, { "Name": "ExecutionsPayloadTooLarge", "Type": "int32", "Length": 0 }, { "Name": "StartupTimeUtc", "Type": "datetime", "Length": 0 } ], "Aggregation":null, "Category": "Agent", "InstructionTtlMinutes": 60, "ResponseTtlMinutes": 120, "MinimumInstructionTtlMinutes": 10, "MaximumInstructionTtlMinutes": 1440, "MinimumResponseTtlMinutes": 10, "MaximumResponseTtlMinutes": 10080, "PreviousResultsFilter": null, "ResultsFilter": { "Attribute": "CrashDumpsCollected", "Operator": ">", "Value": "0" }, "ConsumerCustomData": null, "OffloadResponses": false } |
Returns Unauthorized (401) if user does not have the required permissions at global level or on the parent InstructionDefinition's product pack. |
POST | /Consumer/Instructions/search | To search instructions based on criteria along with sorting and pagination. Example Request { "filter":{ "Operator": "AND", "Operands": [ { "Attribute": "Status", "Operator": "==", "Value": "5" }, { "Attribute": "CreatedTime", "Operator": ">=", "Value": "2016-04-21T06:30:00Z" }, { "Attribute": "CreatedTime", "Operator": "<=", "Value": "2016-04-30T19:55:00" } ] }, "start": 1, "pageSize": 10, "sort": [ { "Column": "payload", "Direction": "ASC" }, { "Column": "CreatedTime", "Direction": "DESC" } ] }
Allowed filter columns:
Allowed sortable columns
NOTE: Only system consumer can search for other consumers' instructions. Other consumers will only see their instructions. |
It does not return Unauthorized (401) rather filters out instructions based on permissions. |
POST | /Consumer/Instructions
| Creates a question, action or event. Example Request { "DefinitionId": 9, "DefinitionName": null, "Scope": { "Attribute": "OsType", "Operator" : "=", "Value": "Windows" }, "Parameters": null, "InstructionTtlMinutes": 60, "ResponseTtlMinutes": 120, "ParentInstructionId": null, "KeepRaw": false, "Export": false, "ExportLocation": null, "ResultsFilter": { "Attribute": "NumberOfCores", "Operator": ">", "Value": "2" }, "PreviousResultsFilter": null, "ConsumerCustomData": "MyCustomData", "OffloadResponses": false } will return: Example Response { "Id": 199, "Name": "System Processor Details", "Description": "Represents a device capable of interpreting a sequence of machine instructions on a computer system running Windows", "InstructionType": 0, "ReadablePayload": "Get Processor Details", "Cmd": "SendAll", "Schema": [ { "Name": "Caption", "Type": "string", "Length": 256 }, { "Name": "Description", "Type": "string", "Length": 256 }, { "Name": "Manufacturer", "Type": "string", "Length": 256 }, { "Name": "NumberOfCores", "Type": "int32", "Length": 0 } ], "Aggregation": null, "KeepRaw": false, "Scope": null, "QuestionTtlMinutes": 60, "AnswerTtlMinutes": 120, "CreatedTimestampUtc": "2015-10-01T08:36:38.663", "Status": 0, "AnswerCount": 0, "SentCount": 0, "ParentQuestionId": null, "QuestionDefinitionId": 9, "CreatedBy": "", "ResultsFilter": { "Attribute": "NumberOfCores", "Operator": ">", "Value": "2" }, "PreviousResultsFilter": null, "ConsumerId": 0, "ConsumerCustomData": "MyCustomData", "OffloadResponses": false, "ParameterJson" : null } | For questions
For actions
Returns Unauthorized (401) if user does not have the required permissions at global level or on the parent InstructionDefinition's product pack.
|
POST | /Consumer/Instructions /Targeted
| Creates a question or action, supplying a targeted list of devices by Fqdn As above with the added "Devices" Json property e.g. Example Request { "DefinitionId": 9, "DefinitionName": null, "Parameters": null, "InstructionTtlMinutes": 60, "ResponseTtlMinutes": 120, "ParentInstructionId": null, "KeepRaw": false, "Export": false, "ExportLocation": null, "ResultsFilter": { "Attribute": "NumberOfCores", "Operator": ">", "Value": "2" }, "PreviousResultsFilter": null, "ConsumerCustomData": "MyCustomData", "OffloadResponses": false, "Devices":["pedvwks127.pe.local","pedvwks126.pe.local","pedvwks240.pe.local"] } | As above Note: Fqdn list is limited by MaxRequestLength which defaults to 4MB |
POST | /Consumer/Instructions /{instructionId}/cancel/{keepData} | Cancels an instruction.
| For questions
For actions
Returns Unauthorized (401) if user does not have the required permissions at global level or on the parent InstructionDefinition's product pack. Instruction's owner can also cancel. |
POST | /Consumer/Instructions /{instructionId}/rerun | Reruns a question. Rerunning an action is not allowed, as it can be risky. | For questions
Returns Unauthorized (401) if user does not have the required permissions at global level or on the parent InstructionDefinition's product pack. |
GET | /Consumer/Instructions/{instructionId}/targetlist | Gets targets of given instruction | For questions
Returns Unauthorized (401) if user does not have the required permissions at global level or on the parent InstructionDefinition's product pack. |
GET | /Consumer/Instructions/InFlight/InstructionSet/{instructionSetId} | Gets "In-Flight" instructions for a given Instruction Set.
The result has this shape:
Example Request { "TotalCount": 2, "Items": [ { "Id": 2401, "Name": "TachyonCore-BiosDetails", ..... } ] }
The "TotalCount" property contains the total available In-flight instructions. The "Items" property contains the list of In-flight instructions which the user can see. (and therefore its length could be less than TotalCount).
| Filters out the results based on permissions. |