Rudder exposes a REST API, enabling the user to interact with Rudder without using the webapp, for example in scripts or cronjobs.
Each time the API is extended with new features (new functions, new parameters, new responses, ...), it will be assigned a new version number. This will allow you
to keep your existing scripts (based on previous behavior). Versions will always be integers (no 2.1 or 3.3, just 2, 3, 4, ...) or latest
.
You can change the version of the API used by setting it either within the url or in a header:
/api/version/function
.# Version 10
curl -X GET -H "X-API-Token: yourToken" https://rudder.example.com/rudder/api/10/rules
# Latest
curl -X GET -H "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/rules
# Wrong (not an integer) => 404 not found
curl -X GET -H "X-API-Token: yourToken" https://rudder.example.com/rudder/api/3.14/rules
latest
.# Version 10
curl -X GET -H "X-API-Token: yourToken" -H "X-API-Version: 10" https://rudder.example.com/rudder/api/rules
# Wrong => Error response indicating which versions are available
curl -X GET -H "X-API-Token: yourToken" -H "X-API-Version: 3.14" https://rudder.example.com/rudder/api/rules
In the future, we may declare some versions as deprecated, in order to remove them in a later version of Rudder, but we will never remove any versions without warning, or without a safe period of time to allow migration from previous versions.
Version | Rudder versions it appeared in | Description |
---|---|---|
1 | Never released (for internal use only) | Experimental version |
2 to 10 (deprecated) | 4.3 and before | These versions provided the core set of API features for rules, directives, nodes global parameters, change requests and compliance, rudder settings and system API |
11 | 5.0 | New system API (replacing old localhost v1 api): status, maintenance operations and server behavior |
12 | 6.0 | Node key management |
All responses from the API are in the JSON format.
{
"action": The name of the called function,
"id": The ID of the element you want, if relevant,
"result": The result of your action: success or error,
"data": Only present if this is a success and depends on the function, it's usually a JSON object,
"errorDetails": Only present if this is an error, it contains the error message
}
Success responses are sent with the 200 HTTP (Success) code
Error responses are sent with a HTTP error code (mostly 5xx...)
Rudder's REST API is based on the usage of HTTP methods. We use them to indicate what action will be done by the request. Currently, we use four of them:
GET: search or retrieve information (get rule details, get a group, ...)
PUT: add new objects (create a directive, clone a Rule, ...)
DELETE: remove objects (delete a node, delete a parameter, ...)
POST: update existing objects (update a directive, reload a group, ...)
To use Rudder API, you may need to pass data attributes to the API. Most of them depends on the called function and will be described below, in the corresponding function's section. Some are common to almost all functions and are described here:
Parameters to the API can be sent:
As part of the URL
As request arguments
Directly in JSON format
Parameters in URLs are used to indicate which data you want to interact with. The function will not work if this data is missing.
# Get the Rule of ID "id"
curl -H "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/rules/id
In most cases, data will be sent using request parameters. for all data you want to change, you need to pass one parameter.
Parameters follow the following schema:
key=value
You can pass parameters by two means:
# Update the Rule 'id' with a new name, disabled, and setting it one directive
curl -X POST -H "X-API-Token: yourToken" https://rudder.example.com/rudder/api/rules/latest/{id}?"displayName=my new name"&"enabled=false"&"directives=aDirectiveId"
# Update the Rule 'id' with a new name, disabled, and setting it one directive (in file directive-info.json)
curl -X POST -H "X-API-Token: yourToken"
https://rudder.example.com/rudder/api/rules/latest/{id} -d "displayName=my new name" -d "enabled=false" -d @directive-info.json
Instead of passing parameters one by one, you can instead supply a JSON object containing all you want to do. You'll also have to set the Content-Type header to application/json (without it the JSON content would be ignored).
The supplied file must contain a valid JSON: strings need quotes, booleans and integers don't, ...
The (human readable) format is:
{
"key1": "value1",
"key2": false,
"key3": 42
}
Here is an example with inlined data:
# Update the Rule 'id' with a new name, disabled, and setting it one directive
curl -X POST -H "X-API-Token: yourToken" -H "Content-Type: application/json"
https://rudder.example.com/rudder/api/rules/latest/{id}
-d '{ "displayName": "new name", "enabled": false, "directives": "directiveId"}'
You can also pass a supply the JSON in a file:
# Update the Rule 'id' with a new name, disabled, and setting it one directive
curl -X POST -H "X-API-Token: yourToken" -H "Content-Type: application/json" https://rudder.example.com/rudder/api/rules/latest/{id} -d @jsonParam
Note that some parameters cannot be passed in a JSON (general parameters, it will be precised when necessary), and you will need to pass them a URL parameters if you want them to be taken into account (you can't mix JSON and request parameters)
# Update the Rule 'id' with a new name, disabled, and setting it one directive with reason message "Reason used"
curl -X POST -H "X-API-Token: yourToken" -H "Content-Type: application/json" "https://rudder.example.com/rudder/api/rules/latest/{id}?reason=Reason used" -d @jsonParam -d "reason=Reason ignored"
Some parameters are available for almost all API functions. They will be described in this section. They must be part of the query and can't be submitted in a JSON form.
Field | Type | Description |
---|---|---|
prettify | boolean optional |
Determine if the answer should be prettified (human friendly) or not. We recommend using this for debugging purposes, but not for general script usage as this does add some unnecessary load on the server side.
Default value: |
Field | Type | Description |
---|---|---|
reason | string optional or required |
Set a message to explain the change. If you set the reason messages to be mandatory in the web interface, failing to supply this value will lead to an error.
Default value: |
changeRequestName | string optional |
Set the change request name, is used only if workflows are enabled. The default value depends on the function called
Default value: |
changeRequestDescription | string optional |
Set the change request description, is used only if workflows are enabled.
Default value: |
Authenticating against the API is mandatory for every request, as sensitive information like inventories or configuration rules may get exposed. It is done using a dedicated API Account, than can be created in the web interface on the 'API Accounts' page located inside the Administration part.
API Accounts are not linked to standard user accounts, and currently give full administrative privileges: they must be secured adequately. Once you have created an API account, you get a token that will be needed to authenticate every request. This token is the API equivalent of a password, and must be secured just like a password would be.
On any call to the API, you will need to add a X-API-Token header to your request to authenticate:
curl --request GET --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/rules
If you perform any action (creation, update, deletion) using the API, the event log generated will record the API account as the user.
Security Scheme Type | API Key |
---|---|
Header parameter name: | X-API-Token |
Rudder server
Get current global compliance of a Rudder server
Success
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "getGlobalCompliance" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/compliance?prettify=true'
{- "result": "success",
- "action": "getGlobalCompliance",
- "data": {
- "globalCompliance": {
- "compliance": 57,
- "complianceDetails": {
- "successAlreadyOK": 48.68,
- "noReport": 36.18,
- "successNotApplicable": 5.92,
- "unexpectedMissingComponent": 2.63,
- "error": 1.32,
- "unexpectedUnknownComponent": 2.63,
- "successRepaired": 2.63
}
}
}
}
Rudder server
Get current compliance of all the nodes of a Rudder server
level | integer Default: 10 Example: level=4 Number of depth level of compliance objects to display (1:rules, 2:directives, 3:components, 4:nodes, 5:values, 6:reports) |
Success
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "getNodesCompliance" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/compliance/nodes?level=2'
{- "result": "success",
- "action": "getNodesCompliance",
- "data": {
- "nodes": [
- {
- "id": "f37f4928-fcb5-4acf-a422-d40f123a9670",
- "mode": "full-compliance",
- "compliance": 57.43,
- "complianceDetails": {
- "successAlreadyOK": 48.68,
- "noReport": 36.18,
- "successNotApplicable": 5.92,
- "unexpectedMissingComponent": 2.63,
- "error": 1.32,
- "unexpectedUnknownComponent": 2.63,
- "successRepaired": 2.63
}
}
]
}
}
Rudder server
Get current compliance of a node of a Rudder server
nodeId required | string <uuid (or "root")> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the target node |
level | integer Default: 10 Example: level=4 Number of depth level of compliance objects to display (1:rules, 2:directives, 3:components, 4:nodes, 5:values, 6:reports) |
Success
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "getNodeCompliance" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/compliance/nodes/root?level=1'
{- "result": "success",
- "action": "getNodeCompliance",
- "data": {
- "nodes": [
- {
- "id": "f37f4928-fcb5-4acf-a422-d40f123a9670",
- "mode": "full-compliance",
- "compliance": 57.43,
- "complianceDetails": {
- "successAlreadyOK": 48.68,
- "noReport": 36.18,
- "successNotApplicable": 5.92,
- "unexpectedMissingComponent": 2.63,
- "error": 1.32,
- "unexpectedUnknownComponent": 2.63,
- "successRepaired": 2.63
}
}
]
}
}
Rudder server
Get current compliance of all the rules of a Rudder server
level | integer Default: 10 Example: level=4 Number of depth level of compliance objects to display (1:rules, 2:directives, 3:components, 4:nodes, 5:values, 6:reports) |
Success
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "getRulesCompliance" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/compliance/rules?level=2'
{- "result": "success",
- "action": "getRulesCompliance",
- "data": {
- "rules": [
- {
- "id": "f37f4928-fcb5-4acf-a422-d40f123a9670",
- "mode": "full-compliance",
- "compliance": 57.43,
- "complianceDetails": {
- "successAlreadyOK": 48.68,
- "noReport": 36.18,
- "successNotApplicable": 5.92,
- "unexpectedMissingComponent": 2.63,
- "error": 1.32,
- "unexpectedUnknownComponent": 2.63,
- "successRepaired": 2.63
}
}
]
}
}
Rudder server
Get current compliance of a rule of a Rudder server
ruleId required | string <uuid> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the target rule |
level | integer Default: 10 Example: level=4 Number of depth level of compliance objects to display (1:rules, 2:directives, 3:components, 4:nodes, 5:values, 6:reports) |
Success
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "getRuleCompliance" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/compliance/rules?level=2'
{- "result": "success",
- "action": "getRuleCompliance",
- "data": {
- "rules": [
- {
- "id": "f37f4928-fcb5-4acf-a422-d40f123a9670",
- "mode": "full-compliance",
- "compliance": 57.43,
- "complianceDetails": {
- "successAlreadyOK": 48.68,
- "noReport": 36.18,
- "successNotApplicable": 5.92,
- "unexpectedMissingComponent": 2.63,
- "error": 1.32,
- "unexpectedUnknownComponent": 2.63,
- "successRepaired": 2.63
}
}
]
}
}
Rudder server
List all rules
Rules information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "listRules" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/rules'
{- "result": "success",
- "action": "listRules",
- "data": {
- "rules": [
- {
- "id": "0c1713ae-cb9d-4f7b-abda-ca38c5d643ea",
- "displayName": "Security policy",
- "shortDescription": "Baseline applying CIS guidelines",
- "longDescription": "This rules should be applied to all Linux nodes required basic hardening",
- "directives": [
- "string"
], - "targets": [
- "string"
], - "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
]
}
]
}
}
Rudder server
Create a new rule. You can specify a source rule to clone it.
source | string <uuid> The id of the rule the clone will be based onto. If this parameter if provided, the new rule will be a clone of this source. Other value will override values from the source. |
id | string <uuid> Rule id |
displayName | string Rule name |
shortDescription | string One line rule description |
longDescription | string Rule documentation |
category | string <uuid> The parent category id. If provided, the new rule will be in this parent category |
directives | Array of strings Directives linked to the rule |
targets | Array of strings Groups linked to the rule |
enabled | boolean Is the rule enabled |
system | boolean If true it is an internal Rudder rule |
tags | Array of objects |
Rules information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "createRule" The id of the action |
data required | object |
{- "source": "b9f6d98a-28bc-4d80-90f7-d2f14269e215",
- "id": "0c1713ae-cb9d-4f7b-abda-ca38c5d643ea",
- "displayName": "Security policy",
- "shortDescription": "Baseline applying CIS guidelines",
- "longDescription": "This rules should be applied to all Linux nodes required basic hardening",
- "category": "38e0c6ea-917f-47b8-82e0-e6a1d3dd62ca",
- "directives": [
- "string"
], - "targets": [
- "string"
], - "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
]
}
{- "result": "success",
- "action": "createRule",
- "data": {
- "rules": [
- {
- "id": "0c1713ae-cb9d-4f7b-abda-ca38c5d643ea",
- "displayName": "Security policy",
- "shortDescription": "Baseline applying CIS guidelines",
- "longDescription": "This rules should be applied to all Linux nodes required basic hardening",
- "directives": [
- "string"
], - "targets": [
- "string"
], - "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
]
}
]
}
}
Rudder server
Create a new rule category
parent required | string <uuid> The parent category of the rules |
id | string <uuid> Default: "{autogenerated}" Rule category id, only provide it when needed. |
name required | string Name of the rule category |
description | string Rules category description |
Rules category information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "CreateRuleCategory" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request PUT 'https://rudder.example.com/rudder/api/latest/rules/categories' --data "name=new category" -d "parent=4306143d-eabf-4478-b7b1-1616f4aa02b5" -d "description=A new category created via API"
{- "result": "success",
- "action": "CreateRuleCategory",
- "data": {
- "ruleCategories": [
- {
- "parent": "b9f6d98a-28bc-4d80-90f7-d2f14269e215",
- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "name": "Security policies",
- "description": "Baseline applying CIS guidelines"
}
]
}
}
Rudder server
Get detailed information about a rule category
ruleCategoryId required | string <uuid> Example: e0a311fa-f7b2-4f9e-89a9-db517b9c6b90 Rule category id |
Rules category information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "GetRuleCategoryDetails" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/rules/categories/4306143d-eabf-4478-b7b1-1616f4aa02b5?prettify=true'
{- "result": "success",
- "action": "GetRuleCategoryDetails",
- "data": {
- "rulesCategories": [
- {
- "parent": "b9f6d98a-28bc-4d80-90f7-d2f14269e215",
- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "name": "Security policies",
- "description": "Baseline applying CIS guidelines"
}
]
}
}
Rudder server
Delete a group category. It must have no child groups and no children categories.
ruleCategoryId required | string <uuid> Example: e0a311fa-f7b2-4f9e-89a9-db517b9c6b90 Rule category id |
Groups category information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "DeleteRuleCategory" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request DELETE 'https://rudder.example.com/rudder/api/latest/rules/categories/4306143d-eabf-4478-b7b1-1616f4aa02b5?prettify=true'
{- "result": "success",
- "action": "DeleteRuleCategory",
- "data": {
- "groupCategories": [
- {
- "parent": "b9f6d98a-28bc-4d80-90f7-d2f14269e215",
- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "name": "Security policies",
- "description": "Baseline applying CIS guidelines"
}
]
}
}
Rudder server
Update detailed information about a rule category
ruleCategoryId required | string <uuid> Example: e0a311fa-f7b2-4f9e-89a9-db517b9c6b90 Rule category id |
parent required | string <uuid> The parent category of the rules |
name required | string Name of the rule category |
description | string Rules category description |
Rules category information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "UpdateRuleCategory" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/rules/categories/4306143d-eabf-4478-b7b1-1616f4aa02b5?prettify=true' --data "name=new category name"
{- "result": "success",
- "action": "UpdateRuleCategory",
- "data": {
- "ruleCategories": [
- {
- "parent": "b9f6d98a-28bc-4d80-90f7-d2f14269e215",
- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "name": "Security policies",
- "description": "Baseline applying CIS guidelines"
}
]
}
}
Rudder server
Get all available rules and their categories in a tree
Rules information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "GetRuleTree" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/rules/tree?prettify=true'
{- "result": "success",
- "action": "GetRuleTree",
- "data": {
- "id": "rootRuleCategory",
- "name": "Rules",
- "description": "This is the main category of Rules",
- "parent": "rootRuleCategory",
- "categories": [
- {
- "id": "4306143d-eabf-4478-b7b1-1616f4aa02b5",
- "name": "Dev category",
- "description": "",
- "parent": "rootRuleCategory",
- "categories": [
- {
- "id": "f45ec2fd-69f4-4669-9c22-1af3abe2a107",
- "name": "Specific dev category",
- "description": "",
- "parent": "4306143d-eabf-4478-b7b1-1616f4aa02b5",
- "categories": [ ],
- "rules": [
- {
- "id": "b7fda4e7-3616-4e99-89b0-8ffadaf6b0f0",
- "displayName": "my specific Rule",
- "shortDescription": "",
- "longDescription": "",
- "directives": [ ],
- "targets": [ ],
- "enabled": true,
- "system": false
}
]
}
], - "rules": [
- {
- "id": "f2aa50a9-961c-4cce-a266-380cffcdce32",
- "displayName": "dev Rule",
- "shortDescription": "",
- "longDescription": "",
- "directives": [ ],
- "targets": [ ],
- "enabled": true,
- "system": false
}
]
}
], - "rules": [
- {
- "id": "43cde273-5bb0-466f-8850-7d3fdde03253",
- "displayName": "Global security policy",
- "shortDescription": "",
- "longDescription": "",
- "directives": [ ],
- "targets": [ ],
- "enabled": true,
- "system": false
}, - {
- "id": "32377fd7-02fd-43d0-aab7-28460a91347b",
- "displayName": "Global configuration for all nodes",
- "shortDescription": "",
- "longDescription": "This Rule was created automatically when Rudder was installed. It can be used to target Directives to all nodes (including the Rudder root server itself), or deleted if you would rather create your own set of Rules (it will never be created again).",
- "directives": [
- "bff45fe2-8233-4d28-96aa-78b0390b548b"
], - "targets": [
- {
- "include": {
- "or": [
- "special:all",
- "special:all_exceptPolicyServers",
- "special:all_nodes_without_role"
]
}, - "exclude": {
- "or": [ ]
}
}
], - "enabled": false,
- "system": false
}
]
}
}
Rudder server
Get the details of a rule
ruleId required | string <uuid> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the target rule |
Rules information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "ruleDetails" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/rules/06ba8940-ed6c-4102-ba46-93d640a64c36'
{- "result": "success",
- "action": "ruleDetails",
- "data": {
- "rules": [
- {
- "id": "0c1713ae-cb9d-4f7b-abda-ca38c5d643ea",
- "displayName": "Security policy",
- "shortDescription": "Baseline applying CIS guidelines",
- "longDescription": "This rules should be applied to all Linux nodes required basic hardening",
- "directives": [
- "string"
], - "targets": [
- "string"
], - "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
]
}
]
}
}
Rudder server
Update the details of a rule
ruleId required | string <uuid> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the target rule |
id | string <uuid> Rule id |
displayName | string Rule name |
shortDescription | string One line rule description |
longDescription | string Rule documentation |
category | string <uuid> The parent category id. |
directives | Array of strings Directives linked to the rule |
targets | Array of strings Groups linked to the rule |
enabled | boolean Is the rule enabled |
system | boolean If true it is an internal Rudder rule |
tags | Array of objects |
Rules information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "updateRule" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/rules/17dadf50-6056-4c8b-a935-6b97d14b89a7' --data "displayName=Name of rule"
{- "result": "success",
- "action": "updateRule",
- "data": {
- "rules": [
- {
- "id": "0c1713ae-cb9d-4f7b-abda-ca38c5d643ea",
- "displayName": "Security policy",
- "shortDescription": "Baseline applying CIS guidelines",
- "longDescription": "This rules should be applied to all Linux nodes required basic hardening",
- "category": "38e0c6ea-917f-47b8-82e0-e6a1d3dd62ca",
- "directives": [
- "string"
], - "targets": [
- "string"
], - "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
]
}
]
}
}
Rudder server
Delete a rule.
ruleId required | string <uuid> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the target rule |
Rules information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "deleteRule" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request DELETE 'https://rudder.example.com/rudder/api/latest/rules/176ad06b-ed02-4da3-8053-16225d217741'
{- "result": "success",
- "action": "deleteRule",
- "data": {
- "rules": [
- {
- "id": "0c1713ae-cb9d-4f7b-abda-ca38c5d643ea",
- "displayName": "Security policy",
- "shortDescription": "Baseline applying CIS guidelines",
- "longDescription": "This rules should be applied to all Linux nodes required basic hardening",
- "directives": [
- "string"
], - "targets": [
- "string"
], - "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
]
}
]
}
}
Rudder server
List all directives
Directives information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "listDirectives" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/directives
{- "result": "success",
- "action": "listDirectives",
- "data": {
- "directives": [
- {
- "id": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "displayName": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "shortDescription": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "longDescription": "# Documentation\n* [Ticket link](https://tickets.example.com/issues/3456)",
- "techniqueName": "userManagement",
- "techniqueVersion": "8.0",
- "priority": 5,
- "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
], - "parameters": {
- "name": "sections",
- "sections": [
- {
- "section": {
- "name": "File to manage",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_ACTION",
- "value": "copy"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SOURCE",
- "value": "/vagrant/node.sh"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SYMLINK_ENFORCE",
- "value": "false"
}
}
], - "sections": [
- {
- "section": {
- "name": "File",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PATH",
- "value": "/root/test"
}
}
]
}
}, - {
- "section": {
- "name": "File cleaning options",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_DAYS",
- "value": "0"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_OPTION",
- "value": "none"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_PATTERN",
- "value": ".*"
}
}
]
}
}, - {
- "section": {
- "name": "Permissions",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_CHECK_PERMISSIONS",
- "value": "false"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_GROUP",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_OWNER",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PERM",
- "value": "000"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_RECURSIVE",
- "value": "1"
}
}
]
}
}, - {
- "section": {
- "name": "Post-modification hook",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_COMMAND",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_RUN",
- "value": "false"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
Rudder server
Create a new directive from provided parameters. You can specify a source directive to clone it.
source | string <uuid> The id of the directive the clone will be based onto. If this parameter if provided, the new directive will be a clone of this source. Other value will override values from the source. |
id | string <uuid> Directive id |
displayName | string Human readable name of the directive |
shortDescription | string One line directive description |
longDescription | string <markdown> Description of the technique (rendered as markdown) |
techniqueName | string Directive id |
techniqueVersion | string Directive id |
priority | integer [ 0 .. 10 ] Directive priority. |
enabled | boolean Is the directive enabled |
system | boolean If true it is an internal Rudder directive |
tags | Array of objects |
parameters | object Directive parameters (depends on the source technique) |
Directives information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "createDirective" The id of the action |
data required | object |
{- "source": "b9f6d98a-28bc-4d80-90f7-d2f14269e215",
- "id": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "displayName": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "shortDescription": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "longDescription": "# Documentation\n* [Ticket link](https://tickets.example.com/issues/3456)",
- "techniqueName": "userManagement",
- "techniqueVersion": "8.0",
- "priority": 5,
- "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
], - "parameters": {
- "name": "sections",
- "sections": [
- {
- "section": {
- "name": "File to manage",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_ACTION",
- "value": "copy"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SOURCE",
- "value": "/vagrant/node.sh"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SYMLINK_ENFORCE",
- "value": "false"
}
}
], - "sections": [
- {
- "section": {
- "name": "File",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PATH",
- "value": "/root/test"
}
}
]
}
}, - {
- "section": {
- "name": "File cleaning options",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_DAYS",
- "value": "0"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_OPTION",
- "value": "none"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_PATTERN",
- "value": ".*"
}
}
]
}
}, - {
- "section": {
- "name": "Permissions",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_CHECK_PERMISSIONS",
- "value": "false"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_GROUP",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_OWNER",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PERM",
- "value": "000"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_RECURSIVE",
- "value": "1"
}
}
]
}
}, - {
- "section": {
- "name": "Post-modification hook",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_COMMAND",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_RUN",
- "value": "false"
}
}
]
}
}
]
}
}
]
}
}
{- "result": "success",
- "action": "createDirective",
- "data": {
- "directives": [
- {
- "id": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "displayName": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "shortDescription": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "longDescription": "# Documentation\n* [Ticket link](https://tickets.example.com/issues/3456)",
- "techniqueName": "userManagement",
- "techniqueVersion": "8.0",
- "priority": 5,
- "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
], - "parameters": {
- "name": "sections",
- "sections": [
- {
- "section": {
- "name": "File to manage",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_ACTION",
- "value": "copy"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SOURCE",
- "value": "/vagrant/node.sh"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SYMLINK_ENFORCE",
- "value": "false"
}
}
], - "sections": [
- {
- "section": {
- "name": "File",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PATH",
- "value": "/root/test"
}
}
]
}
}, - {
- "section": {
- "name": "File cleaning options",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_DAYS",
- "value": "0"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_OPTION",
- "value": "none"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_PATTERN",
- "value": ".*"
}
}
]
}
}, - {
- "section": {
- "name": "Permissions",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_CHECK_PERMISSIONS",
- "value": "false"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_GROUP",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_OWNER",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PERM",
- "value": "000"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_RECURSIVE",
- "value": "1"
}
}
]
}
}, - {
- "section": {
- "name": "Post-modification hook",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_COMMAND",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_RUN",
- "value": "false"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
Rudder server
Get all information about a given directive
directiveId required | string <uuid> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the directive |
Directives information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "directiveDetails" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/directives/17dadf50-6056-4c8b-a935-6b97d14b89a7
{- "result": "success",
- "action": "directiveDetails",
- "data": {
- "directives": [
- {
- "id": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "displayName": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "shortDescription": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "longDescription": "# Documentation\n* [Ticket link](https://tickets.example.com/issues/3456)",
- "techniqueName": "userManagement",
- "techniqueVersion": "8.0",
- "priority": 5,
- "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
], - "parameters": {
- "name": "sections",
- "sections": [
- {
- "section": {
- "name": "File to manage",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_ACTION",
- "value": "copy"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SOURCE",
- "value": "/vagrant/node.sh"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SYMLINK_ENFORCE",
- "value": "false"
}
}
], - "sections": [
- {
- "section": {
- "name": "File",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PATH",
- "value": "/root/test"
}
}
]
}
}, - {
- "section": {
- "name": "File cleaning options",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_DAYS",
- "value": "0"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_OPTION",
- "value": "none"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_PATTERN",
- "value": ".*"
}
}
]
}
}, - {
- "section": {
- "name": "Permissions",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_CHECK_PERMISSIONS",
- "value": "false"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_GROUP",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_OWNER",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PERM",
- "value": "000"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_RECURSIVE",
- "value": "1"
}
}
]
}
}, - {
- "section": {
- "name": "Post-modification hook",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_COMMAND",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_RUN",
- "value": "false"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
Rudder server
Delete a directive
directiveId required | string <uuid> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the directive |
Directives information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "deleteDirective" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request DELETE https://rudder.example.com/rudder/api/latest/directives/17dadf50-6056-4c8b-a935-6b97d14b89a7
{- "result": "success",
- "action": "deleteDirective",
- "data": {
- "directives": [
- {
- "id": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "displayName": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "shortDescription": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "longDescription": "# Documentation\n* [Ticket link](https://tickets.example.com/issues/3456)",
- "techniqueName": "userManagement",
- "techniqueVersion": "8.0",
- "priority": 5,
- "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
], - "parameters": {
- "name": "sections",
- "sections": [
- {
- "section": {
- "name": "File to manage",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_ACTION",
- "value": "copy"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SOURCE",
- "value": "/vagrant/node.sh"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SYMLINK_ENFORCE",
- "value": "false"
}
}
], - "sections": [
- {
- "section": {
- "name": "File",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PATH",
- "value": "/root/test"
}
}
]
}
}, - {
- "section": {
- "name": "File cleaning options",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_DAYS",
- "value": "0"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_OPTION",
- "value": "none"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_PATTERN",
- "value": ".*"
}
}
]
}
}, - {
- "section": {
- "name": "Permissions",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_CHECK_PERMISSIONS",
- "value": "false"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_GROUP",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_OWNER",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PERM",
- "value": "000"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_RECURSIVE",
- "value": "1"
}
}
]
}
}, - {
- "section": {
- "name": "Post-modification hook",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_COMMAND",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_RUN",
- "value": "false"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
Rudder server
Update directive information
directiveId required | string <uuid> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the directive |
id | string <uuid> Directive id |
displayName | string Human readable name of the directive |
shortDescription | string One line directive description |
longDescription | string <markdown> Description of the technique (rendered as markdown) |
techniqueName | string Directive id |
techniqueVersion | string Directive id |
priority | integer [ 0 .. 10 ] Directive priority. |
enabled | boolean Is the directive enabled |
system | boolean If true it is an internal Rudder directive |
tags | Array of objects |
parameters | object Directive parameters (depends on the source technique) |
Directives information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "updateDirective" The id of the action |
data required | object |
directive.json: { "longDescription": "Add a loooooooooooong description", "parameters": { "section": { "name": "sections", "sections": [ { "section": { "name": "Variable definition", "vars": [ { "var": { "name": "GENERIC_VARIABLE_CONTENT", "value": "Change Variable Content" } }, { "var": { "name": "GENERIC_VARIABLE_NAME", "value": "new_variable" } } ] } } ] } }, "priority": 5 } curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/directives/cf2a6c72-18ae-4f82-a12c-0b887792db41 --header "Content-type: application/json" --data @directive.json
{- "result": "success",
- "action": "updateDirective",
- "data": {
- "directives": [
- {
- "id": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "displayName": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "shortDescription": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "longDescription": "# Documentation\n* [Ticket link](https://tickets.example.com/issues/3456)",
- "techniqueName": "userManagement",
- "techniqueVersion": "8.0",
- "priority": 5,
- "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
], - "parameters": {
- "name": "sections",
- "sections": [
- {
- "section": {
- "name": "File to manage",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_ACTION",
- "value": "copy"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SOURCE",
- "value": "/vagrant/node.sh"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SYMLINK_ENFORCE",
- "value": "false"
}
}
], - "sections": [
- {
- "section": {
- "name": "File",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PATH",
- "value": "/root/test"
}
}
]
}
}, - {
- "section": {
- "name": "File cleaning options",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_DAYS",
- "value": "0"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_OPTION",
- "value": "none"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_PATTERN",
- "value": ".*"
}
}
]
}
}, - {
- "section": {
- "name": "Permissions",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_CHECK_PERMISSIONS",
- "value": "false"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_GROUP",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_OWNER",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PERM",
- "value": "000"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_RECURSIVE",
- "value": "1"
}
}
]
}
}, - {
- "section": {
- "name": "Post-modification hook",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_COMMAND",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_RUN",
- "value": "false"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
Rudder server
Check that update on a directive is valid
directiveId required | string <uuid> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the directive |
id | string <uuid> Directive id |
displayName | string Human readable name of the directive |
shortDescription | string One line directive description |
longDescription | string <markdown> Description of the technique (rendered as markdown) |
techniqueName | string Directive id |
techniqueVersion | string Directive id |
priority | integer [ 0 .. 10 ] Directive priority. |
enabled | boolean Is the directive enabled |
system | boolean If true it is an internal Rudder directive |
tags | Array of objects |
parameters | object Directive parameters (depends on the source technique) |
Directives information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "checkDirective" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/directives/17dadf50-6056-4c8b-a935-6b97d14b89a7/check --data "displayName=Name of new directive"
{- "result": "success",
- "action": "checkDirective",
- "data": {
- "directives": [
- {
- "id": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "displayName": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "shortDescription": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "longDescription": "# Documentation\n* [Ticket link](https://tickets.example.com/issues/3456)",
- "techniqueName": "userManagement",
- "techniqueVersion": "8.0",
- "priority": 5,
- "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
], - "parameters": {
- "name": "sections",
- "sections": [
- {
- "section": {
- "name": "File to manage",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_ACTION",
- "value": "copy"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SOURCE",
- "value": "/vagrant/node.sh"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SYMLINK_ENFORCE",
- "value": "false"
}
}
], - "sections": [
- {
- "section": {
- "name": "File",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PATH",
- "value": "/root/test"
}
}
]
}
}, - {
- "section": {
- "name": "File cleaning options",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_DAYS",
- "value": "0"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_OPTION",
- "value": "none"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_PATTERN",
- "value": ".*"
}
}
]
}
}, - {
- "section": {
- "name": "Permissions",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_CHECK_PERMISSIONS",
- "value": "false"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_GROUP",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_OWNER",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PERM",
- "value": "000"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_RECURSIVE",
- "value": "1"
}
}
]
}
}, - {
- "section": {
- "name": "Post-modification hook",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_COMMAND",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_RUN",
- "value": "false"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
Rudder server
List all technique with their versions
Techniques information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "listTechniques" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/techniques
{- "result": "success",
- "action": "listTechniques",
- "data": {
- "techniques": [
- {
- "name": "userManagement",
- "versions": [
- "6.0"
]
}
]
}
}
Rudder server
List all directives based on all version of a technique
techniqueName required | string Example: userManagement Technique name |
Techniques information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "listTechniquesDirectives" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/techniques/checkGenericFileContent/directives
{- "result": "success",
- "action": "listTechniquesDirectives",
- "data": {
- "directives": [
- {
- "id": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "displayName": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "shortDescription": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "longDescription": "# Documentation\n* [Ticket link](https://tickets.example.com/issues/3456)",
- "techniqueName": "userManagement",
- "techniqueVersion": "8.0",
- "priority": 5,
- "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
], - "parameters": {
- "name": "sections",
- "sections": [
- {
- "section": {
- "name": "File to manage",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_ACTION",
- "value": "copy"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SOURCE",
- "value": "/vagrant/node.sh"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SYMLINK_ENFORCE",
- "value": "false"
}
}
], - "sections": [
- {
- "section": {
- "name": "File",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PATH",
- "value": "/root/test"
}
}
]
}
}, - {
- "section": {
- "name": "File cleaning options",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_DAYS",
- "value": "0"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_OPTION",
- "value": "none"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_PATTERN",
- "value": ".*"
}
}
]
}
}, - {
- "section": {
- "name": "Permissions",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_CHECK_PERMISSIONS",
- "value": "false"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_GROUP",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_OWNER",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PERM",
- "value": "000"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_RECURSIVE",
- "value": "1"
}
}
]
}
}, - {
- "section": {
- "name": "Post-modification hook",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_COMMAND",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_RUN",
- "value": "false"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
Rudder server
List all directives based on a version of a technique
techniqueName required | string Example: userManagement Technique name |
techniqueVersion required | string Example: 6.0 Technique version |
Techniques information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "listTechniqueDirectives" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/techniques/checkGenericFileContent/6.0/directives
{- "result": "success",
- "action": "listTechniqueDirectives",
- "data": {
- "directives": [
- {
- "id": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "displayName": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "shortDescription": "91252ea2-feb2-412d-8599-c6945fee02c4",
- "longDescription": "# Documentation\n* [Ticket link](https://tickets.example.com/issues/3456)",
- "techniqueName": "userManagement",
- "techniqueVersion": "8.0",
- "priority": 5,
- "enabled": true,
- "system": false,
- "tags": [
- {
- "customer": "MyCompany"
}
], - "parameters": {
- "name": "sections",
- "sections": [
- {
- "section": {
- "name": "File to manage",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_ACTION",
- "value": "copy"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SOURCE",
- "value": "/vagrant/node.sh"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_SYMLINK_ENFORCE",
- "value": "false"
}
}
], - "sections": [
- {
- "section": {
- "name": "File",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PATH",
- "value": "/root/test"
}
}
]
}
}, - {
- "section": {
- "name": "File cleaning options",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_DAYS",
- "value": "0"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_OPTION",
- "value": "none"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_DELETION_PATTERN",
- "value": ".*"
}
}
]
}
}, - {
- "section": {
- "name": "Permissions",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_CHECK_PERMISSIONS",
- "value": "false"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_GROUP",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_OWNER",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_PERM",
- "value": "000"
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_RECURSIVE",
- "value": "1"
}
}
]
}
}, - {
- "section": {
- "name": "Post-modification hook",
- "vars": [
- {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_COMMAND",
- "value": ""
}
}, - {
- "var": {
- "name": "FILE_AND_FOLDER_MANAGEMENT_POST_HOOK_RUN",
- "value": "false"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
Rudder server
List all groups
Groups information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "listGroups" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/groups
{- "result": "success",
- "action": "listGroups",
- "data": {
- "groups": [
- {
- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "displayName": "Ubuntu 18.04 nodes",
- "description": "Documentation for the group",
- "query": {
- "select": "node",
- "composition": "and",
- "where": [
- {
- "objectType": "node",
- "attribute": "OS",
- "comparator": "eq",
- "value": "Linux"
}
]
}, - "nodeIds": [
- "109142a2-40eb-4e6d-84b4-7ebe3670474c"
], - "dynamic": true,
- "enabled": true,
- "groupClass": [
- "group_ubuntu"
]
}
]
}
}
Rudder server
Create a new group based in provided parameters
id | string <uuid> Default: "{autogenerated}" Group id |
displayName | string Name of the group |
description | string Group description |
query | object The criteria defining the group |
nodeIds | Array of strings <uuid (or "root")> List of nodes in the group |
dynamic | boolean Default: true Should the group be dynamically refreshed (if not, it is a static group) |
enabled | boolean Default: true Enable or disable the group |
groupClass | Array of strings <condition> |
Group information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "createGroup" The id of the action |
data required | object |
{- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "displayName": "Ubuntu 18.04 nodes",
- "description": "Documentation for the group",
- "query": {
- "select": "node",
- "composition": "and",
- "where": [
- {
- "objectType": "node",
- "attribute": "OS",
- "comparator": "eq",
- "value": "Linux"
}
]
}, - "nodeIds": [
- "109142a2-40eb-4e6d-84b4-7ebe3670474c"
], - "dynamic": true,
- "enabled": true,
- "groupClass": [
- "group_ubuntu"
]
}
{- "result": "success",
- "action": "createGroup",
- "data": {
- "groups": [
- {
- "source": "b9f6d98a-28bc-4d80-90f7-d2f14269e215",
- "category": "e17ecf6a-a9f2-44de-a97c-116d24d30ff4",
- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "displayName": "Ubuntu 18.04 nodes",
- "description": "Documentation for the group",
- "query": {
- "select": "node",
- "composition": "and",
- "where": [
- {
- "objectType": "node",
- "attribute": "OS",
- "comparator": "eq",
- "value": "Linux"
}
]
}, - "dynamic": true,
- "enabled": true
}
]
}
}
Rudder server
Create a new group category
parent required | string <uuid> The parent category of the groups |
id | string <uuid> Default: "{autogenerated}" Group category id, only provide it when needed. |
name required | string Name of the group category |
description | string Group category description |
Groups category information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "CreateGroupCategory" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request PUT 'https://rudder.example.com/rudder/api/latest/groups/categories' --data "name=new category name" -d "parent=4306143d-eabf-4478-b7b1-1616f4aa02b5" -d "description=A new category created via API'
{- "result": "success",
- "action": "CreateGroupCategory",
- "data": {
- "groupCategories": [
- {
- "parent": "b9f6d98a-28bc-4d80-90f7-d2f14269e215",
- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "name": "Hardware groups",
- "description": "Nodes by hardware provider"
}
]
}
}
Rudder server
Get detailed information about a group category
groupCategoryId required | string <uuid> Example: e0a311fa-f7b2-4f9e-89a9-db517b9c6b90 Group category id |
Groups category information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "GetGroupCategoryDetails" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/groups/categories/4306143d-eabf-4478-b7b1-1616f4aa02b5'
{- "result": "success",
- "action": "GetGroupCategoryDetails",
- "data": {
- "groupCategories": [
- {
- "parent": "b9f6d98a-28bc-4d80-90f7-d2f14269e215",
- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "name": "Hardware groups",
- "description": "Nodes by hardware provider"
}
]
}
}
Rudder server
Delete a group category. It must have no child groups and no children categories.
groupCategoryId required | string <uuid> Example: e0a311fa-f7b2-4f9e-89a9-db517b9c6b90 Group category id |
Groups category information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "DeleteGroupCategory" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request DELETE 'https://rudder.example.com/rudder/api/latest/groups/categories/4306143d-eabf-4478-b7b1-1616f4aa02b5'
{- "result": "success",
- "action": "DeleteGroupCategory",
- "data": {
- "groupCategories": [
- {
- "parent": "b9f6d98a-28bc-4d80-90f7-d2f14269e215",
- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "name": "Hardware groups",
- "description": "Nodes by hardware provider"
}
]
}
}
Rudder server
Update detailed information about a group category
groupCategoryId required | string <uuid> Example: e0a311fa-f7b2-4f9e-89a9-db517b9c6b90 Group category id |
parent required | string <uuid> The parent category of the groups |
name required | string Name of the group category |
description | string Group category description |
Groups category information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "UpdateGroupCategory" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/groups/categories/4306143d-eabf-4478-b7b1-1616f4aa02b5' --data "name=new category name"
{- "result": "success",
- "action": "UpdateGroupCategory",
- "data": {
- "groupCategories": [
- {
- "parent": "b9f6d98a-28bc-4d80-90f7-d2f14269e215",
- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "name": "Hardware groups",
- "description": "Nodes by hardware provider"
}
]
}
}
Rudder server
Get all available groups and their categories in a tree
Groups information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "GetGroupTree" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/groups/tree
{- "result": "success",
- "action": "GetGroupTree",
- "data": {
- "id": "GroupRoot",
- "name": "Root of the group and group categories",
- "description": "This is the root category for the groups (both dynamic and static) and group categories",
- "parent": "GroupRoot",
- "categories": [
- {
- "id": "SystemGroups",
- "name": "System groups",
- "description": "That category holds all the system and special target",
- "parent": "GroupRoot",
- "categories": [ ],
- "groups": [
- {
- "id": "hasPolicyServer-root",
- "displayName": "All nodes managed by root policy server",
- "description": "All nodes known by Rudder directly connected to the root server",
- "query": {
- "select": "nodeAndPolicyServer",
- "composition": "And",
- "where": [
- {
- "objectType": "node",
- "attribute": "policyServerId",
- "comparator": "eq",
- "value": "root"
}
]
}, - "nodeIds": [
- "dd404bda-2785-4959-abaa-8f37a0bbd85e",
- "f6223b0e-e2aa-4d1f-b6d1-74de8ea8e513",
- "root"
], - "dynamic": true,
- "enabled": true
}
]
}, - {
- "id": "38dd2107-a73b-45fb-916d-e110312abb87",
- "name": "production groups",
- "description": "",
- "parent": "GroupRoot",
- "categories": [ ],
- "groups": [
- {
- "id": "79d83ff9-24d8-4be6-b1f7-cbb1c173f7a5",
- "displayName": "Linux nodes",
- "description": "",
- "query": {
- "select": "node",
- "composition": "And",
- "where": [
- {
- "objectType": "node",
- "attribute": "OS",
- "comparator": "eq",
- "value": "Linux"
}
]
}, - "nodeIds": [ ],
- "dynamic": false,
- "enabled": true
}
]
}
], - "groups": [
- {
- "id": "af208515-c2f2-4577-bbf4-9fffebbe6629",
- "displayName": "Test Clients",
- "description": "",
- "query": {
- "select": "node",
- "composition": "Or",
- "where": [
- {
- "objectType": "node",
- "attribute": "nodeHostname",
- "comparator": "regex",
- "value": "servername.*company.net"
}, - {
- "objectType": "node",
- "attribute": "nodeHostname",
- "comparator": "regex",
- "value": "lt serverbla.*company.net"
}
]
}, - "nodeIds": [ ],
- "dynamic": true,
- "enabled": true
}, - {
- "id": "d7634b2d-7189-422b-9971-24c29b75da46",
- "displayName": "Test Clients",
- "description": "",
- "query": {
- "select": "node",
- "composition": "Or",
- "where": [
- {
- "objectType": "node",
- "attribute": "nodeHostname",
- "comparator": "regex",
- "value": "servername.*company.net"
}, - {
- "objectType": "node",
- "attribute": "nodeHostname",
- "comparator": "regex",
- "value": "lt serverbla.*company.net"
}
]
}, - "nodeIds": [ ],
- "dynamic": true,
- "enabled": true
}
]
}
}
Rudder server
Get detailed information about a group
groupId required | string <uuid> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the group |
Groups information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "groupDetails" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/groups/17dadf50-6056-4c8b-a935-6b97d14b89a7'
{- "result": "success",
- "action": "groupDetails",
- "data": {
- "groups": [
- {
- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "displayName": "Ubuntu 18.04 nodes",
- "description": "Documentation for the group",
- "query": {
- "select": "node",
- "composition": "and",
- "where": [
- {
- "objectType": "node",
- "attribute": "OS",
- "comparator": "eq",
- "value": "Linux"
}
]
}, - "nodeIds": [
- "109142a2-40eb-4e6d-84b4-7ebe3670474c"
], - "dynamic": true,
- "enabled": true,
- "groupClass": [
- "group_ubuntu"
]
}
]
}
}
Rudder server
Update detailed information about a group
groupId required | string <uuid> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the group |
category | string <uuid> Id of the new group's category |
displayName | string Name of the group |
description | string Group description |
query | object The criteria defining the group. If not provided, the group will be empty. |
dynamic | boolean Default: true Should the group be dynamically refreshed (if not, it is a static group) |
enabled | boolean Default: true Enable or disable the group |
Groups information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "updateGroup" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/groups/17dadf50-6056-4c8b-a935-6b97d14b89a7' --data "displayName=New name of group"
{- "result": "success",
- "action": "updateGroup",
- "data": {
- "groups": [
- {
- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "displayName": "Ubuntu 18.04 nodes",
- "description": "Documentation for the group",
- "query": {
- "select": "node",
- "composition": "and",
- "where": [
- {
- "objectType": "node",
- "attribute": "OS",
- "comparator": "eq",
- "value": "Linux"
}
]
}, - "nodeIds": [
- "109142a2-40eb-4e6d-84b4-7ebe3670474c"
], - "dynamic": true,
- "enabled": true,
- "groupClass": [
- "group_ubuntu"
]
}
]
}
}
Rudder server
Update detailed information about a group
groupId required | string <uuid> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the group |
Groups information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "deleteGroup" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request DELETE 'https://rudder.example.com/rudder/api/latest/groups/17dadf50-6056-4c8b-a935-6b97d14b89a7'
{- "result": "success",
- "action": "deleteGroup",
- "data": {
- "groups": [
- {
- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "displayName": "Ubuntu 18.04 nodes",
- "description": "Documentation for the group",
- "query": {
- "select": "node",
- "composition": "and",
- "where": [
- {
- "objectType": "node",
- "attribute": "OS",
- "comparator": "eq",
- "value": "Linux"
}
]
}, - "nodeIds": [
- "109142a2-40eb-4e6d-84b4-7ebe3670474c"
], - "dynamic": true,
- "enabled": true,
- "groupClass": [
- "group_ubuntu"
]
}
]
}
}
Rudder server
Recompute the content of a group
groupId required | string <uuid> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the group |
Groups information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "reloadGroup" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/groups/17dadf50-6056-4c8b-a935-6b97d14b89a7/reload'
{- "result": "success",
- "action": "reloadGroup",
- "data": {
- "groups": [
- {
- "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
- "displayName": "Ubuntu 18.04 nodes",
- "description": "Documentation for the group",
- "query": {
- "select": "node",
- "composition": "and",
- "where": [
- {
- "objectType": "node",
- "attribute": "OS",
- "comparator": "eq",
- "value": "Linux"
}
]
}, - "nodeIds": [
- "109142a2-40eb-4e6d-84b4-7ebe3670474c"
], - "dynamic": true,
- "enabled": true,
- "groupClass": [
- "group_ubuntu"
]
}
]
}
}
Rudder server
Get information about the nodes managed by the target server
include | string <comma-separated list> Default: "default" Example: include=minimal Level of information to include from the node inventory. Some base levels are defined (minimal, default, full). You can add fields you want to a base level by adding them to the list, possible values are keys from json answer. If you don't provide a base level, they will be added to
|
query | object The criterion you want to find for your nodes. Replaces the |
where | Array of objects The criterion you want to find for your nodes |
composition | string Default: "and" Enum: "and" "or" Example: composition=and Boolean operator to use between each |
select | string Default: "node" What kind of data we want to include. Here we can get policy servers/relay by setting |
Nodes
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "listAcceptedNodes" The id of the action |
data required | object Information about the nodes |
curl --header "X-API-Token: yourToken" 'https://rudder.example.com/rudder/api/latest/nodes?where=\[\{"objectType":"node","attribute":"OS","comparator":"eq","value":"Linux"\},\{"objectType":"node","attribute":"nodeHostname","comparator":"regex","value":"node1.*"\}\]'
{- "result": "success",
- "action": "listAcceptedNodes",
- "data": {
- "nodes": [
- {
- "id": "9a1773c9-0889-40b6-be89-f6504443ac1b",
- "hostname": "node1.example.com",
- "status": "accepted",
- "architectureDescription": "x86_64",
- "description": "",
- "ipAddresses": [
- "192.168.23.45"
], - "lastRunDate": "2020-02-29T14:48:28Z",
- "lastInventoryDate": "2020-02-29T10:11:32Z",
- "machine": {
- "id": "string",
- "type": "Virtual",
- "provider": "vbox",
- "manufacturer": "innotek GmbH",
- "serialNumber": "ece12459-2b90-49c9-ab1e-72e38f797421"
}, - "os": {
- "type": "Linux",
- "name": "Centos",
- "version": "7.6.1810",
- "fullName": "CentOS Linux release 7.6.1810 (Core)",
- "servicePack": "3",
- "kernelVersion": "3.10.0-957.1.3.el7.x86_64"
}, - "managementTechnology": [
- {
- "name": "Rudder",
- "version": "6.0.3.release-1.EL.7"
}
], - "policyServerId": "root",
- "properties": [
- {
- "name": "datacenter",
- "value": "AMS2"
}
], - "policyMode": "audit",
- "ram": 0,
- "timezone": {
- "name": "UTC",
- "offset": "+0000"
}, - "accounts": [
- "root"
], - "bios": {
- "name": "VirtualBox",
- "version": "1.2.3",
- "editor": "innotek GmbH",
- "quantity": 1,
- "releaseDate": "2006-12-01 00:00:00+0000",
- "description": "FIXME"
}, - "controllers": [
- {
- "name": "string",
- "type": "string",
- "quantity": 1,
- "description": "string",
- "manufacturer": "string"
}
], - "environmentVariables": [
- {
- "name": "LANG",
- "value": "en_US.UTF-8"
}
], - "fileSystems": [
- {
- "name": "ext4",
- "mountPoint": "/srv",
- "description": "string",
- "fileCount": 1456,
- "freeSpace": 3487,
- "totalSpace": 208869
}
], - "managementTechnologyDetails": {
- "cfengineKeys": [
- "-----BEGIN CERTIFICATE-----\\nMIIFqDCC[...]3tALNn\\n-----END CERTIFICATE-----"
], - "cfengineUser": "root"
}, - "memories": [
- {
- "name": "string",
- "speed": 1066,
- "type": "string",
- "caption": "string",
- "quantity": 1,
- "capacity": 2,
- "slotNumber": 3,
- "description": "string",
- "serialNumber": "string"
}
], - "networkInterfaces": [
- {
- "name": "eth0",
- "mask": [
- "255.255.255.0"
], - "type": "ethernet",
- "speed": "1000",
- "status": "Up",
- "dhcpServer": "192.168.34.5",
- "macAddress": "08:00:27:6f:5c:14",
- "ipAddresses": [
- "192.168.76.4"
]
}
], - "ports": [
- {
- "name": "string",
- "type": "string",
- "quantity": 1,
- "description": "string"
}
], - "processes": [
- {
- "pid": 3576,
- "tty": "?",
- "name": "/usr/sbin/httpd -DFOREGROUND",
- "user": "apache",
- "started": "2020-02-29 00:24",
- "memory": 0.4000000059604645,
- "virtualMemory": 4380,
- "cpuUsage": 1,
- "description": "string"
}
], - "processors": [
- {
- "name": "Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz",
- "arch": "i386",
- "model": 158,
- "familyName": "string",
- "core": 1,
- "speed": 2800,
- "thread": 1,
- "stepping": 9,
- "manufacturer": "Intel",
- "quantity": 1,
- "cpuid": "string",
- "externalClock": "string",
- "description": "string"
}
], - "slots": [
- {
- "name": "string",
- "status": "string",
- "quantity": 0,
- "description": "string"
}
], - "software": [
- {
- "name": "libcurl",
- "version": "7.29.0-54.el7_7.2",
- "editor": "CentOS",
- "description": "A library for getting files from web servers",
- "releaseDate": "2020-06-25",
- "license": {
- "oem": "string",
- "name": "string",
- "productId": "string",
- "productKey": "string",
- "description": "string",
- "expirationDate": "2020-06-25"
}
}
], - "sound": [
- {
- "name": "string",
- "quantity": 1,
- "description": "string"
}
], - "storage": [
- {
- "name": "sda",
- "type": "disk",
- "size": 85899,
- "model": "VBOXHARDDISK",
- "firmware": "10",
- "quantity": 1,
- "description": "string",
- "manufacturer": "string",
- "serialNumber": "000a1954"
}
], - "videos": [
- {
- "name": "string",
- "memory": "string",
- "chipset": "string",
- "quantity": 1,
- "resolution": "string",
- "description": "string"
}
], - "virtualMachines": [
- {
- "name": "string",
- "type": "string",
- "uuid": "string",
- "vcpu": "string",
- "owner": "string",
- "status": "string",
- "memory": "string",
- "subsystem": "string",
- "description": "string"
}
]
}
]
}
}
Rudder server
This API allows to trigger an agent run on the target node. Response contains a json stating if agent could be started on each node, but not if the run went fine and do not display any output from it. You can see the result of the run in Rudder web interface or in the each agent logs.
Result
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "applyPolicyAllNodes" The id of the action |
data required | Array of objects |
curl --header "X-API-Token: yourToken" --request POST --header "Content-Type: application/json" https://rudder.example.com/rudder/api/latest/nodes/applyPolicy
{- "result": "success",
- "action": "applyPolicyAllNodes",
- "data": [
- {
- "id": "249e14ac-2418-457c-a27d-1650907b13c7",
- "hostname": "node.example.com",
- "result": "Started"
}
]
}
Rudder server
Accept or refuse a pending node
nodeId required | string <uuid (or "root")> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the target node |
status | string Enum: "accepted" "refused" New status of the pending node |
Nodes
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "changePendingNodeStatus" The id of the action |
data required | object Information about the node |
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/nodes/pending/17dadf50-6056-4c8b-a935-6b97d14b89a7 --data "status=accepted"
{- "result": "success",
- "action": "changePendingNodeStatus",
- "data": {
- "nodes": [
- {
- "id": "9a1773c9-0889-40b6-be89-f6504443ac1b",
- "hostname": "node1.example.com",
- "status": "accepted",
- "architectureDescription": "x86_64",
- "description": "",
- "ipAddresses": [
- "192.168.23.45"
], - "lastRunDate": "2020-02-29T14:48:28Z",
- "lastInventoryDate": "2020-02-29T10:11:32Z",
- "machine": {
- "id": "string",
- "type": "Virtual",
- "provider": "vbox",
- "manufacturer": "innotek GmbH",
- "serialNumber": "ece12459-2b90-49c9-ab1e-72e38f797421"
}, - "os": {
- "type": "Linux",
- "name": "Centos",
- "version": "7.6.1810",
- "fullName": "CentOS Linux release 7.6.1810 (Core)",
- "servicePack": "3",
- "kernelVersion": "3.10.0-957.1.3.el7.x86_64"
}, - "managementTechnology": [
- {
- "name": "Rudder",
- "version": "6.0.3.release-1.EL.7"
}
], - "policyServerId": "root",
- "properties": [
- {
- "name": "datacenter",
- "value": "AMS2"
}
], - "policyMode": "audit",
- "ram": 0,
- "timezone": {
- "name": "UTC",
- "offset": "+0000"
}, - "accounts": [
- "root"
], - "bios": {
- "name": "VirtualBox",
- "version": "1.2.3",
- "editor": "innotek GmbH",
- "quantity": 1,
- "releaseDate": "2006-12-01 00:00:00+0000",
- "description": "FIXME"
}, - "controllers": [
- {
- "name": "string",
- "type": "string",
- "quantity": 1,
- "description": "string",
- "manufacturer": "string"
}
], - "environmentVariables": [
- {
- "name": "LANG",
- "value": "en_US.UTF-8"
}
], - "fileSystems": [
- {
- "name": "ext4",
- "mountPoint": "/srv",
- "description": "string",
- "fileCount": 1456,
- "freeSpace": 3487,
- "totalSpace": 208869
}
], - "managementTechnologyDetails": {
- "cfengineKeys": [
- "-----BEGIN CERTIFICATE-----\\nMIIFqDCC[...]3tALNn\\n-----END CERTIFICATE-----"
], - "cfengineUser": "root"
}, - "memories": [
- {
- "name": "string",
- "speed": 1066,
- "type": "string",
- "caption": "string",
- "quantity": 1,
- "capacity": 2,
- "slotNumber": 3,
- "description": "string",
- "serialNumber": "string"
}
], - "networkInterfaces": [
- {
- "name": "eth0",
- "mask": [
- "255.255.255.0"
], - "type": "ethernet",
- "speed": "1000",
- "status": "Up",
- "dhcpServer": "192.168.34.5",
- "macAddress": "08:00:27:6f:5c:14",
- "ipAddresses": [
- "192.168.76.4"
]
}
], - "ports": [
- {
- "name": "string",
- "type": "string",
- "quantity": 1,
- "description": "string"
}
], - "processes": [
- {
- "pid": 3576,
- "tty": "?",
- "name": "/usr/sbin/httpd -DFOREGROUND",
- "user": "apache",
- "started": "2020-02-29 00:24",
- "memory": 0.4000000059604645,
- "virtualMemory": 4380,
- "cpuUsage": 1,
- "description": "string"
}
], - "processors": [
- {
- "name": "Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz",
- "arch": "i386",
- "model": 158,
- "familyName": "string",
- "core": 1,
- "speed": 2800,
- "thread": 1,
- "stepping": 9,
- "manufacturer": "Intel",
- "quantity": 1,
- "cpuid": "string",
- "externalClock": "string",
- "description": "string"
}
], - "slots": [
- {
- "name": "string",
- "status": "string",
- "quantity": 0,
- "description": "string"
}
], - "software": [
- {
- "name": "libcurl",
- "version": "7.29.0-54.el7_7.2",
- "editor": "CentOS",
- "description": "A library for getting files from web servers",
- "releaseDate": "2020-06-25",
- "license": {
- "oem": "string",
- "name": "string",
- "productId": "string",
- "productKey": "string",
- "description": "string",
- "expirationDate": "2020-06-25"
}
}
], - "sound": [
- {
- "name": "string",
- "quantity": 1,
- "description": "string"
}
], - "storage": [
- {
- "name": "sda",
- "type": "disk",
- "size": 85899,
- "model": "VBOXHARDDISK",
- "firmware": "10",
- "quantity": 1,
- "description": "string",
- "manufacturer": "string",
- "serialNumber": "000a1954"
}
], - "videos": [
- {
- "name": "string",
- "memory": "string",
- "chipset": "string",
- "quantity": 1,
- "resolution": "string",
- "description": "string"
}
], - "virtualMachines": [
- {
- "name": "string",
- "type": "string",
- "uuid": "string",
- "vcpu": "string",
- "owner": "string",
- "status": "string",
- "memory": "string",
- "subsystem": "string",
- "description": "string"
}
]
}
]
}
}
Rudder server
Get details about a given node
nodeId required | string <uuid (or "root")> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the target node |
include | string <comma-separated list> Default: "default" Example: include=minimal Level of information to include from the node inventory. Some base levels are defined (minimal, default, full). You can add fields you want to a base level by adding them to the list, possible values are keys from json answer. If you don't provide a base level, they will be added to
|
Nodes
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "nodeDetails" The id of the action |
data required | object Information about the node |
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/nodes/17dadf50-6056-4c8b-a935-6b97d14b89a7\?include=full
{- "result": "success",
- "action": "nodeDetails",
- "data": {
- "nodes": [
- {
- "id": "9a1773c9-0889-40b6-be89-f6504443ac1b",
- "hostname": "node1.example.com",
- "status": "accepted",
- "architectureDescription": "x86_64",
- "description": "",
- "ipAddresses": [
- "192.168.23.45"
], - "lastRunDate": "2020-02-29T14:48:28Z",
- "lastInventoryDate": "2020-02-29T10:11:32Z",
- "machine": {
- "id": "string",
- "type": "Virtual",
- "provider": "vbox",
- "manufacturer": "innotek GmbH",
- "serialNumber": "ece12459-2b90-49c9-ab1e-72e38f797421"
}, - "os": {
- "type": "Linux",
- "name": "Centos",
- "version": "7.6.1810",
- "fullName": "CentOS Linux release 7.6.1810 (Core)",
- "servicePack": "3",
- "kernelVersion": "3.10.0-957.1.3.el7.x86_64"
}, - "managementTechnology": [
- {
- "name": "Rudder",
- "version": "6.0.3.release-1.EL.7"
}
], - "policyServerId": "root",
- "properties": [
- {
- "name": "datacenter",
- "value": "AMS2"
}
], - "policyMode": "audit",
- "ram": 0,
- "timezone": {
- "name": "UTC",
- "offset": "+0000"
}, - "accounts": [
- "root"
], - "bios": {
- "name": "VirtualBox",
- "version": "1.2.3",
- "editor": "innotek GmbH",
- "quantity": 1,
- "releaseDate": "2006-12-01 00:00:00+0000",
- "description": "FIXME"
}, - "controllers": [
- {
- "name": "string",
- "type": "string",
- "quantity": 1,
- "description": "string",
- "manufacturer": "string"
}
], - "environmentVariables": [
- {
- "name": "LANG",
- "value": "en_US.UTF-8"
}
], - "fileSystems": [
- {
- "name": "ext4",
- "mountPoint": "/srv",
- "description": "string",
- "fileCount": 1456,
- "freeSpace": 3487,
- "totalSpace": 208869
}
], - "managementTechnologyDetails": {
- "cfengineKeys": [
- "-----BEGIN CERTIFICATE-----\\nMIIFqDCC[...]3tALNn\\n-----END CERTIFICATE-----"
], - "cfengineUser": "root"
}, - "memories": [
- {
- "name": "string",
- "speed": 1066,
- "type": "string",
- "caption": "string",
- "quantity": 1,
- "capacity": 2,
- "slotNumber": 3,
- "description": "string",
- "serialNumber": "string"
}
], - "networkInterfaces": [
- {
- "name": "eth0",
- "mask": [
- "255.255.255.0"
], - "type": "ethernet",
- "speed": "1000",
- "status": "Up",
- "dhcpServer": "192.168.34.5",
- "macAddress": "08:00:27:6f:5c:14",
- "ipAddresses": [
- "192.168.76.4"
]
}
], - "ports": [
- {
- "name": "string",
- "type": "string",
- "quantity": 1,
- "description": "string"
}
], - "processes": [
- {
- "pid": 3576,
- "tty": "?",
- "name": "/usr/sbin/httpd -DFOREGROUND",
- "user": "apache",
- "started": "2020-02-29 00:24",
- "memory": 0.4000000059604645,
- "virtualMemory": 4380,
- "cpuUsage": 1,
- "description": "string"
}
], - "processors": [
- {
- "name": "Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz",
- "arch": "i386",
- "model": 158,
- "familyName": "string",
- "core": 1,
- "speed": 2800,
- "thread": 1,
- "stepping": 9,
- "manufacturer": "Intel",
- "quantity": 1,
- "cpuid": "string",
- "externalClock": "string",
- "description": "string"
}
], - "slots": [
- {
- "name": "string",
- "status": "string",
- "quantity": 0,
- "description": "string"
}
], - "software": [
- {
- "name": "libcurl",
- "version": "7.29.0-54.el7_7.2",
- "editor": "CentOS",
- "description": "A library for getting files from web servers",
- "releaseDate": "2020-06-25",
- "license": {
- "oem": "string",
- "name": "string",
- "productId": "string",
- "productKey": "string",
- "description": "string",
- "expirationDate": "2020-06-25"
}
}
], - "sound": [
- {
- "name": "string",
- "quantity": 1,
- "description": "string"
}
], - "storage": [
- {
- "name": "sda",
- "type": "disk",
- "size": 85899,
- "model": "VBOXHARDDISK",
- "firmware": "10",
- "quantity": 1,
- "description": "string",
- "manufacturer": "string",
- "serialNumber": "000a1954"
}
], - "videos": [
- {
- "name": "string",
- "memory": "string",
- "chipset": "string",
- "quantity": 1,
- "resolution": "string",
- "description": "string"
}
], - "virtualMachines": [
- {
- "name": "string",
- "type": "string",
- "uuid": "string",
- "vcpu": "string",
- "owner": "string",
- "status": "string",
- "memory": "string",
- "subsystem": "string",
- "description": "string"
}
]
}
]
}
}
Rudder server
Update node settings and properties
nodeId required | string <uuid (or "root")> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the target node |
properties | Array of objects |
policyMode | string Enum: "audit" "enforce" "default" In which mode the node will apply its configuration policy. Use |
state | string Enum: "enabled" "ignored" "empty-policies" "initializing" "preparing-eol" The node life cycle state. See dedicated doc for more information. |
Nodes
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "updateNode" The id of the action |
data required | object Information about the node |
{- "properties": [
- {
- "name": "datacenter",
- "value": "AMS2"
}
], - "policyMode": "audit",
- "state": "enabled"
}
{- "result": "success",
- "action": "updateNode",
- "data": {
- "nodes": [
- {
- "id": "9a1773c9-0889-40b6-be89-f6504443ac1b",
- "hostname": "node1.example.com",
- "status": "accepted",
- "architectureDescription": "x86_64",
- "description": "",
- "ipAddresses": [
- "192.168.23.45"
], - "lastRunDate": "2020-02-29T14:48:28Z",
- "lastInventoryDate": "2020-02-29T10:11:32Z",
- "machine": {
- "id": "string",
- "type": "Virtual",
- "provider": "vbox",
- "manufacturer": "innotek GmbH",
- "serialNumber": "ece12459-2b90-49c9-ab1e-72e38f797421"
}, - "os": {
- "type": "Linux",
- "name": "Centos",
- "version": "7.6.1810",
- "fullName": "CentOS Linux release 7.6.1810 (Core)",
- "servicePack": "3",
- "kernelVersion": "3.10.0-957.1.3.el7.x86_64"
}, - "managementTechnology": [
- {
- "name": "Rudder",
- "version": "6.0.3.release-1.EL.7"
}
], - "policyServerId": "root",
- "properties": [
- {
- "name": "datacenter",
- "value": "AMS2"
}
], - "policyMode": "audit",
- "ram": 0,
- "timezone": {
- "name": "UTC",
- "offset": "+0000"
}, - "accounts": [
- "root"
], - "bios": {
- "name": "VirtualBox",
- "version": "1.2.3",
- "editor": "innotek GmbH",
- "quantity": 1,
- "releaseDate": "2006-12-01 00:00:00+0000",
- "description": "FIXME"
}, - "controllers": [
- {
- "name": "string",
- "type": "string",
- "quantity": 1,
- "description": "string",
- "manufacturer": "string"
}
], - "environmentVariables": [
- {
- "name": "LANG",
- "value": "en_US.UTF-8"
}
], - "fileSystems": [
- {
- "name": "ext4",
- "mountPoint": "/srv",
- "description": "string",
- "fileCount": 1456,
- "freeSpace": 3487,
- "totalSpace": 208869
}
], - "managementTechnologyDetails": {
- "cfengineKeys": [
- "-----BEGIN CERTIFICATE-----\\nMIIFqDCC[...]3tALNn\\n-----END CERTIFICATE-----"
], - "cfengineUser": "root"
}, - "memories": [
- {
- "name": "string",
- "speed": 1066,
- "type": "string",
- "caption": "string",
- "quantity": 1,
- "capacity": 2,
- "slotNumber": 3,
- "description": "string",
- "serialNumber": "string"
}
], - "networkInterfaces": [
- {
- "name": "eth0",
- "mask": [
- "255.255.255.0"
], - "type": "ethernet",
- "speed": "1000",
- "status": "Up",
- "dhcpServer": "192.168.34.5",
- "macAddress": "08:00:27:6f:5c:14",
- "ipAddresses": [
- "192.168.76.4"
]
}
], - "ports": [
- {
- "name": "string",
- "type": "string",
- "quantity": 1,
- "description": "string"
}
], - "processes": [
- {
- "pid": 3576,
- "tty": "?",
- "name": "/usr/sbin/httpd -DFOREGROUND",
- "user": "apache",
- "started": "2020-02-29 00:24",
- "memory": 0.4000000059604645,
- "virtualMemory": 4380,
- "cpuUsage": 1,
- "description": "string"
}
], - "processors": [
- {
- "name": "Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz",
- "arch": "i386",
- "model": 158,
- "familyName": "string",
- "core": 1,
- "speed": 2800,
- "thread": 1,
- "stepping": 9,
- "manufacturer": "Intel",
- "quantity": 1,
- "cpuid": "string",
- "externalClock": "string",
- "description": "string"
}
], - "slots": [
- {
- "name": "string",
- "status": "string",
- "quantity": 0,
- "description": "string"
}
], - "software": [
- {
- "name": "libcurl",
- "version": "7.29.0-54.el7_7.2",
- "editor": "CentOS",
- "description": "A library for getting files from web servers",
- "releaseDate": "2020-06-25",
- "license": {
- "oem": "string",
- "name": "string",
- "productId": "string",
- "productKey": "string",
- "description": "string",
- "expirationDate": "2020-06-25"
}
}
], - "sound": [
- {
- "name": "string",
- "quantity": 1,
- "description": "string"
}
], - "storage": [
- {
- "name": "sda",
- "type": "disk",
- "size": 85899,
- "model": "VBOXHARDDISK",
- "firmware": "10",
- "quantity": 1,
- "description": "string",
- "manufacturer": "string",
- "serialNumber": "000a1954"
}
], - "videos": [
- {
- "name": "string",
- "memory": "string",
- "chipset": "string",
- "quantity": 1,
- "resolution": "string",
- "description": "string"
}
], - "virtualMachines": [
- {
- "name": "string",
- "type": "string",
- "uuid": "string",
- "vcpu": "string",
- "owner": "string",
- "status": "string",
- "memory": "string",
- "subsystem": "string",
- "description": "string"
}
]
}
]
}
}
Rudder server
Remove a node from the Rudder server. It won't be managed anymore.
nodeId required | string <uuid (or "root")> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the target node |
Nodes
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "deleteNode" The id of the action |
data required | object Information about the node |
curl --header "X-API-Token: yourToken" --request DELETE https://rudder.example.com/rudder/api/latest/nodes/17dadf50-6056-4c8b-a935-6b97d14b89a7
{- "result": "success",
- "action": "deleteNode",
- "data": {
- "nodes": [
- {
- "id": "9a1773c9-0889-40b6-be89-f6504443ac1b",
- "hostname": "node1.example.com",
- "status": "accepted",
- "architectureDescription": "x86_64",
- "description": "",
- "ipAddresses": [
- "192.168.23.45"
], - "lastRunDate": "2020-02-29T14:48:28Z",
- "lastInventoryDate": "2020-02-29T10:11:32Z",
- "machine": {
- "id": "string",
- "type": "Virtual",
- "provider": "vbox",
- "manufacturer": "innotek GmbH",
- "serialNumber": "ece12459-2b90-49c9-ab1e-72e38f797421"
}, - "os": {
- "type": "Linux",
- "name": "Centos",
- "version": "7.6.1810",
- "fullName": "CentOS Linux release 7.6.1810 (Core)",
- "servicePack": "3",
- "kernelVersion": "3.10.0-957.1.3.el7.x86_64"
}, - "managementTechnology": [
- {
- "name": "Rudder",
- "version": "6.0.3.release-1.EL.7"
}
], - "policyServerId": "root",
- "properties": [
- {
- "name": "datacenter",
- "value": "AMS2"
}
], - "policyMode": "audit",
- "ram": 0,
- "timezone": {
- "name": "UTC",
- "offset": "+0000"
}, - "accounts": [
- "root"
], - "bios": {
- "name": "VirtualBox",
- "version": "1.2.3",
- "editor": "innotek GmbH",
- "quantity": 1,
- "releaseDate": "2006-12-01 00:00:00+0000",
- "description": "FIXME"
}, - "controllers": [
- {
- "name": "string",
- "type": "string",
- "quantity": 1,
- "description": "string",
- "manufacturer": "string"
}
], - "environmentVariables": [
- {
- "name": "LANG",
- "value": "en_US.UTF-8"
}
], - "fileSystems": [
- {
- "name": "ext4",
- "mountPoint": "/srv",
- "description": "string",
- "fileCount": 1456,
- "freeSpace": 3487,
- "totalSpace": 208869
}
], - "managementTechnologyDetails": {
- "cfengineKeys": [
- "-----BEGIN CERTIFICATE-----\\nMIIFqDCC[...]3tALNn\\n-----END CERTIFICATE-----"
], - "cfengineUser": "root"
}, - "memories": [
- {
- "name": "string",
- "speed": 1066,
- "type": "string",
- "caption": "string",
- "quantity": 1,
- "capacity": 2,
- "slotNumber": 3,
- "description": "string",
- "serialNumber": "string"
}
], - "networkInterfaces": [
- {
- "name": "eth0",
- "mask": [
- "255.255.255.0"
], - "type": "ethernet",
- "speed": "1000",
- "status": "Up",
- "dhcpServer": "192.168.34.5",
- "macAddress": "08:00:27:6f:5c:14",
- "ipAddresses": [
- "192.168.76.4"
]
}
], - "ports": [
- {
- "name": "string",
- "type": "string",
- "quantity": 1,
- "description": "string"
}
], - "processes": [
- {
- "pid": 3576,
- "tty": "?",
- "name": "/usr/sbin/httpd -DFOREGROUND",
- "user": "apache",
- "started": "2020-02-29 00:24",
- "memory": 0.4000000059604645,
- "virtualMemory": 4380,
- "cpuUsage": 1,
- "description": "string"
}
], - "processors": [
- {
- "name": "Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz",
- "arch": "i386",
- "model": 158,
- "familyName": "string",
- "core": 1,
- "speed": 2800,
- "thread": 1,
- "stepping": 9,
- "manufacturer": "Intel",
- "quantity": 1,
- "cpuid": "string",
- "externalClock": "string",
- "description": "string"
}
], - "slots": [
- {
- "name": "string",
- "status": "string",
- "quantity": 0,
- "description": "string"
}
], - "software": [
- {
- "name": "libcurl",
- "version": "7.29.0-54.el7_7.2",
- "editor": "CentOS",
- "description": "A library for getting files from web servers",
- "releaseDate": "2020-06-25",
- "license": {
- "oem": "string",
- "name": "string",
- "productId": "string",
- "productKey": "string",
- "description": "string",
- "expirationDate": "2020-06-25"
}
}
], - "sound": [
- {
- "name": "string",
- "quantity": 1,
- "description": "string"
}
], - "storage": [
- {
- "name": "sda",
- "type": "disk",
- "size": 85899,
- "model": "VBOXHARDDISK",
- "firmware": "10",
- "quantity": 1,
- "description": "string",
- "manufacturer": "string",
- "serialNumber": "000a1954"
}
], - "videos": [
- {
- "name": "string",
- "memory": "string",
- "chipset": "string",
- "quantity": 1,
- "resolution": "string",
- "description": "string"
}
], - "virtualMachines": [
- {
- "name": "string",
- "type": "string",
- "uuid": "string",
- "vcpu": "string",
- "owner": "string",
- "status": "string",
- "memory": "string",
- "subsystem": "string",
- "description": "string"
}
]
}
]
}
}
Rudder server
This API allows to trigger an agent run on the target node. Response is a stream of the actual agent run on the node.
nodeId required | string <uuid (or "root")> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the target node |
Agent output
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/nodes/17dadf50-6056-4c8b-a935-6b97d14b89a7\?include=full
Rudder server
Provide information about the current state of the inventory processor
Inventories information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "queueInformation" The id of the action |
data required | object Information about the service |
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/
{- "result": "success",
- "action": "queueInformation",
- "data": {
- "queueMaxSize": 50,
- "queueSaturated": false
}
}
Rudder server
Upload an inventory to the web application
file | string <binary> |
signature | string <binary> |
Inventory uploaded
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "uploadInventory" The id of the action |
data required | string |
curl --request POST --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/inventories/upload -F "file=@inventory-file" -F "signature=@signature-file"
{- "result": "success",
- "action": "uploadInventory",
- "data": "Inventory 'file.xml' for Node 'c1bab9fc-bcf6-4d59-a397-84c8e2fc06c0' added to processing queue."
}
Rudder server
Restart the inventory watcher if necessary
Started
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "fileWatcherRestart" The id of the action |
data required | string |
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/inventories/watcher/restart'
{- "result": "success",
- "action": "fileWatcherRestart",
- "data": "Incoming inventory watcher restarted"
}
Rudder server
Start the inventory watcher if necessary
Started
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "fileWatcherStart" The id of the action |
data required | string |
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/inventories/watcher/start'
{- "result": "success",
- "action": "fileWatcherStart",
- "data": "Incoming inventory watcher started"
}
Rudder server
Stop the inventory watcher if necessary
Stopped
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "fileWatcherStop" The id of the action |
data required | string |
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/inventories/watcher/stop'
{- "result": "success",
- "action": "fileWatcherStop",
- "data": "Incoming inventory watcher stopped"
}
Rudder server
Get the current value of all the global parameters
Settings
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "listParameters" The id of the action |
data required | object Parameters |
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/parameters
{- "result": "success",
- "action": "listParameters",
- "data": {
- "parameters": [
- {
- "id": "rudder_file_edit_footer",
- "value": "### End of file managed by Rudder ###",
- "description": "Default inform message put in footer of managed files by Rudder",
- "overridable": false
}
]
}
}
Rudder server
Create a new global parameter
id required | string Name of the parameter |
value | string Value of the parameter |
description | string Description of the parameter |
overridable | boolean Is the global parameter overridable by node |
Settings
id required | string Id of the parameter |
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "createParameter" The id of the action |
data required | object Parameters |
curl --header "X-API-Token: yourToken" --header "Content-Type: application/json" --request PUT https://rudder.example.com/rudder/api/latest/parameters --data @JSON-file-name
{- "id": "rudder_file_edit_footer",
- "result": "success",
- "action": "createParameter",
- "data": {
- "parameters": [
- {
- "id": "rudder_file_edit_footer",
- "value": "### End of file managed by Rudder ###",
- "description": "Default inform message put in footer of managed files by Rudder",
- "overridable": false
}
]
}
}
Rudder server
Get the current value of a given parameter
parameterId required | string Example: rudder_file_edit_header Id of the parameter to manage |
Settings
id required | string Id of the parameter |
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "parameterDetails" The id of the action |
data required | object Parameters |
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/parameters/ParameterId
{- "id": "rudder_file_edit_footer",
- "result": "success",
- "action": "parameterDetails",
- "data": {
- "parameters": [
- {
- "id": "rudder_file_edit_footer",
- "value": "### End of file managed by Rudder ###",
- "description": "Default inform message put in footer of managed files by Rudder",
- "overridable": false
}
]
}
}
Rudder server
Update the properties of a parameter
parameterId required | string Example: rudder_file_edit_header Id of the parameter to manage |
Settings
id required | string Id of the parameter |
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "updateParameter" The id of the action |
data required | object Parameters |
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/parameters/ParameterId --data "value=### Edited by Rudder ###"
{- "id": "rudder_file_edit_footer",
- "result": "success",
- "action": "updateParameter",
- "data": {
- "parameters": [
- {
- "id": "rudder_file_edit_footer",
- "value": "### End of file managed by Rudder ###",
- "description": "Default inform message put in footer of managed files by Rudder",
- "overridable": false
}
]
}
}
Rudder server
Delete an existing parameter
parameterId required | string Example: rudder_file_edit_header Id of the parameter to manage |
Settings
id required | string Id of the parameter |
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "deleteParameter" The id of the action |
data required | object Parameters |
Non existing parameter
curl --header "X-API-Token: yourToken" --request DELETE https://rudder.example.com/rudder/api/latest/parameters/ParameterId
{- "id": "rudder_file_edit_footer",
- "result": "success",
- "action": "deleteParameter",
- "data": {
- "parameters": [
- {
- "id": "rudder_file_edit_footer",
- "value": "### End of file managed by Rudder ###",
- "description": "Default inform message put in footer of managed files by Rudder",
- "overridable": false
}
]
}
}
Rudder server
Get the current value of all the settings
Settings
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "getAllSettings" The id of the action |
data required | object Information about the setting |
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/settings
{- "result": "success",
- "action": "getAllSettings",
- "data": {
- "settings": {
- "allowed_networks": [
- {
- "id": "root",
- "allowed_networks": [
- "192.168.40.0/24"
]
}
], - "global_policy_mode": "enforce",
- "global_policy_mode_overridable": true,
- "run_frequency": 5,
- "first_run_hour": 0,
- "first_run_minute": 0,
- "splay_time": 5,
- "modified_file_ttl": 7,
- "output_file_ttl": 7,
- "require_time_synchronization": true,
- "relay_server_synchronization_method": "classic",
- "relay_server_synchronize_policies": true,
- "relay_server_synchronize_shared_files": true,
- "rsyslog_reporting_protocol": "UDP",
- "reporting_mode": "full-compliance",
- "heartbeat_frequency": 10,
- "log_all_reports": true,
- "enable_change_message": true,
- "mandatory_change_message": false,
- "change_message_prompt": "Please provide a reason for this change",
- "enable_change_request": false,
- "enable_self_validation": true,
- "enable_self_deployment": true,
- "display_recent_changes_graphs": true,
- "enable_javascript_directives": "enabled",
- "send_metrics": "not defined",
- "node_onaccept_default_state": "enabled",
- "node_onaccept_default_policyMode": "default",
- "unexpected_allows_duplicate": true,
- "unexpected_unbound_var_values": true,
- "rudder_compute_changes": true,
- "rudder_generation_compute_dyngroups": true,
- "rudder_save_db_compliance_levels": true,
- "rudder_save_db_compliance_details": false,
- "rudder_generation_max_parallelism": "0.5",
- "rudder_generation_js_timeout": 30,
- "rudder_generation_continue_on_error": false
}
}
}
Rudder server
Get the current value of a specific setting
settingId required | string Example: global_policy_mode Id of the setting to set |
Settings
id required | string Id of the setting |
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "getSetting" The id of the action |
data required | object Information about the setting |
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/settings/run_frequency
{- "id": "global_policy_mode",
- "result": "success",
- "action": "getSetting",
- "data": {
- "settingId": "value"
}
}
Rudder server
Set the current value of a specific setting
settingId required | string Example: global_policy_mode Id of the setting to set |
value | string New value of the setting |
Settings
id required | string Id of the setting |
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "modifySetting" The id of the action |
data required | object Information about the setting |
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/settings/global_policy_mode_overridable --data "value=true"
{- "id": "global_policy_mode",
- "result": "success",
- "action": "modifySetting",
- "data": {
- "settingId": "value"
}
}
Rudder server
Trigger a full policy generation
Success
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "regeneratePolicies" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/system/regenerate/policies'
{- "result": "success",
- "action": "regeneratePolicies",
- "data": {
- "policies": "Started"
}
}
Rudder server
Reload dynamic groups
Service reload
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "reloadGroups" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/system/reload/groups'
{- "result": "success",
- "action": "reloadGroups",
- "data": {
- "groups": "Started"
}
}
Rudder server
Reload techniques from local technique library
Service reload
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "reloadTechniques" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/system/reload/techniques'
{- "result": "success",
- "action": "reloadTechniques",
- "data": {
- "techniques": "Started"
}
}
Rudder server
List configuration archives
archiveKind required | string Enum: "full" "groups" "rules" "directives" Example: full Type of archive to make |
Success
result required | string Enum: "success" "error" Result of the request |
action required | string Enum: "archiveFull" "archiveGroups" "archiveRules" "archiveDirectives" The kind of the archive |
data required | object |
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/system/archives/full
{- "result": "success",
- "action": "archiveFull",
- "data": {
- "full": [
- {
- "commiter": "Rudder system account",
- "gitCommit": "546de1b211ecc5b7ca295abac2191bc6bb05d44e",
- "id": "2019-09-17_16-06-15.255"
}
]
}
}
Rudder server
Create new archive of the given kind
archiveKind required | string Enum: "full" "groups" "rules" "directives" Example: full Type of archive to make |
Success
result required | string Enum: "success" "error" Result of the request |
action required | string Enum: "archiveFull" "archiveGroups" "archiveRules" "archiveDirectives" The kind of the archive |
data required | object |
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/system/archives/full
{- "result": "success",
- "action": "archiveFull",
- "data": {
- "full": {
- "commiter": "Rudder system account",
- "gitCommit": "546de1b211ecc5b7ca295abac2191bc6bb05d44e",
- "id": "2019-09-17_16-06-15.255"
}
}
}
Rudder server
Get information about the server version
Service information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "getSystemInfo" The id of the action |
data required | object Information about the service |
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/system/info
{- "result": "success",
- "action": "getSystemInfo",
- "data": {
- "rudder": {
- "major-version": "6.0",
- "full-version": "6.0.4",
- "build-time": "2019-03-25T10:11:23.000Z"
}
}
}
Rudder server
Reload both techniques and dynamic groups
Service reload
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "reloadAll" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/system/reload'
{- "result": "success",
- "action": "reloadAll",
- "data": {
- "groups": "Started",
- "techniques": "Started"
}
}
Rudder server
Get information about current server status
Service status
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "getStatus" The id of the action |
data required | object Status of the service |
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/system/status
{- "result": "success",
- "action": "getStatus",
- "data": {
- "global": "OK"
}
}
Rudder server
Update configuration policies if needed
Success
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "updatePolicies" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/system/update/policies'
{- "result": "success",
- "action": "updatePolicies",
- "data": {
- "policies": "Started"
}
}
Requires that the changes-validation
plugin is installed on the server.
Manage change requests.
Rudder server
List all change requests
Change requests information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "listChangeRequests" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/changeRequests --data "status=open"
{- "result": "success",
- "action": "listChangeRequests",
- "data": {
- "rules": [
- {
- "id": 42,
- "name": "Remove unused security policy",
- "description": "string",
- "status": "Deployed",
- "acceptable": true,
- "created by": "Matthieu C.",
- "changes": {
- "rules": [
- {
- "action": "modify Rule"
}
]
}
}
]
}
}
Rudder server
Get a change request details
changeRequestId required | integer Example: 37 Change request id |
Change requests information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "changeRequestDetails" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/changeRequests --data "status=open"
{- "result": "success",
- "action": "changeRequestDetails",
- "data": {
- "rules": [
- {
- "id": 42,
- "name": "Remove unused security policy",
- "description": "string",
- "status": "Deployed",
- "acceptable": true,
- "created by": "Matthieu C.",
- "changes": {
- "rules": [
- {
- "action": "modify Rule"
}
]
}
}
]
}
}
Rudder server
Refuse a change request
changeRequestId required | integer Example: 37 Change request id |
Change requests information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "declineChangeRequest" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request DELETE https://rudder.example.com/rudder/api/latest/changeRequests/43
{- "result": "success",
- "action": "declineChangeRequest",
- "data": {
- "rules": [
- {
- "id": 42,
- "name": "Remove unused security policy",
- "description": "string",
- "status": "Deployed",
- "acceptable": true,
- "created by": "Matthieu C.",
- "changes": {
- "rules": [
- {
- "action": "modify Rule"
}
]
}
}
]
}
}
Rudder server
Update a change request
changeRequestId required | integer Example: 37 Change request id |
name | string Change request name |
description | string Change request description |
Change requests information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "updateChangeRequest" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/changeRequests/42 --data "name=new Name of change request" -d "description=add a new description"
{- "result": "success",
- "action": "updateChangeRequest",
- "data": {
- "rules": [
- {
- "id": 42,
- "name": "Remove unused security policy",
- "description": "string",
- "status": "Deployed",
- "acceptable": true,
- "created by": "Matthieu C.",
- "changes": {
- "rules": [
- {
- "action": "modify Rule"
}
]
}
}
]
}
}
Rudder server
Accept a change request
changeRequestId required | integer Example: 37 Change request id |
status | string Enum: "pending deployment" "deployed" New status of the change request |
Change requests information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "acceptChangeRequest" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/changeRequests --data "status=open"
{- "result": "success",
- "action": "acceptChangeRequest",
- "data": {
- "rules": [
- {
- "id": 42,
- "name": "Remove unused security policy",
- "description": "string",
- "status": "Deployed",
- "acceptable": true,
- "created by": "Matthieu C.",
- "changes": {
- "rules": [
- {
- "action": "modify Rule"
}
]
}
}
]
}
}
Requires that the datasources
plugin is installed on the server.
Data sources plugin configuration.
Rudder server
Get the configuration of all present data sources
Data sources information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "getAllDataSources" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/datasources'
{- "result": "success",
- "action": "getAllDataSources",
- "data": {
- "datasources": [
- {
- "id": "test-data-source",
- "name": "Test data source",
- "description": "Synchronize example data from the CMDB",
- "enabled": true,
- "updateTimeout": 30,
- "runParameters": {
- "onGeneration": true,
- "onNewNode": true,
- "schedule": {
- "type": "scheduled"
}
}, - "type": {
- "name": "HTTP",
- "parameters": {
- "requestMethod": "GET",
- "headers": [
- {
- "name": "X-API-Key",
- "value": "05ce8e3d9df6"
}
], - "path": "string",
- "checkSsl": true,
- "requestTimeout": 10,
- "requestMode": {
- "name": "byNode"
}
}
}
}
]
}
}
Rudder server
Create a new data source
id | string Unique identifier of the data source to create. |
name | string The human readable name of the data source to create. |
description | string Description of the goal of the data source to create. |
enabled | boolean Enable or disable data source. |
updateTimeout | integer Duration in seconds before aborting data source update. The main goal is to prevent never ending requests. If a periodicity if configured, you should set that timeout at a lower value. |
runParameters | object Parameters to configure when the data source is fetched to update node properties. |
type | object Define and configure data source type. |
Created
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "createDataSource" The id of the action |
data required | object Information about the data sources |
{- "id": "test-data-source",
- "name": "Test data source",
- "description": "Synchronize example data from the CMDB",
- "enabled": true,
- "updateTimeout": 30,
- "runParameters": {
- "onGeneration": true,
- "onNewNode": true,
- "schedule": {
- "type": "scheduled"
}
}, - "type": {
- "name": "HTTP",
- "parameters": {
- "requestMethod": "GET",
- "headers": [
- {
- "name": "X-API-Key",
- "value": "05ce8e3d9df6"
}
], - "path": "string",
- "checkSsl": true,
- "requestTimeout": 10,
- "requestMode": {
- "name": "byNode"
}
}
}
}
{- "result": "success",
- "action": "createDataSource",
- "data": {
- "datasources": [
- {
- "id": "test-data-source",
- "name": "Test data source",
- "description": "Synchronize example data from the CMDB",
- "enabled": true,
- "updateTimeout": 30,
- "runParameters": {
- "onGeneration": true,
- "onNewNode": true,
- "schedule": {
- "type": "scheduled"
}
}, - "type": {
- "name": "HTTP",
- "parameters": {
- "requestMethod": "GET",
- "headers": [
- {
- "name": "X-API-Key",
- "value": "05ce8e3d9df6"
}
], - "path": "string",
- "checkSsl": true,
- "requestTimeout": 10,
- "requestMode": {
- "name": "byNode"
}
}
}
}
]
}
}
Rudder server
Update properties from all data source on all nodes. The call is asynchronous.
Data source reloaded
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "ReloadAllDatasourcesAllNodes" The id of the action |
data required | string |
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/datasources/reload
{- "result": "success",
- "action": "ReloadAllDatasourcesAllNodes",
- "data": "Data for all nodes, for all configured data sources are going to be updated"
}
Rudder server
Update properties from all data source on all nodes. The call is asynchronous.
datasourceId required | string Example: test-data-source Id of the data source |
Data source reloaded
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "ReloadOneDatasourceAllNodes" The id of the action |
data required | string |
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/datasources/reload/datasourceId
{- "result": "success",
- "action": "ReloadOneDatasourceAllNodes",
- "data": "Data for all nodes, for the 'test-data-source' data source are going to be updated"
}
Rudder server
Get the configuration of a data source
datasourceId required | string Example: test-data-source Id of the data source |
Data source information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "getDataSource" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/datasources/my-data-source
{- "result": "success",
- "action": "getDataSource",
- "data": {
- "datasources": [
- {
- "id": "test-data-source",
- "name": "Test data source",
- "description": "Synchronize example data from the CMDB",
- "enabled": true,
- "updateTimeout": 30,
- "runParameters": {
- "onGeneration": true,
- "onNewNode": true,
- "schedule": {
- "type": "scheduled"
}
}, - "type": {
- "name": "HTTP",
- "parameters": {
- "requestMethod": "GET",
- "headers": [
- {
- "name": "X-API-Key",
- "value": "05ce8e3d9df6"
}
], - "path": "string",
- "checkSsl": true,
- "requestTimeout": 10,
- "requestMode": {
- "name": "byNode"
}
}
}
}
]
}
}
Rudder server
Update the configuration of a data source
datasourceId required | string Example: test-data-source Id of the data source |
id | string Unique identifier of the data source to create. |
name | string The human readable name of the data source to create. |
description | string Description of the goal of the data source to create. |
enabled | boolean Enable or disable data source. |
updateTimeout | integer Duration in seconds before aborting data source update. The main goal is to prevent never ending requests. If a periodicity if configured, you should set that timeout at a lower value. |
runParameters | object Parameters to configure when the data source is fetched to update node properties. |
type | object Define and configure data source type. |
Data source information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "updateDataSource" The id of the action |
data required | object |
{- "id": "test-data-source",
- "name": "Test data source",
- "description": "Synchronize example data from the CMDB",
- "enabled": true,
- "updateTimeout": 30,
- "runParameters": {
- "onGeneration": true,
- "onNewNode": true,
- "schedule": {
- "type": "scheduled"
}
}, - "type": {
- "name": "HTTP",
- "parameters": {
- "requestMethod": "GET",
- "headers": [
- {
- "name": "X-API-Key",
- "value": "05ce8e3d9df6"
}
], - "path": "string",
- "checkSsl": true,
- "requestTimeout": 10,
- "requestMode": {
- "name": "byNode"
}
}
}
}
{- "result": "success",
- "action": "updateDataSource",
- "data": {
- "datasources": [
- {
- "id": "test-data-source",
- "name": "Test data source",
- "description": "Synchronize example data from the CMDB",
- "enabled": true,
- "updateTimeout": 30,
- "runParameters": {
- "onGeneration": true,
- "onNewNode": true,
- "schedule": {
- "type": "scheduled"
}
}, - "type": {
- "name": "HTTP",
- "parameters": {
- "requestMethod": "GET",
- "headers": [
- {
- "name": "X-API-Key",
- "value": "05ce8e3d9df6"
}
], - "path": "string",
- "checkSsl": true,
- "requestTimeout": 10,
- "requestMode": {
- "name": "byNode"
}
}
}
}
]
}
}
Rudder server
Delete a data source configuration
datasourceId required | string Example: test-data-source Id of the data source |
Data source information
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "deleteDataSource" The id of the action |
data required | object |
curl --header "X-API-Token: yourToken" --request DELETE https://rudder.example.com/rudder/api/latest/datasources/my-data-source
{- "result": "success",
- "action": "deleteDataSource",
- "data": {
- "datasources": [
- {
- "id": "test-data-source",
- "name": "Test data source",
- "description": "Synchronize example data from the CMDB",
- "enabled": true,
- "updateTimeout": 30,
- "runParameters": {
- "onGeneration": true,
- "onNewNode": true,
- "schedule": {
- "type": "scheduled"
}
}, - "type": {
- "name": "HTTP",
- "parameters": {
- "requestMethod": "GET",
- "headers": [
- {
- "name": "X-API-Key",
- "value": "05ce8e3d9df6"
}
], - "path": "string",
- "checkSsl": true,
- "requestTimeout": 10,
- "requestMode": {
- "name": "byNode"
}
}
}
}
]
}
}
Rudder server
Update properties from all data sources on one nodes. The call is asynchronous.
nodeId required | string <uuid (or "root")> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the target node |
Data sources reloaded
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "ReloadAllDatasourcesOneNode" The id of the action |
data required | string |
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/nodes/17dadf50-6056-4c8b-a935-6b97d14b89a7/fetchData
{- "result": "success",
- "action": "ReloadAllDatasourcesOneNode",
- "data": "Data for node '4e3336f9-ace8-44d6-8d07-496ff1631b01', for all configured data sources, is going to be updated"
}
Rudder server
Update properties from a data source on one nodes. The call is asynchronous.
nodeId required | string <uuid (or "root")> Example: 9a1773c9-0889-40b6-be89-f6504443ac1b Id of the target node |
datasourceId required | string Example: test-data-source Id of the data source |
Data sources reloaded
result required | string Enum: "success" "error" Result of the request |
action required | string Value: "ReloadOneDatasourceOneNode" The id of the action |
data required | string |
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/nodes/nodeId/fetchData/datasourceId
{- "result": "success",
- "action": "ReloadOneDatasourceOneNode",
- "data": "Data for node '4e3336f9-ace8-44d6-8d07-496ff1631b01', for ' test-data-source' data source, is going to be updated"
}