ns1.rest

A thin layer over the NS1 REST API

exception ns1.rest.errors.AuthException(message, response=None, body=None)

Bases: ns1.rest.errors.ResourceException

exception ns1.rest.errors.RateLimitException(message, response=None, body=None, by=None, limit=None, remaining=None, period=None)

Bases: ns1.rest.errors.ResourceException

exception ns1.rest.errors.ResourceException(message, response=None, body=None)

Bases: exceptions.Exception

class ns1.rest.resource.BaseResource(config)
Parameters:config (ns1.config.Config) – config object used to build requests
BOOL_FIELDS = []
DEFAULT_TRANSPORT = 'requests'
INT_FIELDS = []
PASSTHRU_FIELDS = []
class ns1.rest.data.Feed(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
PASSTHRU_FIELDS = ['name', 'config']
ROOT = 'data/feeds'
create(sourceid, name, config, callback=None, errback=None, **kwargs)
delete(sourceid, feedid, callback=None, errback=None)
list(sourceid, callback=None, errback=None)
retrieve(sourceid, feedid, callback=None, errback=None)
update(sourceid, feedid, callback=None, errback=None, **kwargs)
class ns1.rest.data.Source(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
PASSTHRU_FIELDS = ['name', 'config']
ROOT = 'data/sources'
create(name, sourcetype, callback=None, errback=None, **kwargs)

The only supported kwarg is config.

delete(sourceid, callback=None, errback=None)
list(callback=None, errback=None)
publish(sourceid, data, callback=None, errback=None)
retrieve(sourceid, callback=None, errback=None)
update(sourceid, sourcetype, callback=None, errback=None, **kwargs)

Note that sourcetype is required, but cannot be changed by this method.

Supported kwargs are: name, config.

class ns1.rest.stats.Stats(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
ROOT = 'stats'
qps(zone=None, domain=None, type=None, callback=None, errback=None)
usage(zone=None, domain=None, type=None, callback=None, errback=None, **kwargs)
ns1.rest.stats.stats_usage_pagination(curr_json, next_json)
class ns1.rest.records.Records(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
BOOL_FIELDS = ['use_client_subnet', 'use_csubnet', 'override_ttl']
INT_FIELDS = ['ttl']
PASSTHRU_FIELDS = ['networks', 'meta', 'regions', 'link']
ROOT = 'zones'
create(zone, domain, type, callback=None, errback=None, **kwargs)
create_raw(zone, domain, type, body, callback=None, errback=None, **kwargs)
delete(zone, domain, type, callback=None, errback=None)
retrieve(zone, domain, type, callback=None, errback=None)
update(zone, domain, type, callback=None, errback=None, **kwargs)
class ns1.rest.zones.Zones(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
BOOL_FIELDS = ['dnssec']
INT_FIELDS = ['ttl', 'retry', 'refresh', 'expiry', 'nx_ttl']
PASSTHRU_FIELDS = ['primary', 'secondary', 'hostmaster', 'meta', 'networks', 'link', 'primary_master', 'tags']
ROOT = 'zones'
SEARCH_ROOT = 'search'
activate_version(zone, version_id, callback=None, errback=None)
create(zone, callback=None, errback=None, **kwargs)
create_version(zone, force=False, callback=None, errback=None)
delete(zone, callback=None, errback=None)
delete_version(zone, version_id, callback=None, errback=None)
import_file(zone, zoneFile, callback=None, errback=None, **kwargs)
list(callback=None, errback=None)
list_versions(zone, callback=None, errback=None)
retrieve(zone, callback=None, errback=None)
search(query, type='all', expand=True, max=None, callback=None, errback=None)
update(zone, callback=None, errback=None, **kwargs)
ns1.rest.zones.zone_list_pagination(curr_json, next_json)
ns1.rest.zones.zone_retrieve_pagination(curr_json, next_json)
class ns1.rest.ipam.Addresses(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
BOOL_FIELDS = ['parent']
INT_FIELDS = ['network_id', 'address_id', 'root_address_id', ' merged_address_id', 'scope_group_id']
PASSTHRU_FIELDS = ['prefix', 'status', 'desc', 'tags', 'reserve']
ROOT = 'ipam/address'
create(callback=None, errback=None, parent=True, **kwargs)
delete(address_id, callback=None, errback=None)
list(callback=None, errback=None)
report(address_id, callback=None, errback=None)
retrieve(address_id, callback=None, errback=None)
retrieve_children(address_id, callback=None, errback=None)
retrieve_dhcp_option(address_id, callback=None, errback=None)
retrieve_parent(address_id, callback=None, errback=None)
search(network_id, prefix, callback=None, errback=None)
update(address_id, callback=None, errback=None, parent=True, **kwargs)
class ns1.rest.ipam.Leases(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
BOOL_FIELDS = []
INT_FIELDS = ['scope_group_id', 'scope_id', 'limit', 'offset']
PASSTHRU_FIELDS = []
ROOT = 'dhcp/lease'
list(scope_group_id=None, scope_id=None, limit=None, offset=None, callback=None, errback=None)
class ns1.rest.ipam.Networks(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
BOOL_FIELDS = []
INT_FIELDS = ['network_id']
PASSTHRU_FIELDS = ['rt', 'name', 'desc', 'tags']
ROOT = 'ipam/network'
create(callback=None, errback=None, **kwargs)
delete(network_id, callback=None, errback=None)
list(callback=None, errback=None, expand=True)
report(network_id, callback=None, errback=None)
retrieve(network_id, callback=None, errback=None, expand=True)
update(network_id, callback=None, errback=None, **kwargs)
class ns1.rest.ipam.Optiondefs(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
BOOL_FIELDS = ['standard']
INT_FIELDS = ['code']
PASSTHRU_FIELDS = ['space', 'key', 'friendly_name', 'description', 'schema']
ROOT = 'dhcp/optiondef'
create(space, key, callback=None, errback=None, **kwargs)
delete(space, key, callback=None, errback=None)
list(callback=None, errback=None)
retrieve(space, key, callback=None, errback=None)
class ns1.rest.ipam.Reservations(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
BOOL_FIELDS = ['dhcpv6']
INT_FIELDS = ['scope_group_id', 'address_id']
PASSTHRU_FIELDS = ['mac', 'options', 'tags']
ROOT = 'dhcp/reservation'
create(scopegroup_id, address_id, options, callback=None, errback=None, **kwargs)
delete(reservation_id, callback=None, errback=None)
list(scopegroup_id, callback=None, errback=None)
retrieve(reservation_id, callback=None, errback=None)
classmethod select_from_list(result, address_id)
update(reservation_id, options, callback=None, errback=None, **kwargs)
class ns1.rest.ipam.Scopegroups(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
BOOL_FIELDS = ['enabled', 'echo_client_id']
INT_FIELDS = ['id', 'dhcp_service_id', 'valid_lifetime_secs']
PASSTHRU_FIELDS = ['dhcpv4', 'dhcpv6', 'name', 'tags']
ROOT = 'dhcp/scopegroup'
create(callback=None, errback=None, **kwargs)
delete(scopegroup_id, callback=None, errback=None)
list(callback=None, errback=None)
retrieve(scope_group_id, callback=None, errback=None)
update(scope_group_id, callback=None, errback=None, **kwargs)
class ns1.rest.ipam.Scopes(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
INT_FIELDS = ['scope_group_id', 'address_id', 'valid_lifetime_secs']
PASSTHRU_FIELDS = ['options', 'tags']
ROOT = 'dhcp/scope'
create(scopegroup_id, address_id, options, callback=None, errback=None, **kwargs)
delete(scope_id, callback=None, errback=None)
list(scopegroup_id, callback=None, errback=None)
retrieve(scope_id, callback=None, errback=None)
classmethod select_from_list(result, scope_id)
update(scope_id, address_id, options, scopegroup_id=None, callback=None, errback=None, **kwargs)
class ns1.rest.team.Team(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
PASSTHRU_FIELDS = ['name', 'ip_whitelist', 'permissions']
ROOT = 'account/teams'
create(name, callback=None, errback=None, **kwargs)
delete(team_id, callback=None, errback=None)
list(callback=None, errback=None)
retrieve(team_id, callback=None, errback=None)
update(team_id, callback=None, errback=None, **kwargs)
class ns1.rest.user.User(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
PASSTHRU_FIELDS = ['name', 'username', 'email', 'teams', 'notify', 'ip_whitelist', 'ip_whitelist_strict', 'permissions']
ROOT = 'account/users'
create(name, username, email, callback=None, errback=None, **kwargs)
delete(username, callback=None, errback=None)
list(callback=None, errback=None)
retrieve(username, callback=None, errback=None)
update(username, callback=None, errback=None, **kwargs)
class ns1.rest.apikey.APIKey(config)

Bases: ns1.rest.resource.BaseResource

Parameters:config (ns1.config.Config) – config object used to build requests
PASSTHRU_FIELDS = ['name', 'teams', 'ip_whitelist', 'ip_whitelist_strict', 'permissions']
ROOT = 'account/apikeys'
create(name, callback=None, errback=None, **kwargs)
delete(apikey_id, callback=None, errback=None)
list(callback=None, errback=None)
retrieve(apikey_id, callback=None, errback=None)
update(apikey_id, callback=None, errback=None, **kwargs)