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.1.tar.gz (10.7 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for service-registry-0.1.1.tar.gz
Algorithm Hash digest
SHA256 af192f92af0d5ab093818b191406b07d78e1e16b75ea04d45216ca16a6fd68dc
MD5 77d6eddce2f197b7733e8af9e712e104
BLAKE2b-256 7cb76cbae50d19a7eebdfc5dd815893a4e1d8fd35254c676ef22542869acb5bc

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