A Twisted Python client for Rackspace Service Registry.
Project description
# Python Twisted Rackspace Service Registry client
A Twisted Python client for Rackspace Service Registry.
# License
This library is distributed under the [Apache license](http://www.apache.org/licenses/LICENSE-2.0.html).
# Usage
```Python
from txServiceRegistry import Client
from twisted.internet import reactor
from twisted.web.client import Agent
RACKSPACE_USERNAME = 'username'
RACKSPACE_KEY = 'api key'
client = Client(RACKSPACE_USERNAME, RACKSPACE_KEY)
def resultCallback(result):
print result
reactor.stop()
```
## Sessions
Create a session with a heartbeat timeout of 10:
```Python
# Optional metadata (must contain string keys and values, up to 255 chars)
options = {'key': 'value'}
heartbeatTimeout = 10
d = client.sessions.create(heartbeatTimeout, options)
d.addCallback(resultCallback)
```
List sessions:
```Python
d = client.sessions.list()
d.addCallback(resultCallback)
```
Get session:
```Python
sessionId = 'seFoo'
d = client.sessions.get(sessionId)
d.addCallback(resultCallback)
```
Heartbeat a session:
```Python
sessionId = 'seFoo'
token = 'token'
d = client.sessions.heartbeat(sessionId, token)
d.addCallback(resultCallback)
```
Update existing session:
```Python
sessionId = 'seFoo'
payload = {'heartbeat_timeout': 15}
d = client.sessions.update(sessionId, payload)
d.addCallback(resultCallback)
```
## Events
List events:
```Python
marker = 'last-seen-token'
d = client.events.list(marker)
d.addCallback(resultCallback)
```
## Services
List services:
```Python
d = client.services.list()
d.addCallback(resultCallback)
```
List services for a specific tag:
```Python
tag = 'tag'
d = client.services.listForTag(tag)
d.addCallback(resultCallback)
```
Get service by ID:
```Python
serviceId = 'messenger1'
d = client.services.get(serviceId)
d.addCallback(resultCallback)
```
Create a new service:
```Python
sessionId = 'sessionId'
serviceId = 'messenger1'
payload = {
'tags': ['messenger', 'stats'],
'metadata': {'someKey': 'someValue', 'anotherKey': 'anotherValue'}
}
d = client.services.register(sessionId, serviceId, payload)
d.addCallback(resultCallback)
```
Update existing service:
```Python
serviceId = 'messenger1'
payload = {
'tags': ['tag1', 'tag2'],
'metadata': {'aKey': 'aValue'}
}
d = client.services.update(serviceId, payload)
d.addCallback(resultCallback)
```
## Configuration
List configuration values:
```Python
d = client.configuration.list()
d.addCallback(resultCallback)
```
Get configuration value by id:
```Python
configurationId = 'configId'
d = client.configuration.get(configurationId)
d.addCallback(resultCallback)
```
Update configuration value:
```Python
configurationId = 'configId'
value = 'new-value'
d = client.configuration.set(configurationId, value)
d.addCallback(resultCallback)
```
Delete configuration value:
```Python
configurationId = 'configId'
d = client.configuration.remove(configurationId)
d.addCallback(resultCallback)
```
## Accounts
Get account limits:
```Python
d = client.account.getLimits()
d.addCallback(resultCallback)
```
Also, make sure to call:
```Python
reactor.run()
```
A Twisted Python client for Rackspace Service Registry.
# License
This library is distributed under the [Apache license](http://www.apache.org/licenses/LICENSE-2.0.html).
# Usage
```Python
from txServiceRegistry import Client
from twisted.internet import reactor
from twisted.web.client import Agent
RACKSPACE_USERNAME = 'username'
RACKSPACE_KEY = 'api key'
client = Client(RACKSPACE_USERNAME, RACKSPACE_KEY)
def resultCallback(result):
print result
reactor.stop()
```
## Sessions
Create a session with a heartbeat timeout of 10:
```Python
# Optional metadata (must contain string keys and values, up to 255 chars)
options = {'key': 'value'}
heartbeatTimeout = 10
d = client.sessions.create(heartbeatTimeout, options)
d.addCallback(resultCallback)
```
List sessions:
```Python
d = client.sessions.list()
d.addCallback(resultCallback)
```
Get session:
```Python
sessionId = 'seFoo'
d = client.sessions.get(sessionId)
d.addCallback(resultCallback)
```
Heartbeat a session:
```Python
sessionId = 'seFoo'
token = 'token'
d = client.sessions.heartbeat(sessionId, token)
d.addCallback(resultCallback)
```
Update existing session:
```Python
sessionId = 'seFoo'
payload = {'heartbeat_timeout': 15}
d = client.sessions.update(sessionId, payload)
d.addCallback(resultCallback)
```
## Events
List events:
```Python
marker = 'last-seen-token'
d = client.events.list(marker)
d.addCallback(resultCallback)
```
## Services
List services:
```Python
d = client.services.list()
d.addCallback(resultCallback)
```
List services for a specific tag:
```Python
tag = 'tag'
d = client.services.listForTag(tag)
d.addCallback(resultCallback)
```
Get service by ID:
```Python
serviceId = 'messenger1'
d = client.services.get(serviceId)
d.addCallback(resultCallback)
```
Create a new service:
```Python
sessionId = 'sessionId'
serviceId = 'messenger1'
payload = {
'tags': ['messenger', 'stats'],
'metadata': {'someKey': 'someValue', 'anotherKey': 'anotherValue'}
}
d = client.services.register(sessionId, serviceId, payload)
d.addCallback(resultCallback)
```
Update existing service:
```Python
serviceId = 'messenger1'
payload = {
'tags': ['tag1', 'tag2'],
'metadata': {'aKey': 'aValue'}
}
d = client.services.update(serviceId, payload)
d.addCallback(resultCallback)
```
## Configuration
List configuration values:
```Python
d = client.configuration.list()
d.addCallback(resultCallback)
```
Get configuration value by id:
```Python
configurationId = 'configId'
d = client.configuration.get(configurationId)
d.addCallback(resultCallback)
```
Update configuration value:
```Python
configurationId = 'configId'
value = 'new-value'
d = client.configuration.set(configurationId, value)
d.addCallback(resultCallback)
```
Delete configuration value:
```Python
configurationId = 'configId'
d = client.configuration.remove(configurationId)
d.addCallback(resultCallback)
```
## Accounts
Get account limits:
```Python
d = client.account.getLimits()
d.addCallback(resultCallback)
```
Also, make sure to call:
```Python
reactor.run()
```
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
txServiceRegistry-0.1.3.tar.gz
(12.2 kB
view details)
File details
Details for the file txServiceRegistry-0.1.3.tar.gz
.
File metadata
- Download URL: txServiceRegistry-0.1.3.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6614118b45dc67404f44eb0ea6581836cfea9cae822dc1f69914a992730e063e |
|
MD5 | 2cca841b9093a242a95497390c3bb617 |
|
BLAKE2b-256 | 021ce0ff30e89d214634d03fea965de31cc91c772dfcf5d69a65c7aff9d8d16f |