@Override
    public Integer call() throws Exception {


        if (!CommandUtil.isInputValid(this)) {
            return ToolConstants.INVALID_INPUT_ERROR_CODE;
        }
        AuthConfig authConfig = k8sAuthConfigBuilder.getAuthConfig();

        ScaleSpec scaleSpec = null;
        if (scaleArg.getUp() != null) {
            scaleSpec = new ScaleSpec(ScaleOperation.SCALE_UP, scaleArg.getUp());
        } else if (scaleArg.getDown() != null) {
            scaleSpec = new ScaleSpec(ScaleOperation.SCALE_DOWN, scaleArg.getDown());
        } else if (scaleArg.getTo() != null) {
            scaleSpec = new ScaleSpec(ScaleOperation.SCALE_TO, scaleArg.getTo());
        } else {
            WorkflowLogger.error(ControllerActivity.UNEXPECTED_ERROR);
            return ToolConstants.INVALID_INPUT_ERROR_CODE;
        }

        ScaleStatus status = deployer.scale(authConfig, appName, serviceName, namespace, scaleSpec);

        if (!status.isSuccess()) {
            HyscaleException ex = new HyscaleException(ControllerErrorCodes.FAILED_TO_SCALE_SERVICE, serviceName, appName, namespace);
            WorkflowLogger.error(ControllerActivity.ERROR, ex.getMessage());
            throw ex;
        }
        WorkflowLogger.logPersistedActivities();
        
        WorkflowLogger.footer();
        return ToolConstants.HYSCALE_SUCCESS_CODE;
    }
This class executes  'hyscale scale service' command
It is a sub-command of the 'hyscale scale' command

@see io.hyscale.controller.commands.scale.HyscaleScaleCommand
Every command/sub-command has to implement the {@link Callable} so that
whenever the command is executed the {@link #call()}
method will be invoked
<p>
The sub-commands of are handled by @Command annotation
workflow-controller/controller-service/src/main/java/io/hyscale/controller/commands/scale/HyscaleScaleServiceCommand.java