1. A method for providing a custom virtual appliance, the method comprising: generating, by one or more processors, a description file of a custom virtual appliance based on a user requirement; acquiring, by one or more processors, configuration metadata of the custom virtual appliance from the description file; and creating, by one or more processors, a list of candidate virtual appliances based on the configuration metadata by using conversion information, wherein the candidate virtual appliances in the list are capable of converting to a configuration that corresponds to the configuration metadata.