add filters for openstack

This commit is contained in:
Miroslav Suchý 2015-03-23 12:36:51 +00:00
parent 026ce00919
commit 1b54f37dbd
2 changed files with 28 additions and 0 deletions

View file

@ -0,0 +1,26 @@
from ansible import errors, runner
import json
from novaclient.v3.client import Client
import novaclient.exceptions;
def flavor_id_to_name(host_vars, user, password, tenant, auth_url):
nt = Client(user, password, tenant, auth_url, service_type="compute")
try:
flavor = nt.flavors.get(host_vars)
except novaclient.exceptions.NotFound:
raise errors.AnsibleFilterError('There is no flavor of name {0}'.format(host_vars))
return flavor.name
def flavor_name_to_id(host_vars, user, password, tenant, auth_url):
nt = Client(user, password, tenant, auth_url, service_type="compute")
for i in nt.flavors.list():
if i.name == host_vars:
return i.id
raise errors.AnsibleFilterError('There is no flavor of id {0}'.format(host_vars))
class FilterModule (object):
def filters(self):
return {"flavor_id_to_name": flavor_id_to_name,
"flavor_name_to_id": flavor_name_to_id,
}