def _create_args_to_params()

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