@Override protected boolean checkStatus( OpenStackContext context, AuthenticatedContext auth, CloudResource resource) { CloudContext cloudContext = auth.getCloudContext(); OSClient osClient = createOSClient(auth); Router osRouter = osClient.networking().router().get(resource.getReference()); if (osRouter != null && context.isBuild()) { State routerStatus = osRouter.getStatus(); if (State.ERROR == routerStatus) { throw new OpenStackResourceException( "Router in failed state", resource.getType(), cloudContext.getStackName(), cloudContext.getStackId(), resource.getName()); } return routerStatus == State.ACTIVE; } else if (osRouter == null && !context.isBuild()) { return true; } return false; }