public Record Get(string name, string type = "") { try { AuthenticationResult = AzureHelper.GetAuthToken(AzureHelper.GetSubscriptionTenantId(Settings.SubscriptionId), Settings.ClientId, Settings.ClientSecret); RestClient.Authenticator = new JwtAuthenticator(AuthenticationResult.AccessToken); var request = new RestRequest(Settings.Azure.RecordUri, Method.GET); request.AddUrlSegment("subscriptionId", Settings.SubscriptionId); request.AddUrlSegment("resourceGroupName", Settings.ResourceGroup); request.AddUrlSegment("zoneName", Settings.ZoneName); request.AddUrlSegment("recordType", type); request.AddUrlSegment("recordSetName", name); var response = RestClient.Execute(request); if (response.StatusCode == HttpStatusCode.OK) { return(JsonConvert.DeserializeObject <Record>(response.Content)); } var eventType = EventLogEntryType.Error; if (response.StatusCode == HttpStatusCode.Forbidden || response.StatusCode == HttpStatusCode.Unauthorized) { eventType = EventLogEntryType.FailureAudit; } EventLogger.LogMessage(JObject.Parse(response.Content).ToString(), eventType); } catch (Exception ex) { EventLogger.LogMessage(JsonConvert.SerializeObject(ex), EventLogEntryType.Error); } return(null); }
public Record Update(Record record, string zoneName) { try { AuthenticationResult = AzureHelper.GetAuthToken(AzureHelper.GetSubscriptionTenantId(Settings.SubscriptionId), Settings.ClientId, Settings.ClientSecret); RestClient.Authenticator = new JwtAuthenticator(AuthenticationResult.AccessToken); var request = new RestRequest(Settings.Azure.RecordUri, Method.PUT) { RequestFormat = DataFormat.Json, JsonSerializer = new ObscuredJsonSerializer(new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }) }; request.AddUrlSegment("subscriptionId", Settings.SubscriptionId); request.AddUrlSegment("resourceGroupName", Settings.ResourceGroup); request.AddUrlSegment("zoneName", zoneName); request.AddUrlSegment("recordType", Settings.RecordType); request.AddUrlSegment("recordSetName", record.name); var newRecord = new Record { location = record.location, tags = record.tags, properties = record.properties }; newRecord.properties.fqdn = null; request.AddBody(newRecord); var response = RestClient.Execute(request); if (response.StatusCode == HttpStatusCode.OK) { return(JsonConvert.DeserializeObject <Record>(response.Content)); } var eventType = EventLogEntryType.Error; if (response.StatusCode == HttpStatusCode.Forbidden || response.StatusCode == HttpStatusCode.Unauthorized) { eventType = EventLogEntryType.FailureAudit; } EventLogger.LogMessage(JObject.Parse(response.Content).ToString(), eventType); } catch (Exception ex) { EventLogger.LogMessage(JsonConvert.SerializeObject(ex), EventLogEntryType.Error); } return(null); }