Skip to content

Enable Docker Availability for an existing resource

POST
/api/docker/availability
curl --request POST \
--url https://gateway.example.com/api/docker/availability \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "resource": { "type": "container", "nodeId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "containerName": "example" }, "mode": "replicated", "desiredReplicaCount": 1, "nodeSelectionMode": "all_compatible", "selectedNodeIds": [], "rolloutPolicy": { "maxUnavailable": 0, "maxSurge": 1, "drainSeconds": 30 }, "offlineReplacementGraceSeconds": 15, "priorityMode": false, "nodePriority": [], "failbackDelaySeconds": 300, "partitionMode": "strict", "witness": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'

JSON request body

Media typeapplication/json
object
resource
required
One of:
object
type
required
string
Allowed values: container
nodeId
required
string format: uuid
containerName
required
string
>= 1 characters <= 255 characters
mode
required
string
Allowed values: replicated failover
desiredReplicaCount
required
integer
>= 1 <= 32
nodeSelectionMode
required
string
Allowed values: all_compatible selected
selectedNodeIds
Array<string>
default:
rolloutPolicy
object
maxUnavailable
integer
0 <= 32
maxSurge
integer
default: 1 <= 32
drainSeconds
integer
default: 30 <= 3600
offlineReplacementGraceSeconds
integer
default: 15 <= 3600
priorityMode
boolean
nodePriority
Array<string>
default: <= 64 items
failbackDelaySeconds
integer
default: 300 <= 3600
partitionMode
string
default: strict
Allowed values: strict available
witness
string | null format: uuid

Docker Availability enablement accepted

Media typeapplication/json
object
data
required
object
id
required
string format: uuid
resourceKind
required
string
Allowed values: container deployment compose
originNodeId
required
string | null format: uuid
sourceNodeId
required
string | null format: uuid
containerName
required
string | null
deploymentId
required
string | null format: uuid
composeProjectId
required
string | null format: uuid
displayName
required
string
specFingerprint
required
string
imageReference
required
string | null
composeRevisionId
required
string | null format: uuid
shouldRun
required
boolean
mode
required
string
Allowed values: single replicated failover
desiredReplicaCount
required
integer
>= 1 <= 32
nodeSelectionMode
required
string
Allowed values: all_compatible selected
selectedNodeIds
required
Array<string>
desiredGeneration
required
integer
>= 1
rolloutPolicy
required
object
maxUnavailable
required
integer
<= 32
maxSurge
required
integer
<= 32
drainSeconds
required
integer
<= 3600
offlineReplacementGraceSeconds
required
integer
<= 3600
priorityMode
required
boolean
nodePriority
required
Array<string>
failbackDelaySeconds
required
integer
<= 3600
partitionMode
required
string
Allowed values: strict available
witness
required
string | null format: uuid
status
required
string
Allowed values: single enabling healthy degraded unavailable scaling rolling_out disabling failed
lastErrorCode
required
string | null
lastErrorMessage
required
string | null
createdById
required
string | null format: uuid
updatedById
required
string | null format: uuid
createdAt
required
string | null
updatedAt
required
string | null
placements
required
Array<object>
object
id
required
string format: uuid
policyId
required
string format: uuid
nodeId
required
string format: uuid
generation
required
integer
>= 1
desiredState
required
string
Allowed values: serving standby draining stopped removed
actualState
required
string
Allowed values: pending preparing_image preparing_dependencies starting checking_health ready serving draining stopped unreachable stale failed cleanup_pending removed
serving
required
boolean
specFingerprint
required
string
imageReference
required
string | null
composeRevisionId
required
string | null format: uuid
runtimeIdentity
required
object
key
additional properties
dependencyState
required
string
Allowed values: pending ready degraded failed
applicationHealth
required
string
Allowed values: unknown starting healthy unhealthy
lastObservedAt
required
string | null
unavailableSince
required
string | null
operationId
required
string | null format: uuid
lastErrorCode
required
string | null
lastErrorMessage
required
string | null
createdAt
required
string | null
updatedAt
required
string | null
latestOperation
required
object
id
required
string format: uuid
policyId
required
string format: uuid
type
required
string
Allowed values: enable scale rollout heal disable stale_cleanup failback
status
required
string
Allowed values: pending running waiting completed failed cleanup_pending cancelled
phase
required
string
Allowed values: queued locking validating selecting_nodes preparing_images preparing_dependencies starting checking_health activating_routes draining stopping cleaning_up finalizing done
targetGeneration
required
integer
>= 1
idempotencyKey
required
string
requestedPolicy
required
object
key
additional properties
progress
required
object
message
string
completedPlacementIds
Array<string>
activePlacementId
string format: uuid
totalPlacements
integer
completedPlacements
integer
leaseOwner
required
string | null
leaseHeartbeatAt
required
string | null
leaseExpiresAt
required
string | null
retryOfOperationId
required
string | null format: uuid
retryAttempts
required
integer
nextAttemptAt
required
string | null
errorCode
required
string | null
errorMessage
required
string | null
createdById
required
string | null format: uuid
createdAt
required
string | null
startedAt
required
string | null
updatedAt
required
string | null
completedAt
required
string | null
lease
required
object
mode
required
string
Allowed values: legacy bootstrapping lease closing
reason
required
object
code
required
string
message
required
string
nodeIds
Array<string>
relayIds
Array<string>
since
string format: date-time
manifestVersion
required
integer
epoch
required
integer
publishedPartitionMode
required
string | null
Allowed values: strict available
holders
required
Array<object>
object
slot
required
integer
<= 31
holderNodeId
required
string | null format: uuid
placementId
required
string | null format: uuid
ballot
required
object
round
required
string
incarnation
required
string
proposerId
required
string
observedAt
required
string | null
holderSince
required
string | null
source
required
string
Allowed values: daemon acceptor relay
bootstrap
required
Array<object>
object
slot
required
integer
<= 31
holderNodeId
required
string format: uuid
surgeSlots
required
integer
<= 32
strictPending
required
boolean
copiesStoppedAt
required
string | null
excludedNodes
required
Array<object>
object
nodeId
required
string format: uuid
reason
required
string
Allowed values: offline watchdog_missing daemon_outdated identity_pending
retainedHolders
required
Array<object>
object
slot
required
integer
<= 31
holderNodeId
required
string format: uuid
confirmed
required
boolean
voters
required
Array<string>
witness
required
object
memberId
required
string | null format: uuid
kind
required
string | null
Allowed values: relay docker
auto
required
boolean
minRttMs
required
number | null
warning
required
string | null
Allowed values: witness_near_candidate no_eligible_witness configured_witness_unavailable
witnesses
required
Array<object>
object
memberId
required
string format: uuid
kind
required
string
Allowed values: relay docker
auto
required
boolean
minRttMs
required
number | null
voterMargin
required
object
epoch
required
integer
joint
required
boolean
voters
required
integer
reachable
required
integer
required
required
integer
margin
required
integer
Example
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Example resource"
}
}

Bad request

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"details": [
{
"path": [
"name"
],
"message": "Required"
}
]
}

Authentication required

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNAUTHORIZED",
"message": "Authentication required"
}

Forbidden

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "FORBIDDEN",
"message": "Insufficient permissions"
}

Not found

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "NOT_FOUND",
"message": "Resource not found"
}

Conflict

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "CONFLICT",
"message": "Resource already exists"
}

Unprocessable entity

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNPROCESSABLE_ENTITY",
"message": "Request could not be processed"
}

Internal server error

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}