Client

There are two ways to instantiate a saltant client:

  1. Having it read settings from your environment
  2. Giving it settings directly

For (1), you need to have environment variables SALTANT_API_URL and SALTANT_AUTH_TOKEN defined; once you do, you can instantiate a client like so:

from saltant.client import from_env

my_client = from_env()

For (2), you supply the API URL and auth token directly:

from saltant.client import Client

my_client = Client(
    base_api_url='https://shahlabjobs.ca/api/',
    auth_token='p0gch4mp101fy451do9uod1s1x9i4a')

Client reference

class saltant.client.Client(base_api_url, auth_token, default_timeout=90, test_if_authenticated=True)

API client for communicating with a saltant server.

Example

>>> from saltant.client import Client
>>> client = Client(
...     base_api_url='https://shahlabjobs.ca/api/',
...     auth_token='p0gch4mp101fy451do9uod1s1x9i4a')
base_api_url

str – The URL of the saltant API.

session

requests.Session – A session object to make requests with.

container_task_instances

saltant.models.container_task_instance.ContainerTaskInstanceManager – A manager for performing actions related to container task instances.

container_task_types

saltant.models.container_task_type.ContainerTaskTypeManager – A manager for performing actions related to container task types.

executable_task_instances

saltant.models.executable_task_instance.ExecutableTaskInstanceManager – A manager for performing actions related to executable task instances.

executable_task_types

saltant.models.executable_task_type.ExecutableTaskTypeManager – A manager for performing actions related to executable task types.

task_queues

saltant.models.task_queues.TaskQueueManager – A manager for performing actions related to task queues.

task_whitelists

saltant.models.task_queues.TaskWhitelistManager – A manager for performing actions related to task whitelists.

users

saltant.models.user.UserManager – A manager for performing actions related to users.

classmethod from_env(default_timeout=90)

Return a client configured from environment variables.

Essentially copying this: https://github.com/docker/docker-py/blob/master/docker/client.py#L43.

The environment variables looked for are the following:

SALTANT_API_URL

The URL of the saltant API. For example, https://shahlabjobs.ca/api/.

SALTANT_AUTH_TOKEN

The registered saltant user’s authentication token.

Example

>>> from saltant.client import from_env
>>> client = from_env()
Parameters:default_timeout (int, optional) – The maximum number of seconds to wait for a request to complete. Defaults to 90 seconds.
Returns:A saltant API client object.
Return type:Client
Raises:saltant.exceptions.BadEnvironmentError – The user has an incorrectly configured environment.
test_authentication()

Test that the client is authorized.

This currently assumes that read-only operations require authentication, which is the intended authentication protocol for saltant servers.

Raises:saltant.exceptions.AuthenticationError – The authentication provided was invalid.