in libcloud/compute/drivers/openstack.py [0:0]
def _create_args_to_params(self, node, **kwargs):
server_params = {
"name": kwargs.get("name"),
"metadata": kwargs.get("ex_metadata", {}) or {},
}
if kwargs.get("ex_files", None):
server_params["personality"] = self._files_to_personality(kwargs.get("ex_files"))
if kwargs.get("ex_availability_zone", None):
server_params["availability_zone"] = kwargs["ex_availability_zone"]
if kwargs.get("ex_keyname", None):
server_params["key_name"] = kwargs["ex_keyname"]
if kwargs.get("ex_userdata", None):
server_params["user_data"] = base64.b64encode(b(kwargs["ex_userdata"])).decode("ascii")
if kwargs.get("ex_disk_config", None):
server_params["OS-DCF:diskConfig"] = kwargs["ex_disk_config"]
if kwargs.get("ex_config_drive", None):
server_params["config_drive"] = str(kwargs["ex_config_drive"])
if kwargs.get("ex_admin_pass", None):
server_params["adminPass"] = kwargs["ex_admin_pass"]
if kwargs.get("networks", None):
networks = kwargs["networks"] or []
networks = [{"uuid": network.id} for network in networks]
server_params["networks"] = networks
if kwargs.get("ex_security_groups", None):
server_params["security_groups"] = []
for security_group in kwargs["ex_security_groups"] or []:
name = security_group.name
server_params["security_groups"].append({"name": name})
if kwargs.get("ex_blockdevicemappings", None):
server_params["block_device_mapping_v2"] = kwargs["ex_blockdevicemappings"]
if kwargs.get("name", None):
server_params["name"] = kwargs.get("name")
else:
server_params["name"] = node.name
if kwargs.get("image", None):
server_params["imageRef"] = kwargs.get("image").id
else:
server_params["imageRef"] = node.extra.get("imageId", "") if node else ""
if kwargs.get("size", None):
server_params["flavorRef"] = kwargs.get("size").id
else:
server_params["flavorRef"] = node.extra.get("flavorId")
return server_params