@Override public Response stop(String application, String entityToken, String policyId) { Policy policy = brooklyn().getPolicy(application, entityToken, policyId); policy.suspend(); return Response.status(Response.Status.OK).build(); }
@Override public Response destroy(String application, String entityToken, String policyToken) { EntityLocal entity = brooklyn().getEntity(application, entityToken); Policy policy = brooklyn().getPolicy(entity, policyToken); policy.suspend(); entity.removePolicy(policy); return Response.status(Response.Status.OK).build(); } }
@POST @Path("/{policy}/stop") @ApiOperation(value = "Suspends a policy") @ApiErrors(value = { @ApiError(code = 404, reason = "Could not find application, entity or policy") }) public Response stop( @ApiParam(name = "application", value = "Application ID or name", required = true) @PathParam("application") String application, @ApiParam(name = "entity", value = "Entity ID or name", required = true) @PathParam("entity") String entityToken, @ApiParam(name = "policy", value = "Policy ID or name", required = true) @PathParam("policy") String policyId ) { Policy policy = brooklyn().getPolicy(application, entityToken, policyId); policy.suspend(); return Response.status(Response.Status.OK).build(); }
@POST @Path("/{policy}/destroy") @ApiOperation(value = "Destroy a policy", notes="Removes a policy from being associated with the entity and destroys it (stopping first if running)") @ApiErrors(value = { @ApiError(code = 404, reason = "Could not find application, entity or policy") }) public Response destroy( @ApiParam(name = "application", value = "Application ID or name", required = true) @PathParam("application") String application, @ApiParam(name = "entity", value = "Entity ID or name", required = true) @PathParam("entity") String entityToken, @ApiParam(name = "policy", value = "Policy ID or name", required = true) @PathParam("policy") String policyToken ) { EntityLocal entity = brooklyn().getEntity(application, entityToken); Policy policy = brooklyn().getPolicy(entity, policyToken); policy.suspend(); entity.removePolicy(policy); return Response.status(Response.Status.OK).build(); } }
@Override public void stop() { setAttribute(SERVICE_STATE, Lifecycle.STOPPING); try { setAttribute(SERVICE_UP, calculateServiceUp()); for (Policy it : getPolicies()) { it.suspend(); } resize(0); setAttribute(SERVICE_STATE, Lifecycle.STOPPED); setAttribute(SERVICE_UP, calculateServiceUp()); } catch (Exception e) { setAttribute(SERVICE_STATE, Lifecycle.ON_FIRE); throw Exceptions.propagate(e); } }