All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.cohere.api.resources.connectors.requests.CreateConnectorRequest Maven / Gradle / Ivy

There is a newer version: 1.6.0
Show newest version
/**
 * This file was auto-generated by Fern from our API Definition.
 */
package com.cohere.api.resources.connectors.requests;

import com.cohere.api.core.ObjectMappers;
import com.cohere.api.types.CreateConnectorOAuth;
import com.cohere.api.types.CreateConnectorServiceAuth;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.annotation.Nulls;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;

@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonDeserialize(builder = CreateConnectorRequest.Builder.class)
public final class CreateConnectorRequest {
    private final String name;

    private final Optional description;

    private final String url;

    private final Optional> excludes;

    private final Optional oauth;

    private final Optional active;

    private final Optional continueOnFailure;

    private final Optional serviceAuth;

    private final Map additionalProperties;

    private CreateConnectorRequest(
            String name,
            Optional description,
            String url,
            Optional> excludes,
            Optional oauth,
            Optional active,
            Optional continueOnFailure,
            Optional serviceAuth,
            Map additionalProperties) {
        this.name = name;
        this.description = description;
        this.url = url;
        this.excludes = excludes;
        this.oauth = oauth;
        this.active = active;
        this.continueOnFailure = continueOnFailure;
        this.serviceAuth = serviceAuth;
        this.additionalProperties = additionalProperties;
    }

    /**
     * @return A human-readable name for the connector.
     */
    @JsonProperty("name")
    public String getName() {
        return name;
    }

    /**
     * @return A description of the connector.
     */
    @JsonProperty("description")
    public Optional getDescription() {
        return description;
    }

    /**
     * @return The URL of the connector that will be used to search for documents.
     */
    @JsonProperty("url")
    public String getUrl() {
        return url;
    }

    /**
     * @return A list of fields to exclude from the prompt (fields remain in the document).
     */
    @JsonProperty("excludes")
    public Optional> getExcludes() {
        return excludes;
    }

    /**
     * @return The OAuth 2.0 configuration for the connector. Cannot be specified if service_auth is specified.
     */
    @JsonProperty("oauth")
    public Optional getOauth() {
        return oauth;
    }

    /**
     * @return Whether the connector is active or not.
     */
    @JsonProperty("active")
    public Optional getActive() {
        return active;
    }

    /**
     * @return Whether a chat request should continue or not if the request to this connector fails.
     */
    @JsonProperty("continue_on_failure")
    public Optional getContinueOnFailure() {
        return continueOnFailure;
    }

    /**
     * @return The service to service authentication configuration for the connector. Cannot be specified if oauth is specified.
     */
    @JsonProperty("service_auth")
    public Optional getServiceAuth() {
        return serviceAuth;
    }

    @java.lang.Override
    public boolean equals(Object other) {
        if (this == other) return true;
        return other instanceof CreateConnectorRequest && equalTo((CreateConnectorRequest) other);
    }

    @JsonAnyGetter
    public Map getAdditionalProperties() {
        return this.additionalProperties;
    }

    private boolean equalTo(CreateConnectorRequest other) {
        return name.equals(other.name)
                && description.equals(other.description)
                && url.equals(other.url)
                && excludes.equals(other.excludes)
                && oauth.equals(other.oauth)
                && active.equals(other.active)
                && continueOnFailure.equals(other.continueOnFailure)
                && serviceAuth.equals(other.serviceAuth);
    }

    @java.lang.Override
    public int hashCode() {
        return Objects.hash(
                this.name,
                this.description,
                this.url,
                this.excludes,
                this.oauth,
                this.active,
                this.continueOnFailure,
                this.serviceAuth);
    }

    @java.lang.Override
    public String toString() {
        return ObjectMappers.stringify(this);
    }

    public static NameStage builder() {
        return new Builder();
    }

    public interface NameStage {
        UrlStage name(String name);

        Builder from(CreateConnectorRequest other);
    }

    public interface UrlStage {
        _FinalStage url(String url);
    }

    public interface _FinalStage {
        CreateConnectorRequest build();

        _FinalStage description(Optional description);

        _FinalStage description(String description);

        _FinalStage excludes(Optional> excludes);

        _FinalStage excludes(List excludes);

        _FinalStage oauth(Optional oauth);

        _FinalStage oauth(CreateConnectorOAuth oauth);

        _FinalStage active(Optional active);

        _FinalStage active(Boolean active);

        _FinalStage continueOnFailure(Optional continueOnFailure);

        _FinalStage continueOnFailure(Boolean continueOnFailure);

        _FinalStage serviceAuth(Optional serviceAuth);

        _FinalStage serviceAuth(CreateConnectorServiceAuth serviceAuth);
    }

    @JsonIgnoreProperties(ignoreUnknown = true)
    public static final class Builder implements NameStage, UrlStage, _FinalStage {
        private String name;

        private String url;

        private Optional serviceAuth = Optional.empty();

        private Optional continueOnFailure = Optional.empty();

        private Optional active = Optional.empty();

        private Optional oauth = Optional.empty();

        private Optional> excludes = Optional.empty();

        private Optional description = Optional.empty();

        @JsonAnySetter
        private Map additionalProperties = new HashMap<>();

        private Builder() {}

        @java.lang.Override
        public Builder from(CreateConnectorRequest other) {
            name(other.getName());
            description(other.getDescription());
            url(other.getUrl());
            excludes(other.getExcludes());
            oauth(other.getOauth());
            active(other.getActive());
            continueOnFailure(other.getContinueOnFailure());
            serviceAuth(other.getServiceAuth());
            return this;
        }

        /**
         * 

A human-readable name for the connector.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override @JsonSetter("name") public UrlStage name(String name) { this.name = name; return this; } /** *

The URL of the connector that will be used to search for documents.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override @JsonSetter("url") public _FinalStage url(String url) { this.url = url; return this; } /** *

The service to service authentication configuration for the connector. Cannot be specified if oauth is specified.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override public _FinalStage serviceAuth(CreateConnectorServiceAuth serviceAuth) { this.serviceAuth = Optional.of(serviceAuth); return this; } @java.lang.Override @JsonSetter(value = "service_auth", nulls = Nulls.SKIP) public _FinalStage serviceAuth(Optional serviceAuth) { this.serviceAuth = serviceAuth; return this; } /** *

Whether a chat request should continue or not if the request to this connector fails.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override public _FinalStage continueOnFailure(Boolean continueOnFailure) { this.continueOnFailure = Optional.of(continueOnFailure); return this; } @java.lang.Override @JsonSetter(value = "continue_on_failure", nulls = Nulls.SKIP) public _FinalStage continueOnFailure(Optional continueOnFailure) { this.continueOnFailure = continueOnFailure; return this; } /** *

Whether the connector is active or not.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override public _FinalStage active(Boolean active) { this.active = Optional.of(active); return this; } @java.lang.Override @JsonSetter(value = "active", nulls = Nulls.SKIP) public _FinalStage active(Optional active) { this.active = active; return this; } /** *

The OAuth 2.0 configuration for the connector. Cannot be specified if service_auth is specified.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override public _FinalStage oauth(CreateConnectorOAuth oauth) { this.oauth = Optional.of(oauth); return this; } @java.lang.Override @JsonSetter(value = "oauth", nulls = Nulls.SKIP) public _FinalStage oauth(Optional oauth) { this.oauth = oauth; return this; } /** *

A list of fields to exclude from the prompt (fields remain in the document).

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override public _FinalStage excludes(List excludes) { this.excludes = Optional.of(excludes); return this; } @java.lang.Override @JsonSetter(value = "excludes", nulls = Nulls.SKIP) public _FinalStage excludes(Optional> excludes) { this.excludes = excludes; return this; } /** *

A description of the connector.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override public _FinalStage description(String description) { this.description = Optional.of(description); return this; } @java.lang.Override @JsonSetter(value = "description", nulls = Nulls.SKIP) public _FinalStage description(Optional description) { this.description = description; return this; } @java.lang.Override public CreateConnectorRequest build() { return new CreateConnectorRequest( name, description, url, excludes, oauth, active, continueOnFailure, serviceAuth, additionalProperties); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy