= Cheatsheets

[[AclToken]]
== AclToken

++++
Holds properties of Acl token
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[id]]`@id`|`String`|+++
Set ID of token
+++
|[[name]]`@name`|`String`|+++
Set name of token
+++
|[[rules]]`@rules`|`String`|+++
Set rules for token
+++
|[[type]]`@type`|`link:enums.html#AclTokenType[AclTokenType]`|+++
Set type of token
+++
|===

[[BlockingQueryOptions]]
== BlockingQueryOptions

++++
Options used to perform blocking query that used to wait for a potential change using long polling.
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[index]]`@index`|`Number (long)`|+++
Set index indicating that the client wishes to wait for any changes subsequent to that index.
+++
|[[wait]]`@wait`|`String`|+++
Specifying a maximum duration for the blocking request. This is limited to 10 minutes.
If not set, the wait time defaults to 5 minutes. This value can be specified in the form of "10s" or "5m"
(i.e., 10 seconds or 5 minutes, respectively).
+++
|===

[[Check]]
== Check

++++
Holds check properties
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[id]]`@id`|`String`|+++
Set the ID of check
+++
|[[name]]`@name`|`String`|+++
Set the name of check
+++
|[[nodeName]]`@nodeName`|`String`|+++
Set the name of node
+++
|[[notes]]`@notes`|`String`|+++
Set the human-readable note of check
+++
|[[output]]`@output`|`String`|+++
Set the output of check
+++
|[[serviceId]]`@serviceId`|`String`|+++
Set the ID of service with which this check associated
+++
|[[serviceName]]`@serviceName`|`String`|+++
Set the name of service with which this check associated
+++
|[[status]]`@status`|`link:enums.html#CheckStatus[CheckStatus]`|+++
Set the status of check
+++
|===

[[CheckList]]
== CheckList

++++
Holds result of checks query
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[index]]`@index`|`Number (long)`|+++
Set Consul index, a unique identifier representing the current state of the requested list of checks
+++
|[[list]]`@list`|`Array of link:dataobjects.html#Check[Check]`|+++
Set list of checks
+++
|===

[[CheckOptions]]
== CheckOptions

++++
Options used to register checks in Consul.
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[deregisterAfter]]`@deregisterAfter`|`String`|+++
Set deregister timeout. This is optional field, which is a timeout in the same time format as Interval and TTL.
If a check is associated with a service and has the critical state for more than this configured value,
then its associated service (and all of its associated checks) will automatically be deregistered.
The minimum timeout is 1 minute, and the process that reaps critical services runs every 30 seconds,
so it may take slightly longer than the configured timeout to trigger the deregistration.
This should generally be configured with a timeout that's much, much longer than any expected recoverable outage
for the given service.
+++
|[[grpc]]`@grpc`|`String`|+++
Specifies a gRPC check's endpoint that supports the standard
<a href="https://github.com/grpc/grpc/blob/master/doc/health-checking.md">gRPC health checking protocol</a>.
The state of the check will be updated at the given Interval by probing the configured endpoint.
The endpoint must be represented as <code>address:port/service</code>
+++
|[[grpcTls]]`@grpcTls`|`Boolean`|+++
Specifies whether to use TLS for this gRPC health check.
If TLS is enabled, then by default, a valid TLS certificate is expected.
Certificate verification can be turned off by setting <code>TLSSkipVerify</code> to <code>true</code>.
+++
|[[http]]`@http`|`String`|+++
Set HTTP address to check. Also you should set checking interval
+++
|[[id]]`@id`|`String`|+++
Set check ID
+++
|[[interval]]`@interval`|`String`|+++
Set checking interval
+++
|[[name]]`@name`|`String`|+++
Set check name. This is mandatory field
+++
|[[notes]]`@notes`|`String`|+++
Set check notes
+++
|[[scriptArgs]]`@scriptArgs`|`Array of String`|+++
Set scriptArgs. Also you should set checking interval
+++
|[[serviceId]]`@serviceId`|`String`|+++
Set the service ID to associate the registered check with an existing service provided by the agent.
+++
|[[status]]`@status`|`link:enums.html#CheckStatus[CheckStatus]`|+++
Set the check status to specify the initial state of the health check.
+++
|[[tcp]]`@tcp`|`String`|+++
Set TCP address to check. Also you should set checking interval
+++
|[[tlsSkipVerify]]`@tlsSkipVerify`|`Boolean`|+++
Specifies if the certificate for an HTTPS check should not be verified.
+++
|[[ttl]]`@ttl`|`String`|+++
Set Time to Live of check.
+++
|===

[[CheckQueryOptions]]
== CheckQueryOptions

++++
Options used to requesting list of checks
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[blockingOptions]]`@blockingOptions`|`link:dataobjects.html#BlockingQueryOptions[BlockingQueryOptions]`|+++
Set options for blocking query
+++
|[[near]]`@near`|`String`|+++
Set node name for sorting the list in ascending order based on the estimated round trip time from that node.
+++
|===

[[ConsulClientOptions]]
== ConsulClientOptions

++++
Options used to create Consul client.
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[aclToken]]`@aclToken`|`String`|+++
Set the ACL token. When provided, the client will use this token when making requests to the Consul
by providing the "?token" query parameter. When not provided, the empty token, which maps to the 'anonymous'
ACL policy, is used.
+++
|[[alpnVersions]]`@alpnVersions`|`Array of link:enums.html#HttpVersion[HttpVersion]`|+++
Set the list of protocol versions to provide to the server during the Application-Layer Protocol Negotiation.
When the list is empty, the client provides a best effort list according to link:

<ul>
  <li>: [ "h2", "http/1.1" ]</li>
  <li>otherwise: [link]</li>
</ul>
+++
|[[connectTimeout]]`@connectTimeout`|`Number (int)`|+++
Set the connect timeout
+++
|[[crlPaths]]`@crlPaths`|`Array of String`|+++
Add a CRL path
+++
|[[crlValues]]`@crlValues`|`Array of Buffer`|+++
Add a CRL value
+++
|[[dc]]`@dc`|`String`|+++
Set the datacenter name. When provided, the client will use it when making requests to the Consul
by providing the "?dc" query parameter. When not provided, the datacenter of the consul agent is queried.
+++
|[[decoderInitialBufferSize]]`@decoderInitialBufferSize`|`Number (int)`|+++
set to <code>initialBufferSizeHttpDecoder</code> the initial buffer of the HttpDecoder.
+++
|[[defaultHost]]`@defaultHost`|`String`|+++
Set the default host name to be used by this client in requests if none is provided when making the request.
+++
|[[defaultPort]]`@defaultPort`|`Number (int)`|+++
Set the default port to be used by this client in requests if none is provided when making the request.
+++
|[[enabledCipherSuites]]`@enabledCipherSuites`|`Array of String`|+++
Add an enabled cipher suite, appended to the ordered suites.
+++
|[[enabledSecureTransportProtocols]]`@enabledSecureTransportProtocols`|`Array of String`|+++
Add an enabled SSL/TLS protocols, appended to the ordered protocols.
+++
|[[followRedirects]]`@followRedirects`|`Boolean`|+++
Configure the default behavior of the client to follow HTTP <code>30x</code> redirections.
+++
|[[forceSni]]`@forceSni`|`Boolean`|+++
By default, the server name is only sent for Fully Qualified Domain Name (FQDN), setting
this property to <code>true</code> forces the server name to be always sent.
+++
|[[http2ClearTextUpgrade]]`@http2ClearTextUpgrade`|`Boolean`|+++
Set to <code>true</code> when an <i>h2c</i> connection is established using an HTTP/1.1 upgrade request, and <code>false</code>
when an <i>h2c</i> connection is established directly (with prior knowledge).
+++
|[[http2ConnectionWindowSize]]`@http2ConnectionWindowSize`|`Number (int)`|+++
Set the default HTTP/2 connection window size. It overrides the initial window
size set by , so the connection window size
is greater than for its streams, in order the data throughput.
<p/>
A value of <code>-1</code> reuses the initial window size setting.
+++
|[[http2KeepAliveTimeout]]`@http2KeepAliveTimeout`|`Number (int)`|-
|[[http2MaxPoolSize]]`@http2MaxPoolSize`|`Number (int)`|+++
Set the maximum pool size for HTTP/2 connections
+++
|[[http2MultiplexingLimit]]`@http2MultiplexingLimit`|`Number (int)`|+++
Set a client limit of the number concurrent streams for each HTTP/2 connection, this limits the number
of streams the client can create for a connection. The effective number of streams for a
connection is the min of this value and the server's initial settings.
<p/>
Setting the value to <code>-1</code> means to use the value sent by the server's initial settings.
<code>-1</code> is the default value.
+++
|[[idleTimeout]]`@idleTimeout`|`Number (int)`|+++
Set the idle timeout, in seconds. zero means don't timeout.
This determines if a connection will timeout and be closed if no data is received within the timeout.
+++
|[[idleTimeoutUnit]]`@idleTimeoutUnit`|`link:enums.html#TimeUnit[TimeUnit]`|+++
Set the idle timeout unit. If not specified, default is seconds.
+++
|[[initialSettings]]`@initialSettings`|`link:dataobjects.html#Http2Settings[Http2Settings]`|+++
Set the HTTP/2 connection settings immediately sent by to the server when the client connects.
+++
|[[jdkSslEngineOptions]]`@jdkSslEngineOptions`|`link:dataobjects.html#JdkSSLEngineOptions[JdkSSLEngineOptions]`|-
|[[keepAlive]]`@keepAlive`|`Boolean`|+++
Set whether keep alive is enabled on the client
+++
|[[keepAliveTimeout]]`@keepAliveTimeout`|`Number (int)`|-
|[[keyStoreOptions]]`@keyStoreOptions`|`link:dataobjects.html#JksOptions[JksOptions]`|+++
Set the key/cert options in jks format, aka Java keystore.
+++
|[[localAddress]]`@localAddress`|`String`|+++
Set the local interface to bind for network connections. When the local address is null,
it will pick any local address, the default local address is null.
+++
|[[logActivity]]`@logActivity`|`Boolean`|+++
Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.
+++
|[[maxChunkSize]]`@maxChunkSize`|`Number (int)`|+++
Set the maximum HTTP chunk size
+++
|[[maxHeaderSize]]`@maxHeaderSize`|`Number (int)`|+++
Set the maximum length of all headers for HTTP/1.x .
+++
|[[maxInitialLineLength]]`@maxInitialLineLength`|`Number (int)`|+++
Set the maximum length of the initial line for HTTP/1.x (e.g. <code>"HTTP/1.1 200 OK"</code>)
+++
|[[maxPoolSize]]`@maxPoolSize`|`Number (int)`|+++
Set the maximum pool size for connections
+++
|[[maxRedirects]]`@maxRedirects`|`Number (int)`|+++
Set to <code>maxRedirects</code> the maximum number of redirection a request can follow.
+++
|[[maxWaitQueueSize]]`@maxWaitQueueSize`|`Number (int)`|+++
Set the maximum requests allowed in the wait queue, any requests beyond the max size will result in
a ConnectionPoolTooBusyException.  If the value is set to a negative number then the queue will be unbounded.
+++
|[[maxWebSocketFrameSize]]`@maxWebSocketFrameSize`|`Number (int)`|-
|[[maxWebSocketMessageSize]]`@maxWebSocketMessageSize`|`Number (int)`|-
|[[maxWebsocketFrameSize]]`@maxWebsocketFrameSize`|`Number (int)`|+++
Set the max websocket frame size
+++
|[[maxWebsocketMessageSize]]`@maxWebsocketMessageSize`|`Number (int)`|+++
Set the max websocket message size
+++
|[[metricsName]]`@metricsName`|`String`|+++
Set the metrics name identifying the reported metrics, useful for grouping metrics
with the same name.
+++
|[[openSslEngineOptions]]`@openSslEngineOptions`|`link:dataobjects.html#OpenSSLEngineOptions[OpenSSLEngineOptions]`|-
|[[pemKeyCertOptions]]`@pemKeyCertOptions`|`link:dataobjects.html#PemKeyCertOptions[PemKeyCertOptions]`|+++
Set the key/cert store options in pem format.
+++
|[[pemTrustOptions]]`@pemTrustOptions`|`link:dataobjects.html#PemTrustOptions[PemTrustOptions]`|+++
Set the trust options.
+++
|[[pfxKeyCertOptions]]`@pfxKeyCertOptions`|`link:dataobjects.html#PfxOptions[PfxOptions]`|+++
Set the key/cert options in pfx format.
+++
|[[pfxTrustOptions]]`@pfxTrustOptions`|`link:dataobjects.html#PfxOptions[PfxOptions]`|+++
Set the trust options in pfx format
+++
|[[pipelining]]`@pipelining`|`Boolean`|+++
Set whether pipe-lining is enabled on the client
+++
|[[pipeliningLimit]]`@pipeliningLimit`|`Number (int)`|+++
Set the limit of pending requests a pipe-lined HTTP/1 connection can send.
+++
|[[poolCleanerPeriod]]`@poolCleanerPeriod`|`Number (int)`|-
|[[protocolVersion]]`@protocolVersion`|`link:enums.html#HttpVersion[HttpVersion]`|+++
Set the protocol version.
+++
|[[proxyOptions]]`@proxyOptions`|`link:dataobjects.html#ProxyOptions[ProxyOptions]`|+++
Set proxy options for connections via CONNECT proxy (e.g. Squid) or a SOCKS proxy.
+++
|[[receiveBufferSize]]`@receiveBufferSize`|`Number (int)`|+++
Set the TCP receive buffer size
+++
|[[reuseAddress]]`@reuseAddress`|`Boolean`|+++
Set the value of reuse address
+++
|[[reusePort]]`@reusePort`|`Boolean`|+++
Set the value of reuse port.
<p/>
This is only supported by native transports.
+++
|[[sendBufferSize]]`@sendBufferSize`|`Number (int)`|+++
Set the TCP send buffer size
+++
|[[sendUnmaskedFrames]]`@sendUnmaskedFrames`|`Boolean`|+++
Set true when the client wants to skip frame masking.
You may want to set it true on server by server websocket communication: In this case you are by passing RFC6455 protocol.
It's false as default.
+++
|[[soLinger]]`@soLinger`|`Number (int)`|+++
Set whether SO_linger keep alive is enabled
+++
|[[ssl]]`@ssl`|`Boolean`|+++
Set whether SSL/TLS is enabled
+++
|[[sslHandshakeTimeout]]`@sslHandshakeTimeout`|`Number (long)`|-
|[[sslHandshakeTimeoutUnit]]`@sslHandshakeTimeoutUnit`|`link:enums.html#TimeUnit[TimeUnit]`|-
|[[tcpCork]]`@tcpCork`|`Boolean`|+++
Enable the <code>TCP_CORK</code> option - only with linux native transport.
+++
|[[tcpFastOpen]]`@tcpFastOpen`|`Boolean`|+++
Enable the <code>TCP_FASTOPEN</code> option - only with linux native transport.
+++
|[[tcpKeepAlive]]`@tcpKeepAlive`|`Boolean`|+++
Set whether TCP keep alive is enabled
+++
|[[tcpNoDelay]]`@tcpNoDelay`|`Boolean`|+++
Set whether TCP no delay is enabled
+++
|[[tcpQuickAck]]`@tcpQuickAck`|`Boolean`|+++
Enable the <code>TCP_QUICKACK</code> option - only with linux native transport.
+++
|[[timeout]]`@timeout`|`Number (long)`|+++
Sets the amount of time (in milliseconds) after which if the request does not return any data
within the timeout period an failure will be passed to the handler and the request will be closed.
+++
|[[trafficClass]]`@trafficClass`|`Number (int)`|+++
Set the value of traffic class
+++
|[[trustAll]]`@trustAll`|`Boolean`|+++
Set whether all server certificates should be trusted
+++
|[[trustStoreOptions]]`@trustStoreOptions`|`link:dataobjects.html#JksOptions[JksOptions]`|+++
Set the trust options in jks format, aka Java truststore
+++
|[[tryUseCompression]]`@tryUseCompression`|`Boolean`|+++
Set whether compression is enabled
+++
|[[tryUsePerFrameWebSocketCompression]]`@tryUsePerFrameWebSocketCompression`|`Boolean`|-
|[[tryUsePerFrameWebsocketCompression]]`@tryUsePerFrameWebsocketCompression`|`Boolean`|-
|[[tryUsePerMessageWebSocketCompression]]`@tryUsePerMessageWebSocketCompression`|`Boolean`|-
|[[tryUsePerMessageWebsocketCompression]]`@tryUsePerMessageWebsocketCompression`|`Boolean`|-
|[[tryWebSocketDeflateFrameCompression]]`@tryWebSocketDeflateFrameCompression`|`Boolean`|-
|[[tryWebsocketDeflateFrameCompression]]`@tryWebsocketDeflateFrameCompression`|`Boolean`|-
|[[useAlpn]]`@useAlpn`|`Boolean`|+++
Set the ALPN usage.
+++
|[[usePooledBuffers]]`@usePooledBuffers`|`Boolean`|+++
Set whether Netty pooled buffers are enabled
+++
|[[userAgent]]`@userAgent`|`String`|+++
Sets the Web Client user agent header. Defaults to Vert.x-WebClient/&lt;version&gt;.
+++
|[[userAgentEnabled]]`@userAgentEnabled`|`Boolean`|+++
Sets whether the Web Client should send a user agent header. Defaults to true.
+++
|[[verifyHost]]`@verifyHost`|`Boolean`|+++
Set whether hostname verification is enabled
+++
|[[webSocketClosingTimeout]]`@webSocketClosingTimeout`|`Number (int)`|-
|[[webSocketCompressionAllowClientNoContext]]`@webSocketCompressionAllowClientNoContext`|`Boolean`|-
|[[webSocketCompressionLevel]]`@webSocketCompressionLevel`|`Number (int)`|-
|[[webSocketCompressionRequestServerNoContext]]`@webSocketCompressionRequestServerNoContext`|`Boolean`|-
|[[websocketCompressionAllowClientNoContext]]`@websocketCompressionAllowClientNoContext`|`Boolean`|-
|[[websocketCompressionLevel]]`@websocketCompressionLevel`|`Number (int)`|-
|[[websocketCompressionRequestServerNoContext]]`@websocketCompressionRequestServerNoContext`|`Boolean`|-
|===

[[Coordinate]]
== Coordinate

++++
Holds network coordinates of node
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[adj]]`@adj`|`Number (float)`|+++
Set adjustment
+++
|[[err]]`@err`|`Number (float)`|+++
Set error
+++
|[[height]]`@height`|`Number (float)`|+++
Set height
+++
|[[node]]`@node`|`String`|+++
Set name of node
+++
|[[vec]]`@vec`|`Array of Number (Float)`|+++
Set vector
+++
|===

[[CoordinateList]]
== CoordinateList

++++
Holds result of network coordinates query
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[index]]`@index`|`Number (long)`|+++
Set Consul index, a unique identifier representing the current state of the requested coordinates
+++
|[[list]]`@list`|`Array of link:dataobjects.html#Coordinate[Coordinate]`|+++
Set list of coordinates
+++
|===

[[DcCoordinates]]
== DcCoordinates

++++
Holds coordinates of servers in datacenter
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[datacenter]]`@datacenter`|`String`|+++
Set datacenter
+++
|[[servers]]`@servers`|`Array of link:dataobjects.html#Coordinate[Coordinate]`|+++
Set list of servers in datacenter
+++
|===

[[Event]]
== Event

++++
Holds properties of Consul event
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[id]]`@id`|`String`|+++
Set ID of event
+++
|[[lTime]]`@lTime`|`Number (int)`|+++
Set the Lamport clock time
+++
|[[name]]`@name`|`String`|+++
Set name of event
+++
|[[node]]`@node`|`String`|+++
Set regular expression to filter by node name
+++
|[[payload]]`@payload`|`String`|+++
Set payload of event
+++
|[[service]]`@service`|`String`|+++
Set regular expression to filter by service
+++
|[[tag]]`@tag`|`String`|+++
Set regular expression to filter by tag
+++
|[[version]]`@version`|`Number (int)`|+++
Set version
+++
|===

[[EventList]]
== EventList

++++
Holds result of events query
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[index]]`@index`|`Number (long)`|+++
Set Consul index, a unique identifier representing the current state of the requested events
+++
|[[list]]`@list`|`Array of link:dataobjects.html#Event[Event]`|+++
Set list of events
+++
|===

[[EventListOptions]]
== EventListOptions

++++
Holds options for events list request
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[blockingOptions]]`@blockingOptions`|`link:dataobjects.html#BlockingQueryOptions[BlockingQueryOptions]`|+++
Set options for blocking query
+++
|[[name]]`@name`|`String`|+++
Set event name for filtering on events
+++
|===

[[EventOptions]]
== EventOptions

++++
Options used to trigger a new user event.
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[node]]`@node`|`String`|+++
Set regular expression to filter by node name
+++
|[[payload]]`@payload`|`String`|+++
Set payload of event
+++
|[[service]]`@service`|`String`|+++
Set regular expression to filter by service
+++
|[[tag]]`@tag`|`String`|+++
Set regular expression to filter by tag
+++
|===

[[KeyValue]]
== KeyValue

++++
Represents key/value pair stored in Consul
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[createIndex]]`@createIndex`|`Number (long)`|+++
Set the internal index value that represents when the entry was created.
+++
|[[flags]]`@flags`|`Number (long)`|+++
Set the flags attached to this entry. Clients can choose to use this however makes sense for their application.
+++
|[[key]]`@key`|`String`|+++
Set the key
+++
|[[lockIndex]]`@lockIndex`|`Number (long)`|+++
Set the number of times this key has successfully been acquired in a lock.
+++
|[[modifyIndex]]`@modifyIndex`|`Number (long)`|+++
Set the last index that modified this key.
+++
|[[session]]`@session`|`String`|+++
Set the session that owns the lock
+++
|[[value]]`@value`|`String`|+++
Set the value
+++
|===

[[KeyValueList]]
== KeyValueList

++++
Holds result of key/value pairs query
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[index]]`@index`|`Number (long)`|+++
Set Consul index
+++
|[[list]]`@list`|`Array of link:dataobjects.html#KeyValue[KeyValue]`|+++
Set list of key/value pairs
+++
|===

[[KeyValueOptions]]
== KeyValueOptions

++++
Options used to put key/value pair to Consul.
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[acquireSession]]`@acquireSession`|`String`|+++
Set session ID for lock acquisition operation.
+++
|[[casIndex]]`@casIndex`|`Number (long)`|+++
Set the Check-And-Set index. If the index is <code>0</code>, Consul will only put the key if it does not already exist.
If the index is non-zero, the key is only set if the index matches the ModifyIndex of that key.
+++
|[[flags]]`@flags`|`Number (long)`|+++
Set the flags. Flags is an value between <code>0</code> and 2<sup>64</sup>-1 that can be attached to each entry.
Clients can choose to use this however makes sense for their application.
+++
|[[releaseSession]]`@releaseSession`|`String`|+++
Set session ID for lock release operation.
+++
|===

[[MaintenanceOptions]]
== MaintenanceOptions

++++
Options used to placing a given service into "maintenance mode".
During maintenance mode, the service will be marked as unavailable
and will not be present in DNS or API queries. Maintenance mode is persistent
and will be automatically restored on agent restart.
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[enable]]`@enable`|`Boolean`|+++
Set maintenance mode to enabled: <code>true</code> to enter maintenance mode or <code>false</code> to resume normal operation.
This flag is required.
+++
|[[id]]`@id`|`String`|+++
Set the ID of service. This field is required.
+++
|[[reason]]`@reason`|`String`|+++
Set the reason message. If provided, its value should be a text string explaining the reason for placing
the service into maintenance mode. This is simply to aid human operators.
+++
|===

[[Node]]
== Node

++++
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[address]]`@address`|`String`|+++
Set node address
+++
|[[lanAddress]]`@lanAddress`|`String`|+++
Set node lan address
+++
|[[name]]`@name`|`String`|+++
Set node name
+++
|[[wanAddress]]`@wanAddress`|`String`|+++
Set node wan address
+++
|===

[[NodeList]]
== NodeList

++++
Holds result of nodes query
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[index]]`@index`|`Number (long)`|+++
Set Consul index, a unique identifier representing the current state of the requested list of nodes
+++
|[[list]]`@list`|`Array of link:dataobjects.html#Node[Node]`|+++
Set list of nodes
+++
|===

[[NodeQueryOptions]]
== NodeQueryOptions

++++
Options used to requesting list of nodes
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[blockingOptions]]`@blockingOptions`|`link:dataobjects.html#BlockingQueryOptions[BlockingQueryOptions]`|+++
Set options for blocking query
+++
|[[near]]`@near`|`String`|+++
Set node name for sorting the list in ascending order based on the estimated round trip time from that node.
+++
|===

[[PreparedQueryDefinition]]
== PreparedQueryDefinition

++++
Defines a prepared query.
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[dcs]]`@dcs`|`Array of String`|+++
Specifies a fixed list of remote datacenters to forward the query to if there are no healthy nodes
in the local datacenter. Datacenters are queried in the order given in the list. If this option is combined
with NearestN, then the NearestN queries will be performed first, followed by the list given by Datacenters.
A given datacenter will only be queried one time during a failover, even if it is selected by both NearestN
and is listed in Datacenters.
+++
|[[dnsTtl]]`@dnsTtl`|`String`|+++
Set the TTL duration when query results are served over DNS. If this is specified,
it will take precedence over any Consul agent-specific configuration.
+++
|[[id]]`@id`|`String`|+++
Set ID of the query, always generated by Consul
+++
|[[meta]]`@meta`|`String`|+++
Set a list of user-defined key/value pairs that will be used for filtering the query results to nodes
with the given metadata values present.
+++
|[[name]]`@name`|`String`|+++
Set an optional friendly name that can be used to execute a query instead of using its ID
+++
|[[nearestN]]`@nearestN`|`Number (int)`|+++
Specifies that the query will be forwarded to up to NearestN other datacenters based on their estimated network
round trip time using Network Coordinates from the WAN gossip pool. The median round trip time from the server
handling the query to the servers in the remote datacenter is used to determine the priority.
+++
|[[passing]]`@passing`|`Boolean`|+++
Specifies the behavior of the query's health check filtering. If this is set to false, the results will include
nodes with checks in the passing as well as the warning states. If this is set to true,
only nodes with checks in the passing state will be returned.
+++
|[[service]]`@service`|`String`|+++
Set the name of the service to query
+++
|[[session]]`@session`|`String`|+++
Set the ID of an existing session. This provides a way to automatically remove a prepared query when
the given session is invalidated. If not given the prepared query must be manually removed when no longer needed.
+++
|[[tags]]`@tags`|`Array of String`|+++
Set a list of service tags to filter the query results. For a service to pass the tag filter
it must have all of the required tags, and none of the excluded tags (prefixed with `!`).
+++
|[[templateRegexp]]`@templateRegexp`|`String`|+++
Set regular expression which is used to extract fields from the entire name, once this template is selected.
+++
|[[templateType]]`@templateType`|`String`|+++
The template type, which must be <code>name_prefix_match</code>. This means that the template will apply to
any query lookup with a name whose prefix matches the Name field of the template.
+++
|[[token]]`@token`|`String`|+++
Set the ACL token to use each time the query is executed. This allows queries to be executed by clients
with lesser or even no ACL Token, so this should be used with care.
+++
|===

[[PreparedQueryExecuteOptions]]
== PreparedQueryExecuteOptions

++++
Options used to execute prepared query
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[limit]]`@limit`|`Number (int)`|+++
Set the size of the list to the given number of nodes. This is applied after any sorting or shuffling.
+++
|[[near]]`@near`|`String`|+++
Set node name for sorting the list in ascending order based on the estimated round trip time from that node.
Passing <code>_agent</code> will use the agent's node for the sort. If this is not present,
the default behavior will shuffle the nodes randomly each time the query is executed.
+++
|===

[[PreparedQueryExecuteResponse]]
== PreparedQueryExecuteResponse

++++
The results of executing prepared query
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[dc]]`@dc`|`String`|+++
Set the datacenter that ultimately provided the list of nodes
+++
|[[dnsTtl]]`@dnsTtl`|`String`|+++
Set the TTL duration when query results are served over DNS. If this is specified, it will take precedence over any Consul agent-specific configuration.
+++
|[[failovers]]`@failovers`|`Number (int)`|+++
Set the number of remote datacenters that were queried while executing the query.
+++
|[[nodes]]`@nodes`|`Array of link:dataobjects.html#ServiceEntry[ServiceEntry]`|+++
Set the list of healthy nodes providing the given service, as specified by the constraints of the prepared query.
+++
|[[service]]`@service`|`String`|+++
Set the service name that the query was selecting.
This is useful for context in case an empty list of nodes is returned.
+++
|===

[[Service]]
== Service

++++
Holds properties of service and node that its containing
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[address]]`@address`|`String`|+++
Set service address
+++
|[[id]]`@id`|`String`|+++
Set ID of service
+++
|[[meta]]`@meta`|`String`|+++
Specifies arbitrary KV metadata linked to the service instance.
+++
|[[name]]`@name`|`String`|+++
Set service name
+++
|[[node]]`@node`|`String`|+++
Set node name
+++
|[[nodeAddress]]`@nodeAddress`|`String`|+++
Set node address
+++
|[[port]]`@port`|`Number (int)`|+++
Set service port
+++
|[[tags]]`@tags`|`Array of String`|+++
Set list of service tags
+++
|===

[[ServiceEntry]]
== ServiceEntry

++++
Holds properties of service, node and related checks
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[checks]]`@checks`|`Array of link:dataobjects.html#Check[Check]`|+++
Set list of checks
+++
|[[node]]`@node`|`link:dataobjects.html#Node[Node]`|+++
Set node
+++
|[[service]]`@service`|`link:dataobjects.html#Service[Service]`|+++
Set service
+++
|===

[[ServiceEntryList]]
== ServiceEntryList

++++
Holds list of services, nodes and related checks
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[index]]`@index`|`Number (long)`|+++
Set Consul index, a unique identifier representing the current state of the requested list of services
+++
|[[list]]`@list`|`Array of link:dataobjects.html#ServiceEntry[ServiceEntry]`|+++
Set list of services
+++
|===

[[ServiceList]]
== ServiceList

++++
Holds result of services query
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[index]]`@index`|`Number (long)`|+++
Set Consul index, a unique identifier representing the current state of the requested list of services
+++
|[[list]]`@list`|`Array of link:dataobjects.html#Service[Service]`|+++
Set list of services
+++
|===

[[ServiceOptions]]
== ServiceOptions

++++
Options used to register service.
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[address]]`@address`|`String`|+++
Set service address
+++
|[[checkListOptions]]`@checkListOptions`|`Array of link:dataobjects.html#CheckOptions[CheckOptions]`|+++
Set checks options of service
+++
|[[checkOptions]]`@checkOptions`|`link:dataobjects.html#CheckOptions[CheckOptions]`|+++
Set check options of service
+++
|[[id]]`@id`|`String`|+++
Set the ID of session
+++
|[[meta]]`@meta`|`String`|+++
Specifies arbitrary KV metadata linked to the service instance.
+++
|[[name]]`@name`|`String`|+++
Set service name
+++
|[[port]]`@port`|`Number (int)`|+++
Set service port
+++
|[[tags]]`@tags`|`Array of String`|+++
Set list of tags associated with service
+++
|===

[[ServiceQueryOptions]]
== ServiceQueryOptions

++++
Options used to requesting list of services
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[blockingOptions]]`@blockingOptions`|`link:dataobjects.html#BlockingQueryOptions[BlockingQueryOptions]`|+++
Set options for blocking query
+++
|[[near]]`@near`|`String`|+++
Set node name for sorting the list in ascending order based on the estimated round trip time from that node.
+++
|[[tag]]`@tag`|`String`|+++
Set tag for filtering request results
+++
|===

[[Session]]
== Session

++++
Holds properties of Consul sessions
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[checks]]`@checks`|`Array of String`|+++
Set the list of associated health checks
+++
|[[createIndex]]`@createIndex`|`Number (long)`|+++
Set the create index of session
+++
|[[id]]`@id`|`String`|+++
Set the ID of node
+++
|[[index]]`@index`|`Number (long)`|+++
Set Consul index
+++
|[[lockDelay]]`@lockDelay`|`Number (long)`|+++
Set the Lock delay of session
+++
|[[node]]`@node`|`String`|+++
Set the ID of node
+++
|===

[[SessionList]]
== SessionList

++++
Holds result of sessions query
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[index]]`@index`|`Number (long)`|+++
Set Consul index, a unique identifier representing the current state of the requested list of sessions
+++
|[[list]]`@list`|`Array of link:dataobjects.html#Session[Session]`|+++
Set list of sessions
+++
|===

[[SessionOptions]]
== SessionOptions

++++
Options used to create session.
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[behavior]]`@behavior`|`link:enums.html#SessionBehavior[SessionBehavior]`|+++
Set the behavior when a session is invalidated. The release behavior is the default if none is specified.
+++
|[[checks]]`@checks`|`Array of String`|+++
Set a list of associated health checks. It is highly recommended that,
if you override this list, you include the default "serfHealth"
+++
|[[lockDelay]]`@lockDelay`|`Number (long)`|+++
Set the lock-delay period.
+++
|[[name]]`@name`|`String`|+++
Set the human-readable name for the Session
+++
|[[node]]`@node`|`String`|+++
Set the node to which the session will be assigned
+++
|[[ttl]]`@ttl`|`Number (long)`|+++
Set the TTL interval. When TTL interval expires without being renewed, the session has expired
and an invalidation is triggered. If specified, it must be between <code>10s</code> and <code>86400s</code> currently.

The contract of a TTL is that it represents a lower bound for invalidation; that is,
Consul will not expire the session before the TTL is reached, but it is allowed to delay
the expiration past the TTL.

The lowest practical TTL should be used to keep the number of managed sessions low.
When locks are forcibly expired, such as during a leader election, sessions may not be reaped for
up to double this TTL, so long TTL values (&gt; 1 hour) should be avoided.
+++
|===

[[TxnError]]
== TxnError

++++
Holds information describing which operations failed if the transaction was rolled back.
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[opIndex]]`@opIndex`|`Number (int)`|+++
Set the index of the failed operation in the transaction
+++
|[[what]]`@what`|`String`|+++
Set error message about why that operation failed.
+++
|===

[[TxnKVOperation]]
== TxnKVOperation

++++
Holds operation to apply to the key/value store inside a transaction
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[flags]]`@flags`|`Number (long)`|+++
Set the flags attached to this entry. Clients can choose to use this however makes sense for their application.
+++
|[[index]]`@index`|`Number (long)`|+++
Set the index used for locking, unlocking, and check-and-set operations.
+++
|[[key]]`@key`|`String`|+++
Set the key
+++
|[[session]]`@session`|`String`|+++
Set the session used for locking, unlocking, and check-and-set operations.
+++
|[[type]]`@type`|`link:enums.html#TxnKVVerb[TxnKVVerb]`|+++
Set the type of operation to perform
+++
|[[value]]`@value`|`String`|+++
Set the value
+++
|===

[[TxnRequest]]
== TxnRequest

++++
Holds list of operations in transaction
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[operationsSize]]`@operationsSize`|`Number (int)`|+++
Returns the number of operations in this request
+++
|===

[[TxnResponse]]
== TxnResponse

++++
Holds results of transaction
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[errors]]`@errors`|`Array of link:dataobjects.html#TxnError[TxnError]`|+++
Adds error to this response
+++
|[[errorsSize]]`@errorsSize`|`Number (int)`|+++
Returns the number of errors in this response
+++
|[[resultsSize]]`@resultsSize`|`Number (int)`|+++
Returns the number of results in this response
+++
|===