summaryrefslogtreecommitdiff
path: root/openstackclient/shell.py
diff options
context:
space:
mode:
authorRoxana Gherle <roxana.gherle@hp.com>2015-05-22 16:22:35 -0700
committerRoxana Gherle <roxana.gherle@hp.com>2015-07-02 10:10:46 -0700
commit5521e4c504c6a3a06f17a9e4f80444743aa293c7 (patch)
treea07d4db3dae479087997bf60c3f1a434afdcdd8a /openstackclient/shell.py
parent7e067c6f4f2dddfd9ea4b4a3df90959a7d8f2f0f (diff)
downloadpython-openstackclient-5521e4c504c6a3a06f17a9e4f80444743aa293c7.tar.gz
Add --os-endpoint-type cli optional argument
User should be able to specify the endpoint type through a CLI optional argument/ENV variable setting. We will name this new optional argument: --os-endpoint-type (Env: OS_ENDPOINT_TYPE) and based on the value given, the service API will use that specific endpoint type. Possible values: public, admin, internal. DocImpact Closes-Bug: #1454392 Change-Id: Ife3d4e46b44c0ddcd712b1130e27e362545a9a29
Diffstat (limited to 'openstackclient/shell.py')
-rw-r--r--openstackclient/shell.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/openstackclient/shell.py b/openstackclient/shell.py
index 36483b3a..6c909586 100644
--- a/openstackclient/shell.py
+++ b/openstackclient/shell.py
@@ -209,6 +209,15 @@ class OpenStackShell(app.App):
DEFAULT_DOMAIN +
' (Env: OS_DEFAULT_DOMAIN)')
parser.add_argument(
+ '--os-endpoint-type',
+ metavar='<endpoint-type>',
+ dest='endpoint_type',
+ choices=['admin', 'public', 'internal'],
+ default=utils.env('OS_ENDPOINT_TYPE'),
+ help='Select an endpoint type.'
+ ' Valid endpoint types: [admin, public, internal].'
+ ' (Env: OS_ENDPOINT_TYPE)')
+ parser.add_argument(
'--timing',
default=False,
action='store_true',
@@ -254,7 +263,10 @@ class OpenStackShell(app.App):
self.options.project_name = tenant_name
# Do configuration file handling
- cc = cloud_config.OpenStackConfig()
+ # Ignore the default value of endpoint_type. Only if it is set later
+ # will it be used.
+ cc = cloud_config.OpenStackConfig(
+ override_defaults={'endpoint_type': None, })
self.log.debug("defaults: %s", cc.defaults)
self.cloud = cc.get_one_cloud(