18. Digital Rebar Provision API

In general, the Digital Rebar Provision API is documented via the Swagger spec and introspectable for machines via /swagger.json and for humans via /swagger-ui. See Swagger UI.

All API calls are available under /api/v3 based on the Digital Rebar API convention.

18.1. API Filters

The API includes index driven filters for large deployments that can be used to pre-filter requests from the API.

The list of available indexes is provided by the /api/v3/indexes and /api/v3/indexes/[model] calls. These hashs provide a list of all keys that can be used for filters with some additional metadata.

To use the index, simply include one or more indexs and values on the request URI. For example:

/api/v3/machines?Runnable=true&Available=true

The filter specification allows more complex filters using functions:

  • Key=Eq(Value) (that is the same as Key=Value)
  • Lt(Value)
  • Lte(Value)
  • Gt(Value)
  • Gte(Value)
  • Ne(Value)
  • Ranges: * Between(Value1,Value2) (edited) * Except(Value1,Value2)

The query string applies ALL parameters are to be applied (as implied by the & separator). All must match to be returned.

18.2. Filtering by Param Value

The API includes specialized filter behavior for Params that allows deep searching models for Param values.

To filter Machines or Profiles by Param values, pass the Param name and value using the normal Field filter specification. When the Field is not found, the backend will search model’s Params keys and evalute the filter against the Param value.

18.3. Leveraging Multi-Site Proxy Forwarding

In the Manager Architecture, API calls to a DRP manager for remote objects are automatically forwarded to the correct attached endpoint. This allows operators to make API calls to remote endpoints from a centralized manager without knowing the actual owner of the object. The owning endpoint can be determined for any object by inspecting its Endpoint property.

For most cases, no additional information or API notation is required to leverage this functionality. The exception is creating objects on attached endpoints. The create (aka POST) case requires API callers to specify the target remote endpoint (the endpoint must be registered or the request will be rejected) to the manager.

To make an explicit API proxy call, prefix the path of the request with the endpoint identity. For example:

/[target endpoint id]/api/v3/machines

This pattern is also invoked by with the -u flag in the DRPCLI.

NOTE: Multi-site is a licensed feature available in DRP v4.5+ and must be enabled for the endpoint.

18.4. Payload Reduction (slim)

Since Params and Meta may contain a lot of data, the API supports the ?slim=[Params,Meta] option to allow requests to leave these fields unpopulated. If this data is needed, operators will have to request the full object or object’s Params or Meta in secondary calls.

/api/v3/machines?slim=Params,Meta

Only endpoints that offer the slim-objects feature flag (v3.9+) will accept this flag.

18.5. API Exception & Deprecation Notes

There are times when the API and models have exceptions or changes that do not follow the normal pattern. This section is designed to provide a reference for those exceptions.

This section is intended to provide general information about and functional of the API. We maintain this section for legacy operators, when possible avoid using deprecated features!

Machines.Profile (deprecated by flag: profileless-machine)
What would otherwise be Machine.Params is actually embedded under Machines.Profile.Params. This deprecated composition simplifies that precedence calculation for Params by making Machines the top of the Profiles stack. All the other fields in the Machines.Profile are ignored.

18.5.1. Methods

18.5.1.1. BootEnvs

GET /bootenvs

Lists BootEnvs filtered by some parameters.

  • Description: This will show all BootEnvs by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Available = boolean Valid = boolean ReadOnly = boolean OnlyUnknown = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
OnlyUnknown query string
Name query string

Responses

Code Type
200 BootEnvsResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /bootenvs

Create a BootEnv

  • Description: Create a BootEnv from the provided object

Parameters

Name Position Description Type
Body* body BootEnv

Responses

Code Type
201 BootEnvResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /bootenvs

Stats of the List BootEnvs filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Available = boolean Valid = boolean ReadOnly = boolean OnlyUnknown = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
OnlyUnknown query string
Name query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /bootenvs/{name}

Get a BootEnv

  • Description: Get the BootEnv specified by {name} or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 BootEnvResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /bootenvs/{name}

Put a BootEnv

  • Description: Update a BootEnv specified by {name} using a JSON BootEnv

Parameters

Name Position Description Type
Body* body BootEnv
name* path string

Responses

Code Type
200 BootEnvResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /bootenvs/{name}

Delete a BootEnv

  • Description: Delete a BootEnv specified by {name}

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 BootEnvResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

HEAD /bootenvs/{name}

See if a BootEnv exists

  • Description: Return 200 if the BootEnv specifiec by {name} exists, or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /bootenvs/{name}

Patch a BootEnv

  • Description: Update a BootEnv specified by {name} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
name* path string

Responses

Code Type
200 BootEnvResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /bootenvs/{name}/actions

List bootenv actions BootEnv

  • Description: List BootEnv actions for a BootEnv specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

GET /bootenvs/{name}/actions/{cmd}

List specific action for a bootenv BootEnv

  • Description: List specific {cmd} action for a BootEnv specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

POST /bootenvs/{name}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

DELETE /bootenvs/{name}/purgeLocal

Purge local install files (ISOS and install trees) for a bootenv

  • Description: Purges ISO files and local install files for a bootenv on an arch by arch basis.

Parameters

Name Position Description Type
Body* body array of string
reexplodeIsos query boolean

Responses

Code Type
200 NoContentResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

18.5.1.2. Templates

GET /templates

Lists Templates filtered by some parameters.

  • Description: This will show all Templates by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: ID = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: ID=fred - returns items named fred ID=Lt(fred) - returns items that alphabetically less than fred.

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
ID query string

Responses

Code Type
200 TemplatesResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /templates

Create a Template

  • Description: Create a Template from the provided object

Parameters

Name Position Description Type
Body* body Template

Responses

Code Type
201 TemplateResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /templates

Stats of the List Templates filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: ID = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: ID=fred - returns items named fred ID=Lt(fred) - returns items that alphabetically less than fred.

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
ID query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /templates/{id}

Get a Template

  • Description: Get the Template specified by {id} or return NotFound.

Parameters

Name Position Description Type
id* path string

Responses

Code Type
200 TemplateResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /templates/{id}

Put a Template

  • Description: Update a Template specified by {id} using a JSON Template

Parameters

Name Position Description Type
Body* body Template
id* path string

Responses

Code Type
200 TemplateResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /templates/{id}

Delete a Template

  • Description: Delete a Template specified by {id}

Parameters

Name Position Description Type
id* path string

Responses

Code Type
200 TemplateResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

HEAD /templates/{id}

See if a Template exists

  • Description: Return 200 if the Template specifiec by {id} exists, or return NotFound.

Parameters

Name Position Description Type
id* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /templates/{id}

Patch a Template

  • Description: Update a Template specified by {id} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
id* path string

Responses

Code Type
200 TemplateResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /templates/{id}/actions

List template actions Template

  • Description: List Template actions for a Template specified by {id} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
id* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoTemplateResponse
403 NoTemplateResponse
404 ErrorResponse

GET /templates/{id}/actions/{cmd}

List specific action for a template Template

  • Description: List specific {cmd} action for a Template specified by {id} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
id* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoTemplateResponse
403 NoTemplateResponse
404 ErrorResponse

POST /templates/{id}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
id* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoTemplateResponse
403 NoTemplateResponse
404 ErrorResponse
409 ErrorResponse

18.5.1.3. Files

GET /files

Lists files in files directory or subdirectory per query parameter

  • Description: Lists the files in a directory under /files. path=<path to return> Path defaults to /

Parameters

Name Position Description Type
path query string
all query boolean

Responses

Code Type
200 FilesResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

GET /files/{path}

Get a specific File with {path}

  • Description: Get a specific file specified by {path} under files.
  • Produces: [‘application/octet-stream’, ‘application/json’]

Parameters

Name Position Description Type
path* path string
explode query in: explode string

Responses

Code Type
200 FileResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

POST /files/{path}

Upload a file to a specific {path} in the tree under files.

  • Description: The file will be uploaded to the {path} in /files. The {path} will be created.
  • Consumes: [‘application/octet-stream’]
  • Produces: [‘application/json’]

Parameters

Name Position Description Type
path* path string
explode query in: explode string
Body body Raw Octet Stream

Responses

Code Type
201 FileInfoResponse
400 ErrorResponse
401 NoContentResponse
403 ErrorResponse
404 ErrorResponse
409 ErrorResponse
415 ErrorResponse
507 ErrorResponse

DELETE /files/{path}

Delete a file to a specific {path} in the tree under files.

  • Description: The file will be removed from the {path} in /files.

Parameters

Name Position Description Type
path* path string
explode query in: explode string

Responses

Code Type
204 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

HEAD /files/{path}

See if a file exists and return a checksum in the header

  • Description: Return 200 if the file specified by {path} exists, or return NotFound.

Parameters

Name Position Description Type
path* path string
explode query in: explode string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

HEAD /isos/{path}

See if a iso exists and return a checksum in the header

  • Description: Return 200 if the iso specified by {path} exists, or return NotFound.

Parameters

Name Position Description Type
path* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

18.5.1.4. Interfaces

GET /interfaces

  • Description: Lists possible interfaces on the system to serve DHCP
  • Produces: [‘application/json’]

Responses

Code Type
200 InterfacesResponse
401 NoContentResponse
403 NoContentResponse
500 ErrorResponse

GET /interfaces/{name}

Get a specific interface with {name}

  • Description: Get a specific interface specified by {name}.
  • Produces: [‘application/json’]

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 InterfaceResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
500 ErrorResponse

18.5.1.5. Isos

GET /isos

Lists isos in isos directory

  • Description: Lists the isos in a directory under /isos.

Responses

Code Type
200 IsosResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

GET /isos/{path}

Get a specific Iso with {path}

  • Description: Get a specific iso specified by {path} under isos.
  • Produces: [‘application/octet-stream’, ‘application/json’]

Parameters

Name Position Description Type
path* path string

Responses

Code Type
200 IsoResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

POST /isos/{path}

Upload an iso to a specific {path} in the tree under isos.

  • Description: The iso will be uploaded to the {path} in /isos. The {path} will be created.
  • Consumes: [‘application/octet-stream’]
  • Produces: [‘application/json’]

Parameters

Name Position Description Type
path* path string
Body body Raw Octet Stream

Responses

Code Type
201 IsoInfoResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
415 ErrorResponse
507 ErrorResponse

DELETE /isos/{path}

Delete an iso to a specific {path} in the tree under isos.

  • Description: The iso will be removed from the {path} in /isos.

Parameters

Name Position Description Type
path* path string

Responses

Code Type
204 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

18.5.1.6. Subnets

GET /subnets

Lists Subnets filtered by some parameters.

  • Description: This will show all Subnets by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string NextServer = IP Address Subnet = CIDR Address Strategy = string Available = boolean Valid = boolean ReadOnly = boolean Enabled = boolean Proxy = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Strategy query string
NextServer query string
Subnet query string
Name query string
Enabled query string
Proxy query string

Responses

Code Type
200 SubnetsResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /subnets

Create a Subnet

  • Description: Create a Subnet from the provided object

Parameters

Name Position Description Type
Body* body Subnet

Responses

Code Type
201 SubnetResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /subnets

Stats of the List Subnets filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string NextServer = IP Address Subnet = CIDR Address Strategy = string Available = boolean Valid = boolean ReadOnly = boolean Enabled = boolean Proxy = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Strategy query string
NextServer query string
Subnet query string
Name query string
Enabled query string
Proxy query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /subnets/{name}

Get a Subnet

  • Description: Get the Subnet specified by {name} or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 SubnetResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /subnets/{name}

Put a Subnet

  • Description: Update a Subnet specified by {name} using a JSON Subnet

Parameters

Name Position Description Type
Body* body Subnet
name* path string

Responses

Code Type
200 SubnetResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /subnets/{name}

Delete a Subnet

  • Description: Delete a Subnet specified by {name}

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 SubnetResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

HEAD /subnets/{name}

See if a Subnet exists

  • Description: Return 200 if the Subnet specifiec by {name} exists, or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /subnets/{name}

Patch a Subnet

  • Description: Update a Subnet specified by {name} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
name* path string

Responses

Code Type
200 SubnetResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /subnets/{name}/actions

List subnet actions Subnet

  • Description: List Subnet actions for a Subnet specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoSubnetResponse
403 NoSubnetResponse
404 ErrorResponse

GET /subnets/{name}/actions/{cmd}

List specific action for a subnet Subnet

  • Description: List specific {cmd} action for a Subnet specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoSubnetResponse
403 NoSubnetResponse
404 ErrorResponse

POST /subnets/{name}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoSubnetResponse
403 NoSubnetResponse
404 ErrorResponse
409 ErrorResponse

18.5.1.7. Reservations

GET /reservations

Lists Reservations filtered by some parameters.

  • Description: This will show all Reservations by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Addr = IP Address Token = string Strategy = string NextServer = IP Address Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Addr query string
Token query string
Strategy query string
NextServer query string

Responses

Code Type
200 ReservationsResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /reservations

Create a Reservation

  • Description: Create a Reservation from the provided object

Parameters

Name Position Description Type
Body* body Reservation

Responses

Code Type
201 ReservationResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /reservations

Stats of the List Reservations filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Addr = IP Address Token = string Strategy = string NextServer = IP Address Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Addr query string
Token query string
Strategy query string
NextServer query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /reservations/{address}

Get a Reservation

  • Description: Get the Reservation specified by {address} or return NotFound.

Parameters

Name Position Description Type
address* path string

Responses

Code Type
200 ReservationResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /reservations/{address}

Put a Reservation

  • Description: Update a Reservation specified by {address} using a JSON Reservation

Parameters

Name Position Description Type
Body* body Reservation
address* path string

Responses

Code Type
200 ReservationResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /reservations/{address}

Delete a Reservation

  • Description: Delete a Reservation specified by {address}

Parameters

Name Position Description Type
address* path string

Responses

Code Type
200 ReservationResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

HEAD /reservations/{address}

See if a Reservation exists

  • Description: Return 200 if the Reservation specific by {address} exists, or return NotFound.

Parameters

Name Position Description Type
address* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /reservations/{address}

Patch a Reservation

  • Description: Update a Reservation specified by {address} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
address* path string

Responses

Code Type
200 ReservationResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /reservations/{address}/actions

List reservation actions Reservation

  • Description: List Reservation actions for a Reservation specified by {address} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
address* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoReservationResponse
403 NoReservationResponse
404 ErrorResponse

GET /reservations/{address}/actions/{cmd}

List specific action for a reservation Reservation

  • Description: List specific {cmd} action for a Reservation specified by {address} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
address* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoReservationResponse
403 NoReservationResponse
404 ErrorResponse

POST /reservations/{address}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
address* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoReservationResponse
403 NoReservationResponse
404 ErrorResponse
409 ErrorResponse

18.5.1.8. Prefs

GET /prefs

Lists Prefs

  • Description: This will show all Prefs by default

Responses

Code Type
200 PrefsResponse
401 NoContentResponse
403 NoContentResponse

POST /prefs

Create a Pref

  • Description: Create a Pref from the provided object

Parameters

Name Position Description Type
Body body map of strings to string

Responses

Code Type
201 PrefsResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
422 ErrorResponse

18.5.1.9. Leases

GET /leases

Lists Leases filtered by some parameters.

  • Description: This will show all Leases by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Addr = IP Address Token = string Strategy = string ExpireTime = Date/Time Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Addr query string
Token query string
Strategy query string
ExpireTime query string

Responses

Code Type
200 LeasesResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

HEAD /leases

Stats of the List Leases filtered by some parameters.

  • Description: This return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Addr = IP Address Token = string Strategy = string ExpireTime = Date/Time Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Addr query string
Token query string
Strategy query string
ExpireTime query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /leases/{address}

Get a Lease

  • Description: Get the Lease specified by {address} or return NotFound.

Parameters

Name Position Description Type
address* path string

Responses

Code Type
200 LeaseResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

DELETE /leases/{address}

Delete a Lease

  • Description: Delete a Lease specified by {address}

Parameters

Name Position Description Type
address* path string

Responses

Code Type
200 LeaseResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

HEAD /leases/{address}

See if a Lease exists

  • Description: Return 200 if the Lease specifiec by {address} exists, or return NotFound.

Parameters

Name Position Description Type
address* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

GET /leases/{address}/actions

List lease actions Lease

  • Description: List Lease actions for a Lease specified by {address} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
address* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoLeaseResponse
403 NoLeaseResponse
404 ErrorResponse

GET /leases/{address}/actions/{cmd}

List specific action for a lease Lease

  • Description: List specific {cmd} action for a Lease specified by {address} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
address* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoLeaseResponse
403 NoLeaseResponse
404 ErrorResponse

POST /leases/{address}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
address* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoLeaseResponse
403 NoLeaseResponse
404 ErrorResponse
409 ErrorResponse

18.5.1.10. Machines

GET /machines

Lists Machines filtered by some parameters.

  • Description: This will show all Machines by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Uuid = UUID string Name = string BootEnv = string Address = IP Address Runnable = true/false Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Uuid query string
Name query string
BootEnv query string
Address query string
Runnable query string
decode query boolean
slim query boolean
params query boolean

Responses

Code Type
200 MachinesResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /machines

Create a Machine

  • Description: Create a Machine from the provided object

Parameters

Name Position Description Type
force query string
Body* body Machine

Responses

Code Type
201 MachineResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /machines

Stats of the List Machines filtered by some parameters.

  • Description: This will return headers with the stats of the list. X-DRP-LIST-COUNT - number of objects in the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Uuid = UUID string Name = string BootEnv = string Address = IP Address Runnable = true/false Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Uuid query string
Name query string
BootEnv query string
Address query string
Runnable query string
decode query boolean
slim query boolean
params query boolean

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /machines/{id}/releaseToPool

Releases a machine in this pool.

  • Description: No input.

Parameters

Name Position Description Type
uuid* path string

GET /machines/{uuid}

Get a Machine

  • Description: Get the Machine specified by {uuid} or return NotFound.

Parameters

Name Position Description Type
uuid* path string

Responses

Code Type
200 MachineResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /machines/{uuid}

Put a Machine

  • Description: Update a Machine specified by {uuid} using a JSON Machine

Parameters

Name Position Description Type
force query string
Body* body Machine
uuid* path string

Responses

Code Type
200 MachineResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /machines/{uuid}

Delete a Machine

  • Description: Delete a Machine specified by {uuid}

Parameters

Name Position Description Type
uuid* path string

Responses

Code Type
200 MachineResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

HEAD /machines/{uuid}

See if a Machine exists

  • Description: Return 200 if the Machine specifiec by {uuid} exists, or return NotFound.

Parameters

Name Position Description Type
uuid* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /machines/{uuid}

Patch a Machine

  • Description: Update a Machine specified by {uuid} using a RFC6902 Patch structure

Parameters

Name Position Description Type
force query string
Body* body Patch
uuid* path string

Responses

Code Type
200 MachineResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /machines/{uuid}/actions

List machine actions Machine

  • Description: List Machine actions for a Machine specified by {uuid} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
uuid* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

GET /machines/{uuid}/actions/{cmd}

List specific action for a machine Machine

  • Description: List specific {cmd} action for a Machine specified by {uuid} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
uuid* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

POST /machines/{uuid}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
uuid* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

GET /machines/{uuid}/params

List machine params Machine

  • Description: List Machine parms for a Machine specified by {uuid}

Parameters

Name Position Description Type
aggregate query string
decode query string
params query string
uuid* path string

Responses

Code Type
200 MachineParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

POST /machines/{uuid}/params

  • Description: Sets parameters for a machine specified by {uuid}

Parameters

Name Position Description Type
Body* body map of strings to object
uuid* path string

Responses

Code Type
200 MachineParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

PATCH /machines/{uuid}/params

  • Description: Update params for Machine {uuid} with the passed-in patch

Parameters

Name Position Description Type
Body* body Patch
uuid* path string

Responses

Code Type
200 MachineParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

GET /machines/{uuid}/params/{key}

Delete a single machine parameter

  • Description: Delete a single parameter {key} for a Machine specified by {uuid}

Parameters

Name Position Description Type
aggregate query string
decode query string
uuid* path string
key* path string

Responses

Code Type
200 MachineParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

POST /machines/{uuid}/params/{key}

  • Description: Set as single Parameter {key} for a machine specified by {uuid}

Parameters

Name Position Description Type
Body* body Raw Octet Stream
uuid* path string
key* path string

Responses

Code Type
200 MachineParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

DELETE /machines/{uuid}/params/{key}

Delete a single machine parameter

  • Description: Delete a single parameter {key} for a Machine specified by {uuid}

Parameters

Name Position Description Type
aggregate query string
decode query string
uuid* path string
key* path string

Responses

Code Type
200 MachineParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

GET /machines/{uuid}/pubkey

Get the public key for secure params on a machine

  • Description: Get the public key for a Machine specified by {uuid}

Parameters

Name Position Description Type
uuid* path string

Responses

Code Type
200 PubKeyResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
500 ErrorResponse

18.5.1.11. Profiles

GET /profiles

Lists Profiles filtered by some parameters.

  • Description: This will show all Profiles by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred.

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string
decode query boolean
slim query boolean
params query string

Responses

Code Type
200 ProfilesResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /profiles

Create a Profile

  • Description: Create a Profile from the provided object

Parameters

Name Position Description Type
Body* body Profile

Responses

Code Type
201 ProfileResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /profiles

Stats of the List Profiles filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred.

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string
decode query boolean
slim query boolean
params query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /profiles/{name}

Get a Profile

  • Description: Get the Profile specified by {name} or return NotFound.

Parameters

Name Position Description Type
decode query string
params query string
name* path string

Responses

Code Type
200 ProfileResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /profiles/{name}

Put a Profile

  • Description: Update a Profile specified by {name} using a JSON Profile

Parameters

Name Position Description Type
Body* body Profile
decode query string
params query string
name* path string

Responses

Code Type
200 ProfileResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

DELETE /profiles/{name}

Delete a Profile

  • Description: Delete a Profile specified by {name}

Parameters

Name Position Description Type
decode query string
params query string
name* path string

Responses

Code Type
200 ProfileResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

HEAD /profiles/{name}

See if a Profile exists

  • Description: Return 200 if the Profile specifiec by {name} exists, or return NotFound.

Parameters

Name Position Description Type
decode query string
params query string
name* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /profiles/{name}

Patch a Profile

  • Description: Update a Profile specified by {name} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
decode query string
params query string
name* path string

Responses

Code Type
200 ProfileResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /profiles/{name}/actions

List profile actions Profile

  • Description: List Profile actions for a Profile specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoProfileResponse
403 NoProfileResponse
404 ErrorResponse

GET /profiles/{name}/actions/{cmd}

List specific action for a profile Profile

  • Description: List specific {cmd} action for a Profile specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoProfileResponse
403 NoProfileResponse
404 ErrorResponse

POST /profiles/{name}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoProfileResponse
403 NoProfileResponse
404 ErrorResponse
409 ErrorResponse

GET /profiles/{name}/params

List profile params Profile

  • Description: List Profile parms for a Profile specified by {name}

Parameters

Name Position Description Type
decode query string
params query string
name* path string

Responses

Code Type
200 ProfileParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

POST /profiles/{name}/params

  • Description: Sets parameters for a profile specified by {name}

Parameters

Name Position Description Type
decode query string
params query string
name* path string
Body* body map of strings to object

Responses

Code Type
200 ProfileParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

PATCH /profiles/{name}/params

  • Description: Update params for Profile {name} with the passed-in patch

Parameters

Name Position Description Type
Body* body Patch
decode query string
params query string
name* path string

Responses

Code Type
200 ProfileParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

GET /profiles/{name}/params/{key}

Delete a single profile parameter

  • Description: Delete a single parameter {key} for a Profile specified by {uuid}

Parameters

Name Position Description Type
decode query string
name* path string
key* path string

Responses

Code Type
200 ProfileParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

POST /profiles/{name}/params/{key}

  • Description: Set as single Parameter {key} for a profile specified by {name}

Parameters

Name Position Description Type
decode query string
name* path string
key* path string
Body* body Raw Octet Stream

Responses

Code Type
200 ProfileParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

GET /profiles/{name}/pubkey

Get the public key for secure params on a profile

  • Description: Get the public key for a Profile specified by {name}

Parameters

Name Position Description Type
decode query string
params query string
name* path string

Responses

Code Type
200 PubKeyResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
500 ErrorResponse

DELETE /profiles/{uuid}/params/{key}

Delete a single profile parameter

  • Description: Delete a single parameter {key} for a Profile specified by {uuid}

Parameters

Name Position Description Type
decode query string
name* path string
key* path string

Responses

Code Type
200 ProfileParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

18.5.1.12. Users

GET /users

Lists Users filtered by some parameters.

  • Description: This will show all Users by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexes: Name = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred.

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string

Responses

Code Type
200 UsersResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /users

Create a User

  • Description: Create a User from the provided object

Parameters

Name Position Description Type
Body* body User

Responses

Code Type
201 UserResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /users

Stats of the List Users filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred.

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /users/{name}

Get a User

  • Description: Get the User specified by {name} or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 UserResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /users/{name}

Put a User

  • Description: Update a User specified by {name} using a JSON User

Parameters

Name Position Description Type
Body* body User
name* path string

Responses

Code Type
200 UserResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /users/{name}

Delete a User

  • Description: Delete a User specified by {name}

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 UserResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

HEAD /users/{name}

See if a User exists

  • Description: Return 200 if the User specifiec by {name} exists, or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /users/{name}

Patch a User

  • Description: Update a User specified by {name} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
name* path string

Responses

Code Type
200 UserResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /users/{name}/actions

List user actions User

  • Description: List User actions for a User specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoUserResponse
403 NoUserResponse
404 ErrorResponse

GET /users/{name}/actions/{cmd}

List specific action for a user User

  • Description: List specific {cmd} action for a User specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoUserResponse
403 NoUserResponse
404 ErrorResponse

POST /users/{name}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoUserResponse
403 NoUserResponse
404 ErrorResponse
409 ErrorResponse

PUT /users/{name}/password

Set the password for a user.

  • Description: Update a User specified by {name} using a JSON User

Parameters

Name Position Description Type
Body* body UserPassword
name* path string

Responses

Code Type
200 UserResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /users/{name}/token

Get a User Token

  • Description: Get a token for the User specified by {name} or return error

Parameters

Name Position Description Type
name* path string
ttl query integer
roles query string

Responses

Code Type
200 UserTokenResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

18.5.1.13. Roles

GET /roles

Lists Roles filtered by some parameters.

  • Description: This will show all Roles by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Reboot = boolean BootEnv = string Available = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string

Responses

Code Type
200 RolesResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /roles

Create a Role

  • Description: Create a Role from the provided object

Parameters

Name Position Description Type
Body* body Role

Responses

Code Type
201 RoleResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /roles

Stats of the List Roles filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Reboot = boolean BootEnv = string Available = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /roles/{name}

Get a Role

  • Description: Get the Role specified by {name} or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 RoleResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /roles/{name}

Put a Role

  • Description: Update a Role specified by {name} using a JSON Role

Parameters

Name Position Description Type
Body* body Role
name* path string

Responses

Code Type
200 RoleResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /roles/{name}

Delete a Role

  • Description: Delete a Role specified by {name}

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 RoleResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

HEAD /roles/{name}

See if a Role exists

  • Description: Return 200 if the Role specifiec by {name} exists, or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /roles/{name}

Patch a Role

  • Description: Update a Role specified by {name} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
name* path string

Responses

Code Type
200 RoleResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /roles/{name}/actions

List role actions Role

  • Description: List Role actions for a Role specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoRoleResponse
403 NoRoleResponse
404 ErrorResponse

GET /roles/{name}/actions/{cmd}

List specific action for a role Role

  • Description: List specific {cmd} action for a Role specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoRoleResponse
403 NoRoleResponse
404 ErrorResponse

POST /roles/{name}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoRoleResponse
403 NoRoleResponse
404 ErrorResponse
409 ErrorResponse

18.5.1.14. Tenants

GET /tenants

Lists Tenants filtered by some parameters.

  • Description: This will show all Tenants by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Reboot = boolean BootEnv = string Available = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string

Responses

Code Type
200 TenantsResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /tenants

Create a Tenant

  • Description: Create a Tenant from the provided object

Parameters

Name Position Description Type
Body* body Tenant

Responses

Code Type
201 TenantResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /tenants

Stats of the List Tenants filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Reboot = boolean BootEnv = string Available = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /tenants/{name}

Get a Tenant

  • Description: Get the Tenant specified by {name} or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 TenantResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /tenants/{name}

Put a Tenant

  • Description: Update a Tenant specified by {name} using a JSON Tenant

Parameters

Name Position Description Type
Body* body Tenant
name* path string

Responses

Code Type
200 TenantResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /tenants/{name}

Delete a Tenant

  • Description: Delete a Tenant specified by {name}

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 TenantResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

HEAD /tenants/{name}

See if a Tenant exists

  • Description: Return 200 if the Tenant specifiec by {name} exists, or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /tenants/{name}

Patch a Tenant

  • Description: Update a Tenant specified by {name} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
name* path string

Responses

Code Type
200 TenantResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /tenants/{name}/actions

List tenant actions Tenant

  • Description: List Tenant actions for a Tenant specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoTenantResponse
403 NoTenantResponse
404 ErrorResponse

GET /tenants/{name}/actions/{cmd}

List specific action for a tenant Tenant

  • Description: List specific {cmd} action for a Tenant specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoTenantResponse
403 NoTenantResponse
404 ErrorResponse

POST /tenants/{name}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoTenantResponse
403 NoTenantResponse
404 ErrorResponse
409 ErrorResponse

18.5.1.15. Params

GET /params

Lists Params filtered by some parameters.

  • Description: This will show all Params by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred.

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string

Responses

Code Type
200 ParamsResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /params

Create a Param

  • Description: Create a Param from the provided object

Parameters

Name Position Description Type
Body* body Param

Responses

Code Type
201 ParamResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /params

Stats of the List Params filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred.

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /params/{name}

Get a Param

  • Description: Get the Param specified by {name} or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 ParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /params/{name}

Put a Param

  • Description: Update a Param specified by {name} using a JSON Param

Parameters

Name Position Description Type
Body* body Param
name* path string

Responses

Code Type
200 ParamResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /params/{name}

Delete a Param

  • Description: Delete a Param specified by {name}

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 ParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

HEAD /params/{name}

See if a Param exists

  • Description: Return 200 if the Param specifiec by {name} exists, or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /params/{name}

Patch a Param

  • Description: Update a Param specified by {name} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
name* path string

Responses

Code Type
200 ParamResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

18.5.1.16. Tasks

GET /tasks

Lists Tasks filtered by some parameters.

  • Description: This will show all Tasks by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Provider = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string

Responses

Code Type
200 TasksResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /tasks

Create a Task

  • Description: Create a Task from the provided object

Parameters

Name Position Description Type
Body* body Task

Responses

Code Type
201 TaskResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /tasks

Stats of the List Tasks filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Provider = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /tasks/{name}

Get a Task

  • Description: Get the Task specified by {name} or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 TaskResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /tasks/{name}

Put a Task

  • Description: Update a Task specified by {name} using a JSON Task

Parameters

Name Position Description Type
Body* body Task
name* path string

Responses

Code Type
200 TaskResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /tasks/{name}

Delete a Task

  • Description: Delete a Task specified by {name}

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 TaskResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

HEAD /tasks/{name}

See if a Task exists

  • Description: Return 200 if the Task specifiec by {name} exists, or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /tasks/{name}

Patch a Task

  • Description: Update a Task specified by {name} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
name* path string

Responses

Code Type
200 TaskResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /tasks/{name}/actions

List task actions Task

  • Description: List Task actions for a Task specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoTaskResponse
403 NoTaskResponse
404 ErrorResponse

GET /tasks/{name}/actions/{cmd}

List specific action for a task Task

  • Description: List specific {cmd} action for a Task specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoTaskResponse
403 NoTaskResponse
404 ErrorResponse

POST /tasks/{name}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoTaskResponse
403 NoTaskResponse
404 ErrorResponse
409 ErrorResponse

18.5.1.17. Jobs

GET /jobs

Lists Jobs filtered by some parameters.

  • Description: This will show all Jobs by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Uuid = string Stage = string Task = string State = string Machine = string Archived = boolean StartTime = datetime EndTime = datetime Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Uuid=fred - returns items named fred Uuid=Lt(fred) - returns items that alphabetically less than fred. Uuid=Lt(fred)&Archived=true - returns items with Uuid less than fred and Archived is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Uuid query string
Stage query string
Task query string
State query string
Machine query string
Archived query string
StartTime query string
EndTime query string

Responses

Code Type
200 JobsResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /jobs

Create a Job

  • Description: Create a Job from the provided object, Only Machine and UUID are used.

Parameters

Name Position Description Type
Body* body Job

Responses

Code Type
201 JobResponse
202 JobResponse
204 NoContentResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse
500 ErrorResponse

HEAD /jobs

Stats of the List Jobs filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Uuid = string Stage = string Task = string State = string Machine = string Archived = boolean StartTime = datetime EndTime = datetime Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Uuid=fred - returns items named fred Uuid=Lt(fred) - returns items that alphabetically less than fred. Uuid=Lt(fred)&Archived=true - returns items with Uuid less than fred and Archived is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Uuid query string
Stage query string
Task query string
State query string
Machine query string
Archived query string
StartTime query string
EndTime query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /jobs/{uuid}

Get a Job

  • Description: Get the Job specified by {uuid} or return NotFound.

Parameters

Name Position Description Type
uuid* path string

Responses

Code Type
200 JobResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /jobs/{uuid}

Put a Job

  • Description: Update a Job specified by {uuid} using a JSON Job

Parameters

Name Position Description Type
Body* body Job
uuid* path string

Responses

Code Type
200 JobResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

DELETE /jobs/{uuid}

Delete a Job

  • Description: Delete a Job specified by {uuid}

Parameters

Name Position Description Type
uuid* path string

Responses

Code Type
200 JobResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

HEAD /jobs/{uuid}

See if a Job exists

  • Description: Return 200 if the Job specifiec by {uuid} exists, or return NotFound.

Parameters

Name Position Description Type
uuid* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /jobs/{uuid}

Patch a Job

  • Description: Update a Job specified by {uuid} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
uuid* path string

Responses

Code Type
200 JobResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
422 ErrorResponse

GET /jobs/{uuid}/actions

List job plugin_actions Job

  • Description: List Job plugin_actions for a Job specified by {uuid} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
uuid* path string
plugin query string
os query string

Responses

Code Type
200 ActionsResponse
401 NoJobResponse
403 NoJobResponse
404 ErrorResponse

GET /jobs/{uuid}/log

Get the log for this job

  • Description: Get log for the Job specified by {uuid} or return NotFound.
  • Produces: [‘application/octet-stream’, ‘application/json’]

Parameters

Name Position Description Type
uuid* path string

Responses

Code Type
200 JobLogResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
500 ErrorResponse

PUT /jobs/{uuid}/log

Append the string to the end of the job’s log.

  • Consumes: [‘application/octet-stream’]
  • Produces: [‘application/json’]

Parameters

Name Position Description Type
Body* body Raw Octet Stream
uuid* path string

Responses

Code Type
204 NoContentResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
415 ErrorResponse
500 ErrorResponse

HEAD /jobs/{uuid}/log

Get the log for this job

  • Description: Get log for the Job specified by {uuid} or return NotFound.
  • Produces: [‘application/octet-stream’, ‘application/json’]

Parameters

Name Position Description Type
uuid* path string

Responses

Code Type
200 JobLogResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
500 ErrorResponse

GET /jobs/{uuid}/plugin_actions

List job plugin_actions Job

  • Description: List Job plugin_actions for a Job specified by {uuid} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
uuid* path string
plugin query string
os query string

Responses

Code Type
200 ActionsResponse
401 NoJobResponse
403 NoJobResponse
404 ErrorResponse

GET /jobs/{uuid}/plugin_actions/{cmd}

List specific action for a job Job

  • Description: List specific {cmd} action for a Job specified by {uuid} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
uuid* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoJobResponse
403 NoJobResponse
404 ErrorResponse

POST /jobs/{uuid}/plugin_actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
uuid* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoJobResponse
403 NoJobResponse
404 ErrorResponse
409 ErrorResponse

18.5.1.18. Logs

GET /logs

  • Description: Return current contents of the log buffer
  • Produces: [‘application/json’]

Responses

Code Type
200 LogResponse
401 NoContentResponse
403 NoContentResponse
500 ErrorResponse

18.5.1.19. Plugins

GET /plugins

Lists Plugins filtered by some parameters.

  • Description: This will show all Plugins by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexes: Name = string Provider = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string
Provider query string
decode query boolean
slim query boolean
params query string

Responses

Code Type
200 PluginsResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /plugins

Create a Plugin

  • Description: Create a Plugin from the provided object

Parameters

Name Position Description Type
Body* body Plugin

Responses

Code Type
201 PluginResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /plugins

Stats of the List Plugins filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Provider = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string
Provider query string
decode query boolean
slim query boolean
params query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /plugins/{name}

Get a Plugin

  • Description: Get the Plugin specified by {name} or return NotFound.

Parameters

Name Position Description Type
decode query string
params query string
name* path string

Responses

Code Type
200 PluginResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /plugins/{name}

Put a Plugin

  • Description: Update a Plugin specified by {name} using a JSON Plugin

Parameters

Name Position Description Type
Body* body Plugin
decode query string
params query string
name* path string

Responses

Code Type
200 PluginResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /plugins/{name}

Delete a Plugin

  • Description: Delete a Plugin specified by {name}

Parameters

Name Position Description Type
decode query string
params query string
name* path string

Responses

Code Type
200 PluginResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

HEAD /plugins/{name}

See if a Plugin exists

  • Description: Return 200 if the Plugin specifiec by {name} exists, or return NotFound.

Parameters

Name Position Description Type
decode query string
params query string
name* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /plugins/{name}

Patch a Plugin

  • Description: Update a Plugin specified by {name} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
decode query string
params query string
name* path string

Responses

Code Type
200 PluginResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /plugins/{name}/actions

List plugin actions Plugin

  • Description: List Plugin actions for a Plugin specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoPluginResponse
403 NoPluginResponse
404 ErrorResponse

GET /plugins/{name}/actions/{cmd}

List specific action for a plugin Plugin

  • Description: List specific {cmd} action for a Plugin specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoPluginResponse
403 NoPluginResponse
404 ErrorResponse

POST /plugins/{name}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoPluginResponse
403 NoPluginResponse
404 ErrorResponse
409 ErrorResponse

GET /plugins/{name}/params

List plugin params Plugin

  • Description: List Plugin parms for a Plugin specified by {name}

Parameters

Name Position Description Type
decode query string
params query string
name* path string

Responses

Code Type
200 PluginParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

POST /plugins/{name}/params

  • Description: Sets parameters for a plugin specified by {name}

Parameters

Name Position Description Type
decode query string
params query string
name* path string
Body* body map of strings to object

Responses

Code Type
200 PluginParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

PATCH /plugins/{name}/params

  • Description: Update params for Plugin {name} with the passed-in patch

Parameters

Name Position Description Type
decode query string
params query string
name* path string

Responses

Code Type
200 PluginParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

GET /plugins/{name}/params/{key}

Delete a single plugin parameter

  • Description: Delete a single parameter {key} for a Plugin specified by {uuid}

Parameters

Name Position Description Type
decode query string
name* path string
key* path string

Responses

Code Type
200 PluginParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

POST /plugins/{name}/params/{key}

  • Description: Set as single Parameter {key} for a plugin specified by {name}

Parameters

Name Position Description Type
decode query string
name* path string
key* path string
Body* body Raw Octet Stream

Responses

Code Type
200 PluginParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

GET /plugins/{name}/pubkey

Get the public key for secure params on a plugin

  • Description: Get the public key for a Plugin specified by {name}

Parameters

Name Position Description Type
decode query string
params query string
name* path string

Responses

Code Type
200 PubKeyResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
500 ErrorResponse

DELETE /plugins/{uuid}/params/{key}

Delete a single plugin parameter

  • Description: Delete a single parameter {key} for a Plugin specified by {uuid}

Parameters

Name Position Description Type
decode query string
name* path string
key* path string

Responses

Code Type
200 PluginParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

18.5.1.20. PluginProviders

GET /plugin_providers

  • Description: Lists possible plugin_provider on the system to create plugins
  • Produces: [‘application/json’]

Responses

Code Type
200 PluginProvidersResponse
401 NoContentResponse
403 NoContentResponse
500 ErrorResponse

HEAD /plugin_providers

  • Description: Stats of the list of plugin_provider on the system to create plugins
  • Produces: [‘application/json’]

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 PluginProvidersResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse
500 ErrorResponse

GET /plugin_providers/{name}

Get a specific plugin with {name}

  • Description: Get a specific plugin specified by {name}.
  • Produces: [‘application/json’]

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 PluginProviderResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
500 ErrorResponse

POST /plugin_providers/{name}

Upload a plugin provider to a specific {name}.

  • Consumes: [‘application/octet-stream’]
  • Produces: [‘application/json’]

Parameters

Name Position Description Type
name* path string
replaceWritable query string
Body body Raw Octet Stream

Responses

Code Type
201 PluginProviderInfoResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
415 ErrorResponse
507 ErrorResponse

DELETE /plugin_providers/{name}

Delete a plugin provider

  • Description: The plugin provider will be removed from the system.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
204 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

HEAD /plugin_providers/{name}

See if a Plugin Provider exists

  • Description: Return 200 if the Plugin Provider specified by {name} exists, or return NotFound.

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

GET /plugin_providers/{name}/binary

Get the binary for a specific plugin provider by {name}

  • Description: Get a specific plugin provider binary specified by {name}
  • Produces: [‘application/octet-stream’, ‘application/json’]

Responses

Code Type
200 IsoResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

18.5.1.21. Indexes

GET /indexes

  • Description: List all static indexes for objects
  • Produces: [‘application/json’]

Responses

Code Type
200 IndexesResponse
401 NoContentResponse
403 NoContentResponse
500 ErrorResponse

GET /indexes/{prefix}

  • Description: Get static indexes for a specific object type
  • Produces: [‘application/json’]

Parameters

Name Position Description Type
prefix* path string

Responses

Code Type
200 IndexResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
500 ErrorResponse

GET /indexes/{prefix}/{param}

Get information on a specific index for a specific object type.

  • Description: Unlike the other routes, you can probe for parameter-defined indexes using this route.
  • Produces: [‘application/json’]

Parameters

Name Position Description Type
prefix* path string
param* path string

Responses

Code Type
200 IndexResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
500 ErrorResponse

18.5.1.22. Contents

GET /contents

  • Description: Lists possible contents on the system to serve DHCP
  • Produces: [‘application/json’]

Responses

Code Type
200 ContentsResponse
401 NoContentResponse
403 NoContentResponse
500 ErrorResponse

POST /contents

  • Description: Create content into Digital Rebar Provision

Parameters

Name Position Description Type
replaceWritable query string
Body body Content

Responses

Code Type
201 ContentSummaryResponse
400 ErrorResponse
401 NoContentResponse
403 ErrorResponse
404 ErrorResponse
409 ErrorResponse
415 ErrorResponse
422 ErrorResponse
500 ErrorResponse
507 ErrorResponse

GET /contents/{name}

Get a specific content with {name}

  • Description: Get a specific content specified by {name}.
  • Produces: [‘application/json’]

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 ContentResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
500 ErrorResponse

PUT /contents/{name}

  • Description: Replace content in Digital Rebar Provision

Parameters

Name Position Description Type
replaceWritable query string
Body body Content
name* path string

Responses

Code Type
200 ContentSummaryResponse
400 ErrorResponse
401 NoContentResponse
403 ErrorResponse
404 ErrorResponse
409 ErrorResponse
415 ErrorResponse
422 ErrorResponse
500 ErrorResponse
507 ErrorResponse

DELETE /contents/{name}

Delete a content set.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
204 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

18.5.1.23. Events

POST /events

Create an Event

  • Description: Create an Event from the provided object

Parameters

Name Position Description Type
Body body Event

Responses

Code Type
204 NoContentResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
422 ErrorResponse

18.5.3.22. Info

GET /info

Return current system info.

  • Produces: [‘application/json’]

Responses

Code Type
200 InfoResponse
401 NoContentResponse
403 NoContentResponse
500 ErrorResponse

18.5.1.25. Stages

GET /stages

Lists Stages filtered by some parameters.

  • Description: This will show all Stages by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Reboot = boolean BootEnv = string Available = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string
Reboot query string
BootEnv query string
slim query boolean
params query string

Responses

Code Type
200 StagesResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /stages

Create a Stage

  • Description: Create a Stage from the provided object

Parameters

Name Position Description Type
Body* body Stage

Responses

Code Type
201 StageResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /stages

Stats of the List Stages filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Reboot = boolean BootEnv = string Available = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string
Reboot query string
BootEnv query string
slim query boolean
params query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /stages/{name}

Get a Stage

  • Description: Get the Stage specified by {name} or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 StageResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /stages/{name}

Put a Stage

  • Description: Update a Stage specified by {name} using a JSON Stage

Parameters

Name Position Description Type
Body* body Stage
name* path string

Responses

Code Type
200 StageResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /stages/{name}

Delete a Stage

  • Description: Delete a Stage specified by {name}

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 StageResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

HEAD /stages/{name}

See if a Stage exists

  • Description: Return 200 if the Stage specifiec by {name} exists, or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /stages/{name}

Patch a Stage

  • Description: Update a Stage specified by {name} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
name* path string

Responses

Code Type
200 StageResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /stages/{name}/actions

List stage actions Stage

  • Description: List Stage actions for a Stage specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoStageResponse
403 NoStageResponse
404 ErrorResponse

GET /stages/{name}/actions/{cmd}

List specific action for a stage Stage

  • Description: List specific {cmd} action for a Stage specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoStageResponse
403 NoStageResponse
404 ErrorResponse

POST /stages/{name}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoStageResponse
403 NoStageResponse
404 ErrorResponse
409 ErrorResponse

GET /stages/{name}/params

List stage params Stage

  • Description: List Stage parms for a Stage specified by {name}

Parameters

Name Position Description Type
aggregate query string
decode query string
params query string
name* path string

Responses

Code Type
200 StageParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

POST /stages/{name}/params

  • Description: Sets parameters for a stage specified by {name}

Parameters

Name Position Description Type
name* path string
Body* body map of strings to object

Responses

Code Type
200 StageParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

PATCH /stages/{name}/params

  • Description: Update params for Stage {name} with the passed-in patch

Parameters

Name Position Description Type
name* path string
Body* body Patch

Responses

Code Type
200 StageParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

GET /stages/{name}/params/{key}

Delete a single stage parameter

  • Description: Delete a single parameter {key} for a Stage specified by {name}

Parameters

Name Position Description Type
aggregate query string
decode query string
name* path string
key* path string

Responses

Code Type
200 StageParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

POST /stages/{name}/params/{key}

  • Description: Set as single Parameter {key} for a stage specified by {name}

Parameters

Name Position Description Type
Body* body Raw Octet Stream
name* path string
key* path string

Responses

Code Type
200 StageParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

DELETE /stages/{name}/params/{key}

Delete a single stage parameter

  • Description: Delete a single parameter {key} for a Stage specified by {name}

Parameters

Name Position Description Type
aggregate query string
decode query string
name* path string
key* path string

Responses

Code Type
200 StageParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

GET /stages/{name}/pubkey

Get the public key for secure params on a stage

  • Description: Get the public key for a Stage specified by {name}

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 PubKeyResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
500 ErrorResponse

18.5.1.26. System

GET /system/actions

List system actions System

  • Description: List System actions Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoSystemResponse
403 NoSystemResponse
404 ErrorResponse

GET /system/actions/{cmd}

List specific action for System

  • Description: List specific {cmd} action for System Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoSystemResponse
403 NoSystemResponse
404 ErrorResponse

POST /system/actions/{cmd}

Call an action on the system.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoSystemResponse
403 NoSystemResponse
404 ErrorResponse
409 ErrorResponse

POST /system/upgrade

Upload a file to upgrade the DRP system

  • Description: The file will be uploaded and used to replace the running DRP instance.
  • Consumes: [‘application/octet-stream’]
  • Produces: [‘application/json’]

Responses

Code Type
202 FileInfoResponse
400 ErrorResponse
401 NoContentResponse
403 ErrorResponse
404 ErrorResponse
409 ErrorResponse
415 ErrorResponse
507 ErrorResponse

18.5.1.27. Workflows

GET /workflows

Lists Workflows filtered by some parameters.

  • Description: This will show all Workflows by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Reboot = boolean BootEnv = string Available = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string
Reboot query string
BootEnv query string

Responses

Code Type
200 WorkflowsResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /workflows

Create a Workflow

  • Description: Create a Workflow from the provided object

Parameters

Name Position Description Type
Body* body Workflow

Responses

Code Type
201 WorkflowResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /workflows

Stats of the List Workflows filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Reboot = boolean BootEnv = string Available = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string
Reboot query string
BootEnv query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /workflows/{name}

Get a Workflow

  • Description: Get the Workflow specified by {name} or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 WorkflowResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /workflows/{name}

Put a Workflow

  • Description: Update a Workflow specified by {name} using a JSON Workflow

Parameters

Name Position Description Type
Body* body Workflow
name* path string

Responses

Code Type
200 WorkflowResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /workflows/{name}

Delete a Workflow

  • Description: Delete a Workflow specified by {name}

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 WorkflowResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

HEAD /workflows/{name}

See if a Workflow exists

  • Description: Return 200 if the Workflow specifiec by {name} exists, or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /workflows/{name}

Patch a Workflow

  • Description: Update a Workflow specified by {name} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
name* path string

Responses

Code Type
200 WorkflowResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /workflows/{name}/actions

List workflow actions Workflow

  • Description: List Workflow actions for a Workflow specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoWorkflowResponse
403 NoWorkflowResponse
404 ErrorResponse

GET /workflows/{name}/actions/{cmd}

List specific action for a workflow Workflow

  • Description: List specific {cmd} action for a Workflow specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoWorkflowResponse
403 NoWorkflowResponse
404 ErrorResponse

POST /workflows/{name}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoWorkflowResponse
403 NoWorkflowResponse
404 ErrorResponse
409 ErrorResponse

18.5.1.28. Meta

GET /meta/{type}/{id}

Get Metadata for an Object of {type} idendified by {id}

  • Description: Get the appropriate Metadata or return NotFound.

Parameters

Name Position Description Type
type* path string
id* path string

Responses

Code Type
200 MetaResponse
401 NoContentResponse
403 NoContentRespons

PATCH /meta/{type}/{id}

Patch metadata on an Object of {type} with an ID of {id}

  • Description: Update metadata on a specific Object using a RFC6902 Patch structure

Parameters

Name Position Description Type
type* path string
id* path string

Responses

Code Type
200 MetasResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

18.5.1.29. Objects

GET /objects

  • Description: Lists the object types in the system

Responses

Code Type
200 ObjectsResponse
401 NoContentResponse
403 NoContentResponse

18.5.1.30. Contexts

GET /contexts

Lists Contexts filtered by some parameters.

  • Description: This will show all Contexts by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Reboot = boolean BootEnv = string Available = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string
Reboot query string
BootEnv query string

Responses

Code Type
200 ContextsResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /contexts

Create a Context

  • Description: Create a Context from the provided object

Parameters

Name Position Description Type
Body* body Context

Responses

Code Type
201 ContextResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /contexts

Stats of the List Contexts filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: Name = string Reboot = boolean BootEnv = string Available = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: Name=fred - returns items named fred Name=Lt(fred) - returns items that alphabetically less than fred. Name=Lt(fred)&Available=true - returns items with Name less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Name query string
Reboot query string
BootEnv query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /contexts/{name}

Get a Context

  • Description: Get the Context specified by {name} or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 ContextResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /contexts/{name}

Put a Context

  • Description: Update a Context specified by {name} using a JSON Context

Parameters

Name Position Description Type
Body* body Context
name* path string

Responses

Code Type
200 ContextResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /contexts/{name}

Delete a Context

  • Description: Delete a Context specified by {name}

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 ContextResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

HEAD /contexts/{name}

See if a Context exists

  • Description: Return 200 if the Context specifiec by {name} exists, or return NotFound.

Parameters

Name Position Description Type
name* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /contexts/{name}

Patch a Context

  • Description: Update a Context specified by {name} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
name* path string

Responses

Code Type
200 ContextResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /contexts/{name}/actions

List context actions Context

  • Description: List Context actions for a Context specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoContextResponse
403 NoContextResponse
404 ErrorResponse

GET /contexts/{name}/actions/{cmd}

List specific action for a context Context

  • Description: List specific {cmd} action for a Context specified by {name} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoContextResponse
403 NoContextResponse
404 ErrorResponse

POST /contexts/{name}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
name* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoContextResponse
403 NoContextResponse
404 ErrorResponse
409 ErrorResponse

18.5.3.66. Whoami

POST /whoami

Fills a Whoami with the closest matching Machine

  • Description: This will fill the Result section of the passed-in Whoami with the Machine information that most closely matches the Fingerprint and MacAddrs fields. If there were no close enough matches, Score will stay at zero, the Uuid field will not be valid, and no Token will be present.

Parameters

Name Position Description Type
Body body Whoami

Responses

Code Type
201 WhoamiResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

18.5.1.32. Pools

GET /pools

Lists Pools filtered by some parameters.

  • Description: This will show all Pools by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: ID = string Provider = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: ID=fred - returns items named fred ID=Lt(fred) - returns items that alphabetically less than fred. ID=Lt(fred)&Available=true - returns items with ID less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Id query string

Responses

Code Type
200 PoolsResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /pools

Create a Pool

  • Description: Create a Pool from the provided object

Parameters

Name Position Description Type
Body* body Pool

Responses

Code Type
201 PoolResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /pools

Stats of the List Pools filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: ID = string Provider = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: ID=fred - returns items named fred ID=Lt(fred) - returns items that alphabetically less than fred. ID=Lt(fred)&Available=true - returns items with ID less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Id query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /pools-active

Lists active Pools

  • Description: Returns the list of active pools

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Id query string

Responses

Code Type
200 PoolsActiveResponse
400 ErrorResponse
401 NoPoolResponse
403 NoPoolResponse
404 ErrorResponse
409 ErrorResponse

GET /pools/{id}

Get a Pool

  • Description: Get the Pool specified by {id} or return NotFound.

Parameters

Name Position Description Type
force query string
source-pool query string
id* path string

Responses

Code Type
200 PoolResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /pools/{id}

Put a Pool

  • Description: Update a Pool specified by {id} using a JSON Pool

Parameters

Name Position Description Type
Body* body Pool
force query string
source-pool query string
id* path string

Responses

Code Type
200 PoolResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /pools/{id}

Delete a Pool

  • Description: Delete a Pool specified by {id}

Parameters

Name Position Description Type
force query string
source-pool query string
id* path string

Responses

Code Type
200 PoolResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

HEAD /pools/{id}

See if a Pool exists

  • Description: Return 200 if the Pool specifiec by {id} exists, or return NotFound.

Parameters

Name Position Description Type
force query string
source-pool query string
id* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /pools/{id}

Patch a Pool

  • Description: Update a Pool specified by {id} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
force query string
source-pool query string
id* path string

Responses

Code Type
200 PoolResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /pools/{id}/actions

List task actions Pool

  • Description: List Pool actions for a Pool specified by {id} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
id* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoPoolResponse
403 NoPoolResponse
404 ErrorResponse

GET /pools/{id}/actions/{cmd}

List specific action for a task Pool

  • Description: List specific {cmd} action for a Pool specified by {id} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
id* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoPoolResponse
403 NoPoolResponse
404 ErrorResponse

POST /pools/{id}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
force query string
source-pool query string
id* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoPoolResponse
403 NoPoolResponse
404 ErrorResponse
409 ErrorResponse

POST /pools/{id}/addMachines

Add machines to this pool from default.

  • Description: Input is a map with the following fields. These fields override the pool definitions if they exist on the pool. pool/workflow = workflow of to set on transition pool/add-profiles pool/add-parameters pool/remove-profiles pool/remove-parameters These fields define what to operate. pool/count = how many nodes to change pool/minimum = minimum machnies to allocate or fail pool/filter = list of list-style filters (e.g. Runnable=Eq(true)) pool/wait-timeout = Time to delay in seconds or time string (30m) pool/machine-list - a list of machine UUID or Name:name pool/all-machines - boolean for all machines in pool

Parameters

Name Position Description Type
force query string
source-pool query string
id* path string

Responses

Code Type
200 PoolResultsResponse
400 ErrorResponse
401 NoPoolResponse
403 NoPoolResponse
404 ErrorResponse
409 ErrorResponse

POST /pools/{id}/allocateMachines

Allocate machines in this pool.

  • Description: Input is a map with the following fields. These fields override the pool definitions if they exist on the pool. pool/workflow = workflow of to set on transition pool/add-profiles pool/add-parameters pool/remove-profiles pool/remove-parameters These fields define what to operate. pool/count = how many nodes to change pool/minimum = minimum machnies to allocate or fail pool/filter = list of list-style filters (e.g. Runnable=Eq(true)) pool/wait-timeout = Time to delay in seconds or time string (30m) pool/machine-list - a list of machine UUID or Name:name pool/all-machines - boolean for all machines in pool

Parameters

Name Position Description Type
force query string
source-pool query string
id* path string

Responses

Code Type
200 PoolResultsResponse
400 ErrorResponse
401 NoPoolResponse
403 NoPoolResponse
404 ErrorResponse
409 ErrorResponse

POST /pools/{id}/releaseMachines

Release machines in this pool.

  • Description: Input is a map with the following fields. These fields override the pool definitions if they exist on the pool. pool/workflow = workflow of to set on transition pool/add-profiles pool/add-parameters pool/remove-profiles pool/remove-parameters These fields define what to operate. pool/count = how many nodes to change pool/minimum = minimum machnies to allocate or fail pool/filter = list of list-style filters (e.g. Runnable=Eq(true)) pool/wait-timeout = Time to delay in seconds or time string (30m) pool/machine-list - a list of machine UUID or Name:name pool/all-machines - boolean for all machines in pool

Parameters

Name Position Description Type
force query string
source-pool query string
id* path string

Responses

Code Type
200 PoolResultsResponse
400 ErrorResponse
401 NoPoolResponse
403 NoPoolResponse
404 ErrorResponse
409 ErrorResponse

POST /pools/{id}/removeMachines

Remove machines from this pool to default.

  • Description: Input is a map with the following fields. These fields override the pool definitions if they exist on the pool. pool/workflow = workflow of to set on transition pool/add-profiles pool/add-parameters pool/remove-profiles pool/remove-parameters These fields define what to operate. pool/count = how many nodes to change pool/minimum = minimum machnies to allocate or fail pool/filter = list of list-style filters (e.g. Runnable=Eq(true)) pool/wait-timeout = Time to delay in seconds or time string (30m) pool/machine-list - a list of machine UUID or Name:name pool/all-machines - boolean for all machines in pool

Parameters

Name Position Description Type
force query string
source-pool query string
id* path string

Responses

Code Type
200 PoolResultsResponse
400 ErrorResponse
401 NoPoolResponse
403 NoPoolResponse
404 ErrorResponse
409 ErrorResponse

GET /pools/{id}/status

  • Description: Returns the status of the machines in the pool

Parameters

Name Position Description Type
force query string
source-pool query string
id* path string

Responses

Code Type
200 PoolStatusResponse
400 ErrorResponse
401 NoPoolResponse
403 NoPoolResponse
404 ErrorResponse
409 ErrorResponse

18.5.1.33. Endpoints

GET /endpoints

Lists Endpoints filtered by some parameters.

  • Description: This will show all Endpoints by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: ID = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: ID=fred - returns items named fred ID=Lt(fred) - returns items that alphabetically less than fred.

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Id query string
decode query boolean
slim query boolean
params query string

Responses

Code Type
200 EndpointsResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /endpoints

Create a Endpoint

  • Description: Create a Endpoint from the provided object

Parameters

Name Position Description Type
Body* body Endpoint

Responses

Code Type
201 EndpointResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /endpoints

Stats of the List Endpoints filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: ID = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: ID=fred - returns items named fred ID=Lt(fred) - returns items that alphabetically less than fred.

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Id query string
decode query boolean
slim query boolean
params query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /endpoints/{id}

Get a Endpoint

  • Description: Get the Endpoint specified by {id} or return NotFound.

Parameters

Name Position Description Type
decode query string
params query string
id* path string

Responses

Code Type
200 EndpointResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /endpoints/{id}

Put a Endpoint

  • Description: Update a Endpoint specified by {id} using a JSON Endpoint

Parameters

Name Position Description Type
Body* body Endpoint
decode query string
params query string
id* path string

Responses

Code Type
200 EndpointResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

DELETE /endpoints/{id}

Delete a Endpoint

  • Description: Delete a Endpoint specified by {id}

Parameters

Name Position Description Type
decode query string
params query string
id* path string

Responses

Code Type
200 EndpointResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

HEAD /endpoints/{id}

See if a Endpoint exists

  • Description: Return 200 if the Endpoint specifiec by {id} exists, or return NotFound.

Parameters

Name Position Description Type
decode query string
params query string
id* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /endpoints/{id}

Patch a Endpoint

  • Description: Update a Endpoint specified by {id} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
decode query string
params query string
id* path string

Responses

Code Type
200 EndpointResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /endpoints/{id}/actions

List endpoint actions Endpoint

  • Description: List Endpoint actions for a Endpoint specified by {id} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
id* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoEndpointResponse
403 NoEndpointResponse
404 ErrorResponse

GET /endpoints/{id}/actions/{cmd}

List specific action for a endpoint Endpoint

  • Description: List specific {cmd} action for a Endpoint specified by {id} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
id* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoEndpointResponse
403 NoEndpointResponse
404 ErrorResponse

POST /endpoints/{id}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
id* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoEndpointResponse
403 NoEndpointResponse
404 ErrorResponse
409 ErrorResponse

GET /endpoints/{id}/params

List endpoint params Endpoint

  • Description: List Endpoint parms for a Endpoint specified by {id}

Parameters

Name Position Description Type
decode query string
params query string
id* path string

Responses

Code Type
200 EndpointParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

POST /endpoints/{id}/params

  • Description: Sets parameters for a endpoint specified by {id}

Parameters

Name Position Description Type
decode query string
params query string
id* path string
Body* body map of strings to object

Responses

Code Type
200 EndpointParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

PATCH /endpoints/{id}/params

  • Description: Update params for Endpoint {id} with the passed-in patch

Parameters

Name Position Description Type
Body* body Patch
decode query string
params query string
id* path string

Responses

Code Type
200 EndpointParamsResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

GET /endpoints/{id}/params/{key}

Delete a single endpoint parameter

  • Description: Delete a single parameter {key} for a Endpoint specified by {uuid}

Parameters

Name Position Description Type
decode query string
id* path string
key* path string

Responses

Code Type
200 EndpointParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

POST /endpoints/{id}/params/{key}

  • Description: Set as single Parameter {key} for a endpoint specified by {id}

Parameters

Name Position Description Type
decode query string
id* path string
key* path string
Body* body Raw Octet Stream

Responses

Code Type
200 EndpointParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse

GET /endpoints/{id}/pubkey

Get the public key for secure params on a endpoint

  • Description: Get the public key for a Endpoint specified by {id}

Parameters

Name Position Description Type
decode query string
params query string
id* path string

Responses

Code Type
200 PubKeyResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
500 ErrorResponse

DELETE /endpoints/{uuid}/params/{key}

Delete a single endpoint parameter

  • Description: Delete a single parameter {key} for a Endpoint specified by {uuid}

Parameters

Name Position Description Type
decode query string
id* path string
key* path string

Responses

Code Type
200 EndpointParamResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

18.5.1.34. VersionSets

GET /version_sets

Lists VersionSets filtered by some parameters.

  • Description: This will show all VersionSets by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: ID = string Provider = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: ID=fred - returns items named fred ID=Lt(fred) - returns items that alphabetically less than fred. ID=Lt(fred)&Available=true - returns items with ID less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Id query string

Responses

Code Type
200 VersionSetsResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /version_sets

Create a VersionSet

  • Description: Create a VersionSet from the provided object

Parameters

Name Position Description Type
Body* body VersionSet

Responses

Code Type
201 VersionSetResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /version_sets

Stats of the List VersionSets filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: ID = string Provider = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: ID=fred - returns items named fred ID=Lt(fred) - returns items that alphabetically less than fred. ID=Lt(fred)&Available=true - returns items with ID less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Id query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /version_sets/{id}

Get a VersionSet

  • Description: Get the VersionSet specified by {id} or return NotFound.

Parameters

Name Position Description Type
id* path string

Responses

Code Type
200 VersionSetResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /version_sets/{id}

Put a VersionSet

  • Description: Update a VersionSet specified by {id} using a JSON VersionSet

Parameters

Name Position Description Type
Body* body VersionSet
id* path string

Responses

Code Type
200 VersionSetResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /version_sets/{id}

Delete a VersionSet

  • Description: Delete a VersionSet specified by {id}

Parameters

Name Position Description Type
id* path string

Responses

Code Type
200 VersionSetResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

HEAD /version_sets/{id}

See if a VersionSet exists

  • Description: Return 200 if the VersionSet specifiec by {id} exists, or return NotFound.

Parameters

Name Position Description Type
id* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /version_sets/{id}

Patch a VersionSet

  • Description: Update a VersionSet specified by {id} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
id* path string

Responses

Code Type
200 VersionSetResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

GET /version_sets/{id}/actions

List task actions VersionSet

  • Description: List VersionSet actions for a VersionSet specified by {id} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
id* path string
plugin query string

Responses

Code Type
200 ActionsResponse
401 NoVersionSetResponse
403 NoVersionSetResponse
404 ErrorResponse

GET /version_sets/{id}/actions/{cmd}

List specific action for a task VersionSet

  • Description: List specific {cmd} action for a VersionSet specified by {id} Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
id* path string
cmd* path string
plugin query string

Responses

Code Type
200 ActionResponse
400 ErrorResponse
401 NoVersionSetResponse
403 NoVersionSetResponse
404 ErrorResponse

POST /version_sets/{id}/actions/{cmd}

Call an action on the node.

  • Description: Optionally, a query parameter can be used to limit the scope to a specific plugin. e.g. ?plugin=fred

Parameters

Name Position Description Type
id* path string
cmd* path string
plugin query string
Body* body map of strings to object

Responses

Code Type
200 ActionPostResponse
400 ErrorResponse
401 NoVersionSetResponse
403 NoVersionSetResponse
404 ErrorResponse
409 ErrorResponse

18.5.1.35. CatalogItems

GET /catalog_items

Lists CatalogItems filtered by some parameters.

  • Description: This will show all CatalogItems by default. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: ID = string Provider = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: ID=fred - returns items named fred ID=Lt(fred) - returns items that alphabetically less than fred. ID=Lt(fred)&Available=true - returns items with ID less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Id query string

Responses

Code Type
200 CatalogItemsResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

POST /catalog_items

Create a CatalogItem

  • Description: Create a CatalogItem from the provided object

Parameters

Name Position Description Type
Body* body CatalogItem

Responses

Code Type
201 CatalogItemResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
409 ErrorResponse
422 ErrorResponse

HEAD /catalog_items

Stats of the List CatalogItems filtered by some parameters.

  • Description: This will return headers with the stats of the list. You may specify: Offset = integer, 0-based inclusive starting point in filter data. Limit = integer, number of items to return Functional Indexs: ID = string Provider = string Available = boolean Valid = boolean ReadOnly = boolean Functions: Eq(value) = Return items that are equal to value Lt(value) = Return items that are less than value Lte(value) = Return items that less than or equal to value Gt(value) = Return items that are greater than value Gte(value) = Return items that greater than or equal to value Between(lower,upper) = Return items that are inclusively between lower and upper Except(lower,upper) = Return items that are not inclusively between lower and upper Example: ID=fred - returns items named fred ID=Lt(fred) - returns items that alphabetically less than fred. ID=Lt(fred)&Available=true - returns items with ID less than fred and Available is true

Parameters

Name Position Description Type
offset query integer
limit query integer
Available query string
Valid query string
ReadOnly query string
Id query string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
406 ErrorResponse

GET /catalog_items/{id}

Get a CatalogItem

  • Description: Get the CatalogItem specified by {id} or return NotFound.

Parameters

Name Position Description Type
id* path string

Responses

Code Type
200 CatalogItemResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse

PUT /catalog_items/{id}

Put a CatalogItem

  • Description: Update a CatalogItem specified by {id} using a JSON CatalogItem

Parameters

Name Position Description Type
Body* body CatalogItem
id* path string

Responses

Code Type
200 CatalogItemResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
409 ErrorResponse
422 ErrorResponse

DELETE /catalog_items/{id}

Delete a CatalogItem

  • Description: Delete a CatalogItem specified by {id}

Parameters

Name Position Description Type
id* path string

Responses

Code Type
200 CatalogItemResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
422 ErrorResponse

HEAD /catalog_items/{id}

See if a CatalogItem exists

  • Description: Return 200 if the CatalogItem specifiec by {id} exists, or return NotFound.

Parameters

Name Position Description Type
id* path string

Responses

Code Type
200 NoContentResponse
401 NoContentResponse
403 NoContentResponse
404 NoContentResponse

PATCH /catalog_items/{id}

Patch a CatalogItem

  • Description: Update a CatalogItem specified by {id} using a RFC6902 Patch structure

Parameters

Name Position Description Type
Body* body Patch
id* path string

Responses

Code Type
200 CatalogItemResponse
400 ErrorResponse
401 NoContentResponse
403 NoContentResponse
404 ErrorResponse
406 ErrorResponse
409 ErrorResponse
422 ErrorResponse

18.5.3.34. MachineFingerprint

18.5.2. Responses

18.5.2.1. ActionPostResponse

ActionPostResponse

  • Description: ActionPostResponse return on a successful POST of action

Parameters

Name Position Description Type
Payload Body Raw Octet Stream

18.5.2.2. ActionResponse

ActionResponse

  • Description: ActionResponse return on a successful GET of a single Action

Parameters

Name Position Description Type
Payload Body AvailableAction

18.5.2.3. ActionsResponse

ActionsResponse

  • Description: ActionsResponse return on a successful GET of all Actions

Parameters

Name Position Description Type
Payload Body array of AvailableAction

18.5.2.4. BootEnvResponse

BootEnvResponse

  • Description: BootEnvResponse returned on a successful GET, PUT, PATCH, or POST of a single bootenv

Parameters

Name Position Description Type
Payload Body BootEnv

18.5.2.5. BootEnvsResponse

BootEnvsResponse

  • Description: BootEnvsResponse returned on a successful GET of all the bootenvs

Parameters

Name Position Description Type
Payload Body array of BootEnv

18.5.2.6. CatalogItemParamsResponse

CatalogItemParamsResponse

  • Description: CatalogItemParamsResponse return on a successful GET of all CatalogItem’s Params

Parameters

Name Position Description Type
Payload Body map of strings to object

18.5.2.7. CatalogItemResponse

CatalogItemResponse

  • Description: CatalogItemResponse return on a successful GET, PUT, PATCH or POST of a single CatalogItem

Parameters

Name Position Description Type
Payload Body CatalogItem

18.5.2.8. CatalogItemsResponse

CatalogItemsResponse

  • Description: CatalogItemsResponse return on a successful GET of all CatalogItems

Parameters

Name Position Description Type
Payload Body array of CatalogItem

18.5.2.9. ContentResponse

ContentResponse

  • Description: ContentResponse returned on a successful GET of a contents

Parameters

Name Position Description Type
Payload Body Content

18.5.2.10. ContentSummaryResponse

ContentSummaryResponse

  • Description: ContentSummaryResponse returned on a successful Post of a content

Parameters

Name Position Description Type
Payload Body ContentSummary

18.5.2.11. ContentsResponse

ContentsResponse

  • Description: ContentsResponse returned on a successful GET of all contents

Parameters

Name Position Description Type
Payload Body array of ContentSummary

18.5.2.12. ContextResponse

ContextResponse

  • Description: ContextResponse returned on a successful GET, PUT, PATCH, or POST of a single context

Parameters

Name Position Description Type
Payload Body Context

18.5.2.13. ContextsResponse

ContextsResponse

  • Description: ContextsResponse returned on a successful GET of all the contexts

Parameters

Name Position Description Type
Payload Body array of Context

18.5.2.14. EndpointParamResponse

EndpointParamResponse

  • Description: EndpointParamResponse return on a successful GET of a single Param for a Endpoint

Parameters

Name Position Description Type
Payload Body Raw Octet Stream

18.5.2.15. EndpointParamsResponse

EndpointParamsResponse

  • Description: EndpointParamsResponse return on a successful GET of all Endpoint’s Params

Parameters

Name Position Description Type
Payload Body map of strings to object

18.5.2.16. EndpointResponse

EndpointResponse

  • Description: EndpointResponse returned on a successful GET, PUT, PATCH, or POST of a single endpoint

Parameters

Name Position Description Type
Payload Body Endpoint

18.5.2.17. EndpointsResponse

EndpointsResponse

  • Description: EndpointsResponse returned on a successful GET of all the endpoints

Parameters

Name Position Description Type
Payload Body array of Endpoint

18.5.2.18. ErrorResponse

ErrorResponse

  • Description: ErrorResponse is returned whenever an error occurs

Parameters

Name Position Description Type
Payload Body Error

18.5.2.19. FileInfoResponse

FileInfoResponse

  • Description: FileInfoResponse returned on a successful upload of a file

Parameters

Name Position Description Type
Payload Body BlobInfo

18.5.2.20. FileResponse

FileResponse

  • Description: This is a HACK - I can’t figure out how to get swagger to render this a binary. So we lie. We also override this object from the server directory to have a binary format which turns it into a stream. FileResponse returned on a successful GET of a file

Parameters

Name Position Description Type
Payload Body string

18.5.2.21. FilesResponse

FilesResponse

  • Description: FilesResponse returned on a successful GET of files

Parameters

Name Position Description Type
Payload Body FilePaths

18.5.2.22. IndexResponse

IndexResponse

  • Description: IndexResponse lists all of the static indexes for a specific type of object

Parameters

Name Position Description Type
Payload Body map of strings to Unknown

18.5.2.23. IndexesResponse

IndexesResponse

  • Description: IndexesResponse lists all the static indexes for all the object types

Parameters

Name Position Description Type
Payload Body map of strings to object

18.5.2.24. InfoResponse

InfoResponse

  • Description: InfosResponse returned on a successful GET of an info

Parameters

Name Position Description Type
Payload Body Info

18.5.2.25. InterfaceResponse

InterfaceResponse

  • Description: InterfacesResponse returned on a successful GET of an interfaces

Parameters

Name Position Description Type
Payload Body Interface

18.5.2.26. InterfacesResponse

InterfacesResponse

  • Description: InterfacesResponse returned on a successful GET of all interfaces

Parameters

Name Position Description Type
Payload Body array of Interface

18.5.2.27. IsoInfoResponse

IsoInfoResponse

  • Description: IsoInfoResponse returned on a successful upload of an iso

Parameters

Name Position Description Type
Payload Body BlobInfo

18.5.2.28. IsoResponse

IsoResponse

  • Description: This is a HACK - I can’t figure out how to get swagger to render this a binary. So we lie. We also override this object from the server directory to have a binary format which turns it into a stream. IsoResponse returned on a successful GET of an iso

Parameters

Name Position Description Type
Payload Body Raw Octet Stream

18.5.2.29. IsosResponse

IsosResponse

  • Description: IsosResponse returned on a successful GET of isos

Parameters

Name Position Description Type
Payload Body IsoPaths

18.5.2.30. JobActionsResponse

JobActionsResponse

  • Description: JobActionsResponse return on a successful GET of a Job’s actions

Parameters

Name Position Description Type
Payload Body JobActions

18.5.2.31. JobLogResponse

JobLogResponse

  • Description: This is a HACK - I can’t figure out how to get swagger to render this a binary. So we lie. We also override this object from the server directory to have a binary format which turns it into a stream. JobLogResponse returned on a successful GET of a log

Parameters

Name Position Description Type
Payload Body string

18.5.2.32. JobParamsResponse

JobParamsResponse

  • Description: JobParamsResponse return on a successful GET of all Job’s Params

Parameters

Name Position Description Type
Payload Body map of strings to object

18.5.2.33. JobResponse

JobResponse

  • Description: JobResponse return on a successful GET, PUT, PATCH or POST of a single Job

Parameters

Name Position Description Type
Payload Body Job

18.5.2.34. JobsResponse

JobsResponse

  • Description: JobsResponse return on a successful GET of all Jobs

Parameters

Name Position Description Type
Payload Body array of Job

18.5.2.35. LeaseResponse

LeaseResponse

  • Description: LeaseResponse returned on a successful GET, PUT, PATCH, or POST of a single lease

Parameters

Name Position Description Type
Payload Body Lease

18.5.2.36. LeasesResponse

LeasesResponse

  • Description: LeasesResponse returned on a successful GET of all the leases

Parameters

Name Position Description Type
Payload Body array of Lease

18.5.2.37. LogResponse

LogResponse

  • Description: LogResponse is returned in response to a log dump request.

Parameters

Name Position Description Type
Payload Body array of Line

18.5.2.38. MachineParamResponse

MachineParamResponse

  • Description: MachineParamResponse return on a successful GET of a single Machine param

Parameters

Name Position Description Type
Payload Body Raw Octet Stream

18.5.2.39. MachineParamsResponse

MachineParamsResponse

  • Description: MachineParamsResponse return on a successful GET of all Machine’s Params

Parameters

Name Position Description Type
Payload Body map of strings to object

18.5.2.40. MachineResponse

MachineResponse

  • Description: MachineResponse return on a successful GET, PUT, PATCH or POST of a single Machine

Parameters

Name Position Description Type
Payload Body Machine

18.5.2.41. MachinesResponse

MachinesResponse

  • Description: MachinesResponse return on a successful GET of all Machines

Parameters

Name Position Description Type
Payload Body array of Machine

18.5.2.42. NoContentResponse

NoContentResponse

  • Description: NoContentResponse is returned for deletes and auth errors

Parameters

Name Position Description Type
Payload Body No Data Returned

18.5.2.43. ObjectsResponse

ObjectsResponse

  • Description: ObjectsResponse returned on a successful GET of objects

Parameters

Name Position Description Type
Payload Body ObjectPrefixes

18.5.2.44. ParamParamsResponse

ParamParamsResponse

  • Description: ParamParamsResponse return on a successful GET of all Param’s Params

Parameters

Name Position Description Type
Payload Body map of strings to object

18.5.2.45. ParamResponse

ParamResponse

  • Description: ParamResponse returned on a successful GET, PUT, PATCH, or POST of a single param

Parameters

Name Position Description Type
Payload Body Param

18.5.2.46. ParamsResponse

ParamsResponse

  • Description: ParamsResponse returned on a successful GET of all the params

Parameters

Name Position Description Type
Payload Body array of Param

18.5.2.47. PluginParamResponse

PluginParamResponse

  • Description: PluginParamResponse return on a successful GET of one Plugin’s Param

Parameters

Name Position Description Type
Payload Body Raw Octet Stream

18.5.2.48. PluginParamsResponse

PluginParamsResponse

  • Description: PluginParamsResponse return on a successful GET of all Plugin’s Params

Parameters

Name Position Description Type
Payload Body map of strings to object

18.5.2.49. PluginProviderInfoResponse

PluginProviderInfoResponse

  • Description: PluginProviderInfoResponse returned on a successful upload of an iso

Parameters

Name Position Description Type
Payload Body PluginProviderUploadInfo

18.5.2.50. PluginProviderResponse

PluginProviderResponse

  • Description: PluginProvidersResponse returned on a successful GET of an plugin_provider

Parameters

Name Position Description Type
Payload Body PluginProvider

18.5.2.51. PluginProvidersResponse

PluginProvidersResponse

  • Description: PluginProvidersResponse returned on a successful GET of all plugin_provider

Parameters

Name Position Description Type
Payload Body array of PluginProvider

18.5.2.52. PluginResponse

PluginResponse

  • Description: PluginResponse return on a successful GET, PUT, PATCH or POST of a single Plugin

Parameters

Name Position Description Type
Payload Body Plugin

18.5.2.53. PluginsResponse

PluginsResponse

  • Description: PluginsResponse return on a successful GET of all Plugins

Parameters

Name Position Description Type
Payload Body array of Plugin

18.5.2.54. PoolParamsResponse

PoolParamsResponse

  • Description: PoolParamsResponse return on a successful GET of all Pool’s Params

Parameters

Name Position Description Type
Payload Body map of strings to object

18.5.2.55. PoolResponse

PoolResponse

  • Description: PoolResponse return on a successful GET, PUT, PATCH or POST of a single Pool

Parameters

Name Position Description Type
Payload Body Pool

18.5.2.56. PoolResultsResponse

PoolResultsResponse

  • Description: PoolResultsResponse return on a pool action add,remove,allocate,release

Parameters

Name Position Description Type
Payload Body array of PoolResult

18.5.2.57. PoolStatusResponse

PoolStatusResponse

  • Description: PoolStatusResponse return on a pool status

Parameters

Name Position Description Type
Payload Body PoolStatus

18.5.2.58. PoolsActiveResponse

PoolsActiveResponse

  • Description: PoolsActiveResponse return on a successful GET of all active Pools

Parameters

Name Position Description Type
Payload Body array of string

18.5.2.59. PoolsResponse

PoolsResponse

  • Description: PoolsResponse return on a successful GET of all Pools

Parameters

Name Position Description Type
Payload Body array of Pool

18.5.2.60. PrefsResponse

PrefsResponse

  • Description: PrefsResponse returned on a successful GET of all preferences

Parameters

Name Position Description Type
Payload Body map of strings to string

18.5.2.61. ProfileParamResponse

ProfileParamResponse

  • Description: ProfileParamResponse return on a successful GET of a single Param for a Profile

Parameters

Name Position Description Type
Payload Body Raw Octet Stream

18.5.2.62. ProfileParamsResponse

ProfileParamsResponse

  • Description: ProfileParamsResponse return on a successful GET of all Profile’s Params

Parameters

Name Position Description Type
Payload Body map of strings to object

18.5.2.63. ProfileResponse

ProfileResponse

  • Description: ProfileResponse returned on a successful GET, PUT, PATCH, or POST of a single profile

Parameters

Name Position Description Type
Payload Body Profile

18.5.2.64. ProfilesResponse

ProfilesResponse

  • Description: ProfilesResponse returned on a successful GET of all the profiles

Parameters

Name Position Description Type
Payload Body array of Profile

18.5.2.65. PubKeyResponse

PubKeyResponse

  • Description: PubKeyResponse is returned on a successful GET of a Paramer public key for secure params.

Parameters

Name Position Description Type
Payload Body No Data Returned

18.5.2.66. ReservationResponse

ReservationResponse

  • Description: ReservationResponse returned on a successful GET, PUT, PATCH, or POST of a single reservation

Parameters

Name Position Description Type
Payload Body Reservation

18.5.2.67. ReservationsResponse

ReservationsResponse

  • Description: ReservationsResponse returned on a successful GET of all the reservations

Parameters

Name Position Description Type
Payload Body array of Reservation

18.5.2.68. RoleResponse

RoleResponse

  • Description: RoleResponse returned on a successful GET, PUT, PATCH, or POST of a single role

Parameters

Name Position Description Type
Payload Body Role

18.5.2.69. RolesResponse

RolesResponse

  • Description: RolesResponse returned on a successful GET of all the roles

Parameters

Name Position Description Type
Payload Body array of Role

18.5.2.70. SingleIndexResponse

SingleIndexResponse

  • Description: SingleIndexResponse tests to see if a single specific index exists. Unlike the other index API endpoints, you can probe for dynamic indexes this way.

Parameters

Name Position Description Type
Payload Body Index

18.5.2.71. StageParamResponse

StageParamResponse

  • Description: StageParamResponse return on a successful GET of a single Stage param

Parameters

Name Position Description Type
Payload Body Raw Octet Stream

18.5.2.72. StageParamsResponse

StageParamsResponse

  • Description: StageParamsResponse return on a successful GET of all Stage’ Params

Parameters

Name Position Description Type
Payload Body map of strings to object

18.5.2.73. StageResponse

StageResponse

  • Description: StageResponse returned on a successful GET, PUT, PATCH, or POST of a single stage

Parameters

Name Position Description Type
Payload Body Stage

18.5.2.74. StagesResponse

StagesResponse

  • Description: StagesResponse returned on a successful GET of all the stages

Parameters

Name Position Description Type
Payload Body array of Stage

18.5.2.75. SubnetResponse

SubnetResponse

  • Description: SubnetResponse returned on a successful GET, PUT, PATCH, or POST of a single subnet

Parameters

Name Position Description Type
Payload Body Subnet

18.5.2.76. SubnetsResponse

SubnetsResponse

  • Description: SubnetsResponse returned on a successful GET of all the subnets

Parameters

Name Position Description Type
Payload Body array of Subnet

18.5.2.77. TaskParamsResponse

TaskParamsResponse

  • Description: TaskParamsResponse return on a successful GET of all Task’s Params

Parameters

Name Position Description Type
Payload Body map of strings to object

18.5.2.78. TaskResponse

TaskResponse

  • Description: TaskResponse return on a successful GET, PUT, PATCH or POST of a single Task

Parameters

Name Position Description Type
Payload Body Task

18.5.2.79. TasksResponse

TasksResponse

  • Description: TasksResponse return on a successful GET of all Tasks

Parameters

Name Position Description Type
Payload Body array of Task

18.5.2.80. TemplateResponse

TemplateResponse

  • Description: TemplateResponse return on a successful GET, PUT, PATCH or POST of a single Template

Parameters

Name Position Description Type
Payload Body Template

18.5.2.81. TemplatesResponse

TemplatesResponse

  • Description: TemplatesResponse return on a successful GET of all templates

Parameters

Name Position Description Type
Payload Body array of Template

18.5.2.82. TenantResponse

TenantResponse

  • Description: TenantResponse returned on a successful GET, PUT, PATCH, or POST of a single tenant

Parameters

Name Position Description Type
Payload Body Tenant

18.5.2.83. TenantsResponse

TenantsResponse

  • Description: TenantsResponse returned on a successful GET of all the tenants

Parameters

Name Position Description Type
Payload Body array of Tenant

18.5.2.84. UserResponse

UserResponse

  • Description: UserResponse returned on a successful GET, PUT, PATCH, or POST of a single user

Parameters

Name Position Description Type
Payload Body User

18.5.2.85. UserTokenResponse

UserTokenResponse

  • Description: UserTokenResponse returned on a successful GET of user token

Parameters

Name Position Description Type
Payload Body UserToken

18.5.2.86. UsersResponse

UsersResponse

  • Description: UsersResponse returned on a successful GET of all the users

Parameters

Name Position Description Type
Payload Body array of User

18.5.2.87. VersionSetParamsResponse

VersionSetParamsResponse

  • Description: VersionSetParamsResponse return on a successful GET of all VersionSet’s Params

Parameters

Name Position Description Type
Payload Body map of strings to object

18.5.2.88. VersionSetResponse

VersionSetResponse

  • Description: VersionSetResponse return on a successful GET, PUT, PATCH or POST of a single VersionSet

Parameters

Name Position Description Type
Payload Body VersionSet

18.5.2.89. VersionSetsResponse

VersionSetsResponse

  • Description: VersionSetsResponse return on a successful GET of all VersionSets

Parameters

Name Position Description Type
Payload Body array of VersionSet

18.5.2.90. WorkflowResponse

WorkflowResponse

  • Description: WorkflowResponse returned on a successful GET, PUT, PATCH, or POST of a single workflow

Parameters

Name Position Description Type
Payload Body Workflow

18.5.2.91. WorkflowsResponse

WorkflowsResponse

  • Description: WorkflowsResponse returned on a successful GET of all the workflows

Parameters

Name Position Description Type
Payload Body array of Workflow

18.5.3. Definitions

18.5.3.1. ArchInfo

ArchInfo

  • Description: ArchInfo tracks information required to make a BootEnv work across different system architectures. It supersedes the matching fields in the BootEnv struct and the OsInfo struct.

Fields

Name Description Type
BootParams* A template that will be expanded to create the full list of boot parameters for the environment. If empty, this will fall back to the top-level BootParams field in the BootEnv string
Initrds* Partial paths to the initrds that should be loaded for the boot environment. These should be paths that the initrds are located at in the OS ISO or install archive. If empty, this will fall back to the top-level Initrds field in the BootEnv array of string
IsoFile IsoFile is the name of the ISO file (or other archive) that contains all the necessary information to be able to boot into this BootEnv for a given arch. At a minimum, it must contain a kernel and initrd that can be booted over the network. string
IsoUrl IsoUrl is the location that IsoFile can be downloaded from, if any. This must be a full URL, including the filename. string
Kernel* The partial path to the kernel for the boot environment. This should be path that the kernel is located at in the OS ISO or install archive. If empty, this will fall back to the top-level Kernel field in the BootEnv string
Loader Loader is the bootloader that should be used for this boot environment. If left unspecified and not overridden by a subnet or reservation option, the following boot loaders will be used: lpxelinux.0 on 386-pcbios platforms that are not otherwise using ipxe. ipxe.pxe on 386-pcbios platforms that already use ipxe. ipxe.efi on amd64 EFI platforms. ipxe-arm64.efi on arm64 EFI platforms. This setting will be overridden by Subnet and Reservation options, and it will also only be in effect when dr-provision is the DHCP server of record. string
Sha256 Sha256 should contain the SHA256 checksum for the IsoFile. If it does, the IsoFile will be checked upon upload to make sure it has not been corrupted. string

18.5.3.2. AvailableAction

AvailableAction

  • Description: AvailableAction is an Action that a Plugin instantiated by a PluginProvider. Assumes that there are parameters on the call in addition to the machine.

Fields

Name Description Type
Command string
Model string
OptionalParams array of string
Provider string
RequiredParams array of string

18.5.3.3. BlobInfo

BlobInfo

Fields

Name Description Type
Path string
Size integer

18.5.3.4. BootEnv

BootEnv

  • Description: BootEnv encapsulates the machine-agnostic information needed by the provisioner to set up a boot environment.

Fields

Name Description Type
Available Available tracks whether or not the model passed validation. boolean
BootParams* A template that will be expanded to create the full list of boot parameters for the environment. string
Bundle Bundle tracks the name of the store containing this object string
Description A description of this boot environment. This should tell what the boot environment is for, any special considerations that should be taken into account when using it, etc. string
Documentation Documentation of this boot environment. This should tell what the boot environment is for, any special considerations that should be taken into account when using it, etc. in rich structured text (rst). string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
Initrds* Partial paths to the initrds that should be loaded for the boot environment. These should be paths that the initrds are located at in the OS ISO or install archive. array of string
Kernel* The partial path to the kernel for the boot environment. This should be path that the kernel is located at in the OS ISO or install archive. Kernel must be non-empty for a BootEnv to be considered net bootable. string
Loaders* Loaders contains the boot loaders that should be used for various different network boot scenarios. It consists of a map of machine type -> partial paths to the bootloaders. Valid machine types are: 386-pcbios for x86 devices using the legacy bios. amd64-uefi for x86 devices operating in UEFI mode arm64-uefi for arm64 devices operating in UEFI mode Other machine types will be added as dr-provision gains support for them. If this map does not contain an entry for the machine type, the DHCP server will fall back to the following entries in this order: The Loader specified in the ArchInfo struct from this BootEnv, if it exists. The value specified in the bootloaders param for the machine type specified on the machine, if it exists. The value specified in the bootloaders param in the global profile, if it exists. The value specified in the default value for the bootloaders param. One of the following vaiues: lpxelinux.0 for 386-pcbios ipxe.efi for amd64-uefi ipxe-arm64.efi for arm64-uefi map of strings to string
Name* The name of the boot environment. Boot environments that install an operating system must end in ‘-install’. string
OS OsInfo
OnlyUnknown* OnlyUnknown indicates whether this bootenv can be used without a machine. Only bootenvs with this flag set to `true` be used for the unknownBootEnv preference. boolean
OptionalParams The list of extra optional parameters for this bootstate. They can be present as Machine.Params when the bootenv is applied to the machine. These are more other consumers of the bootenv to know what parameters could additionally be applied to the bootenv by the renderer based upon the Machine.Params array of string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
RequiredParams* The list of extra required parameters for this bootstate. They should be present as Machine.Params when the bootenv is applied to the machine. array of string
Templates* The templates that should be expanded into files for the boot environment. array of TemplateInfo
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.5. CatalogItem

CatalogItem

  • Description: CatalogItem structure that handles RawModel instead of dealing with RawModel which is how DRP is storing it.

Fields

Name Description Type
ActualVersion string
Available Available tracks whether or not the model passed validation. boolean
ContentType string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
HotFix boolean
Id string
NOJQSource string
Name string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Shasum256 map of strings to string
Source string
Tip boolean
Type string
Validated Validated tracks whether or not the model has been validated. boolean
Version string

18.5.3.6. Claim

Claim

  • Description: User is an API user of DigitalRebar Provision

Fields

Name Description Type
action string
scope string
specific string

18.5.3.7. Content

Content

  • Description: Content models a content bundle. It consists of the metadata describing the content bundle and the objects that the content bundle provides. Upon being sucessfully loaded into dr-provision, these objects will be present and immutable until the content bundle is removed or replaced.

Fields

Name Description Type
meta* ContentMetaData
sections Sections

18.5.3.8. ContentMetaData

ContentMetaData

  • Description: All fields must be strings All string fields will be trimmed except Documentation.

Fields

Name Description Type
Author string
CodeSource string
Color New descriptor fields for catalog. These are used by the UX. string
Copyright string
Description Description is a one or two line description of what the content bundle provides. string
DisplayName string
DocUrl string
Documentation Documentation should contain Sphinx RST formatted documentation for the content bundle describing its usage. string
Icon string
License string
Name* Name is the name of the content bundle. Name must be unique across all content bundles loaded into a given dr-provision instance. string
Order string
Overwritable boolean
Prerequisites Prerequisites is also a comma-seperated list that contains other (possibly version-qualified) content bundles that must be present for this content bundle to load into dr-provision. Each entry in the Prerequisites list should be in for format of name: version constraints. The colon and the version constraints may be omitted if there are no version restrictions on the required content bundle. See ../doc/arch/content-package.rst for more detailed info. string
RequiredFeatures RequiredFeatures is a comma-seperated list of features that dr-provision must provide for the content bundle to operate properly. These correspond to the Features field in the Info struct. string
Source Source is mostly deprecated, replaced by Author and CodeSource. It can be left blank. string
Tags string
Type Informational Fields string
Version Version is a Semver-compliant string describing the version of the content as a whole. If left empty, the version is assumed to be 0.0.0 string
Writable boolean

18.5.3.9. ContentSummary

ContentSummary

Fields

Name Description Type
Counts map of strings to integer
Warnings array of string
meta ContentMetaData

18.5.3.10. Context

Context

Fields

Name Description Type
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Description string
Documentation string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Engine Engine is the system that runs the Image. This is something like docker, kubernetes, AWS, or something similar. string
Errors If there are any errors in the validation process, they will be available here. array of string
Image Image the OS image that jobs will execute in when running in this Context. This is usually a Docker container, a VM image, or something similar. string
Name Name is the name of this Context. string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.11. DhcpOption

DhcpOption

Fields

Name Description Type
Code* Code is a DHCP Option Code. integer
Value* Value is a text/template that will be expanded and then converted into the proper format for the option code string

18.5.3.12. Element

Element

  • Description: Element define a part of the endpoint

Fields

Name Description Type
ActualVersion string
Name string
Type string
Version string

18.5.3.13. ElementAction

ElementAction

  • Description: ElementAction defines an action to take on an Element

Fields

Name Description Type
Action string
ActualVersion string
Name string
Type string
Value Raw Octet Stream
Version string

18.5.3.14. Endpoint

Endpoint

  • Description: Endpoint represents a managed Endpoint

Fields

Name Description Type
Actions array of ElementAction
Apply boolean
Arch string
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Components array of Element
ConnectionStatus string
DRPUXVersion string
DRPVersion string
Description string
Documentation string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
Global map of strings to object
HaId string
Id string
Os string
Params Holds the access parameters. map of strings to object
Plugins array of Plugin
Prefs map of strings to string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Validated Validated tracks whether or not the model has been validated. boolean
VersionSet Deprecated string
VersionSets VersionSets replaces VersionSet - code processes both array of string

18.5.3.15. Error

Error

  • Description: Error is the common Error type the API returns for any error conditions.

Fields

Name Description Type
Code code is the HTTP status code that should be used for this Error integer
Key string
Messages Messages are any additional messages related to this Error array of string
Model string
Type string

18.5.3.16. Event

Event

  • Description: In general, the event generates for a subject of the form: type.action.key

Fields

Name Description Type
Action Action - what happened string
Key Key - the id of the object string
Object Object - the data of the object. Raw Octet Stream
Original Original - the data of the object before the operation (update and save only) Raw Octet Stream
Principal Principal - the user or subsystem that caused the event to be emitted string
Time Time of the event. string
Type Type - object type string

18.5.3.17. FileData

FileData

Fields

Name Description Type
Explode boolean
Path string
Sha256Sum string
Source string

18.5.3.18. FilePaths

FilePaths

  • Description: FilePaths is a list of files

array of string

18.5.3.19. HaPassiveState

HaPassiveState

  • Description: HaPassiveState the state of the passive node

Fields

Name Description Type
address* string
electable* boolean
id* string
state* string

18.5.3.20. IP

IP

  • Description: Note that in this documentation, referring to an IP address as an IPv4 address or an IPv6 address is a semantic property of the address, not just the length of the byte slice: a 16-byte slice can still be an IPv4 address.

array of integer

18.5.3.21. Index

Index

  • Description: Index holds details on the index

Fields

Name Description Type
Regex Regex indecates whether you can use the Re filter with this index boolean
Type Type gives you a rough idea of how the string used to query this index should be formatted. string
Unique Unique tells you whether there can be mutiple entries in the index for the same key that refer to different items. boolean
Unordered Unordered tells you whether this index cannot be sorted. boolean

18.5.3.22. Info

Info

  • Description: For passive nodes, the license, scopes, and stats are not filled in.

Fields

Name Description Type
License LicenseBundle
address* IP
api_port* integer
arch* string
binl_enabled* boolean
binl_port* integer
dhcp_enabled* boolean
dhcp_port* integer
errors* Errors returns the current system errors. array of string
features array of string
file_port* integer
ha_active_id HaActiveId is the id of current active node string
ha_enabled HaEnabled indicates if High Availability is enabled boolean
ha_id* string
ha_is_active* HaIsActive indicates Active (true) or Passive (false) boolean
ha_passive_state HaPassiveState is a list of passive node’s and their current state This is only valid from the Active node array of HaPassiveState
ha_status* HaStatus indicates current state For Active, Up is the only value. For Passive, Connecting, Syncing, In-Sync string
ha_virtual_address HaVirtualAddress is the Virtual IP Address of the systems string
id* string
local_id* string
manager* boolean
os* string
prov_enabled* boolean
scopes map of strings to object
stats* array of Stat
tftp_enabled* boolean
tftp_port* integer
version* string

18.5.3.23. Interface

Interface

  • Description: Interface represents a network interface that is present on the server running dr-provision. It is primarily used by the UX to help generate Subnets.

Fields

Name Description Type
ActiveAddress The interface to use for this interface when advertising or claiming access (CIDR) string
Addresses* A List of Addresses on the interface (CIDR) array of string
DnsDomain Possible DNS for domain for this interface string
DnsServers Possible DNS for this interface array of string
Gateway Possible gateway for this interface string
Index Index of the interface integer
Name* Name of the interface string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean

18.5.3.24. IsoPaths

IsoPaths

  • Description: IsoPaths is a list of isos

array of string

18.5.3.25. Job

Job

  • Description: Job contains information on a Job that is running for a specific Task on a Machine.

Fields

Name Description Type
Archived* Archived indicates whether the complete log for the job can be retrieved via the API. If Archived is true, then the log cannot be retrieved. boolean
Available Available tracks whether or not the model passed validation. boolean
BootEnv The bootenv that the task was created in. string
Bundle Bundle tracks the name of the store containing this object string
Context Context is the context the job was created to run in. string
Current* Whether the job is the “current one” for the machine or if it has been superceded. boolean
CurrentIndex* The current index is the machine CurrentTask that created this job. integer
EndTime The time the job failed or finished. string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
ExitState The final disposition of the job. Can be one of “reboot”,”poweroff”,”stop”, or “complete” Other substates may be added as time goes on string
ExtraClaims ExtraClaims is the expanded list of extra Claims that were added to the default machine Claims via the ExtraRoles field on the Task that the Job was created to run. array of Claim
Machine* The machine the job was created for. This field must be the UUID of the machine. string
NextIndex* The next task index that should be run when this job finishes. It is used in conjunction with the machine CurrentTask to implement the server side of the machine agent state machine. integer
Previous The UUID of the previous job to run on this machine. string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Stage The stage that the task was created in. string
StartTime The time the job started running. string
State* The state the job is in. Must be one of “created”, “running”, “failed”, “finished”, “incomplete” string
Task The task the job was created for. This will be the name of the task. string
Token Token is the JWT token that should be used when running this Job. If not present or empty, the Agent running the Job will use its ambient Token instead. If set, the Token will only be valid for the current Job. string
Uuid* The UUID of the job. The primary key. string
Validated Validated tracks whether or not the model has been validated. boolean
Workflow The workflow that the task was created in. string

18.5.3.26. JobAction

JobAction

  • Description: If path is specified, then the runner will place the contents into that location. If path is not specified, then the runner will attempt to bash exec the contents.

Fields

Name Description Type
Content* string
Meta* map of strings to string
Name* string
Path* string

18.5.3.27. JobActions

JobActions

array of JobAction

18.5.3.28. Lease

Lease

Fields

Name Description Type
Addr* Addr is the IP address that the lease handed out. string
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Duration Duration is the time in seconds for which a lease can be valid. ExpireTime is calculated from Duration. integer
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
ExpireTime* ExpireTime is the time at which the lease expires and is no longer valid The DHCP renewal time will be half this, and the DHCP rebind time will be three quarters of this. string
NextServer NextServer is the IP address that we should have the machine talk to next. In most cases, this will be our address. string
Options Options are the DHCP options that the Lease is running with. array of DhcpOption
ProvidedOptions ProvidedOptions are the DHCP options the last Discover or Offer packet for this lease provided to us. array of DhcpOption
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
SkipBoot SkipBoot indicates that the DHCP system is allowed to offer boot options for whatever boot protocol the machine wants to use. boolean
State* State is the current state of the lease. This field is for informational purposes only. string
Strategy* Strategy is the leasing strategy that will be used determine what to use from the DHCP packet to handle lease management. string
Token* Token is the unique token for this lease based on the Strategy this lease used. string
Validated Validated tracks whether or not the model has been validated. boolean
Via Via is the IP address used to select which subnet the lease belongs to. It is either an address present on a local interface that dr-provision is listening on, or the GIADDR field of the DHCP request. string

18.5.3.29. Level

Level

integer

18.5.3.30. License

License

  • Description: License is used to authorize acess to extended dr-provision features and functionality.

Fields

Name Description Type
Active boolean
Data Raw Octet Stream
HardExpireDate string
LongLicense string
Name string
PurchaseDate string
ShortLicense string
SoftExpireDate string
StartDate string
Version string

18.5.3.31. LicenseBundle

LicenseBundle

Fields

Name Description Type
Contact string
ContactEmail string
ContactId string
Endpoints array of string
GenerationVersion string
Grantor string
GrantorEmail string
Licenses array of License
MaxDrpVersion MaxDrpVersion is the highest major/minor version to allow. For example, v4.3 would mean any v4.3.* release or previous. string
Owner string
OwnerEmail string
OwnerId string
Version string

18.5.3.32. Line

Line

Fields

Name Description Type
Data Data is any auxillary data that was captured. array of Raw Octet Stream
File File is the source file that generated the line string
Group Group is an abstract number used to group Lines together integer
IgnorePublish Should the line be published or not as an event. boolean
Level Level
Line Line is the line number of the line that generated the line. integer
Message Message is the message that was logged. string
Principal Principal is the user or system that caused the log line to be emitted string
Seq Seq is the sequence number that the Line was emitted in. Sequence numbers are globally unique. integer
Service Service is the name of the log. string
Time Time is when the Line was created. string

18.5.3.33. Machine

Machine

  • Description: Machine represents a single bare-metal system that the provisioner should manage the boot environment for.

Fields

Name Description Type
Address The IPv4 address of the machine that should be used for PXE purposes. Note that this field does not directly tie into DHCP leases or reservations – the provisioner relies solely on this address when determining what to render for a specific machine. Address is updated automatically by the DHCP system if HardwareAddrs is filled out. string
Arch* Arch is the machine architecture. It should be an arch that can be fed into $GOARCH. string
Available Available tracks whether or not the model passed validation. boolean
BootEnv The boot environment that the machine should boot into. This must be the name of a boot environment present in the backend. If this field is not present or blank, the global default bootenv will be used instead. string
Bundle Bundle tracks the name of the store containing this object string
Context Contexts contains the name of the current execution context for the machine. An empty string indicates that the agent running on the machine should be executing tasks, and any other value means that an agent running with its context set for this value should be executing tasks. string
CurrentJob The UUID of the job that is currently running on the machine. string
CurrentTask* The index into the Tasks list for the task that is currently running (if a task is running) or the next task that will run (if no task is currently running). If -1, then the first task will run next, and if it is equal to the length of the Tasks list then all the tasks have finished running. integer
Description A description of this machine. This can contain any reference information for humans you want associated with the machine. string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
Fingerprint MachineFingerprint
HardwareAddrs HardwareAddrs is a list of MAC addresses we expect that the system might boot from. This must be filled out to enable MAC address based booting from the various bootenvs, and must be updated if the MAC addresses for a system change for whatever reason. array of string
Locked* Locked indicates that changes to the Machine by users are not allowed, except for unlocking the machine, which will always generate an Audit event. boolean
Name* The name of the machine. This must be unique across all machines, and by convention it is the FQDN of the machine, although nothing enforces that. string
OS OS is the operating system that the node is running in. It is updated by Sledgehammer and by the various OS install tasks. string
Params The Parameters that have been directly set on the Machine. map of strings to object
Partial Partial tracks if the object is not complete when returned. boolean
Pool Pool contains the pool the machine is in. Unset machines will join the default Pool string
PoolAllocated PoolAllocated defines if the machine is allocated in this pool This is a calculated field. boolean
PoolStatus PoolStatus
Profiles An array of profiles to apply to this machine in order when looking for a parameter during rendering. array of string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
RetryTaskAttempt This tracks the number of retry attempts for the current task. When a task succeeds, the retry value is reset. integer
Runnable* Indicates if the machine can run jobs or not. Failed jobs mark the machine not runnable. boolean
Secret Secret for machine token revocation. Changing the secret will invalidate all existing tokens for this machine string
Stage The stage that the Machine is currently in. If Workflow is also set, this field is read-only, otherwise changing it will change the Stage the system is in. string
TaskErrorStacks This list of previous task lists and current tasks to handle errors. Upon completing the list, the previous task list will be executed. This will be capped to a depth of 1. Error failures are not handled can not be handled. array of TaskStack
Tasks The tasks this machine has to run. array of string
Uuid* The UUID of the machine. This is auto-created at Create time, and cannot change afterwards. string
Validated Validated tracks whether or not the model has been validated. boolean
Workflow* Workflow is the workflow that is currently responsible for processing machine tasks. string
WorkflowComplete WorkflowCopmlete indicates if the workflow is complete boolean

18.5.3.34. MachineFingerprint

MachineFingerprint

Fields

Name Description Type
CSNHash DMI.System.Manufacturer + DMI.System.ProductName + DMI.Chassis[0].SerialNumber, SHA256 hashed Hash must not be zero-length to match. 25 points array of integer
MemoryIds MemoryIds is an array of SHA256sums if the following fields in each entry of the DMI.Memory.Devices array concatenated together: Manufacturer PartNumber SerialNumber Each hash must not be zero length Score is % matched. array of array of integer
SSNHash DMI.System.Manufacturer + DMI.System.ProductName + DMI.System.SerialNumber, SHA256 hashed Hash must not be zero-length to match. 25 points array of integer
SystemUUID DMI.System.UUID, not hashed. Must be non zero length and must be a non-zero UUID. 50 point match string

18.5.3.35. ObjectPrefixes

ObjectPrefixes

array of string

18.5.3.36. Operation

Operation

  • Description: operation represents a valid JSON Patch operation as defined by RFC 6902

Fields

Name Description Type
from From is a JSON pointer indicating where a value should be copied/moved from. From is only used by copy and move operations. string
op Op can be one of: “add” “remove” “replace” “move” “copy” “test” All Operations must have an Op. string
path Path is a JSON Pointer as defined in RFC 6901 All Operations must have a Path string
value Value is the Value to be used for add, replace, and test operations. Raw Octet Stream

18.5.3.37. OsInfo

OsInfo

  • Description: OsInfo holds information about the operating system this BootEnv maps to. Most of this information is optional for now.

Fields

Name Description Type
Codename The codename of the OS, if any. string
Family The family of operating system (linux distro lineage, etc) string
IsoFile The name of the ISO that the OS should install from. If non-empty, this is assumed to be for the amd64 hardware architecture. string
IsoSha256 The SHA256 of the ISO file. Used to check for corrupt downloads. If non-empty, this is assumed to be for the amd64 hardware architecture. string
IsoUrl The URL that the ISO can be downloaded from, if any. If non-empty, this is assumed to be for the amd64 hardware architecture. string
Name* The name of the OS this BootEnv has. It should be formatted as family-version. string
SupportedArchitectures SupportedArchitectures maps from hardware architecture (named according to the distro architecture naming scheme) to the architecture-specific parameters for this OS. If SupportedArchitectures is left empty, then the system assumes that the BootEnv only supports amd64 platforms. map of strings to Unknown
Version The version of the OS, if any. string

18.5.3.38. Param

Param

  • Description: Specifically, it contains a description of what the information is for, detailed documentation about the param, and a JSON schema that the param must match to be considered valid.

Fields

Name Description Type
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Description Description is a one-line description of the parameter. string
Documentation Documentation details what the parameter does, what values it can take, what it is used for, etc. string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
Name* Name is the name of the param. Params must be uniquely named. string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Schema* Schema must be a valid JSONSchema as of draft v4. Raw Octet Stream
Secure* Secure implies that any API interactions with this Param will deal with SecureData values. boolean
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.39. Patch

18.5.3.40. Plugin

Plugin

  • Description: This contains the configuration need to start this plugin instance.

Fields

Name Description Type
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Description A description of this plugin. This can contain any reference information for humans you want associated with the plugin. string
Documentation Documentation of this plugin. This should tell what the plugin is for, any special considerations that should be taken into account when using it, etc. in rich structured text (rst). string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
Name* The name of the plugin instance. THis must be unique across all plugins. string
Params Any additional parameters that may be needed to configure the plugin. map of strings to object
Partial Partial tracks if the object is not complete when returned. boolean
PluginErrors Error unrelated to the object validity, but the execution of the plugin. array of string
Provider* The plugin provider for this plugin string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.41. PluginProvider

PluginProvider

  • Description: Plugin Provider describes the available functions that could be instantiated by a plugin.

Fields

Name Description Type
AutoStart If AutoStart is true, a Plugin will be created for this Provider at provider definition time, if one is not already present. boolean
AvailableActions AvailableActions lists the actions that this PluginProvider can take. array of AvailableAction
Content Content Bundle Yaml string - can be optional or empty string
Documentation Documentation of this plugin provider. This should tell what the plugin provider is for, any special considerations that should be taken into account when using it, etc. in rich structured text (rst). string
HasPublish HasPlugin is deprecated, plugin provider binaries should use a websocket event stream instead. boolean
Name Name is the unique name of the PluginProvider. Each Plugin provider must have a unique Name. string
OptionalParams array of string
PluginVersion This is used to indicate what version the plugin is built for This is effectively the API version of the protocol that plugin providers use to communicate with dr-provision. Right now, all plugin providers must set this to version 4, which is the only supported protocol version. integer
RequiredParams RequiredParams and OptionalParams are Params that must be present on a Plugin for the Provider to operate. array of string
StoreObjects Object prefixes that can be accessed by this plugin. The interface can be empty struct{} or a JSONSchema draft v4 This allows PluginProviders to define custom Object types that dr-provision will store and check the validity of. map of strings to object
Version The version of the PluginProvider. This is a semver compatible string. string

18.5.3.42. PluginProviderUploadInfo

PluginProviderUploadInfo

Fields

Name Description Type
path string
size integer

18.5.3.43. Pool

Pool

  • Description: Membership is dynamic and truth is from the machines’ state. The transition actions are used on machines moving through the pool (into and out of, allocated and released). EnterActions ExitActions AllocateActions ReleaseActions Params are used to provide default values. AutoFill Parameters are: UseAutoFill bool MinFree int32 MaxFree int32 CreateParameters map[string]interface{} AcquirePool string

Fields

Name Description Type
AllocateActions PoolTransitionActions
AutoFill PoolAutoFill
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Description string
Documentation string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
EnterActions PoolTransitionActions
Errors If there are any errors in the validation process, they will be available here. array of string
ExitActions PoolTransitionActions
Id string
ParentPool string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
ReleaseActions PoolTransitionActions
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.44. PoolAutoFill

PoolAutoFill

  • Description: PoolAutoFill are rules for dynamic pool sizing

Fields

Name Description Type
AcquirePool string
CreateParameters map of strings to object
MaxFree integer
MinFree integer
ReturnPool string
UseAutoFill boolean

18.5.3.45. PoolResult

PoolResult

  • Description: PoolResult is the common return structure most operations

Fields

Name Description Type
Allocated boolean
Name string
Status PoolStatus
Uuid string

18.5.3.46. PoolStatus

PoolStatus

string

18.5.3.47. PoolTransitionActions

PoolTransitionActions

  • Description: PoolTransitionActions define the default actions that should happen to a machine upon movement through the pool.

Fields

Name Description Type
AddParameters map of strings to object
AddProfiles array of string
RemoveParameters array of string
RemoveProfiles array of string
Workflow string

18.5.3.48. Profile

Profile

  • Description: There is one special profile named ‘global’ that acts as a global set of parameters for the system. These can be assigned to a machine’s profile list.

Fields

Name Description Type
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Description A description of this profile. This can contain any reference information for humans you want associated with the profile. string
Documentation Documentation of this profile. This should tell what the profile is for, any special considerations that should be taken into account when using it, etc. in rich structured text (rst). string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
Name* The name of the profile. This must be unique across all profiles. string
Params Any additional parameters that may be needed to expand templates for BootEnv, as documented by that boot environment’s RequiredParams and OptionalParams. map of strings to object
Partial Partial tracks if the object is not complete when returned. boolean
Profiles Additional Profiles that should be considered for parameters array of string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.49. Reservation

Reservation

Fields

Name Description Type
Addr* Addr is the IP address permanently assigned to the strategy/token combination. string
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Description A description of this Reservation. This should tell what it is for, any special considerations that should be taken into account when using it, etc. string
Documentation Documentation of this reservation. This should tell what the reservation is for, any special considerations that should be taken into account when using it, etc. in rich structured text (rst). string
Duration Duration is the time in seconds for which a lease can be valid. ExpireTime is calculated from Duration. integer
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
NextServer NextServer is the address the server should contact next. You should only set this if you want to talk to a DHCP or TFTP server other than the one provided by dr-provision. string
Options Options is the list of DHCP options that apply to this Reservation array of DhcpOption
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Scoped* Scoped indicates that this reservation is tied to a particular Subnet, as determined by the reservation’s Addr. boolean
Strategy* Strategy is the leasing strategy that will be used determine what to use from the DHCP packet to handle lease management. string
Subnet Subnet is the name of the Subnet that this Reservation is associated with. This property is read-only. string
Token* Token is the unique identifier that the strategy for this Reservation should use. string
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.50. Role

Role

Fields

Name Description Type
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Claims Claims that the role support. array of Claim
Description Description of role string
Documentation Documentation of this role. This should tell what the role is for, any special considerations that should be taken into account when using it, etc. in rich structured text (rst). string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
Name* Name is the name of the user string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.51. Section

Section

map of strings to object

18.5.3.52. Sections

Sections

map of strings to Unknown

18.5.3.53. Stage

Stage

  • Description: Stage encapsulates a set of tasks and profiles to apply to a Machine in a BootEnv.

Fields

Name Description Type
Available Available tracks whether or not the model passed validation. boolean
BootEnv* The BootEnv the machine should be in to run this stage. If the machine is not in this bootenv, the bootenv of the machine will be changed. string
Bundle Bundle tracks the name of the store containing this object string
Description A description of this stage. This should tell what it is for, any special considerations that should be taken into account when using it, etc. string
Documentation Documentation of this stage. This should tell what the stage is for, any special considerations that should be taken into account when using it, etc. in rich structured text (rst). string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
Name* The name of the stage. string
OptionalParams The list of extra optional parameters for this stage. They can be present as Machine.Params when the stage is applied to the machine. These are more other consumers of the stage to know what parameters could additionally be applied to the stage by the renderer based upon the Machine.Params array of string
Params Params contains parameters for the stage. This allows the machine to access these values while in this stage. map of strings to object
Partial Partial tracks if the object is not complete when returned. boolean
Profiles The list of profiles a machine should use while in this stage. These are used after machine profiles, but before global. array of string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Reboot Flag to indicate if a node should be PXE booted on this transition into this Stage. The nextbootpxe and reboot machine actions will be called if present and Reboot is true boolean
RequiredParams* The list of extra required parameters for this stage. They should be present as Machine.Params when the stage is applied to the machine. array of string
RunnerWait This flag is deprecated and will always be TRUE. boolean
Tasks The list of initial machine tasks that the stage should run array of string
Templates* The templates that should be expanded into files for the stage. array of TemplateInfo
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.54. Stat

Stat

  • Description: Stat contains a basic statistic about dr-provision

Fields

Name Description Type
count* integer
name* string

18.5.3.55. Subnet

Subnet

Fields

Name Description Type
ActiveEnd* ActiveEnd is the last non-reserved IP address we will hand non-reserved leases from. string
ActiveLeaseTime* ActiveLeaseTime is the default lease duration in seconds we will hand out to leases that do not have a reservation. integer
ActiveStart* ActiveStart is the first non-reserved IP address we will hand non-reserved leases from. string
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Description A description of this Subnet. This should tell what it is for, any special considerations that should be taken into account when using it, etc. string
Documentation Documentation of this subnet. This should tell what the subnet is for, any special considerations that should be taken into account when using it, etc. in rich structured text (rst). string
Enabled* Enabled indicates if the subnet should hand out leases or continue operating leases if already running. boolean
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
Name* Name is the name of the subnet. Subnet names must be unique string
NextServer* NextServer is the address of the next server in the DHCP/TFTP/PXE chain. You should only set this if you want to transfer control to a different DHCP or TFTP server. string
OnlyReservations* OnlyReservations indicates that we will only allow leases for which there is a preexisting reservation. boolean
Options array of DhcpOption
Pickers* Pickers is list of methods that will allocate IP addresses. Each string must refer to a valid address picking strategy. The current ones are: “none”, which will refuse to hand out an address and refuse to try any remaining strategies. “hint”, which will try to reuse the address that the DHCP packet is requesting, if it has one. If the request does not have a requested address, “hint” will fall through to the next strategy. Otherwise, it will refuse to try any remaining strategies whether or not it can satisfy the request. This should force the client to fall back to DHCPDISCOVER with no requsted IP address. “hint” will reuse expired leases and unexpired leases that match on the requested address, strategy, and token. “nextFree”, which will try to create a Lease with the next free address in the subnet active range. It will fall through to the next strategy if it cannot find a free IP. “nextFree” only considers addresses that do not have a lease, whether or not the lease is expired. “mostExpired” will try to recycle the most expired lease in the subnet’s active range. All of the address allocation strategies do not consider any addresses that are reserved, as lease creation will be handled by the reservation instead. We will consider adding more address allocation strategies in the future. array of string
Proxy* Proxy indicates if the subnet should act as a proxy DHCP server. If true, the subnet will not manage ip addresses but will send offers to requests. It is an error for Proxy and Unmanaged to be true. boolean
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
ReservedLeaseTime* ReservedLeasTime is the default lease time we will hand out to leases created from a reservation in our subnet. integer
Strategy* Strategy is the leasing strategy that will be used determine what to use from the DHCP packet to handle lease management. string
Subnet* Subnet is the network address in CIDR form that all leases acquired in its range will use for options, lease times, and NextServer settings by default string
Unmanaged* Unmanaged indicates that dr-provision will never send boot-related options to machines that get leases from this subnet. If false, dr-provision will send whatever boot-related options it would normally send. It is an error for Unmanaged and Proxy to both be true. boolean
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.56. Task

Task

Fields

Name Description Type
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Description Description is a one-line description of this Task. string
Documentation Documentation should describe in detail what this task should do on a machine. string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
ExtraClaims ExtraClaims is a raw list of Claims that should be added to the default set of allowable Claims when a Job based on this task is running. Any extra claims added here will be added _after_ any added by ExtraRoles array of Claim
ExtraRoles ExtraRoles is a list of Roles whose Claims should be added to the default set of allowable Claims when a Job based on this task is running. array of string
Name* Name is the name of this Task. Task names must be globally unique string
OptionalParams* OptionalParams are extra optional parameters that a template rendered for the Task may use. array of string
Prerequisites Prerequisites are tasks that must have been run in the current BootEnv before this task can be run. array of string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
RequiredParams* RequiredParams is the list of parameters that are required to be present on Machine.Params or in a profile attached to the machine. array of string
Templates* Templates lists the templates that need to be rendered for the Task. array of TemplateInfo
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.57. TaskStack

TaskStack

  • Description: This is used by the error handling code pieces.

Fields

Name Description Type
CurrentTask integer
TaskList array of string

18.5.3.58. Template

Template

  • Description: Template represents a template that will be associated with a boot environment.

Fields

Name Description Type
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Contents* Contents is the raw template. It must be a valid template according to text/template. string
Description A description of this template string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
ID* ID is a unique identifier for this template. It cannot change once it is set. string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.59. TemplateInfo

TemplateInfo

  • Description: TemplateInfo holds information on the templates in the boot environment that will be expanded into files.

Fields

Name Description Type
Contents Contents that should be used when this template needs to be expanded. Either this or ID should be set. string
ID ID of the template that should be expanded. Either this or Contents should be set string
Link Link optionally references another file to put at the path location. string
Meta Meta for the TemplateInfo. This can be used by the job running system and the bootenvs to handle OS, arch, and firmware differences. map of strings to string
Name* Name of the template string
Path* A text/template that specifies how to create the final path the template should be written to. string

18.5.3.60. Tenant

Tenant

Fields

Name Description Type
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Description string
Documentation Documentation of this tenant. This should tell what the tenant is for, any special considerations that should be taken into account when using it, etc. in rich structured text (rst). string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
Members map of strings to array
Name string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Users array of string
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.61. UUID

UUID

  • Description: A UUID is a 128 bit (16 byte) Universal Unique IDentifier as defined in RFC 4122.

array of integer

18.5.3.62. User

User

  • Description: User is an API user of DigitalRebar Provision

Fields

Name Description Type
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Description Description of user string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
Name* Name is the name of the user string
PasswordHash PasswordHash is the scrypt-hashed version of the user’s Password. array of integer
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Roles Roles is a list of Roles this User has. array of string
Secret Token secret - this is used when generating user token’s to allow for revocation by the grantor or the grantee. Changing this will invalidate all existing tokens that have this user as a user or a grantor. string
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.63. UserPassword

UserPassword

Fields

Name Description Type
Password string

18.5.3.64. UserToken

UserToken

  • Description: The Token section can be used for bearer authentication.

Fields

Name Description Type
Info Info
Token string

18.5.3.65. VersionSet

VersionSet

  • Description: An element with Version = ignore means leave it loaded.

Fields

Name Description Type
Apply boolean
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Components array of Element
DRPUXVersion string
DRPVersion string
Description string
Documentation string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
Files array of FileData
Global map of strings to object
Id string
Plugins array of Plugin
Prefs map of strings to string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Validated Validated tracks whether or not the model has been validated. boolean

18.5.3.66. Whoami

Whoami

  • Description: Whoami contains the elements used toi fingerprint a machine, along with the results of the fingerprint comparison request

Fields

Name Description Type
Fingerprint MachineFingerprint
MacAddrs array of string
OnDiskUUID string
Result WhoamiResult

18.5.3.67. WhoamiResult

WhoamiResult

Fields

Name Description Type
Score integer
Token string
Uuid UUID

18.5.3.68. Workflow

Workflow

  • Description: that machine’s Tasks list is populated with the contents of the Stages in the Workflow.

Fields

Name Description Type
Available Available tracks whether or not the model passed validation. boolean
Bundle Bundle tracks the name of the store containing this object string
Description string
Documentation string
Endpoint Endpoint tracks the owner of the object amoung DRP endpoints string
Errors If there are any errors in the validation process, they will be available here. array of string
Name string
ReadOnly ReadOnly tracks if the store for this object is read-only boolean
Stages array of string
Validated Validated tracks whether or not the model has been validated. boolean