Skip to content

Replace jail lifecycle hooks

PUT
/jail/{ctid}/options/lifecycle-hooks
curl --request PUT \
--url https://sylve.lan:8181/api/jail/1/options/lifecycle-hooks \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "hooks": { "poststart": { "enabled": true, "script": "example" }, "poststop": { "enabled": true, "script": "example" }, "prestart": { "enabled": true, "script": "example" }, "prestop": { "enabled": true, "script": "example" }, "start": { "enabled": true, "script": "example" }, "stop": { "enabled": true, "script": "example" } } }'

Replace all six jail exec.* lifecycle-hook phases; every phase, enabled flag, and script must be supplied, and disabled empty scripts explicitly clear a phase

ctid
required
integer
>= 1

Jail CTID

Lifecycle hooks

Media typeapplication/json
object
hooks
required
object
poststart
required
object
enabled
required
boolean
script
required
string
poststop
required
object
enabled
required
boolean
script
required
string
prestart
required
object
enabled
required
boolean
script
required
string
prestop
required
object
enabled
required
boolean
script
required
string
start
required
object
enabled
required
boolean
script
required
string
stop
required
object
enabled
required
boolean
script
required
string
Examplegenerated
{
"hooks": {
"poststart": {
"enabled": true,
"script": "example"
},
"poststop": {
"enabled": true,
"script": "example"
},
"prestart": {
"enabled": true,
"script": "example"
},
"prestop": {
"enabled": true,
"script": "example"
},
"start": {
"enabled": true,
"script": "example"
},
"stop": {
"enabled": true,
"script": "example"
}
}
}

Success

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Bad Request

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Unauthorized

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Forbidden

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Not Found

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Conflict

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Request Entity Too Large

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Internal Server Error

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}