blob: 00ee2e848aa5e37e5842ad9f4ecdab370bbbeba0 [file] [log] [blame]
Tony Mack5df6c552013-04-11 21:24:17 -04001from types import StringTypes
Tony Mack2d81e632013-04-09 02:34:10 -04002from plstackapi.openstack.client import OpenStackClient
3from plstackapi.openstack.driver import OpenStackDriver
Tony Mackf1c12242013-04-09 16:08:43 -04004from plstackapi.core.api.auth import auth_check
5from plstackapi.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