Skip to main content

Python client for Rackspace Service Registry.

Project description

# Python Rackspace Service Registry client

A 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 service_registry import Client

RACKSPACE_USERNAME = 'username'
RACKSPACE_KEY = 'api key'

client = Client(RACKSPACE_USERNAME, RACKSPACE_KEY)
```

## 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'}
heartbeat_timeout = 10

client.sessions.create(heartbeat_timeout, options)
```

List sessions:

```Python
client.sessions.list()
```

Get session:

```Python
session_id = 'seFoo'

client.sessions.get(session_id)
```

Heartbeat a session:

```Python
session_id = 'seFoo'
token = 'token'

client.sessions.heartbeat(session_id, token)
```

Update existing session:

```Python
session_id = 'seFoo'
payload = {'heartbeat_timeout': 15}

client.sessions.update(session_id, payload)
```

## Events

List events:

```Python
marker = 'last-seen-token'

client.events.list(marker)
```

## Services

List services:

```Python

client.services.list()
```

List services for a specific tag:

```Python
tag = 'tag'

client.services.list_for_tag(tag)
```

Get service by ID:

```Python
service_id = 'messenger1'

client.services.get(service_id)
```

Create a new service:

```Python
session_id = 'session_id'
service_id = 'messenger1'
payload = {
'tags': ['messenger', 'stats'],
'metadata': {'someKey': 'someValue', 'anotherKey': 'anotherValue'}
}

client.services.register(session_id, service_id, payload)
```

Update existing service:

```Python
service_id = 'messenger1'
payload = {
'tags': ['tag1', 'tag2'],
'metadata': {'aKey': 'aValue'}
}

client.services.update(service_id, payload)
```

## Configuration

List configuration values:

```Python

client.configuration.list()
```

Get configuration value by id:

```Python
configuration_id = 'configId'

client.configuration.get(configuration_id)
```

Update configuration value:

```Python
configuration_id = 'configId'
value = 'new-value'

client.configuration.set(configuration_id, value)
```

Delete configuration value:

```Python
configuration_id = 'configId'

client.configuration.remove(configuration_id)
```

## Accounts

Get account limits:

```Python
client.account.get_limits()
```

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

service-registry-0.1.7.tar.gz (11.3 kB view details)

Uploaded Source

File details

Details for the file service-registry-0.1.7.tar.gz.

File metadata

File hashes

Hashes for service-registry-0.1.7.tar.gz
Algorithm Hash digest
SHA256 b5a165ad4cb1bde6cec37e1cfd8f0f779ed66c1249c8d52f73ebbfdfbb659501
MD5 377d95d2734cdc35c7f8e85280839765
BLAKE2b-256 47b5d16ce5a06d893bda662240417411ed63ba019816776dd637ca70d5c5238d

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