internal static DnsRecordBase FromMamlRecord(object record)
{
if (record is Management.Dns.Models.ARecord)
{
var mamlRecord = (Management.Dns.Models.ARecord)record;
return new ARecord
{
Ipv4Address = mamlRecord.Ipv4Address
};
}
else if (record is Management.Dns.Models.AaaaRecord)
{
var mamlRecord = (Management.Dns.Models.AaaaRecord)record;
return new AaaaRecord
{
Ipv6Address = mamlRecord.Ipv6Address
};
}
else if (record is Management.Dns.Models.CnameRecord)
{
var mamlRecord = (Management.Dns.Models.CnameRecord)record;
return new CnameRecord
{
Cname = mamlRecord.Cname
};
}
else if (record is Management.Dns.Models.NsRecord)
{
var mamlRecord = (Management.Dns.Models.NsRecord)record;
return new NsRecord
{
Nsdname = mamlRecord.Nsdname
};
}
else if (record is Management.Dns.Models.MxRecord)
{
var mamlRecord = (Management.Dns.Models.MxRecord)record;
return new MxRecord
{
Exchange = mamlRecord.Exchange,
Preference = (ushort) mamlRecord.Preference,
};
}
else if (record is Management.Dns.Models.SrvRecord)
{
var mamlRecord = (Management.Dns.Models.SrvRecord)record;
return new SrvRecord
{
Port = (ushort) mamlRecord.Port,
Priority = (ushort) mamlRecord.Priority,
Target = mamlRecord.Target,
Weight = (ushort) mamlRecord.Weight,
};
}
else if (record is Management.Dns.Models.SoaRecord)
{
var mamlRecord = (Management.Dns.Models.SoaRecord)record;
return new SoaRecord
{
Email = mamlRecord.Email,
ExpireTime = (uint) mamlRecord.ExpireTime.GetValueOrDefault(),
Host = mamlRecord.Host,
MinimumTtl = (uint) mamlRecord.MinimumTtl.GetValueOrDefault(),
RefreshTime = (uint) mamlRecord.RefreshTime.GetValueOrDefault(),
RetryTime = (uint) mamlRecord.RetryTime.GetValueOrDefault(),
SerialNumber = (uint) mamlRecord.SerialNumber.GetValueOrDefault(),
};
}
else if (record is Management.Dns.Models.TxtRecord)
{
var mamlRecord = (Management.Dns.Models.TxtRecord)record;
return new TxtRecord
{
Value = ToPowerShellTxtValue(mamlRecord.Value),
};
}
else if (record is Management.Dns.Models.PtrRecord)
{
var mamlRecord = (Management.Dns.Models.PtrRecord)record;
return new PtrRecord
{
Ptrdname = mamlRecord.Ptrdname,
};
}
return null;
}