Skip to main content

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()
```

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)

Uploaded Source

File details

Details for the file txServiceRegistry-0.1.3.tar.gz.

File metadata

File hashes

Hashes for txServiceRegistry-0.1.3.tar.gz
Algorithm Hash digest
SHA256 6614118b45dc67404f44eb0ea6581836cfea9cae822dc1f69914a992730e063e
MD5 2cca841b9093a242a95497390c3bb617
BLAKE2b-256 021ce0ff30e89d214634d03fea965de31cc91c772dfcf5d69a65c7aff9d8d16f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page