Arm a protection group
POST/v1/protection-groups/:id/arm
Gives this region a standing delegation to act in the group's project for its recovery runs: to build servers, ports and volumes there for a recovery, or to stop and lock them for a release. The delegation is the caller's own roles on the project, so only a member of the project can give it, with a token scoped to that project and issued by a password rather than an application credential: a system-scoped token is refused, because the identity service delegates only roles the caller holds in the project, and a token scoped to another project does not find the group. The alternative to arming is an operator granting this service's own user a role in the project, which runs then use instead. Arming again replaces the delegation and revokes the old one. Readiness reports which of the two a run would use, and a group with neither, or whose delegation is about to expire.
Any member of the project the token is scoped to.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 413
- 415
- 422
- 503
- default
OK
Bad Request.
invalid_request: The body is not a single JSON object, names a field this operation does not take, or gives a value of the wrong type.
restore_trust_refused: The token was issued from an application credential, or carries no token to delegate from.
Unauthorized.
unauthenticated: The token is missing, expired or not valid.
Forbidden.
forbidden: The token may not arm groups in the group's project.
restore_trust_refused: The caller holds no role on the group's project to delegate.
Not Found.
not_found: No group with this id exists in the token's project.
Request Entity Too Large.
body_too_large: The body is larger than the service accepts.
Unsupported Media Type.
unsupported_media_type: The body is not sent as application/json.
Unprocessable Entity.
validation_failed: expires_in is not a duration from 1h to 8784h.
Service Unavailable.
dr_not_enabled: Disaster recovery is not enabled here.
service_unavailable: This service cannot act through a delegation, so arming would promise runs it cannot carry out.
An error, as an RFC 7807 problem document.