summaryrefslogtreecommitdiffstats
path: root/snaps/domain/network.py
diff options
context:
space:
mode:
Diffstat (limited to 'snaps/domain/network.py')
-rw-r--r--snaps/domain/network.py40
1 files changed, 36 insertions, 4 deletions
diff --git a/snaps/domain/network.py b/snaps/domain/network.py
index 2c71db8..0b56c43 100644
--- a/snaps/domain/network.py
+++ b/snaps/domain/network.py
@@ -25,11 +25,16 @@ class Network:
"""
self.name = kwargs.get('name')
self.id = kwargs.get('id')
- self.type = kwargs.get('provider:network_type')
+ self.admin_state_up = kwargs.get('admin_state_up')
+ self.shared = kwargs.get('shared')
+ self.external = kwargs.get('router:external', kwargs.get('external'))
+ self.type = kwargs.get('provider:network_type', kwargs.get('type'))
def __eq__(self, other):
return (self.name == other.name and self.id == other.id and
- self.type == other.type)
+ self.admin_state_up == other.admin_state_up and
+ self.shared == other.shared and
+ self.external == other.external and self.type == other.type)
class Subnet:
@@ -44,10 +49,37 @@ class Subnet:
self.name = kwargs.get('name')
self.id = kwargs.get('id')
self.cidr = kwargs.get('cidr')
+ self.ip_version = kwargs.get('ip_version')
+ self.gateway_ip = kwargs.get('gateway_ip')
+ self.enable_dhcp = kwargs.get('enable_dhcp')
+ self.dns_nameservers = kwargs.get('dns_nameservers')
+ self.host_routes = kwargs.get('host_routes')
+ self.ipv6_ra_mode = kwargs.get('ipv6_ra_mode')
+ self.ipv6_address_mode = kwargs.get('ipv6_address_mode')
+
+ self.start = None
+ self.end = None
+ if ('allocation_pools' in kwargs and
+ len(kwargs['allocation_pools']) > 0):
+ # Will need to ultimately support a list of pools
+ pools = kwargs['allocation_pools'][0]
+ if 'start' in pools:
+ self.start = pools['start']
+ if 'end' in pools:
+ self.end = pools['end']
def __eq__(self, other):
- return (self.name == other.name and self.id == other.id and
- self.cidr == other.cidr)
+ return (self.name == other.name and
+ self.id == other.id and
+ self.cidr == other.cidr and
+ self.ip_version == other.ip_version and
+ self.gateway_ip == other.gateway_ip and
+ self.enable_dhcp == other.enable_dhcp and
+ self.dns_nameservers == other.dns_nameservers and
+ self.host_routes == other.host_routes and
+ self.ipv6_ra_mode == other.ipv6_ra_mode and
+ self.ipv6_address_mode == other.ipv6_address_mode and
+ self.start == other.start and self.end == other.end)
class Port: