Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }