Recent advancements in the automotive industry have led to the design of smart vehicles with high capacity resources for communication, sensing, processing, and storage of data. In the near future, it is envisaged that these resources will be harnessed and utilized to provide cloud services such as storage as a service, computation as a service, and sensing as a service. This paradigm of computing termed vehicular cloud, presents a lot of opportunities for the deployment of delay-sensitive applications in vehicular environment. However, high mobility of vehicles and rapidly changing topology of vehicular networks introduce new challenges such as instability of resources which make the management of resources in vehicular cloud complicated. Therefore, vehicular cloud computing require robust and mobility-aware resource management solutions to be designed. In order to achieve this goal, researchers and engineers need to be abreast with the techniques of resource management in vehicular cloud. This article presents a detailed survey of resource management tasks in vehicular clouds. A thorough introduction to vehicular cloud is presented initially. Then we identify and examine all the resource management tasks that are carried out in vehicular cloud by classifying them into three different phases: pre-resource assignment phase, resource-assignment phase, and post resource assignment phase. Proposed solutions to resource management challenges in literature at each phase are reviewed in detail. Unlike the existing surveys on vehicular clouds, this study covers all aspects of resource management such as resource brokering, resource demand prediction, resource allocation, and resource scheduling. Following the extensive survey, we also propose frameworks for resource monitoring and resource brokering for vehicular cloud. Finally, open issues and research directions for vehicular cloud resource management are presented.