summaryrefslogtreecommitdiff
path: root/os_client_config/cloud_config.py
diff options
context:
space:
mode:
authorMonty Taylor <mordred@inaugust.com>2016-04-02 09:09:54 -0500
committerMonty Taylor <mordred@inaugust.com>2016-04-02 09:09:54 -0500
commit7c439073f39010ad3ac937b8c9726da0f27976b7 (patch)
tree3e0d9e1aab4cc2da78514ac8a9067a9332bf9a34 /os_client_config/cloud_config.py
parent278a761df68d1e7d4d93ee2c6fb91f1a0e82e78a (diff)
downloados-client-config-7c439073f39010ad3ac937b8c9726da0f27976b7.tar.gz
Flesh out netowrk config list
Add support for indicating default_interface. Also, add some validation and normalization code, some interface methods and, shockingly, documentation. Change-Id: Ib45b68894585ac02821d5d2376510fd7a8e8ee40
Diffstat (limited to 'os_client_config/cloud_config.py')
-rw-r--r--os_client_config/cloud_config.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/os_client_config/cloud_config.py b/os_client_config/cloud_config.py
index b19607e..e63bd12 100644
--- a/os_client_config/cloud_config.py
+++ b/os_client_config/cloud_config.py
@@ -438,3 +438,27 @@ class CloudConfig(object):
if resource not in expiration:
return default
return float(expiration[resource])
+
+ def get_external_networks(self):
+ """Get list of network names for external networks."""
+ return [
+ net['name'] for net in self._openstack_config['networks']
+ if net['routes_externally']]
+
+ def get_internal_networks(self):
+ """Get list of network names for internal networks."""
+ return [
+ net['name'] for net in self._openstack_config['networks']
+ if not net['routes_externally']]
+
+ def get_default_network(self):
+ """Get network used for default interactions."""
+ for net in self._openstack_config['networks']:
+ if net['default_interface']:
+ return net
+
+ def get_nat_destination(self):
+ """Get network used for NAT destination."""
+ for net in self._openstack_config['networks']:
+ if net['nat_destination']:
+ return net