private void releaseResourcePlacement(ReservationRemovalTaskState state,
GroupResourcePlacementState groupPlacementState) {
ResourcePlacementReservationRequest reservationRequest =
new ResourcePlacementReservationRequest();
reservationRequest.resourceCount = -state.resourceCount;
reservationRequest.resourceDescriptionLink = state.resourceDescriptionLink;
reservationRequest.referer = getSelfLink();
logInfo("Releasing placement instances: %d for descLink: %s and groupPlacementId: %s",
reservationRequest.resourceCount, reservationRequest.resourceDescriptionLink,
Service.getId(groupPlacementState.documentSelfLink));
sendRequest(Operation.createPatch(this, groupPlacementState.documentSelfLink)
.setBody(reservationRequest)
.setCompletion((o, e) -> {
if (e != null) {
failTask("Failure releasing group placement", e);
return;
}
complete();
}));
}
}