Represents a DNS record of type NS that is part of a DnsRecordSet.
Inheritance: DnsRecordBase
Example #1
0
        /// <summary>
        /// This method adds name server delegation in the parent zone for the created child zone.
        /// The NS records are added in the parent zone that corresponds to the child zone
        /// </summary>
        /// <param name="zone">the created child zone</param>
        /// <param name="parent">the parent zone</param>
        private DnsRecordSet AddDnsNameserverDelegation(DnsZone zone, DnsZone parent)
        {
            DnsRecordSet recordSet = null;

            if (zone != null && parent != null && zone.NameServers != null && zone.NameServers.Count > 0)
            {
                List <NsRecord> nameServersList = new List <NsRecord>();
                foreach (string nameserver in zone.NameServers)
                {
                    NsRecord record = new NsRecord();
                    record.Nsdname = nameserver;
                    nameServersList.Add(record);
                }

                DnsRecordBase[] resourceRecords = nameServersList.ToArray();
                string          recordName      = this.Name.Replace('.' + parent.Name, "");
                recordSet = this.DnsClient.CreateDnsRecordSet(
                    parent.Name,
                    this.ResourceGroupName,
                    recordName,
                    3600,
                    RecordType.NS,
                    null,
                    true,
                    resourceRecords,
                    null);
            }
            return(recordSet);
        }
Example #2
0
        public override void ExecuteCmdlet()
        {
            DnsRecordBase result = null;

            switch (this.ParameterSetName)
            {
            case ParameterSetA:
            {
                result = new ARecord {
                    Ipv4Address = this.Ipv4Address
                };
                break;
            }

            case ParameterSetAaaa:
            {
                result = new AaaaRecord {
                    Ipv6Address = this.Ipv6Address
                };
                break;
            }

            case ParameterSetMx:
            {
                result = new MxRecord {
                    Preference = this.Preference, Exchange = this.Exchange
                };
                break;
            }

            case ParameterSetNs:
            {
                result = new NsRecord {
                    Nsdname = this.Nsdname
                };
                break;
            }

            case ParameterSetSrv:
            {
                result = new SrvRecord {
                    Priority = this.Priority, Port = this.Port, Target = this.Target, Weight = this.Weight
                };
                break;
            }

            case ParameterSetTxt:
            {
                result = new TxtRecord {
                    Value = this.Value
                };
                break;
            }

            case ParameterSetCName:
            {
                result = new CnameRecord {
                    Cname = this.Cname
                };
                break;
            }

            case ParameterSetPtr:
            {
                result = new PtrRecord {
                    Ptrdname = this.Ptrdname
                };
                break;
            }

            case ParameterSetCaa:
            {
                result = new CaaRecord {
                    Flags = this.CaaFlags, Tag = this.CaaTag, Value = this.CaaValue
                };
                break;
            }

            default:
            {
                throw new PSArgumentException(string.Format(ProjectResources.Error_UnknownParameterSetName, this.ParameterSetName));
            }
            }

            WriteObject(result);
        }