public ActionResult Create(ProvisioningRequest provisionRequest)
{
Plan plan;
if (!Enum.TryParse<Plan>(provisionRequest.plan, true, out plan))
{
throw new ArgumentException(string.Format("Plan \"{0}\" is not a valid plan", provisionRequest.plan));
}
var resource = new Resource
{
CreatedBy = string.Format("{0};{1}", Request.GetForwardedHostAddress(), User.Identity.Name),
Id = Guid.NewGuid(),
Plan = plan,
ProviderId = provisionRequest.heroku_id,
ProvisionStatus = ProvisionStatus.Provisioning,
};
// TODO: Persist the resource
// TODO: Provision the resource
resource.ProvisionStatus = ProvisionStatus.Provisioned;
// TODO: Persist the status change
var output = new
{
id = resource.Id,
config = new
{
CONFIG_VAR = "CONFIGURATION_VALUE",
}
};
return Json(output);
}