Fugue API

Base URL: /api/v0, Version: 0.1.0

API for interacting with the Fugue Conductor

Default request content-types: application/json, application/x-tar, application/octet-stream
Default response content-types: application/json, application/x-tar
Schemes: http
Host: localhost:8080
Specification: http://localhost:{port}/api/v0/swagger.json

Summary

Tag: account

Operation Description Maps To
GET /accounts

Get a list of managed accounts

fugue account list

POST /accounts

Add a new account to the conductor

fugue account add

DELETE /accounts/{account}

Remove an account from the conductor

fugue account remove

Tag: dryRun

Operation Description
POST /dry-run

Request a dry-run

fugue run --dry-run
fugue kill --dry-run
fugue update --dry-run
fugue resume --dry-run

GET /dry-run/{id}

Get a dry-run result

fugue run --dry-run
fugue kill --dry-run
fugue update --dry-run
fugue resume --dry-run

Tag: process

Operation Description Maps To
GET /processes

Get the running processes

fugue status

POST /processes

Create a new fugue process

fugue run

GET /processes/{process}

Get details and resources for a process

fugue status

PATCH /processes/{process}

Update a process

fugue update

DELETE /processes/{process}

Release or kill a process

fugue release
fugue kill

PUT /processes/{process}/composition

Update a process with a new composition snapshot

fugue update

GET /processes/{process}/history

Get the history for a process

fugue history

GET /processes/{process}/ops

Get cloud operations performed on behalf of a Fugue process

fugue ops

GET /processes/{process}/ops/{job_id}

Get cloud operations performed on behalf of a Fugue process for a specific job.

fugue ops

Tag: rbac

Operation Description Maps To
GET /rbac/archive

Fetch the currently attached policy archive

fugue policy rbac-get

GET /rbac/status

Determine if policy is currently applied.

fugue policy rbac-status

POST /rbac

Attach a new rbac policy

fugue policy rbac-attach

DELETE /rbac

Detach the current rbac policy

fugue policy rbac-detach

Tag: user

Operation Description Maps To
GET /rbac/users

List the currently declared users

fugue policy list-users

PUT /rbac/users/{user}/secret

Generate a new secret for the specified user

fugue policy generate-secret

Tag: validation

Operation Description Maps To
GET /validations

List validation libraries installed on the Conductor

fugue policy validation-list

POST /validations

Add a new validation library to the Conductor

fugue policy validation-add

GET /validations/{name}

Retrieve validation metadata from the Conductor

N/A

DELETE /validations/{name}

Remove a validation library from the Conductor

fugue policy validation-remove

GET /validations/{name}/archive

Retrieve a validation archive from the Conductor

fugue policy validation-get

Security

basicAuth

Type: basic

Username
Your Fugue user

Password
Your Fugue user secret

See Authentication for more information.

Paths

Get a list of managed accounts

GET /accounts

Tags: account

Uses default content-types: application/json application/x-tar

200 OK

OK

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

500 Internal Server Error

Server error

Add a new account to the conductor

POST /accounts

Tags: account

Uses default content-types: application/json application/x-tar application/octet-stream

The account to manage

name: string
credential: string

Uses default content-types: application/json application/x-tar

201 Created

Created

account: Account
Location

URL of created resource

string
400 Bad Request

Bad request

401 Unauthorized

Unauthorized

500 Internal Server Error

Server error

Remove an account from the conductor

DELETE /accounts/{account}

Tags: account
account

The account ID or name

path string

Uses default content-types: application/json application/x-tar

200 OK

Removed

account: string
correlation_id: string
400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Resource not found

500 Internal Server Error

Server error

Request a dry-run

POST /dry-run

Tags: dryRun

application/octet-stream application/x-tar

A composition snapshot

command

The command to run for the process

query string , x ∈ { KILL , RESUME , RUN , UPDATE , kill , resume , run , update }
process

The process's FID or alias

query string
import_resources

Run the import filter

query boolean
account

Account ID or name of the processes

query string

Uses default content-types: application/json application/x-tar

202 Accepted

Accepted

Location

URL of the results resource

string
400 Bad Request

Bad request

401 Unauthorized

Unauthorized

500 Internal Server Error

Server error

Get a dry-run result

GET /dry-run/{id}

Tags: dryRun
id

The request ID

path string
timeout

Specify a timeout in seconds for the API to wait for a dry run result

query integer , { x ∈ ℤ | x ≥ 0 }

Uses default content-types: application/json application/x-tar

200 OK

OK

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Resource not found

500 Internal Server Error

server error

Get the running processes

GET /processes

Tags: process
account

Account ID or name of the processes

query string

Uses default content-types: application/json application/x-tar

200 OK

OK

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

500 Internal Server Error

Server error

Create a new fugue process

POST /processes

Tags: process

application/octet-stream application/x-tar

A composition snapshot

import_resources

Run the import filter

query boolean
account

Account ID of the processes

query string
alias

Alias to associate with the process

query string

Uses default content-types: application/json application/x-tar

201 Created

Created

alias: string
correlation_id: string
fid: string
Location

URL of created resource

string
400 Bad Request

Bad request

401 Unauthorized

Unauthorized

500 Internal Server Error

Server error

Release or kill a process

DELETE /processes/{process}

Tags: process
kill

Clean up the processes underlying resources

query boolean
process

The FID or alias of the process

path string

Uses default content-types: application/json application/x-tar

202 Accepted

Accepted

correlation_id: string
fid: string
204 No Content

Released

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Resource not found

500 Internal Server Error

Server error

Get details and resources for a process

GET /processes/{process}

Tags: process
process

The FID or alias of the process

path string

Uses default content-types: application/json application/x-tar

200 OK

OK

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Resource not found

500 Internal Server Error

Server error

Update a process

PATCH /processes/{process}

Tags: process

Uses default content-types: application/json application/x-tar application/octet-stream

The properties to update

alias: string

The new alias

command: string , x ∈ { suspend , resume }

The requested action

enforcement_level: string

When enabled fugue will correct configuration drift.

lock_state: string

When enabled fugue will not allow a process's state to be transitioned.

process

The FID or alias of the process

path string

Uses default content-types: application/json application/x-tar

202 Accepted

Process update accepted

fid: string

The FID of the process

enforcement_level: string

The current state of enforcement of the process

lock_state: string

The current lock state of the process

alias: string

The alias of the process

correlation_id: string

Identifier for this transaction

Location

URL of the results resource

string
400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Process not found

409 Conflict

Illegal state change

500 Internal Server Error

Server error

Update a process with a new composition snapshot

PUT /processes/{process}/composition

Tags: process

application/octet-stream application/x-tar

A composition snapshot

process

The FID or alias of the process

path string

Uses default content-types: application/json application/x-tar

202 Accepted

Accepted

Location

URL of the results resource

string
400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Resource not found

500 Internal Server Error

Server error

Get the history for a process

GET /processes/{process}/history

Tags: process
process

The FID or alias of the process

path string
start

Specify a start time in "mm/dd/YYYY HH:MM" format

query string
end

Specify an end time in "mm/dd/YYYY HH:MM" format

query string

Uses default content-types: application/json application/x-tar

200 OK

OK

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Resource not found

500 Internal Server Error

Server error

Get cloud operations performed on behalf of a Fugue process

GET /processes/{process}/ops

Tags: process
process

The FID or alias of the process

path string
start

Specify an UTC start time in "mm/dd/YYYY HH:MM" format

query string
end

Specify an UTC end time in "mm/dd/YYYY HH:MM" format

query string
first

Filter for the first batch of operations performed

query boolean
last

Filter for the last batch of operations performed

query boolean

Uses default content-types: application/json application/x-tar

200 OK

OK

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Resource not found

500 Internal Server Error

Server error

Get cloud operations performed on behalf of a Fugue process for a specific job.

GET /processes/{process}/ops/{job_id}

Tags: process
process

The FID or alias of the process

path string
job_id

A single job_id

path string
start

Specify an UTC start time in "mm/dd/YYYY HH:MM" format

query string
end

Specify an UTC end time in "mm/dd/YYYY HH:MM" format

query string

Uses default content-types: application/json application/x-tar

200 OK

OK

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Resource not found

500 Internal Server Error

Server error

Detach the current rbac policy

DELETE /rbac

Tags: rbac

Uses default content-types: application/json application/x-tar

204 No Content

OK

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Resource not found

500 Internal Server Error

Server error

Attach a new rbac policy

POST /rbac

Tags: rbac

application/octet-stream application/x-tar

A composition snapshot

Uses default content-types: application/json application/x-tar

200 OK

OK

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

500 Internal Server Error

Server error

Fetch the currently attached policy archive

GET /rbac/archive

Tags: rbac

application/x-tar

200 OK

OK

The attached policy archive

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Resource not found

500 Internal Server Error

Server error

Determine if policy is currently applied.

GET /rbac/status

Tags: rbac

Uses default content-types: application/json application/x-tar

200 OK

OK

policy_attached: boolean
400 Bad Request

Bad request

401 Unauthorized

Unauthorized

500 Internal Server Error

Server error

List the currently declared users

GET /rbac/users

Tags: user

Uses default content-types: application/json application/x-tar

200 OK

OK

object
created: integer
enabled: boolean
id: string
updated: integer
400 Bad Request

Bad request

401 Unauthorized

Unauthorized

500 Internal Server Error

Server error

Generate a new secret for the specified user

PUT /rbac/users/{user}/secret

Tags: user
user path string

Uses default content-types: application/json application/x-tar

201 Created

New secret for the user

user_id: string
secret: string
profile: string
400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Resource not found

500 Internal Server Error

Server error

List validation libraries installed on the Conductor

GET /validations

Tags: validation
prefix

Filter the list to libraries that start with prefix

query string

Uses default content-types: application/json application/x-tar

200 OK

List of validations

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

500 Internal Server Error

Server error

Add a new validation library to the Conductor

POST /validations

Tags: validation

application/octet-stream application/x-tar

A composition snapshot

name

Name of the new validation library

query string

Uses default content-types: application/json application/x-tar

201 Created

New validation

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

500 Internal Server Error

Server error

Remove a validation library from the Conductor

DELETE /validations/{name}

Tags: validation
name

Name of the new validation library

path string

Uses default content-types: application/json application/x-tar

200 OK

OK

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Resource not found

500 Internal Server Error

server error

Retrieve validation metadata from the Conductor

GET /validations/{name}

Tags: validation
name

Name of the new validation library

path string

Uses default content-types: application/json application/x-tar

200 OK

Validation

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Resource not found

500 Internal Server Error

server error

Retrieve a validation archive from the Conductor

GET /validations/{name}/archive

Tags: validation
name

Name of the new validation library

path string

application/x-tar

200 OK

OK

The requested validation archive

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

404 Not Found

Resource not found

500 Internal Server Error

server error

Schema definitions

Account: object

Represents an account

id: string
name: string
provider: string
provider_id: string
credential: string
is_default: boolean

DryRunRequest: object

Represents an async dry-run request

id: string

The id of the request

status: string

The request status

link: Link

DryRunResult: object

fid: string
job_id: string
requests: object[]
object
guid: string
guidMap: string
request_type: string
params: string
region: string

Error: object

Represents an error

kind: string

The error type

message: string

The error message

Errors: object[]

A list of errors

Error

EventHistoryRecord: object

account_id: string
correlation_id: string
description: string
dry_run: boolean
fid: string
event_type: string
principal: string
processed: integer
status: string
status_code: integer

JobHistoryRecord: object

correlation_id: string
count: integer
description: string
dry_run: boolean
fid: string
id: integer
job_status: string
job_type: string
last_updated: integer
message: string
start_time: integer
status_code: integer

Process:

resources: object
object

ProcessHistoryRecord: object

event_history: object[]
job_history: object[]

ProcessInfo: object

account_id: string
alias: string
created: integer
current_job_status: object
current_time: integer
dry_run: boolean
job_id: integer
start_time: integer
fid: string
last_job_id: integer
last_job_status: object
description: string
dry_run: boolean
finish_time: integer
job_id: integer
job_status: string
message: string
start_time: integer
status_code: integer
last_message: string
state: string
updated: integer

ProcessOp: object

attempts: integer
code: string
fid: string
http_code: integer
job_id: string
last_updated: string
message: string
operation: string
resource_name: string
running: boolean
started: integer
status: string

Validation: object

name: string
created: integer
sha256: string
entry_point: string
file_name: string