summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMonty Taylor <mordred@inaugust.com>2015-07-27 11:48:26 -0400
committerMonty Taylor <mordred@inaugust.com>2015-07-27 11:48:26 -0400
commitb2d10751eaea6e1b9fe15a202a18a98d2c25c95f (patch)
treec47c85903b7cb3911bcbf5461e5172e06b479408
parentf3e12a68fc00bf231dc4fce3279533d9050c9e11 (diff)
downloados-client-config-b2d10751eaea6e1b9fe15a202a18a98d2c25c95f.tar.gz
Add per-service endpoint overrides
Make it possible to override a service's endpoint like service_type and service_name. This is already documented as working. Change-Id: I8764ed68f8a38563c4242d4b50e2158e99ed4109
-rw-r--r--os_client_config/cloud_config.py4
-rw-r--r--os_client_config/tests/test_cloud_config.py5
2 files changed, 9 insertions, 0 deletions
diff --git a/os_client_config/cloud_config.py b/os_client_config/cloud_config.py
index fd35aea..f60303b 100644
--- a/os_client_config/cloud_config.py
+++ b/os_client_config/cloud_config.py
@@ -99,6 +99,10 @@ class CloudConfig(object):
key = '{service_type}_service_name'.format(service_type=service_type)
return self.config.get(key, None)
+ def get_endpoint(self, service_type):
+ key = '{service_type}_endpoint'.format(service_type=service_type)
+ return self.config.get(key, None)
+
@property
def prefer_ipv6(self):
return self._prefer_ipv6
diff --git a/os_client_config/tests/test_cloud_config.py b/os_client_config/tests/test_cloud_config.py
index 29cbba0..4f5260f 100644
--- a/os_client_config/tests/test_cloud_config.py
+++ b/os_client_config/tests/test_cloud_config.py
@@ -19,6 +19,7 @@ from os_client_config.tests import base
fake_config_dict = {'a': 1, 'os_b': 2, 'c': 3, 'os_c': 4}
fake_services_dict = {
'compute_api_version': 2,
+ 'compute_endpoint': 'http://compute.example.com',
'compute_region_name': 'region-bl',
'interface': 'public',
'image_service_type': 'mage',
@@ -135,5 +136,9 @@ class TestCloudConfig(base.TestCase):
self.assertEqual(2, cc.get_api_version('compute'))
self.assertEqual('mage', cc.get_service_type('image'))
self.assertEqual('compute', cc.get_service_type('compute'))
+ self.assertEqual('http://compute.example.com',
+ cc.get_endpoint('compute'))
+ self.assertEqual(None,
+ cc.get_endpoint('image'))
self.assertEqual(None, cc.get_service_name('compute'))
self.assertEqual('locks', cc.get_service_name('identity'))