blob: 51fa03e47b053ffacd71979c0d083ea05264d9d8 [file] [log] [blame]
Tony Mack5df6c552013-04-11 21:24:17 -04001from types import StringTypes
Siobhan Tully30fd4292013-05-10 08:59:56 -04002from openstack.client import OpenStackClient
3from openstack.driver import OpenStackDriver
4from core.api.auth import auth_check
5from core.models import DeploymentNetwork
Tony Mack29c287f2013-04-11 21:07:16 -04006
7def _get_deployment_networks(filter):
Tony Mack5df6c552013-04-11 21:24:17 -04008 if isinstance(filter, StringTypes) and filter.isdigit():
9 filter = int(filter)
Tony Mack29c287f2013-04-11 21:07:16 -040010 if isinstance(filter, int):
11 deployment_networks = DeploymentNetwork.objects.filter(id=filter)
12 elif isinstance(filter, StringTypes):
13 deployment_networks = DeploymentNetwork.objects.filter(name=filter)
Tony Mack5df6c552013-04-11 21:24:17 -040014 elif isinstance(filter, dict):
Tony Mack29c287f2013-04-11 21:07:16 -040015 deployment_networks = DeploymentNetwork.objects.filter(**filter)
16 else:
17 deployment_networks = []
18 return deployment_networks
Tony Mack2d81e632013-04-09 02:34:10 -040019
20def add_deployment_network(auth, name):
21 auth_check(auth)
22 deployment = DeploymentNetwork(name=name)
23 deployment.save()
24 return deployment
25
26def delete_deployment_network(auth, filter={}):
27 auth_check(auth)
Tony Mack29c287f2013-04-11 21:07:16 -040028 deployments = _get_deployment_networks(filter)
Tony Mack2d81e632013-04-09 02:34:10 -040029 for deployment in deployments:
30 deployment.delete()
31 return 1
32
33def get_deployment_networks(auth, filter={}):
34 auth_check(auth)
Tony Mack29c287f2013-04-11 21:07:16 -040035 deployments = _get_deployment_networks(filter)
Tony Mack2d81e632013-04-09 02:34:10 -040036 return deployments
37
38
39