@Override
    public ExternalStorageLocation getLocation(
            Operation operation, PayloadType payloadType, String path) {
        String uri;
        switch (payloadType) {
            case WORKFLOW_INPUT:
            case WORKFLOW_OUTPUT:
                uri = "workflow";
                break;
            case TASK_INPUT:
            case TASK_OUTPUT:
                uri = "tasks";
                break;
            default:
                throw new ConductorClientException(
                        String.format(
                                "Invalid payload type: %s for operation: %s",
                                payloadType.toString(), operation.toString()));
        }
        return clientBase.getForEntity(
                String.format("%s/externalstoragelocation", uri),
                new Object[] {
                    "path",
                    path,
                    "operation",
                    operation.toString(),
                    "payloadType",
                    payloadType.toString()
                },
                ExternalStorageLocation.class);
    }
This method is not intended to be used in the client. The client makes a request to the
server to get the {@link ExternalStorageLocation}
client/src/main/java/com/netflix/conductor/client/http/PayloadStorage.java