Compute API (1.0.0)
Download OpenAPI specification:Download
Seaplane Compute API
Retrieves the list of formations you have access to
By default the CLI returns the known formations based on the local
database. To include remote formations add --fetch
to your request or
run seaplane formation fetch-remote
before running seaplane formation list
The API and SDKs always pull information from the remote deployments and do not require you to fetch anything.
Authorizations:
Responses
Request samples
- CLI
- cURL
- Python
seaplane formation list --fetch
Response samples
- 200
- 401
- 403
[- {
- "name": "example-formation"
}
]
Get metadata about a formation
Authorizations:
path Parameters
formationName required | string^(?!.*--)[a-z0-9-]{1,30}(?<!-)$ Example: example-formation The formation name, which must be unique within your organization |
Responses
Request samples
- CLI
- cURL
- Python
seaplane formation status <FORMATION-NAME>
Response samples
- 200
- 401
- 403
- 404
{
}
Create a new formation
Authorizations:
path Parameters
formationName required | string^(?!.*--)[a-z0-9-]{1,30}(?<!-)$ Example: example-formation The formation name, which must be unique within your organization |
query Parameters
active | boolean Default: false If this formation should be immediately deployed. Note that this will only work if either the request body is a configuration or the |
source | string The name of a formation this formation should be cloned from. A copy of the source formation's configurations will be made under this new formation and, if the |
Request Body schema: application/json
affinity | Array of strings A list of names of other formations this formation has an affinity for. This is a hint to the scheduler to place the containers running in each of these formations "close" to each other ("close" being defined in part by latency) |
connections | Array of strings A list of names of other formations this formation is connected to. Two formations can communicate over their formation endpoints (the endpoints configured in the |
required | Array of objects (Flight) The individual flights that make up the formation |
public_endpoints | object The keys of this map are the publicly exposed endpoints of this formation and take the form |
formation_endpoints | object The keys of this map are the privately exposed endpoints of this formation (that is, the endpoints that this formation exposes to other formations that are connected to it) and take the form |
flight_endpoints | object The keys of this map are the endpoints of this formation that containers within the formation can hit to communicate with one another. Containers within a formation can always communicate directly but these endpoints are load-balanced and allow for much simpler usage in many cases. The keys take the form |
providers_allowed | Array of strings (Provider) Items Enum: "AWS" "Azure" "DigitalOcean" "Equinix" "GCP" A list of allowed providers. Including this argument will disallow all other providers. If not included the scheduler will use any provider it pleases to schedule this formation |
providers_denied | Array of strings (Provider) Items Enum: "AWS" "Azure" "DigitalOcean" "Equinix" "GCP" A list of denied providers, providers the scheduler will never use for this formation. If this conflicts with |
regions_allowed | Array of strings (Region) Items Enum: "XA" "XC" "XE" "XF" "XN" "XO" "XQ" "XS" "XU" A list of allowed regions. Including this argument will disallow all other regions. If not included the scheduler will use any provider it pleases to schedule this formation |
regions_denied | Array of strings (Region) Items Enum: "XA" "XC" "XE" "XF" "XN" "XO" "XQ" "XS" "XU" A list of denied regions, regions the scheduler will never use for this formation. If this conflicts with |
Responses
Request samples
- Payload
- CLI
- cURL
- Python
{- "affinity": [
- "other-formation"
], - "connections": [
- "other-formation"
], - "flights": [
- {
- "name": "example-flight",
- "minimum": 0,
- "maximum": 10,
- "architecture": [
- "amd64"
], - "api_permission": false
}
], - "public_endpoints": { },
- "formation_endpoints": { },
- "flight_endpoints": { },
- "providers_allowed": [
- "AWS"
], - "providers_denied": [
- "AWS"
], - "regions_allowed": [
- "XE"
], - "regions_denied": [
- "XE"
]
}
Response samples
- 201
- 400
- 401
- 403
- 404
- 409
[- "123e4567-e89b-12d3-a456-426614174000"
]
Remove a formation and all associated resources
Authorizations:
path Parameters
formationName required | string^(?!.*--)[a-z0-9-]{1,30}(?<!-)$ Example: example-formation The formation name, which must be unique within your organization |
query Parameters
force | boolean Default: false Delete the formation even if it is running |
Responses
Request samples
- CLI
- cURL
- Python
seaplane formation delete <FORMATION-NAME> --force
Response samples
- 200
- 401
- 403
- 404
[- "123e4567-e89b-12d3-a456-426614174000"
]