|
|
@ -216,7 +216,7 @@ class Vultr:
|
|
|
|
except ValueError as e:
|
|
|
|
except ValueError as e:
|
|
|
|
self.module.fail_json(msg="Could not process response into json: %s" % e)
|
|
|
|
self.module.fail_json(msg="Could not process response into json: %s" % e)
|
|
|
|
|
|
|
|
|
|
|
|
def query_resource_by_key(self, key, value, resource='regions', query_by='list', params=None, use_cache=False, id_key=None):
|
|
|
|
def query_resource_by_key(self, key, value, resource='regions', query_by='list', params=None, use_cache=False, id_key=None, optional=False):
|
|
|
|
if not value:
|
|
|
|
if not value:
|
|
|
|
return {}
|
|
|
|
return {}
|
|
|
|
|
|
|
|
|
|
|
@ -246,12 +246,13 @@ class Vultr:
|
|
|
|
return r_data
|
|
|
|
return r_data
|
|
|
|
if id_key is not None and to_text(r_data[id_key]) == to_text(value):
|
|
|
|
if id_key is not None and to_text(r_data[id_key]) == to_text(value):
|
|
|
|
return r_data
|
|
|
|
return r_data
|
|
|
|
|
|
|
|
if not optional:
|
|
|
|
if id_key:
|
|
|
|
if id_key:
|
|
|
|
msg = "Could not find %s with ID or %s: %s" % (resource, key, value)
|
|
|
|
msg = "Could not find %s with ID or %s: %s" % (resource, key, value)
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
msg = "Could not find %s with %s: %s" % (resource, key, value)
|
|
|
|
msg = "Could not find %s with %s: %s" % (resource, key, value)
|
|
|
|
self.module.fail_json(msg=msg)
|
|
|
|
self.module.fail_json(msg=msg)
|
|
|
|
|
|
|
|
return {}
|
|
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
@staticmethod
|
|
|
|
def normalize_result(resource, schema, remove_missing_keys=True):
|
|
|
|
def normalize_result(resource, schema, remove_missing_keys=True):
|
|
|
@ -288,14 +289,16 @@ class Vultr:
|
|
|
|
|
|
|
|
|
|
|
|
return self.result
|
|
|
|
return self.result
|
|
|
|
|
|
|
|
|
|
|
|
def get_plan(self, plan=None, key='name'):
|
|
|
|
def get_plan(self, plan=None, key='name', optional=False):
|
|
|
|
value = plan or self.module.params.get('plan')
|
|
|
|
value = plan or self.module.params.get('plan')
|
|
|
|
|
|
|
|
|
|
|
|
return self.query_resource_by_key(
|
|
|
|
return self.query_resource_by_key(
|
|
|
|
key=key,
|
|
|
|
key=key,
|
|
|
|
value=value,
|
|
|
|
value=value,
|
|
|
|
resource='plans',
|
|
|
|
resource='plans',
|
|
|
|
use_cache=True
|
|
|
|
use_cache=True,
|
|
|
|
|
|
|
|
id_key='VPSPLANID',
|
|
|
|
|
|
|
|
optional=optional,
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
def get_firewallgroup(self, firewallgroup=None, key='description'):
|
|
|
|
def get_firewallgroup(self, firewallgroup=None, key='description'):
|
|
|
|