private async Task <PolicyStorageEntity> GetPolicyDetails(string httpConnectionString, string thumbprint, string policyName) { PolicyStorageEntity policyStorageEntity = new PolicyStorageEntity { policy = policyName }; string URL = httpConnectionString + "/"; string URLParameters = "BackupRestore/BackupPolicies/" + policyName + "?api-version=6.4"; HttpResponseMessage response = await Utility.HTTPGetAsync(URL, URLParameters, thumbprint); if (response.IsSuccessStatusCode) { // Parse the response body. Blocking! var content = response.Content.ReadAsAsync <JObject>().Result; JObject objectData = (JObject)content["Storage"]; BackupStorage backupStorage = JsonConvert.DeserializeObject <BackupStorage>(objectData.ToString()); policyStorageEntity.backupStorage = backupStorage; return(policyStorageEntity); } else { Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase); return(null); } }
public async Task <IActionResult> GetPolicies(String cs, [FromBody] List <string> applications) { List <PolicyStorageEntity> policyDetails = new List <PolicyStorageEntity>(); List <string> policyNames = new List <string>(); foreach (string application in applications) { string URL = "http://" + cs + "/Applications/" + application + "/$/GetBackupConfigurationInfo"; string urlParameters = "?api-version=6.2-preview"; HttpClient client = new HttpClient { BaseAddress = new Uri(URL) }; client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = await client.GetAsync(urlParameters); if (response.IsSuccessStatusCode) { var content = response.Content.ReadAsAsync <JObject>().Result; JArray array = (JArray)content["Items"]; foreach (var item in array) { string policy = item["PolicyName"].ToString(); if (!policyNames.Contains(policy)) { policyNames.Add(policy); } } } else { Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase); return(null); } foreach (string policyName in policyNames) { PolicyStorageEntity policyStorageEntity = await getPolicyDetails(cs, policyName); if (policyStorageEntity != null) { policyDetails.Add(policyStorageEntity); } else { //Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase); return(null); } } } return(this.Json(policyDetails)); }
public async Task <IActionResult> GetServicePolicies(String httpConnectionStringEncoded, String thumbprint, String serviceName) { String httpConnectionString = Utility.decodeHTTPString(httpConnectionStringEncoded); List <PolicyStorageEntity> policyDetails = new List <PolicyStorageEntity>(); List <string> policyNames = new List <string>(); string mServiceName = serviceName.Replace("_", "/"); string URL = httpConnectionString + "/"; string URLParameters = "Services/" + mServiceName + "/$/GetBackupConfigurationInfo" + "?api-version=6.4"; HttpResponseMessage response = await Utility.HTTPGetAsync(URL, URLParameters, thumbprint); if (response.IsSuccessStatusCode) { var content = response.Content.ReadAsAsync <JObject>().Result; JArray array = (JArray)content["Items"]; foreach (var item in array) { string policy = item["PolicyName"].ToString(); if (!policyNames.Contains(policy)) { policyNames.Add(policy); } } } else { Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase); return(null); } foreach (string policyName in policyNames) { PolicyStorageEntity policyStorageEntity = await this.GetPolicyDetails(httpConnectionString, thumbprint, policyName); if (policyStorageEntity != null) { policyDetails.Add(policyStorageEntity); } else { return(null); } } return(this.Json(policyDetails)); }
private async Task <PolicyStorageEntity> getPolicyDetails(string cs, string policyName) { PolicyStorageEntity policyStorageEntity = new PolicyStorageEntity(); policyStorageEntity.policy = policyName; string URL = "https://" + cs + "/"; string urlParameters = "BackupRestore/BackupPolicies/" + policyName + "?api-version=6.2-preview"; X509Certificate2 clientCert = GetClientCertificate(); WebRequestHandler requestHandler = new WebRequestHandler(); requestHandler.ClientCertificates.Add(clientCert); requestHandler.ServerCertificateValidationCallback = this.MyRemoteCertificateValidationCallback; HttpClient client = new HttpClient(requestHandler) { BaseAddress = new Uri(URL) }; client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); // List data response. HttpResponseMessage response = await client.GetAsync(urlParameters); // Blocking call! if (response.IsSuccessStatusCode) { // Parse the response body. Blocking! var content = response.Content.ReadAsAsync <JObject>().Result; JObject objectData = (JObject)content["Storage"]; BackupStorage backupStorage = JsonConvert.DeserializeObject <BackupStorage>(objectData.ToString()); policyStorageEntity.backupStorage = backupStorage; return(policyStorageEntity); } else { Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase); return(null); } }
public async Task <IActionResult> GetApplicationPolicies(String cs, String appName) { List <PolicyStorageEntity> policyDetails = new List <PolicyStorageEntity>(); List <string> policyNames = new List <string>(); string URL = "https://" + cs + "/"; string urlParameters = "Applications/" + appName + "/$/GetBackupConfigurationInfo" + "?api-version=6.2-preview"; X509Certificate2 clientCert = GetClientCertificate(); WebRequestHandler requestHandler = new WebRequestHandler(); requestHandler.ClientCertificates.Add(clientCert); requestHandler.ServerCertificateValidationCallback = this.MyRemoteCertificateValidationCallback; HttpClient client = new HttpClient(requestHandler) { BaseAddress = new Uri(URL) }; client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response; try { response = await client.GetAsync(urlParameters); } catch (Exception e) { Console.WriteLine("Exception occured."); return(null); } if (response.IsSuccessStatusCode) { var content = response.Content.ReadAsAsync <JObject>().Result; JArray array = (JArray)content["Items"]; foreach (var item in array) { string policy = item["PolicyName"].ToString(); if (!policyNames.Contains(policy)) { policyNames.Add(policy); } } } else { Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase); return(null); } foreach (string policyName in policyNames) { PolicyStorageEntity policyStorageEntity = await this.getPolicyDetails(cs, policyName); if (policyStorageEntity != null) { policyDetails.Add(policyStorageEntity); } else { //Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase); return(null); } } return(this.Json(policyDetails)); }