Change a protection group
PATCH/v1/protection-groups/:id
Renames a group or changes its policy, members or network maps. A new policy, and every member after the change, are checked as on create: the policy must state a recovery section, and every member must be protected by a plan under it. A group with a disaster recovery run acting on it cannot be changed, with one exception: a request that changes only a recovery's test_every is accepted while a run holds it, so a schedule can always be changed or stopped. A recovery is changed only by an operator: its name, policy, network maps, recovery profile, test policy, test cadence and accepted gaps. Its members follow its home's document, and its standby target stays as registered. A group created here also takes the accepted gaps and the recovery profile its failback resolves a rebuilt member through, when the member's original is gone; the profile only from an operator.
Any member of the project the token is scoped to.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 409
- 413
- 415
- 422
- 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.
Unauthorized.
unauthenticated: The token is missing, expired or not valid.
Forbidden.
forbidden: The token may not change groups in the group's project, or the group is a recovery and the token is not a system-scoped admin token, or the request changes a group's mapping_profile_id and the token is not a system-scoped admin token.
Not Found.
not_found: No group with this id exists in the token's project.
Conflict.
group_busy: A run is acting on the group, so active_run_id is set or its state is that of a running operation, and the request changes something other than a recovery's test_every.
conflict: Another group in the project already has the new name.
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: name is empty. The new members break a rule of group creation. policy_id is not a UUID or names no policy this project may use. The members change on a group that names no policy, or whose policy no longer exists, and the request names none. bubble_policy_id or test_every is sent for a group created here, or members are sent for a recovery. test_every is not a duration, an accepted gap is empty, or a recovery profile or test policy does not exist.
policy_has_no_recovery: The policy states no recovery section.
member_not_under_group_policy: A member is not protected by a plan under the group's policy, or under the new one.
An error, as an RFC 7807 problem document.