Refactor to /opt/planetstack, final tweaks to make sure planetstack can run in non...
[plstackapi.git] / planetstack / core / api / deployment_networks.py
1 from types import StringTypes
2 from openstack.client import OpenStackClient
3 from openstack.driver import OpenStackDriver
4 from core.api.auth import auth_check
5 from core.models import DeploymentNetwork
6
7 def _get_deployment_networks(filter):
8     if isinstance(filter, StringTypes) and filter.isdigit():
9         filter = int(filter)
10     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)
14     elif isinstance(filter, dict):
15         deployment_networks = DeploymentNetwork.objects.filter(**filter)
16     else:
17         deployment_networks = []
18     return deployment_networks 
19
20 def add_deployment_network(auth, name):
21     auth_check(auth)    
22     deployment = DeploymentNetwork(name=name)
23     deployment.save()
24     return deployment
25
26 def delete_deployment_network(auth, filter={}):
27     auth_check(auth)   
28     deployments = _get_deployment_networks(filter)
29     for deployment in deployments:
30         deployment.delete()
31     return 1
32
33 def get_deployment_networks(auth, filter={}):
34     auth_check(auth)   
35     deployments = _get_deployment_networks(filter)
36     return deployments             
37         
38
39