Skip to content

TinxHQ/swarm-accessd-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

swarm-accessd-client

A python client library to access swarm-accessd

Usage

Creating a client

from swarm_accessd_client import Client
client = Client('<accessd hostname>', token='<auth token>')

Config

Fetching the server config

client.config.get()

Status

client.status.check()

Subscriptions

Listing subscriptions

Possible parameters are : recurse, from, until, created_at, status, term, cancel_at_end_of_period, partnership

client.subscriptions.list(recurse=True)

Get a subscription

client.subscriptions.get(subscription_uuid)
client.subscriptions.get_default()

Update a subscription

update_args = {
    'name': 'New name',
    'term': 6,
    'partnership': 'gold',
}
client.subscriptions.update(subscription_uuid, update_args)
client.subscriptions.update_default(update_args)

Activate a subscription

client.subscriptions.activate_default()

Expire a subscription

client.subscriptions.expire_default()

Delete a subscription

client.subscriptions.delete(subscription_uuid)

Get a customer's subscription

client.subscriptions.get_default(customer_uuid=customer_uuid)

Update a customer's subscription

update_args = {
    'term': 12,
    'partnership': 'gold',
}
client.subscriptions.update_default(update_args, customer_uuid=customer_uuid)

Activate a customer subscription

client.subscriptions.activate_default(customer_uuid=customer_uuid)

Expire a customer subscription

client.subscriptions.expire_default(customer_uuid=customer_uuid)

Get customers subscription summary

client.subscriptions.customers_summary()

Get reseller subscription summary

client.subscriptions.summary()

Authorizations

Listing authorizations

Possible parameters are : from, until, status, term, auto_renew, service_remote_uuid

Main authorizations

Main authorizations are filtered by subscriptions

client.authorizations.list(subscription_uuid=subscription_uuid)

Sub-authorizations

client.authorizations.list()

Add a new authorization

Main authorization

authorization = {
    'term': 3,
    'rules': [
        {'name': rule_name, 'options': rule_options}
    ],
}
client.authorizations.create(authorization, subscription_uuid=subscription_uuid)

Sub-authorization

authorization = {
    'term': 3,
    'rules': [
        {'name': rule_name, 'options': rule_options}
    ],
    "service": {
        'remote_uuid': instance_uuid,
        'ip_address': instance_ip,
        'mac_address':instance_mac_address,
        'service_id': 1
    }
}
client.authorizations.create(authorization)

Get an authorization

client.authorizations.get(authorization_uuid)

Get authorizations' seats

client.authorizations.seats()
client.authorizations.seats(tenant_uuid=SUBTENANT_UUID)

Delete an authorization

Main authorization

client.authorizations.delete(authorization_uuid, subscription_uuid=subscription_uuid)

Sub authorization

client.authorizations.delete(authorization_uuid)

Issue a token

For given authorizations

client.subscriptions.issue_token([authorization_uuid_1, authorization_uuid_2])

For all authorizations of all subscriptions

client.subscriptions.issue_subscription_token()

Debian package

Follow the following steps to build a debian package for swarm-accessd-client manually.

  1. Copy the source directory to a machine with all dependencies installed
rsync -av . <builder-host>:~/swarm-accessd-client
  1. On the host, increment the changelog
dch -i
  1. Build the package
dpkg-buildpackage -us -uc

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 7

Languages