1. A method for ordering operations to achieve a desired state of the resources managed by a provisioning system, comprising the steps of: identifying provisioning operations for a provisioning system; defining preconditions and effects of the provisioning operations; mapping a current state of resources and a desired future state of resources into a form suitable for a planning algorithm, wherein the planning algorithm assigns costs to operations to decide a valid workflow order; and applying the planning algorithm to automatically generate provisioning workflows for the provisioning system.