/// <summary> /// Sets the CNAME property. If you set more than 10 CNAME aliases for a distribution, /// a <code>TooManyDistributionCNAMEs</code> exception will be returned by CloudFront. /// </summary> /// <param name="cnames">CNAME property</param> /// <returns>this instance</returns> public CloudFrontStreamingDistributionConfig WithCNames(params string[] cnames) { foreach (string cname in cnames) { CNAME.Add(cname); } return(this); }
/// <summary> /// Creates a new RTCP SDES payload that can be included in an RTCP packet. /// </summary> /// <param name="ssrc">The synchronisation source of the SDES.</param> /// <param name="cname">Canonical End-Point Identifier SDES item. This should be a /// unique string common to all RTP streams in use by the application. Maximum /// length is 255 bytes (note bytes not characters).</param> public RTCPSDesReport(uint ssrc, string cname) { if (String.IsNullOrEmpty(cname)) { throw new ArgumentNullException("cname"); } Header = new RTCPHeader(RTCPReportTypesEnum.SDES, 1); SSRC = ssrc; CNAME = (cname.Length > MAX_CNAME_BYTES) ? cname.Substring(0, MAX_CNAME_BYTES) : cname; // Need to take account of multi-byte characters. while (Encoding.UTF8.GetBytes(CNAME).Length > MAX_CNAME_BYTES) { CNAME = CNAME.Substring(0, CNAME.Length - 1); } }
protected override void ProcessRecord() { this.SetOptions(); this.SetScope(Server); this.SetManagementPath(Identity); ManagementObject wmiRecord = this.Get(); WmiRecordClass WmiRecordClassName = (WmiRecordClass)Enum.Parse(typeof(WmiRecordClass), (String)wmiRecord.Properties["__CLASS"].Value); String NewPath = String.Empty; #region Parameter Set validation Boolean Terminate = false; switch (ParameterSetName) { case "PS0": break; case "PS1": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_AType & WmiRecordClassName != WmiRecordClass.MicrosoftDNS_AAAAType & WmiRecordClassName != WmiRecordClass.MicrosoftDNS_WKSType) { Terminate = true; } break; case "PS2": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_CNAMEType & WmiRecordClassName != WmiRecordClass.MicrosoftDNS_MBType & WmiRecordClassName != WmiRecordClass.MicrosoftDNS_MDType & WmiRecordClassName != WmiRecordClass.MicrosoftDNS_MFType & WmiRecordClassName != WmiRecordClass.MicrosoftDNS_NSType & WmiRecordClassName != WmiRecordClass.MicrosoftDNS_PTRType) { Terminate = true; } break; case "PS3": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_MGType & WmiRecordClassName != WmiRecordClass.MicrosoftDNS_MRType) { Terminate = true; } break; case "PS4": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_TXTType) { Terminate = true; } break; case "PS5": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_HINFOType) { Terminate = true; } break; case "PS6": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_ISDNType) { Terminate = true; } break; case "PS7": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_MINFOType) { Terminate = true; } break; case "PS8": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_NXTType) { Terminate = true; } break; case "PS9": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_RPType) { Terminate = true; } break; case "PS10": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_AFSDBType) { Terminate = true; } break; case "PS11": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_MXType & WmiRecordClassName != WmiRecordClass.MicrosoftDNS_RTType) { Terminate = true; } break; case "PS12": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_X25Type) { Terminate = true; } break; case "PS13": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_SOAType) { Terminate = true; } break; case "PS14": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_SRVType) { Terminate = true; } break; case "PS15": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_WINSType) { Terminate = true; } break; case "PS16": if (WmiRecordClassName != WmiRecordClass.MicrosoftDNS_WINSRType) { Terminate = true; } break; } if (Terminate) { ThrowTerminatingError( new ErrorRecord( new PSInvalidOperationException("InvalidParameterSetForRecordType"), "InvalidOperation", ErrorCategory.InvalidOperation, typeof(ManagementCmdlet))); } #endregion if (ShouldProcess((String)wmiRecord.Properties["TextRepresentation"].Value)) { switch (WmiRecordClassName) { case WmiRecordClass.MicrosoftDNS_AType: A ARecord = new A(wmiRecord, Server); NewPath = ARecord.Modify(TTL, Address.ToString()); break; case WmiRecordClass.MicrosoftDNS_AAAAType: AAAA AAAARecord = new AAAA(wmiRecord, Server); NewPath = AAAARecord.Modify(TTL, Address.ToString()); break; case WmiRecordClass.MicrosoftDNS_AFSDBType: AFSDB AFSDBRecord = new AFSDB(wmiRecord, Server); NewPath = AFSDBRecord.Modify(TTL, SubType, TargetName); break; case WmiRecordClass.MicrosoftDNS_CNAMEType: CNAME CNAMERecord = new CNAME(wmiRecord, Server); NewPath = CNAMERecord.Modify(TTL, Hostname); break; case WmiRecordClass.MicrosoftDNS_HINFOType: HINFO HINFORecord = new HINFO(wmiRecord, Server); NewPath = HINFORecord.Modify(TTL, CPU, OS); break; case WmiRecordClass.MicrosoftDNS_ISDNType: ISDN ISDNRecord = new ISDN(wmiRecord, Server); NewPath = ISDNRecord.Modify(TTL, ISDNNumber, SubAddress); break; case WmiRecordClass.MicrosoftDNS_MBType: MB MBRecord = new MB(wmiRecord, Server); NewPath = MBRecord.Modify(TTL, Hostname); break; case WmiRecordClass.MicrosoftDNS_MDType: MD MDRecord = new MD(wmiRecord, Server); NewPath = MDRecord.Modify(TTL, Hostname); break; case WmiRecordClass.MicrosoftDNS_MFType: MF MFRecord = new MF(wmiRecord, Server); NewPath = MFRecord.Modify(TTL, Hostname); break; case WmiRecordClass.MicrosoftDNS_MGType: MG MGRecord = new MG(wmiRecord, Server); NewPath = MGRecord.Modify(TTL, MailboxName); break; case WmiRecordClass.MicrosoftDNS_MINFOType: MINFO MINFORecord = new MINFO(wmiRecord, Server); NewPath = MINFORecord.Modify(TTL, ResponsibleMailbox, ErrorMailbox); break; case WmiRecordClass.MicrosoftDNS_MRType: MR MRRecord = new MR(wmiRecord, Server); NewPath = MRRecord.Modify(TTL, MailboxName); break; case WmiRecordClass.MicrosoftDNS_MXType: MX MXRecord = new MX(wmiRecord, Server); NewPath = MXRecord.Modify(TTL, Preference, TargetName); break; case WmiRecordClass.MicrosoftDNS_NSType: NS NSRecord = new NS(wmiRecord, Server); NewPath = NSRecord.Modify(TTL, Hostname); break; case WmiRecordClass.MicrosoftDNS_NXTType: NXT NXTRecord = new NXT(wmiRecord, Server); NewPath = NXTRecord.Modify(TTL, NextDomainName, Types); break; case WmiRecordClass.MicrosoftDNS_PTRType: PTR PTRRecord = new PTR(wmiRecord, Server); NewPath = PTRRecord.Modify(TTL, Hostname); break; case WmiRecordClass.MicrosoftDNS_RPType: RP RPRecord = new RP(wmiRecord, Server); NewPath = RPRecord.Modify(TTL, ResponsibleMailbox, TXTDomainName); break; case WmiRecordClass.MicrosoftDNS_RTType: RT RTRecord = new RT(wmiRecord, Server); NewPath = RTRecord.Modify(TTL, Preference, TargetName); break; case WmiRecordClass.MicrosoftDNS_SOAType: SOA SOARecord = new SOA(wmiRecord, Server); NewPath = SOARecord.Modify(TTL, SerialNumber, SOAServer, ResponsibleMailbox, RefreshInterval, RetryDelay, ExpireLimit, MinimumTTL); break; case WmiRecordClass.MicrosoftDNS_SRVType: SRV SRVRecord = new SRV(wmiRecord, Server); NewPath = SRVRecord.Modify(TTL, Priority, Weight, Port, TargetName); break; case WmiRecordClass.MicrosoftDNS_TXTType: TXT TXTRecord = new TXT(wmiRecord, Server); NewPath = TXTRecord.Modify(TTL, Text); break; case WmiRecordClass.MicrosoftDNS_WINSType: WINS WINSRecord = new WINS(wmiRecord, Server); NewPath = WINSRecord.Modify(TTL, MappingFlag, LookupTimeout, CacheTimeout, String.Join(" ", WinsServers)); break; case WmiRecordClass.MicrosoftDNS_WINSRType: WINSR WINSRRecord = new WINSR(wmiRecord, Server); NewPath = WINSRRecord.Modify(TTL, MappingFlag, LookupTimeout, CacheTimeout, ResultDomain); break; case WmiRecordClass.MicrosoftDNS_WKSType: WKS WKSRecord = new WKS(wmiRecord, Server); NewPath = WKSRecord.Modify(Address, TTL, IPProtocol, String.Join(" ", Services)); break; case WmiRecordClass.MicrosoftDNS_X25Type: X25 X25Record = new X25(wmiRecord, Server); NewPath = X25Record.Modify(TTL, PSDNAddress); break; default: ThrowTerminatingError( new ErrorRecord( new PSNotSupportedException("Unsupported Record Type"), "RecordModificationNotSupported", ErrorCategory.NotImplemented, typeof(ManagementCmdlet))); break; } if (PassThru) { this.SetManagementPath(NewPath); wmiRecord = this.Get(); WriteRecord(wmiRecord); } } }