diff options
author | Monty Taylor <mordred@inaugust.com> | 2015-07-27 11:48:26 -0400 |
---|---|---|
committer | Monty Taylor <mordred@inaugust.com> | 2015-07-27 11:48:26 -0400 |
commit | b2d10751eaea6e1b9fe15a202a18a98d2c25c95f (patch) | |
tree | c47c85903b7cb3911bcbf5461e5172e06b479408 | |
parent | f3e12a68fc00bf231dc4fce3279533d9050c9e11 (diff) | |
download | os-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.py | 4 | ||||
-rw-r--r-- | os_client_config/tests/test_cloud_config.py | 5 |
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')) |