Revision b4f69041 kamaki/cli/commands/cyclades.py
b/kamaki/cli/commands/cyclades.py | ||
---|---|---|
38 | 38 |
from kamaki.clients.cyclades import CycladesClient, ClientError |
39 | 39 |
from kamaki.cli.argument import FlagArgument, ValueArgument, KeyValueArgument |
40 | 40 |
from kamaki.cli.argument import ProgressBarArgument, DateArgument, IntArgument |
41 |
from kamaki.cli.commands import _command_init, errors |
|
41 |
from kamaki.cli.commands import _command_init, errors, addLogSettings
|
|
42 | 42 |
from kamaki.cli.commands import _optional_output_cmd, _optional_json |
43 | 43 |
|
44 | 44 |
from base64 import b64encode |
... | ... | |
67 | 67 |
|
68 | 68 |
class _init_cyclades(_command_init): |
69 | 69 |
@errors.generic.all |
70 |
@addLogSettings |
|
70 | 71 |
def _run(self, service='compute'): |
71 |
token = self.config.get(service, 'token')\ |
|
72 |
or self.config.get('global', 'token') |
|
73 |
|
|
72 |
if getattr(self, 'cloud', None): |
|
73 |
base_url = self._custom_url(service)\ |
|
74 |
or self._custom_url('cyclades') |
|
75 |
if base_url: |
|
76 |
token = self._custom_token(service)\ |
|
77 |
or self._custom_token('cyclades')\ |
|
78 |
or self.config.get_remote('token') |
|
79 |
self.client = CycladesClient( |
|
80 |
base_url=base_url, token=token) |
|
81 |
return |
|
82 |
else: |
|
83 |
self.cloud = 'default' |
|
74 | 84 |
if getattr(self, 'auth_base', False): |
75 | 85 |
cyclades_endpoints = self.auth_base.get_service_endpoints( |
76 |
self.config.get('cyclades', 'type'),
|
|
77 |
self.config.get('cyclades', 'version'))
|
|
86 |
self._custom_type('cyclades') or 'compute',
|
|
87 |
self._custom_version('cyclades') or '')
|
|
78 | 88 |
base_url = cyclades_endpoints['publicURL'] |
89 |
token = self.auth_base.token |
|
90 |
self.client = CycladesClient(base_url=base_url, token=token) |
|
79 | 91 |
else: |
80 |
base_url = self.config.get('compute', 'url')\ |
|
81 |
or self.config.get('cyclades', 'url') |
|
82 |
if not base_url: |
|
83 | 92 |
raise CLIBaseUrlError(service='cyclades') |
84 | 93 |
|
85 |
self.client = CycladesClient(base_url=base_url, token=token) |
|
86 |
self._set_log_params() |
|
87 |
self._update_max_threads() |
|
88 |
|
|
89 | 94 |
def main(self): |
90 | 95 |
self._run() |
91 | 96 |
|
Also available in: Unified diff