public async Task <object> CreateAKS(string subid, string resourceGroupName, CreateAKSModel createAKSModel, string clientId, string clientSecret, string access_token) { CreateRequestJObject createRequestJObject = new CreateRequestJObject(); var requestmodel = createRequestJObject.CreateAKSRequestJObject(createAKSModel, clientId, clientSecret); string url = string.Format("{0}/resourceGroups/{1}/providers/Microsoft.ContainerService" + "/managedClusters/{2}?api-version=2019-10-01", subid, resourceGroupName, createAKSModel.name); var request = new HttpRequestMessage(HttpMethod.Put, url); var client = this._clientFactory.CreateClient("chinacloudapi"); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", access_token); string requestbody = JsonConvert.SerializeObject(requestmodel); request.Content = new StringContent(requestbody, UnicodeEncoding.UTF8, "application/json"); var response = await client.SendAsync(request); string result = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(JsonConvert.DeserializeObject(result)); } else { return(response.ReasonPhrase); } }
public JObject CreateAKSRequestJObject(CreateAKSModel AKSModel, string clientId, string clientSecret) { var requestmodel = new JObject { { "location", AKSModel.location } }; var properties = new JObject { { "kubernetesVersion", AKSModel.Properties.kubernetesVersion }, { "dnsPrefix", AKSModel.Properties.dnsPrefix } }; var agentPoolProfiles = new JArray { new JObject { { "name", "nodepool1" }, { "count", AKSModel.Properties.agentPoolProfiles[0].count }, { "vmSize", AKSModel.Properties.agentPoolProfiles[0].vmSize } } }; var networkProfile = new JObject { { "loadBalancerSku", AKSModel.Properties.networkProfile.loadBalancerSku }, { "outboundType", "loadBalancer" } }; var servicePrincipalProfile = new JObject { { "clientId", clientId }, { "secret", clientSecret } }; properties.Add("agentPoolProfiles", agentPoolProfiles); properties.Add("networkProfile", networkProfile); properties.Add("servicePrincipalProfile", servicePrincipalProfile); requestmodel.Add("properties", properties); return(requestmodel); }
public async Task <object> CreateAKS(string email, string subid, string resourceGroupName, CreateAKSModel createAKSModel) { string access_token = _tokenDto.GetTokenString(email, _tokenResource.Value.manage); ServicePrinciple servicePrinciple = _accountDao.GetCurrentService(email); return(await this._aKSDto.CreateAKS(subid, resourceGroupName, createAKSModel, servicePrinciple.ClientId, servicePrinciple.ClientSecret, access_token)); }
public async Task <object> CreateAKS(string email, string subid, string resourceGroupName, [FromBody] CreateAKSModel createAKSModel) { return(await this._aKSBus.CreateAKS(email, subid, resourceGroupName, createAKSModel)); }