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

Uploaded Source

File details

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

File metadata

File hashes

Hashes for service-registry-0.1.8.tar.gz
Algorithm Hash digest
SHA256 1cacbe03f8c14e85d83c4c1f9794258d7c183f5ee070cc30c227a455c74e8be1
MD5 02f0dad9231bb083adbd1d3f9d9f35b7
BLAKE2b-256 b56761122378c37421ea66a312eba0f33a33d522755ef20f0a57e20441edc488

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