The Node Roster task provides a way to access Node Roster data in Concord flows.
To be able to use the task in a Concord flow, it must be added as a dependency:
configuration:
dependencies:
- mvn://com.walmartlabs.concord.plugins.basic:noderoster-tasks:1.72.0
This adds the task to the classpath and allows you to invoke the task in a flow:
flows:
default:
- task: nodeRoster
in:
action: "deployedOnHost"
hostName: "myhost.example.com"
baseUrl
- (optional) string, base URL of the Concord API. If not set uses the
current instance’s API address.action
- string, name of the action.The task’s actions return their results in a result
variable. The variable
has the following format:
ok
- boolean, true
if the operation was successful - i.e. returned some
data;data
- object, result of the operation.Returns a list of hosts which had the specified artifact deployed to.
- task: nodeRoster
in:
action: "hostsWithArtifacts"
artifactPattern: ".*my-app-1.0.0.jar"
Parameters:
artifactPattern
- regex, name or pattern of the artifact’s URL;limit
- number, maximum number of records to return. Default is 30
;offset
- number, offset of the first record, used for paging. Default
is 0
.The action returns the following result
:
{
"ok": true,
"data": {
"artifact A": [
{ "hostId": "...", "hostName": "..."},
{ "hostId": "...", "hostName": "..."},
...
],
"artifact B": [
{ "hostId": "...", "hostName": "..."},
{ "hostId": "...", "hostName": "..."},
...
]
}
}
The data
is a object where keys are artifact URLs matching the supplied
artifactPattern
and values are lists of hosts.
Returns the last registered snapshot of the host’s Ansible facts.
- task: nodeRoster
in:
action: "facts"
hostName: "myhost.example.com"
Parameters:
hostName
- string, name of the host to look up;hostId
- UUID, id of the host to look up.The action returns the following result
:
{
"ok": true,
"data": {
...
}
}
The data
value is the fact’s JSON object as it was received from Ansible.
Returns a list of artifacts deployed on the specified host.
- task: nodeRoster
in:
action: "deployedOnHost"
hostName: "myhost.example.com"
Parameters:
hostName
- string, name of the host to look up;hostId
- UUID, id of the host to look up.Either hostName
or hostId
are required.
The action returns the following result
:
{
"ok": true,
"data": [
{ "url": "..." },
{ "url": "..." }
]
}