public async Task <IHttpActionResult> PostValidate(AscDeployment deployment)
        {
            var template = await repository.GetTemplate(deployment.TemplateName);

            deployment.Template = template.TemplateData;
            var result = await DeploymentManager.ValidateDeployment(deployment);

            return(this.Ok(result));
        }
        public async Task <IHttpActionResult> Post(AscDeployment deployment)
        {
            var securityProcessor = new SecurityProcessor();
            var userHasAccess     = securityProcessor.CheckUserPermissionToSubscription(deployment.SubscriptionId);

            if (!userHasAccess)
            {
                throw new HttpResponseException(HttpStatusCode.Forbidden);
            }

            var template = await repository.GetTemplate(deployment.TemplateName);

            deployment.Template = template.TemplateData;
            var result = await DeploymentManager.Deploy(deployment);

            return(this.Ok(result));
        }