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));
        }
Esempio n. 2
0
        public async Task <IHttpActionResult> Post(ResourceGroupResource resourceGroup)
        {
            var securityProcessor = new SecurityProcessor();
            var userHasAccess     = securityProcessor.CheckUserPermissionToSubscription(resourceGroup.SubscriptionId);

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

            var client = Utils.GetResourceManagementClient(resourceGroup.SubscriptionId);
            var rg     = new ResourceGroup(resourceGroup.Location);
            var result = await client.ResourceGroups.CreateOrUpdateAsync(resourceGroup.ResourceGroupName, rg, new CancellationToken());

            await securityProcessor.AddGroupsToAscContributorRole(resourceGroup.SubscriptionId, resourceGroup.ResourceGroupName, resourceGroup.ContributorGroups);

            return(this.Ok(resourceGroup));
        }