Commit 3ec07a18 by Adam Torok

Openstack networkmanager impl. added

parent 5ebbd560
from typing import Optional
from openstack.exceptions import ResourceNotFound
from interface.network.Network import Network
from interface.network.NetworkManager import NetworkManager
class OpenstackNetworkManager(NetworkManager):
def __init__(self, openstack) -> None:
super().__init__()
self.openstack = openstack
@staticmethod
def os_network_to_rc_network(os_network):
return Network(
os_network.id,
os_network.name,
os_network.status,
os_network.subnet_ids,
os_network.created_at
)
def create(self) -> Network:
os_network = self.openstack.network.create_network()
return self.os_network_to_rc_network(os_network)
def get(self, id) -> Optional[Network]:
try:
os_network = self.openstack.network.get_network(id)
except ResourceNotFound:
return None
return self.os_network_to_rc_network(os_network)
def delete(self, id) -> bool:
try:
self.openstack.network.delete_network(id)
except ResourceNotFound:
return False
return True
def list(self) -> []:
networks = []
for os_network in self.openstack.network.networks():
networks.append(self.os_network_to_rc_network(os_network))
return networks
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment