Used for conditionally updating a key with the EtcdClient.setKey method.
Used for conditionally updating a key with the EtcdClient.setKey method.
Its subclasses pose a condition which has to be met in order to perform an update to a key in etcd.
Used for conditionally deleting a key with the EtcdClient.deleteKey method.
Used for conditionally deleting a key with the EtcdClient.deleteKey method.
Its subclasses pose a condition which has to be met in order to perform a delete operation of a key in etcd.
AddMember
CreateUpdateRole
Add or Update User
Empty response to confirm that operation was successful.
Empty response to confirm that operation was successful.
cluster id on headers
Default response for operations which return only X-Etcd Cluster ID.
Create directory operation result.
Delete operation result.
A directory is a full path with a trailing '/'.
A directory is a full path with a trailing '/'.
the string representation of the directory.
Get Authentication Status
Leader Statistics Result.
GetMembers
GetRoleDetails
GetRoles
Self Statistics Result.
Self Statistics Result.
GetUserDetails
GetUsers
Version Request Result.
Etcd information returned in headers of responses to requests performed by key-value methods.
Index associated to the last operation performed in etcd.
Index associated to the last operation performed in etcd.
See Response Headers.
Data specifying the read and write access to the key-value and authentication spaces.
Data specifying the read and write access to the key-value and authentication spaces.
List of strings specifying read access to a certain domain of the key-value and authentication spaces.
List of strings specifying write access to a certain domain of the key-value and authentication spaces.
A key name is a full path name.
A key name is a full path name.
the string representation of the key.
List directory operation result.
Case class representing the information that a member of a cluster may have of another member.
Case class representing the information that a member of a cluster may have of another member.
String identifying a member of an etcd cluster.
String identifying a member of an etcd cluster by name.
List of URLs (represented as strings) used for communication between peers in an etcd cluster.
List of URLs (represented as strings) used for communication with clients.
Form used to update the peer URLs of a member of a cluster.
Form used to update the peer URLs of a member of a cluster.
List of strings representing the peer URLs.
Data specifying the read and write access to the key-value and authentication spaces.
Data specifying the read and write access to the key-value and authentication spaces.
Instance of EtcdKV
Type of error returned by most operations on etcd done on the key space.
Type of error returned by most operations on etcd done on the key space.
HTTP response code returned in the response's headers.
Headers of the HTTP response returned by etcd.
Body of the HTTP error response containing information on the cause of the error.
HTTP response code to a request.
Data specifying what write and read privileges are granted or revoked to the users in possession of it.
Data specifying what write and read privileges are granted or revoked to the users in possession of it.
String representing the name of the role.
List of permissions that the possession of the role grants.
Used for granting a permission when a role is updated.
Used for revoking a permission when a role is updated.
Key-Value methods Put operation result.
Type of error returned by most operations on etcd that are not done on the key space.
Type of error returned by most operations on etcd that are not done on the key space.
HTTP response code returned in the response's headers.
Etcd cluster id information
Message with information on the cause of the error.
Life span in seconds of a key or directory.
Life span in seconds of a key or directory.
Integer representing the time to live in seconds.
Data representing a user in etcd.
Data representing a user in etcd.
String representing the name of the user.
String representing the password of the user.
List of instances of EtcdRole, which specify the permissions the user has.
Data used to get authorization when authentication is enabled.
Data used to get authorization when authentication is enabled.
String representing a login.
String representing a password.
Form that needs to be filled to use as input for EtcdClient.addUpdateUser and EtcdClient.deleteUser methods.
Form that needs to be filled to use as input for EtcdClient.addUpdateUser and EtcdClient.deleteUser methods.
String identifying a user.
Password that the user will use for authentication.
List of roles that a user has when it gets created.
List of roles to be granted when performing an update.
List of roles to be revoked when performing an update.
A value is any data being stored under a key.
A value is any data being stored under a key.
the string representation of the value.
Callback for a wait operation used by EtcdWaitAcceptedAsyncHandler to asynchonously handle etcd responses to a wait operation.
Response returned once the wait is accepted.
Response returned once the wait is accepted.
In the case there has not been any change in etcd since the watch has ben set, etcd returns a HTTP response with an empty body, but with headers confirming the wait has been set. See Waiting for a change.
Headers returned as response to a request of an operation on the key space.
Result of a wait operation.
Result of a wait operation.
For implementation details, see EtcdWaitForKeyAccepted, FutureBasedEtcdWaitCallback and EtcdWaitCallback.
Callback for a wait operation.
Callback for a wait operation.
Extends EtcdWaitCallback. It should be used as input for EtcdClient.waitForKey.
It contains methods for retrieving an EtcdGetKeyResponse received once a change to etcd is registered.
If HTTP request information do not match the etcd format, then a IncorrectEtcdRequestFormatException is created
A simple version of IncorrectEtcdRequestFormatException when only ClusterId is provided on headers.
Used for conditionally updating a key using the EtcdClient.setKey method.
Used for conditionally updating a key using the EtcdClient.setKey method.
Requires that the key to already exist, when set to true. When set to false, requires that key do not exist.
Used for conditionally updating or deleting a key using the EtcdClient.setKey or EtcdClient.deleteKey methods.
Used for conditionally updating or deleting a key using the EtcdClient.setKey or EtcdClient.deleteKey methods.
Requires for the key to have this modified index associated to its last operation.
Used for conditionally updating or deleting a key using the EtcdClient.setKey or EtcdClient.deleteKey methods.
Used for conditionally updating or deleting a key using the EtcdClient.setKey or EtcdClient.deleteKey methods.
Requires for the key to have this value at the time of the request.
See Response Headers.
An integer that will increase whenever an etcd master election happens in the cluster.
An integer that will increase whenever an etcd master election happens in the cluster.
See Response Headers.
Object extending JSON4S DefaultFormats with custom Serializer]]s.
Object extending JSON4S DefaultFormats with custom Serializer]]s.
All of them are defined in the model package. They are the following:
Contains methods to define well-formed instances of EtcdKey, EtcdDirectory, hidden nodes and EtcdValue.
Model
Contains case classes for dealing with etcd HTTP responses and building correct HTTP requests to etcd. Most of the case classes are self-explanatory, once the Responses and Errors section below is read. Those that are not are discussed in more detail in this documentation. They are mostly used by handlers or by the client to extract information from JSON objects or write information to JSON objects sent in requests.
Also, package model contains an object for properly building instances of EtcdKey, EtcdDirectory, hidden nodes and EtcdValue.
Finally, it contains JSON4S custom serializers for JSON parsing support. All the custom serializers contained in this package are contained in the EtcdJsonFormat object, which in turn is used by handlers in package handlers to parse responses from etcd to HTTP requests.
Responses and Errors
All requests can return either a response or an error. In order to deal with this two possible situations, the outcome of each request is represented by a Result sealed trait in this package. These traits are extended by case classes representing an error or a response in the manner described bellow. The naming convention for Result sealed traits is the following: Etcd<NameOfTheEtcdClientMethod>Result. For example EtcdGetKeyResult.
There are two types of error that etcd could return. For EtcdClient, they are represented in the EtcdStandardError and EtcdRequestError. One of these case classes extends each Result sealed trait representing the outcome of a request sent by the client.
On the other hand, Responses are dealt with using Response case classes. They contain all the necessary fields used to deserialize the information contained in the HTTP response received from etcd. Response case classes also extend Result sealed traits. The naming convention is similar: Etcd<NameOfTheEtcdClientMethod>Response. For example EtcdGetKeyResponse.
Both Response and Error case classes contain the relevant information about etcd that can be found in headers and in the response body.
A more involved case, which is delt with a callback, is EtcdWaitForKeyResult.