private static List <DnsRecordBase> GetPowerShellRecords(Management.Dns.Models.RecordSet recordSet) { var result = new List <DnsRecordBase>(); result.AddRange(GetPowerShellRecords(recordSet.Properties.AaaaRecords)); result.AddRange(GetPowerShellRecords(recordSet.Properties.ARecords)); result.AddRange(GetPowerShellRecords(recordSet.Properties.MxRecords)); result.AddRange(GetPowerShellRecords(recordSet.Properties.NsRecords)); result.AddRange(GetPowerShellRecords(recordSet.Properties.SrvRecords)); result.AddRange(GetPowerShellRecords(recordSet.Properties.TxtRecords)); if (recordSet.Properties.CnameRecord != null) { result.Add(DnsRecordBase.FromMamlRecord(recordSet.Properties.CnameRecord)); } if (recordSet.Properties.SoaRecord != null) { result.Add(DnsRecordBase.FromMamlRecord(recordSet.Properties.SoaRecord)); } return(result); }
private static DnsRecordSet GetPowerShellRecordSet(string zoneName, string resourceGroupName, Management.Dns.Models.RecordSet mamlRecordSet) { // e.g. "/subscriptions/<guid>/resourceGroups/<rg>/providers/microsoft.dns/dnszones/<zone>/A/<recordset>" string recordTypeAsString = mamlRecordSet.Id.Split('/').Reverse().Skip(1).First(); RecordType recordType = (RecordType)Enum.Parse(typeof(RecordType), recordTypeAsString, ignoreCase: true); return(new DnsRecordSet { Etag = mamlRecordSet.Etag, Name = mamlRecordSet.Name, RecordType = recordType, Records = GetPowerShellRecords(mamlRecordSet), Metadata = TagsConversionHelper.CreateTagHashtable(mamlRecordSet.Metadata), ResourceGroupName = resourceGroupName, Ttl = (uint)mamlRecordSet.TTL.GetValueOrDefault(), ZoneName = zoneName, }); }