Browse Source

Add cidr_block property to Network

Enis Afgan 10 years ago
parent
commit
928afcca9d

+ 12 - 0
cloudbridge/cloud/interfaces/resources.py

@@ -837,6 +837,18 @@ class Network(CloudResource):
         """
         """
         pass
         pass
 
 
+    @abstractproperty
+    def cidr_block(self):
+        """
+        A CIDR block for this network.
+
+        .. note:: OpenStack does not define a CIDR block for networks.
+
+        :rtype: ``str``
+        :return: A CIDR block string.
+        """
+        pass
+
     @abstractmethod
     @abstractmethod
     def delete(self):
     def delete(self):
         """
         """

+ 4 - 0
cloudbridge/cloud/providers/aws/resources.py

@@ -746,6 +746,10 @@ class AWSNetwork(BaseNetwork):
         return AWSNetwork._NETWORK_STATE_MAP.get(
         return AWSNetwork._NETWORK_STATE_MAP.get(
             self._vpc.update(), NetworkState.UNKNOWN)
             self._vpc.update(), NetworkState.UNKNOWN)
 
 
+    @property
+    def cidr_block(self):
+        return self._vpc.cidr_block
+
     def delete(self):
     def delete(self):
         return self._vpc.delete()
         return self._vpc.delete()
 
 

+ 5 - 0
cloudbridge/cloud/providers/openstack/resources.py

@@ -567,6 +567,11 @@ class OpenStackNetwork(BaseNetwork):
             self._network.get('status', None),
             self._network.get('status', None),
             NetworkState.UNKNOWN)
             NetworkState.UNKNOWN)
 
 
+    @property
+    def cidr_block(self):
+        # OpenStack does not define a CIDR block for networks
+        return ''
+
     def delete(self):
     def delete(self):
         self._provider.neutron.delete_network(self.id)
         self._provider.neutron.delete_network(self.id)
         # Adhear to the interface docs
         # Adhear to the interface docs