synchronous client
etcd3.baseclient.
BaseModelizedStreamResponse
[source]¶Bases: object
Model of a stream response
etcd3.baseclient.
BaseClient
(host='127.0.0.1', port=2379, protocol='http', cert=(), verify=None, timeout=None, headers=None, user_agent=None, pool_size=30, username=None, password=None, token=None, server_version='3.3.0', cluster_version='3.3.0')[source]¶Bases: etcd3.apis.auth.AuthAPI
, etcd3.apis.cluster.ClusterAPI
, etcd3.apis.kv.KVAPI
, etcd3.apis.lease.LeaseAPI
, etcd3.apis.maintenance.MaintenanceAPI
, etcd3.apis.watch.WatchAPI
, etcd3.apis.extra.ExtraAPI
, etcd3.apis.lock.LockAPI
__init__
(host='127.0.0.1', port=2379, protocol='http', cert=(), verify=None, timeout=None, headers=None, user_agent=None, pool_size=30, username=None, password=None, token=None, server_version='3.3.0', cluster_version='3.3.0')[source]¶Initialize self. See help(type(self)) for accurate signature.
baseurl
¶Returns: | baseurl from protocol, host, self |
---|
call_rpc
(method, data=None, stream=False, encode=True, raw=False, **kwargs)[source]¶call ETCDv3 RPC and return response object
Parameters: |
|
---|---|
Returns: | Etcd3RPCResponseModel or Etcd3StreamingResponse |
auth
(username=None, password=None)[source]¶call auth.authenticate and save the token
Parameters: |
|
---|
Lease
(ttl, ID=0, new=True)[source]¶Initialize a Lease
Parameters: |
|
---|
Watcher
(key=None, range_end=None, max_retries=-1, start_revision=None, progress_notify=None, prev_kv=None, prefix=None, all=None, no_put=False, no_delete=False)[source]¶Initialize a Watcher
Parameters: |
|
---|---|
Returns: | Watcher |
synchronous client
etcd3.client.
ModelizedStreamResponse
(client, method, resp, decode=True)[source]¶Bases: etcd3.baseclient.BaseModelizedStreamResponse
Model of a stream response
raw
¶etcd3.client.
iter_response
(resp)[source]¶yield response content by every json object we don’t yield by line, because the content of etcd’s gRPC-JSON-Gateway stream response does not have a delimiter between each object by default. (only one line)
https://github.com/grpc-ecosystem/grpc-gateway/pull/497/files
Parameters: | resp – Response |
---|---|
Returns: | dict |
etcd3.client.
Client
(host='127.0.0.1', port=2379, protocol='http', cert=(), verify=None, timeout=None, headers=None, user_agent=None, pool_size=30, username=None, password=None, token=None, max_retries=0, server_version='3.3.0', cluster_version='3.3.0')[source]¶Bases: etcd3.baseclient.BaseClient
__init__
(host='127.0.0.1', port=2379, protocol='http', cert=(), verify=None, timeout=None, headers=None, user_agent=None, pool_size=30, username=None, password=None, token=None, max_retries=0, server_version='3.3.0', cluster_version='3.3.0')[source]¶Parameters: | max_retries – The maximum number of retries each connection
should attempt. Note, this applies only to failed DNS lookups, socket
connections and connection timeouts, never to requests where data has
made it to the server. By default, Requests does not retry failed
connections. If you need granular control over the conditions under
which we retry a request, import urllib3’s Retry class and pass
that instead. |
---|
call_rpc
(method, data=None, stream=False, encode=True, raw=False, **kwargs)[source]¶call ETCDv3 RPC and return response object
Parameters: |
|
---|---|
Returns: | Etcd3RPCResponseModel or Etcd3StreamingResponse |
asynchronous client
etcd3.aio_client.
ModelizedStreamResponse
(client, method, resp, decode=True)[source]¶Bases: etcd3.baseclient.BaseModelizedStreamResponse
Model of a stream response
connection
¶resp_iter
¶etcd3.aio_client.
ResponseIter
(resp)[source]¶Bases: object
yield response content by every json object we don’t yield by line, because the content of etcd’s gRPC-JSON-Gateway stream response does not have a delimiter between each object by default. (only one line)
https://github.com/grpc-ecosystem/grpc-gateway/pull/497/files
Parameters: | resp – aiohttp.ClientResponse |
---|---|
Returns: | dict |
etcd3.aio_client.
AioClient
(host='127.0.0.1', port=2379, protocol='http', cert=(), verify=None, timeout=None, headers=None, user_agent=None, pool_size=30, username=None, password=None, token=None, server_version='3.3.0', cluster_version='3.3.0')[source]¶Bases: etcd3.baseclient.BaseClient
__init__
(host='127.0.0.1', port=2379, protocol='http', cert=(), verify=None, timeout=None, headers=None, user_agent=None, pool_size=30, username=None, password=None, token=None, server_version='3.3.0', cluster_version='3.3.0')[source]¶Initialize self. See help(type(self)) for accurate signature.
session
¶call_rpc
(method, data=None, stream=False, encode=True, raw=False, **kwargs)[source]¶call ETCDv3 RPC and return response object
Parameters: |
|
---|---|
Returns: | Etcd3RPCResponseModel or Etcd3StreamingResponse |
etcd3.models.
AlarmRequestAlarmAction
¶Bases: etcd3.models.EtcdModel
, enum.Enum
ref: #/definitions/AlarmRequestAlarmAction
default: GET
ACTIVATE
= 'ACTIVATE'¶DEACTIVATE
= 'DEACTIVATE'¶GET
= 'GET'¶etcd3.models.
CompareCompareResult
¶Bases: etcd3.models.EtcdModel
, enum.Enum
ref: #/definitions/CompareCompareResult
default: EQUAL
EQUAL
= 'EQUAL'¶GREATER
= 'GREATER'¶LESS
= 'LESS'¶NOT_EQUAL
= 'NOT_EQUAL'¶etcd3.models.
CompareCompareTarget
¶Bases: etcd3.models.EtcdModel
, enum.Enum
ref: #/definitions/CompareCompareTarget
default: VERSION
CREATE
= 'CREATE'¶LEASE
= 'LEASE'¶MOD
= 'MOD'¶VALUE
= 'VALUE'¶VERSION
= 'VERSION'¶etcd3.models.
EventEventType
¶Bases: etcd3.models.EtcdModel
, enum.Enum
ref: #/definitions/EventEventType
default: PUT
DELETE
= 'DELETE'¶PUT
= 'PUT'¶etcd3.models.
RangeRequestSortOrder
¶Bases: etcd3.models.EtcdModel
, enum.Enum
ref: #/definitions/RangeRequestSortOrder
default: NONE
ASCEND
= 'ASCEND'¶DESCEND
= 'DESCEND'¶NONE
= 'NONE'¶etcd3.models.
RangeRequestSortTarget
¶Bases: etcd3.models.EtcdModel
, enum.Enum
ref: #/definitions/RangeRequestSortTarget
default: KEY
CREATE
= 'CREATE'¶KEY
= 'KEY'¶MOD
= 'MOD'¶VALUE
= 'VALUE'¶VERSION
= 'VERSION'¶etcd3.models.
WatchCreateRequestFilterType
¶Bases: etcd3.models.EtcdModel
, enum.Enum
ref: #/definitions/WatchCreateRequestFilterType
default: NOPUT
NODELETE
= 'NODELETE'¶NOPUT
= 'NOPUT'¶etcd3.models.
authpbPermissionType
¶Bases: etcd3.models.EtcdModel
, enum.Enum
ref: #/definitions/authpbPermissionType
default: READ
READ
= 'READ'¶READWRITE
= 'READWRITE'¶WRITE
= 'WRITE'¶etcd3.models.
etcdserverpbAlarmType
¶Bases: etcd3.models.EtcdModel
, enum.Enum
ref: #/definitions/etcdserverpbAlarmType
default: NONE
CORRUPT
= 'CORRUPT'¶NONE
= 'NONE'¶NOSPACE
= 'NOSPACE'¶etcd3.swagger_helper.
swagger_escape
(s)[source]¶/ and ~ are special characters in JSON Pointers, and need to be escaped when used literally (for example, in path names).
etcd3.swagger_helper.
SwaggerSpec
(spec)[source]¶Bases: object
Parse the swagger spec of gRPC-JSON-Gateway to object tree
ref
(ref_path)[source]¶get the node object from absolute reference
Parameters: | ref_path – str |
---|---|
Returns: | SwaggerNode |
example:
>>> spec.ref('#/definitions/etcdserverpbAlarmResponse')
SwaggerSchema(ref='#/definitions/etcdserverpbAlarmResponse')
getPath
(key)[source]¶get a SwaggerPath instance of the path
Parameters: | key (SwaggerNode or str) – receive a SwaggerNode or a $ref string of schema |
---|---|
Return type: | SwaggerNode |
getSchema
(key)[source]¶get a SwaggerSchema instance of the schema
Parameters: | key (SwaggerNode or str) – receive a SwaggerNode or a $ref string of schema |
---|---|
Return type: | SwaggerNode |
getEnum
(key)[source]¶get a Enum instance of the schema
Parameters: | key (SwaggerNode or str) – receive a SwaggerNode or a $ref string of schema |
---|---|
Return type: | SwaggerNode |
etcd3.swagger_helper.
SwaggerNode
(root, node, path, parent=None, name=None)[source]¶Bases: object
the node of swagger_spec object
can represent a path, a schema or a ordinary node
as a schema, it can generate a model object of the definition, decode or encode the payload
__init__
(root, node, path, parent=None, name=None)[source]¶Initialize self. See help(type(self)) for accurate signature.
encode
(data)[source]¶encode the data to as the schema defined
Parameters: | data – data to encode |
---|---|
Returns: | encoded data |
etcd3.utils.
lru_cache
(maxsize=100)[source]¶Least-recently-used cache decorator.
If maxsize is set to None, the LRU features are disabled and the cache can grow without bound.
Arguments to the cached function must be hashable.
View the cache statistics named tuple (hits, misses, maxsize, currsize) with f.cache_info(). Clear the cache and statistics with f.cache_clear(). Access the underlying function with f.__wrapped__.
See: http://en.wikipedia.org/wiki/Cache_algorithms#Least_Recently_Used
etcd3.utils.
memoize
(fn)[source]¶Decorator. Caches a function’s return value each time it is called. If called later with the same arguments, the cached value is returned (not reevaluated).
etcd3.utils.
memoize_in_object
(fn)[source]¶Decorator. Caches a method’s return value each time it is called, in the object instance If called later with the same arguments, the cached value is returned (not reevaluated).
etcd3.utils.
check_param
(at_least_one_of=None, at_most_one_of=None)[source]¶check if at least/most one of params is given
>>> @check_param(at_least_one_of=['a', 'b'])
>>> def fn(a=None, b=None):
... pass
>>> fn()
TypeError: fn() requires at least one argument of a,b
etcd3.utils.
cached_property
(func)[source]¶Bases: object
A property that is only computed once per instance and then replaces itself with an ordinary attribute. Deleting the attribute resets the property.
Source: https://github.com/bottlepy/bottle/blob/0.11.5/bottle.py#L175
etcd3.utils.
iter_json_string
(chunk, start=0, lb=123, rb=125, resp=None, err_cls=<class 'ValueError'>)[source]¶