/*
* Copyright DataStax, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.datastax.dse.driver.api.core.config;
import com.datastax.oss.driver.api.core.config.DriverOption;
import edu.umd.cs.findbugs.annotations.NonNull;
public enum DseDriverOption implements DriverOption {
The name of the application using the session.
Value type: String
/**
* The name of the application using the session.
*
* <p>Value type: {@link String}
*/
APPLICATION_NAME("basic.application.name"),
The version of the application using the session.
Value type: String
/**
* The version of the application using the session.
*
* <p>Value type: {@link String}
*/
APPLICATION_VERSION("basic.application.version"),
Proxy authentication for GSSAPI authentication: allows to login as another user or role.
Value type: String
/**
* Proxy authentication for GSSAPI authentication: allows to login as another user or role.
*
* <p>Value type: {@link String}
*/
AUTH_PROVIDER_AUTHORIZATION_ID("advanced.auth-provider.authorization-id"),
Service name for GSSAPI authentication.
Value type: String
/**
* Service name for GSSAPI authentication.
*
* <p>Value type: {@link String}
*/
AUTH_PROVIDER_SERVICE("advanced.auth-provider.service"),
/**
* Login configuration for GSSAPI authentication.
*
* <p>Value type: {@link java.util.Map Map}<{@link String},{@link String}>
*/
AUTH_PROVIDER_LOGIN_CONFIGURATION("advanced.auth-provider.login-configuration"),
/**
* Internal SASL properties, if any, such as QOP, for GSSAPI authentication.
*
* <p>Value type: {@link java.util.Map Map}<{@link String},{@link String}>
*/
AUTH_PROVIDER_SASL_PROPERTIES("advanced.auth-provider.sasl-properties"),
The page size for continuous paging.
Value type: int
/**
* The page size for continuous paging.
*
* <p>Value type: int
*/
CONTINUOUS_PAGING_PAGE_SIZE("advanced.continuous-paging.page-size"),
Whether CONTINUOUS_PAGING_PAGE_SIZE
should be interpreted in number of rows or bytes. Value type: boolean
/**
* Whether {@link #CONTINUOUS_PAGING_PAGE_SIZE} should be interpreted in number of rows or bytes.
*
* <p>Value type: boolean
*/
CONTINUOUS_PAGING_PAGE_SIZE_BYTES("advanced.continuous-paging.page-size-in-bytes"),
The maximum number of continuous pages to return.
Value type: int
/**
* The maximum number of continuous pages to return.
*
* <p>Value type: int
*/
CONTINUOUS_PAGING_MAX_PAGES("advanced.continuous-paging.max-pages"),
The maximum number of continuous pages per second.
Value type: int
/**
* The maximum number of continuous pages per second.
*
* <p>Value type: int
*/
CONTINUOUS_PAGING_MAX_PAGES_PER_SECOND("advanced.continuous-paging.max-pages-per-second"),
The maximum number of continuous pages that can be stored in the local queue.
Value type: int
/**
* The maximum number of continuous pages that can be stored in the local queue.
*
* <p>Value type: int
*/
CONTINUOUS_PAGING_MAX_ENQUEUED_PAGES("advanced.continuous-paging.max-enqueued-pages"),
How long to wait for the coordinator to send the first continuous page.
Value-type: Duration
/**
* How long to wait for the coordinator to send the first continuous page.
*
* <p>Value-type: {@link java.time.Duration Duration}
*/
CONTINUOUS_PAGING_TIMEOUT_FIRST_PAGE("advanced.continuous-paging.timeout.first-page"),
How long to wait for the coordinator to send subsequent continuous pages.
Value-type: Duration
/**
* How long to wait for the coordinator to send subsequent continuous pages.
*
* <p>Value-type: {@link java.time.Duration Duration}
*/
CONTINUOUS_PAGING_TIMEOUT_OTHER_PAGES("advanced.continuous-paging.timeout.other-pages"),
The largest latency that we expect to record for continuous requests.
Value-type: Duration
/**
* The largest latency that we expect to record for continuous requests.
*
* <p>Value-type: {@link java.time.Duration Duration}
*/
CONTINUOUS_PAGING_METRICS_SESSION_CQL_REQUESTS_HIGHEST(
"advanced.metrics.session.continuous-cql-requests.highest-latency"),
The number of significant decimal digits to which internal structures will maintain for
continuous requests.
Value-type: int
/**
* The number of significant decimal digits to which internal structures will maintain for
* continuous requests.
*
* <p>Value-type: int
*/
CONTINUOUS_PAGING_METRICS_SESSION_CQL_REQUESTS_DIGITS(
"advanced.metrics.session.continuous-cql-requests.significant-digits"),
The interval at which percentile data is refreshed for continuous requests.
Value-type: Duration
/**
* The interval at which percentile data is refreshed for continuous requests.
*
* <p>Value-type: {@link java.time.Duration Duration}
*/
CONTINUOUS_PAGING_METRICS_SESSION_CQL_REQUESTS_INTERVAL(
"advanced.metrics.session.continuous-cql-requests.refresh-interval"),
The read consistency level to use for graph statements.
Value type: String
/**
* The read consistency level to use for graph statements.
*
* <p>Value type: {@link String}
*/
GRAPH_READ_CONSISTENCY_LEVEL("basic.graph.read-consistency-level"),
The write consistency level to use for graph statements.
Value type: String
/**
* The write consistency level to use for graph statements.
*
* <p>Value type: {@link String}
*/
GRAPH_WRITE_CONSISTENCY_LEVEL("basic.graph.write-consistency-level"),
The traversal source to use for graph statements.
Value type: String
/**
* The traversal source to use for graph statements.
*
* <p>Value type: {@link String}
*/
GRAPH_TRAVERSAL_SOURCE("basic.graph.traversal-source"),
The sub-protocol the driver will use to communicate with DSE Graph, on top of the Cassandra
native protocol.
Value type: String
/**
* The sub-protocol the driver will use to communicate with DSE Graph, on top of the Cassandra
* native protocol.
*
* <p>Value type: {@link String}
*/
GRAPH_SUB_PROTOCOL("advanced.graph.sub-protocol"),
Whether a script statement represents a system query.
Value type: boolean
/**
* Whether a script statement represents a system query.
*
* <p>Value type: boolean
*/
GRAPH_IS_SYSTEM_QUERY("basic.graph.is-system-query"),
The name of the graph targeted by graph statements.
Value type: String
/**
* The name of the graph targeted by graph statements.
*
* <p>Value type: {@link String}
*/
GRAPH_NAME("basic.graph.name"),
How long the driver waits for a graph request to complete.
Value-type: Duration
/**
* How long the driver waits for a graph request to complete.
*
* <p>Value-type: {@link java.time.Duration Duration}
*/
GRAPH_TIMEOUT("basic.graph.timeout"),
Whether to send events for Insights monitoring.
Value type: boolean
/**
* Whether to send events for Insights monitoring.
*
* <p>Value type: boolean
*/
MONITOR_REPORTING_ENABLED("advanced.monitor-reporting.enabled"),
Whether to enable paging for Graph queries.
Value type: String
/**
* Whether to enable paging for Graph queries.
*
* <p>Value type: {@link String}
*/
GRAPH_PAGING_ENABLED("advanced.graph.paging-enabled"),
The page size for Graph continuous paging.
Value type: int
/**
* The page size for Graph continuous paging.
*
* <p>Value type: int
*/
GRAPH_CONTINUOUS_PAGING_PAGE_SIZE("advanced.graph.paging-options.page-size"),
The maximum number of Graph continuous pages to return.
Value type: int
/**
* The maximum number of Graph continuous pages to return.
*
* <p>Value type: int
*/
GRAPH_CONTINUOUS_PAGING_MAX_PAGES("advanced.graph.paging-options.max-pages"),
The maximum number of Graph continuous pages per second.
Value type: int
/**
* The maximum number of Graph continuous pages per second.
*
* <p>Value type: int
*/
GRAPH_CONTINUOUS_PAGING_MAX_PAGES_PER_SECOND(
"advanced.graph.paging-options.max-pages-per-second"),
The maximum number of Graph continuous pages that can be stored in the local queue.
Value type: int
/**
* The maximum number of Graph continuous pages that can be stored in the local queue.
*
* <p>Value type: int
*/
GRAPH_CONTINUOUS_PAGING_MAX_ENQUEUED_PAGES("advanced.graph.paging-options.max-enqueued-pages"),
The largest latency that we expect to record for graph requests.
Value-type: Duration
/**
* The largest latency that we expect to record for graph requests.
*
* <p>Value-type: {@link java.time.Duration Duration}
*/
METRICS_SESSION_GRAPH_REQUESTS_HIGHEST("advanced.metrics.session.graph-requests.highest-latency"),
The number of significant decimal digits to which internal structures will maintain for graph
requests.
Value-type: int
/**
* The number of significant decimal digits to which internal structures will maintain for graph
* requests.
*
* <p>Value-type: int
*/
METRICS_SESSION_GRAPH_REQUESTS_DIGITS(
"advanced.metrics.session.graph-requests.significant-digits"),
The interval at which percentile data is refreshed for graph requests.
Value-type: Duration
/**
* The interval at which percentile data is refreshed for graph requests.
*
* <p>Value-type: {@link java.time.Duration Duration}
*/
METRICS_SESSION_GRAPH_REQUESTS_INTERVAL(
"advanced.metrics.session.graph-requests.refresh-interval"),
The largest latency that we expect to record for graph requests.
Value-type: Duration
/**
* The largest latency that we expect to record for graph requests.
*
* <p>Value-type: {@link java.time.Duration Duration}
*/
METRICS_NODE_GRAPH_MESSAGES_HIGHEST("advanced.metrics.node.graph-messages.highest-latency"),
The number of significant decimal digits to which internal structures will maintain for graph
requests.
Value-type: int
/**
* The number of significant decimal digits to which internal structures will maintain for graph
* requests.
*
* <p>Value-type: int
*/
METRICS_NODE_GRAPH_MESSAGES_DIGITS("advanced.metrics.node.graph-messages.significant-digits"),
The interval at which percentile data is refreshed for graph requests.
Value-type: Duration
/**
* The interval at which percentile data is refreshed for graph requests.
*
* <p>Value-type: {@link java.time.Duration Duration}
*/
METRICS_NODE_GRAPH_MESSAGES_INTERVAL("advanced.metrics.node.graph-messages.refresh-interval"),
;
private final String path;
DseDriverOption(String path) {
this.path = path;
}
@NonNull
@Override
public String getPath() {
return path;
}
}