Repository URL to install this package:
|
Version:
3.3.25 ▾
|
python-workloadmgrclient
/
usr
/
lib
/
python2.7
/
dist-packages
/
workloadmgrclient
/
v1
/
client.py
|
|---|
# Copyright (c) 2014 TrilioData, Inc.
# All Rights Reserved.
from workloadmgrclient import client
from workloadmgrclient.v1 import filesearch
from workloadmgrclient.v1 import workloadtypes
from workloadmgrclient.v1 import workloads
from workloadmgrclient.v1 import snapshots
from workloadmgrclient.v1 import restores
from workloadmgrclient.v1 import testbubbles
from workloadmgrclient.v1 import settings
from workloadmgrclient.v1 import trusts
from workloadmgrclient.v1 import workload_transfers as transfers
from workloadmgrclient.v1 import global_job_scheduler
from workloadmgrclient.v1 import config_backup
from workloadmgrclient.v1 import workload_policy
class Client(object):
"""
Top-level object to access the OpenStack Workload API.
Create an instance with your creds::
>>> client = Client(USERNAME, PASSWORD, PROJECT_ID, AUTH_URL)
Then call methods on its managers::
>>> client.workloads.list()
...
"""
def __init__(self, username, password, project_id=None, auth_url='',
domain_name='default',
insecure=False, timeout=None, tenant_id=None,
proxy_tenant_id=None, proxy_token=None, region_name=None,
endpoint_type='publicURL', extensions=None,
service_type='workloads', service_name=None,
retries=None, http_log_debug=False,
cacert=None):
self.file_search = filesearch.FileSearchManager(self)
self.workloads = workloads.WorkloadsManager(self)
self.workload_types = workloadtypes.WorkloadTypesManager(self)
self.snapshots = snapshots.SnapshotsManager(self)
self.restores = restores.RestoresManager(self)
self.testbubbles = testbubbles.TestbubblesManager(self)
self.settings = settings.SettingsManager(self)
self.trusts = trusts.TrustsManager(self)
self.transfers = transfers.WorkloadmgrTransferManager(self)
self.global_job_scheduler = global_job_scheduler.GlobalJobSchedulerManager(self)
self.config_backup = config_backup.ConfigBackupManager(self)
self.workload_policy = workload_policy.WorkloadPolicyManager(self)
# Add in any extensions...
if extensions:
for extension in extensions:
if extension.manager_class:
setattr(self, extension.name,
extension.manager_class(self))
self.client = client.HTTPClient(
username,
password,
project_id,
auth_url,
domain_name=domain_name,
insecure=insecure,
timeout=timeout,
tenant_id=tenant_id,
proxy_token=proxy_token,
proxy_tenant_id=proxy_tenant_id,
region_name=region_name,
endpoint_type=endpoint_type,
service_type=service_type,
service_name=service_name,
retries=retries,
http_log_debug=http_log_debug,
cacert=cacert)
def authenticate(self):
"""
Authenticate against the server.
Normally this is called automatically when you first access the API,
but you can call this method to force authentication right now.
Returns on success; raises :exc:`exceptions.Unauthorized` if the
credentials are wrong.
"""
self.client.authenticate()