# The `etcd3gw.client` Module

class etcd3gw.client.Etcd3Client(host='localhost', port=2379, protocol='http', ca_cert=None, cert_key=None, cert_cert=None, timeout=None, api_path=None)

  Bases: `object`

  property api_path
  property base_url
  create(key, value, lease=None)

    Atomically create the given key only if the key doesn’t exist.

    This verifies that the create_revision of a key equales to 0, then creates the key with the value. This operation takes place in a transaction.

    Parameters:

      - key – key in etcd to create

      - value (bytes or string) – value of the key

      - lease – lease to connect with, optional

    Returns:

      status of transaction, `True` if the create was successful, `False` otherwise

    Return type:

      bool

  delete(key, **kwargs)

    DeleteRange deletes the given range from the key-value store.

    A delete request increments the revision of the key-value store and generates a delete event in the event history for every deleted key.

    Parameters:

      - key

      - kwargs

    Returns:

  delete_prefix(key_prefix)

    Delete a range of keys with a prefix in etcd.

  get(key, metadata=False, sort_order=None, sort_target=None, **kwargs)

    Range gets the keys in the range from the key-value store.

    Parameters:

      - key

      - metadata

      - sort_order – ‘ascend’ or ‘descend’ or None

      - sort_target – ‘key’ or ‘version’ or ‘create’ or ‘mod’ or ‘value’

      - kwargs

    Returns:

  get_all(sort_order=None, sort_target='key')

    Get all keys currently stored in etcd.

    Returns:

      sequence of (value, metadata) tuples

  get_prefix(key_prefix, sort_order=None, sort_target=None)

    Get a range of keys with a prefix.

    Parameters:

      - sort_order – ‘ascend’ or ‘descend’ or None

      - key_prefix – first key in range

    Returns:

      sequence of (value, metadata) tuples

  get_url(path)

    Construct a full url to the v3 API given a specific path

    Parameters:

      path

    Returns:

      url

  lease(ttl=30)

    Create a Lease object given a timeout

    Parameters:

      ttl – timeout

    Returns:

      Lease object

  lock(id=None, ttl=30)

    Create a Lock object given an ID and timeout

    Parameters:

      - id – ID for the lock, creates a new uuid if not provided

      - ttl – timeout

    Returns:

      Lock object

  members()

    Lists all the members in the cluster.

    Returns:

      json response

  post(*args, **kwargs)

    helper method for HTTP POST

    Parameters:

      - args

      - kwargs

    Returns:

      json response

  put(key, value, lease=None)

    Put puts the given key into the key-value store.

    A put request increments the revision of the key-value store and generates one event in the event history.

    Parameters:

      - key

      - value

      - lease

    Returns:

      boolean

  replace(key, initial_value, new_value)

    Atomically replace the value of a key with a new value.

    This compares the current value of a key, then replaces it with a new value if it is equal to a specified value. This operation takes place in a transaction.

    Parameters:

      - key – key in etcd to replace

      - initial_value (bytes or string) – old value to replace

      - new_value (bytes or string) – new value of the key

    Returns:

      status of transaction, `True` if the replace was successful, `False` otherwise

    Return type:

      bool

  status()

    Status gets the status of the etcd cluster member.

    Returns:

      json response

  transaction(txn)

    Txn processes multiple requests in a single transaction.

    A txn request increments the revision of the key-value store and generates events with the same revision for every completed request. It is not allowed to modify the same key several times within one txn.

    Parameters:

      txn

    Returns:

  watch(key, **kwargs)

    Watch a key.

    Parameters:

      key – key to watch

    Returns:

      tuple of `events_iterator` and `cancel`. Use `events_iterator` to get the events of key changes and `cancel` to cancel the watch request

  watch_once(key, timeout=None, **kwargs)

    Watch a key and stops after the first event.

    Parameters:

      - key – key to watch

      - timeout – (optional) timeout in seconds.

    Returns:

      event

  watch_prefix(key_prefix, **kwargs)

    The same as `watch`, but watches a range of keys with a prefix.

  watch_prefix_once(key_prefix, timeout=None, **kwargs)

    Watches a range of keys with a prefix, similar to watch_once

etcd3gw.client.client(host='localhost', port=2379, ca_cert=None, cert_key=None, cert_cert=None, timeout=None, protocol='http', api_path=None)

  Return an instance of an Etcd3Client.

this page last updated: 2024-12-19 09:58:08

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.