diff options
Diffstat (limited to 'troveclient')
| -rw-r--r-- | troveclient/client.py | 7 | ||||
| -rw-r--r-- | troveclient/shell.py | 15 | ||||
| -rw-r--r-- | troveclient/v1/client.py | 5 |
3 files changed, 21 insertions, 6 deletions
diff --git a/troveclient/client.py b/troveclient/client.py index af9362e..19bc1ef 100644 --- a/troveclient/client.py +++ b/troveclient/client.py @@ -63,7 +63,7 @@ class HTTPClient(object): proxy_token=None, region_name=None, endpoint_type='publicURL', service_type=None, service_name=None, database_service_name=None, retries=None, - http_log_debug=False, cacert=None): + http_log_debug=False, cacert=None, bypass_url=None): self.user = user self.password = password self.projectid = projectid @@ -83,6 +83,7 @@ class HTTPClient(object): self.proxy_token = proxy_token self.proxy_tenant_id = proxy_tenant_id self.timeout = timeout + self.bypass_url = bypass_url if insecure: self.verify_cert = False @@ -325,6 +326,10 @@ class HTTPClient(object): auth_url = auth_url + '/v2.0' self._v2_auth(auth_url) + # Allows for setting an endpoint not defined in the catalog + if self.bypass_url is not None and self.bypass_url != '': + self.management_url = self.bypass_url + def _v1_auth(self, url): if self.proxy_token: raise exceptions.NoTokenLookupException() diff --git a/troveclient/shell.py b/troveclient/shell.py index adca730..b6987b6 100644 --- a/troveclient/shell.py +++ b/troveclient/shell.py @@ -161,6 +161,13 @@ class OpenStackTroveShell(object): parser.add_argument('--service_name', help=argparse.SUPPRESS) + parser.add_argument('--bypass-url', + metavar='<bypass-url>', + default=utils.env('TROVE_BYPASS_URL'), + help='Defaults to env[TROVE_BYPASS_URL]') + parser.add_argument('--bypass_url', + help=argparse.SUPPRESS) + parser.add_argument('--database-service-name', metavar='<database-service-name>', default=utils.env('TROVE_DATABASE_SERVICE_NAME'), @@ -370,7 +377,8 @@ class OpenStackTroveShell(object): (os_username, os_password, os_tenant_name, os_auth_url, os_region_name, os_tenant_id, endpoint_type, insecure, service_type, service_name, database_service_name, - username, apikey, projectid, url, region_name, cacert) = ( + username, apikey, projectid, url, region_name, + cacert, bypass_url) = ( args.os_username, args.os_password, args.os_tenant_name, args.os_auth_url, args.os_region_name, args.os_tenant_id, @@ -378,7 +386,7 @@ class OpenStackTroveShell(object): args.service_type, args.service_name, args.database_service_name, args.username, args.apikey, args.projectid, - args.url, args.region_name, args.os_cacert) + args.url, args.region_name, args.os_cacert, args.bypass_url) if not endpoint_type: endpoint_type = DEFAULT_TROVE_ENDPOINT_TYPE @@ -447,7 +455,8 @@ class OpenStackTroveShell(object): database_service_name=database_service_name, retries=options.retries, http_log_debug=args.debug, - cacert=cacert) + cacert=cacert, + bypass_url=bypass_url) try: if not utils.isunauthenticated(args.func): diff --git a/troveclient/v1/client.py b/troveclient/v1/client.py index d48f714..7431054 100644 --- a/troveclient/v1/client.py +++ b/troveclient/v1/client.py @@ -58,7 +58,7 @@ class Client(object): service_type='database', service_name=None, database_service_name=None, retries=None, http_log_debug=False, - cacert=None): + cacert=None, bypass_url=None): # self.limits = limits.LimitsManager(self) # extensions @@ -105,7 +105,8 @@ class Client(object): database_service_name=database_service_name, retries=retries, http_log_debug=http_log_debug, - cacert=cacert) + cacert=cacert, + bypass_url=bypass_url) def authenticate(self): """ |
