Class NessieConfigConstants


  • public final class NessieConfigConstants
    extends java.lang.Object
    Configuration constants for Nessie clients.
    • Field Detail

      • CONF_NESSIE_URI

        public static final java.lang.String CONF_NESSIE_URI
        Config property name ("nessie.uri") for the Nessie service URL.
        See Also:
        Constant Field Values
      • CONF_NESSIE_USERNAME

        @Deprecated
        public static final java.lang.String CONF_NESSIE_USERNAME
        Deprecated.
        "basic" HTTP authentication is not considered secure. Use CONF_NESSIE_AUTH_TOKEN instead.
        Config property name ("nessie.authentication.username") for the user name used for (basic) authentication.
        See Also:
        Constant Field Values
      • CONF_NESSIE_PASSWORD

        @Deprecated
        public static final java.lang.String CONF_NESSIE_PASSWORD
        Deprecated.
        "basic" HTTP authentication is not considered secure. Use CONF_NESSIE_AUTH_TOKEN instead.
        Config property name ("nessie.authentication.password") for the password used for (basic) authentication.
        See Also:
        Constant Field Values
      • CONF_NESSIE_AUTH_TOKEN

        public static final java.lang.String CONF_NESSIE_AUTH_TOKEN
        Config property name ("nessie.authentication.token") for the token used for (bearer) authentication.
        See Also:
        Constant Field Values
      • CONF_NESSIE_OAUTH2_TOKEN_ENDPOINT

        public static final java.lang.String CONF_NESSIE_OAUTH2_TOKEN_ENDPOINT
        Config property name ("nessie.authentication.oauth2.token-endpoint") for the OAuth2 authentication provider. The URL of the OAuth2 token endpoint; this should include not only the OAuth2 server's address, but also the path to the token REST resource, if any. For Keycloak, this is typically https://<keycloak-server>/realms/<realm-name>/protocol/openid-connect/token. Required if using OAuth2 authentication, ignored otherwise.
        See Also:
        Constant Field Values
      • CONF_NESSIE_OAUTH2_GRANT_TYPE_CLIENT_CREDENTIALS

        public static final java.lang.String CONF_NESSIE_OAUTH2_GRANT_TYPE_CLIENT_CREDENTIALS
        See Also:
        Constant Field Values
      • CONF_NESSIE_OAUTH2_GRANT_TYPE_PASSWORD

        public static final java.lang.String CONF_NESSIE_OAUTH2_GRANT_TYPE_PASSWORD
        See Also:
        Constant Field Values
      • CONF_NESSIE_OAUTH2_GRANT_TYPE

        public static final java.lang.String CONF_NESSIE_OAUTH2_GRANT_TYPE
        Config property name ("nessie.authentication.oauth2.grant-type") for the OAuth2 authentication provider. The grant type to use when authenticating against the OAuth2 server. Valid values are: "client_credentials" or "password". Optional, defaults to "client_credentials".

        For both grant types, a client ID and client secret must be provided; they are used to authenticate the client against the OAuth2 server.

        Additionally, when using the "password" grant type, a username and password must also be provided; they are used to authenticate the user.

        Both client and user must be properly configured with appropriate permissions in the OAuth2 server for the authentication to succeed.

        See Also:
        Constant Field Values
      • CONF_NESSIE_OAUTH2_CLIENT_ID

        public static final java.lang.String CONF_NESSIE_OAUTH2_CLIENT_ID
        Config property name ("nessie.authentication.oauth2.client-id") for the OAuth2 authentication provider. The client ID to use when authenticating against the OAuth2 server. Required if using OAuth2 authentication, ignored otherwise.
        See Also:
        Constant Field Values
      • CONF_NESSIE_OAUTH2_CLIENT_SECRET

        public static final java.lang.String CONF_NESSIE_OAUTH2_CLIENT_SECRET
        Config property name ("nessie.authentication.oauth2.client-secret") for the OAuth2 authentication provider. The client secret to use when authenticating against the OAuth2 server. Required if using OAuth2 authentication, ignored otherwise.
        See Also:
        Constant Field Values
      • CONF_NESSIE_OAUTH2_USERNAME

        public static final java.lang.String CONF_NESSIE_OAUTH2_USERNAME
        Config property name ("nessie.authentication.oauth2.username") for the OAuth2 authentication provider. The username to use when authenticating against the OAuth2 server. Required if using OAuth2 authentication and "password" grant type, ignored otherwise.
        See Also:
        Constant Field Values
      • CONF_NESSIE_OAUTH2_PASSWORD

        public static final java.lang.String CONF_NESSIE_OAUTH2_PASSWORD
        Config property name ("nessie.authentication.oauth2.password") for the OAuth2 authentication provider. The user password to use when authenticating against the OAuth2 server. Required if using OAuth2 authentication and the "password" grant type, ignored otherwise.
        See Also:
        Constant Field Values
      • DEFAULT_DEFAULT_ACCESS_TOKEN_LIFESPAN

        public static final java.lang.String DEFAULT_DEFAULT_ACCESS_TOKEN_LIFESPAN
        See Also:
        Constant Field Values
      • CONF_NESSIE_OAUTH2_DEFAULT_ACCESS_TOKEN_LIFESPAN

        public static final java.lang.String CONF_NESSIE_OAUTH2_DEFAULT_ACCESS_TOKEN_LIFESPAN
        Config property name ("nessie.authentication.oauth2.default-access-token-lifespan") for the OAuth2 authentication provider. The default access token lifespan; if the OAuth2 server returns an access token without specifying its expiration time, this value will be used. Optional, defaults to "PT1M". Must be a valid ISO-8601 duration.
        See Also:
        Constant Field Values
      • DEFAULT_DEFAULT_REFRESH_TOKEN_LIFESPAN

        public static final java.lang.String DEFAULT_DEFAULT_REFRESH_TOKEN_LIFESPAN
        See Also:
        Constant Field Values
      • CONF_NESSIE_OAUTH2_DEFAULT_REFRESH_TOKEN_LIFESPAN

        public static final java.lang.String CONF_NESSIE_OAUTH2_DEFAULT_REFRESH_TOKEN_LIFESPAN
        Config property name ("nessie.authentication.oauth2.default-refresh-token-lifespan") for the OAuth2 authentication provider. The default refresh token lifespan; if the OAuth2 server returns a refresh token without specifying its expiration time, this value will be used. Optional, defaults to "PT30M". Must be a valid ISO-8601 duration.
        See Also:
        Constant Field Values
      • DEFAULT_REFRESH_SAFETY_WINDOW

        public static final java.lang.String DEFAULT_REFRESH_SAFETY_WINDOW
        See Also:
        Constant Field Values
      • CONF_NESSIE_OAUTH2_REFRESH_SAFETY_WINDOW

        public static final java.lang.String CONF_NESSIE_OAUTH2_REFRESH_SAFETY_WINDOW
        Config property name ("nessie.authentication.oauth2.refresh-safety-window") for the OAuth2 authentication provider. The refresh safety window to use; a new token will be fetched when the current token's remaining lifespan is less than this value. Optional, defaults to "PT10S". Must be a valid ISO-8601 duration.
        See Also:
        Constant Field Values
      • CONF_NESSIE_OAUTH2_CLIENT_SCOPES

        public static final java.lang.String CONF_NESSIE_OAUTH2_CLIENT_SCOPES
        Config property name ("nessie.authentication.oauth2.client-scopes") for the OAuth2 authentication provider. Space-separated list of scopes to include in each request to the OAuth2 server. Optional, defaults to empty (no scopes).

        The scope names will not be validated by the Nessie client; make sure they are valid according to RFC 6749 Section 3.3.

        See Also:
        Constant Field Values
      • CONF_NESSIE_OAUTH2_TOKEN_EXCHANGE_ENABLED

        public static final java.lang.String CONF_NESSIE_OAUTH2_TOKEN_EXCHANGE_ENABLED
        Config property name ("nessie.authentication.oauth2.token-exchange-enabled") for the OAuth2 authentication provider. If set to true, the Nessie client will attempt to exchange access tokens for refresh tokens whenever appropriate. This, however, can only work if the OAuth2 server supports token exchange. Optional, defaults to true (enabled).

        Note that recent versions of Keycloak support token exchange, but it is disabled by default. See Using token exchange for more information and how to enable this feature.

        See Also:
        Constant Field Values
      • CONF_NESSIE_AWS_REGION

        public static final java.lang.String CONF_NESSIE_AWS_REGION
        Config property name ("nessie.authentication.aws.region") for the region used for AWS authentication.
        See Also:
        Constant Field Values
      • CONF_NESSIE_AWS_PROFILE

        public static final java.lang.String CONF_NESSIE_AWS_PROFILE
        Config property name ("nessie.authentication.aws.profile") for the profile name used for AWS authentication (optional).
        See Also:
        Constant Field Values
      • CONF_NESSIE_AUTH_TYPE

        public static final java.lang.String CONF_NESSIE_AUTH_TYPE
        Config property name ("nessie.authentication.type") for the authentication provider ID. Valid values are BASIC, BEARER and AWS.

        The value is matched against the values returned by NessieAuthenticationProvider.getAuthTypeValue() of the available authentication providers.

        Note that "basic" HTTP authentication is not considered secure, use BEARER instead.

        See Also:
        Constant Field Values
      • CONF_NESSIE_REF

        public static final java.lang.String CONF_NESSIE_REF
        Config property name ("nessie.ref") for the nessie reference name used by clients, recommended setting.
        See Also:
        Constant Field Values
      • CONF_NESSIE_REF_HASH

        public static final java.lang.String CONF_NESSIE_REF_HASH
        Config property name ("nessie.ref.hash") for the nessie reference hash used by clients, optional setting.
        See Also:
        Constant Field Values
      • CONF_NESSIE_TRACING

        public static final java.lang.String CONF_NESSIE_TRACING
        Config property name ("nessie.tracing") to enable adding the HTTP headers of an active OpenTracing span to all Nessie requests. Valid values are true and false.
        See Also:
        Constant Field Values
      • CONF_READ_TIMEOUT

        public static final java.lang.String CONF_READ_TIMEOUT
        Config property name ("nessie.transport.read-timeout") for the network transport read-timeout, default is 25000.
        See Also:
        Constant Field Values
      • CONF_CONNECT_TIMEOUT

        public static final java.lang.String CONF_CONNECT_TIMEOUT
        Config property name ("nessie.transport.connect-timeout") for the network transport connect timeout in milliseconds, default is 5000.
        See Also:
        Constant Field Values
      • CONF_NESSIE_DISABLE_COMPRESSION

        public static final java.lang.String CONF_NESSIE_DISABLE_COMPRESSION
        Config property name ("nessie.transport.disable-compression") to disable compression on the network layer, if set to true.
        See Also:
        Constant Field Values
      • CONF_NESSIE_CLIENT_BUILDER_IMPL

        public static final java.lang.String CONF_NESSIE_CLIENT_BUILDER_IMPL
        Config property name ("nessie.client-builder-impl") for custom client builder class name.
        See Also:
        Constant Field Values
      • CONF_NESSIE_SSL_CIPHER_SUITES

        public static final java.lang.String CONF_NESSIE_SSL_CIPHER_SUITES
        Optional, list of comma-separated cipher suites for SSL connections, see SSLParameters.setCipherSuites(String[]).

        This parameter only works on Java 11 and newer.

        See Also:
        Constant Field Values
      • CONF_NESSIE_SSL_PROTOCOLS

        public static final java.lang.String CONF_NESSIE_SSL_PROTOCOLS
        Optional, list of comma-separated protocols for SSL connections, see SSLParameters.setProtocols(String[]).

        This parameter only works on Java 11 and newer.

        See Also:
        Constant Field Values
      • CONF_NESSIE_SNI_HOSTS

        public static final java.lang.String CONF_NESSIE_SNI_HOSTS
        Optional, the SNI host names for SSL connections, see SSLParameters.setServerNames(List).

        Takes a comma-separated list of SNI hostnames.

        This parameter only works on Java 11 and newer.

        See Also:
        Constant Field Values
      • CONF_NESSIE_SNI_MATCHER

        public static final java.lang.String CONF_NESSIE_SNI_MATCHER
        Optional, a single SNI matcher for SSL connections, see SSLParameters.setSNIMatchers(Collection).

        Takes a single SNI hostname matcher, a regular expression representing the SNI hostnames to match.

        This parameter only works on Java 11 and newer.

        See Also:
        Constant Field Values
      • CONF_NESSIE_HTTP_2

        public static final java.lang.String CONF_NESSIE_HTTP_2
        Optional, allow HTTP/2 upgrade, if set to true.

        This parameter only works on Java 11 and newer.

        See Also:
        Constant Field Values
      • CONF_NESSIE_HTTP_REDIRECT

        public static final java.lang.String CONF_NESSIE_HTTP_REDIRECT
        Optional, specify how redirects are handled.

        See HttpClient.Redirect, possible values:

        • NEVER: Never redirect.
        • ALWAYS: Always redirect.
        • NORMAL: Always redirect, except from HTTPS URLs to HTTP URLs.

        This parameter only works on Java 11 and newer.

        See Also:
        Constant Field Values
      • CONF_FORCE_URL_CONNECTION_CLIENT

        public static final java.lang.String CONF_FORCE_URL_CONNECTION_CLIENT
        Optional, when running on Java 11 force the use of the old URLConnection based client for HTTP, if set to true.

        This parameter only works on Java 11 and newer.

        See Also:
        Constant Field Values
      • CONF_ENABLE_API_COMPATIBILITY_CHECK

        public static final java.lang.String CONF_ENABLE_API_COMPATIBILITY_CHECK
        Enables API compatibility check when creating the Nessie client. The default is true.

        You can also control this setting by setting the system property nessie.client.enable-api-compatibility-check to true or false.

        See Also:
        Constant Field Values
      • DEFAULT_READ_TIMEOUT_MILLIS

        public static final int DEFAULT_READ_TIMEOUT_MILLIS
        See Also:
        Constant Field Values
      • DEFAULT_CONNECT_TIMEOUT_MILLIS

        public static final int DEFAULT_CONNECT_TIMEOUT_MILLIS
        See Also:
        Constant Field Values