/// <summary>
        /// Retrieve a list of HostedNumberOrders belonging to the account initiating the request.
        /// </summary>
        ///
        /// <param name="status"> The Status of this HostedNumberOrder. </param>
        /// <param name="phoneNumber"> An E164 formatted phone number. </param>
        /// <param name="incomingPhoneNumberSid"> IncomingPhoneNumber sid. </param>
        /// <param name="friendlyName"> A human readable description of this resource. </param>
        /// <param name="uniqueName"> A unique, developer assigned name of this HostedNumberOrder. </param>
        /// <param name="pageSize"> Page size </param>
        /// <param name="limit"> Record limit </param>
        /// <param name="client"> Client to make requests to Twilio </param>
        /// <returns> A single instance of HostedNumberOrder </returns>
        public static ResourceSet <HostedNumberOrderResource> Read(HostedNumberOrderResource.StatusEnum status = null, Types.PhoneNumber phoneNumber = null, string incomingPhoneNumberSid = null, string friendlyName = null, string uniqueName = null, int?pageSize = null, long?limit = null, ITwilioRestClient client = null)
        {
            var options = new ReadHostedNumberOrderOptions {
                Status = status, PhoneNumber = phoneNumber, IncomingPhoneNumberSid = incomingPhoneNumberSid, FriendlyName = friendlyName, UniqueName = uniqueName, PageSize = pageSize, Limit = limit
            };

            return(Read(options, client));
        }
 /// <summary>
 /// Updates a specific HostedNumberOrder.
 /// </summary>
 /// <param name="pathSid"> The sid </param>
 /// <param name="friendlyName"> A human readable description of this resource. </param>
 /// <param name="uniqueName"> A unique, developer assigned name of this HostedNumberOrder. </param>
 /// <param name="email"> Email. </param>
 /// <param name="ccEmails"> A list of emails. </param>
 /// <param name="status"> The Status of this HostedNumberOrder. </param>
 /// <param name="verificationCode"> A verification code. </param>
 /// <param name="verificationType"> Verification Type. </param>
 /// <param name="verificationDocumentSid"> Verification Document Sid </param>
 /// <param name="extension"> Digits to dial after connecting the verification call. </param>
 /// <param name="callDelay"> The number of seconds, between 0 and 60, to delay before initiating the verification call.
 ///                 </param>
 /// <param name="client"> Client to make requests to Twilio </param>
 /// <returns> A single instance of HostedNumberOrder </returns>
 public static HostedNumberOrderResource Update(string pathSid,
                                                string friendlyName = null,
                                                string uniqueName = null,
                                                string email = null,
                                                List<string> ccEmails = null,
                                                HostedNumberOrderResource.StatusEnum status = null,
                                                string verificationCode = null,
                                                HostedNumberOrderResource.VerificationTypeEnum verificationType = null,
                                                string verificationDocumentSid = null,
                                                string extension = null,
                                                int? callDelay = null,
                                                ITwilioRestClient client = null)
 {
     var options = new UpdateHostedNumberOrderOptions(pathSid){FriendlyName = friendlyName, UniqueName = uniqueName, Email = email, CcEmails = ccEmails, Status = status, VerificationCode = verificationCode, VerificationType = verificationType, VerificationDocumentSid = verificationDocumentSid, Extension = extension, CallDelay = callDelay};
     return Update(options, client);
 }
        /// <summary>
        /// Updates a specific HostedNumberOrder.
        /// </summary>
        /// <param name="pathSid"> The sid </param>
        /// <param name="friendlyName"> A human readable description of this resource. </param>
        /// <param name="uniqueName"> A unique, developer assigned name of this HostedNumberOrder. </param>
        /// <param name="email"> Email. </param>
        /// <param name="ccEmails"> A list of emails. </param>
        /// <param name="status"> The Status of this HostedNumberOrder. </param>
        /// <param name="verificationCode"> A verification code. </param>
        /// <param name="client"> Client to make requests to Twilio </param>
        /// <returns> A single instance of HostedNumberOrder </returns>
        public static HostedNumberOrderResource Update(string pathSid,
                                                       string friendlyName    = null,
                                                       string uniqueName      = null,
                                                       string email           = null,
                                                       List <string> ccEmails = null,
                                                       HostedNumberOrderResource.StatusEnum status = null,
                                                       string verificationCode  = null,
                                                       ITwilioRestClient client = null)
        {
            var options = new UpdateHostedNumberOrderOptions(pathSid)
            {
                FriendlyName = friendlyName, UniqueName = uniqueName, Email = email, CcEmails = ccEmails, Status = status, VerificationCode = verificationCode
            };

            return(Update(options, client));
        }
        /// <summary>
        /// Updates a specific HostedNumberOrder.
        /// </summary>
        /// <param name="pathSid"> The sid </param>
        /// <param name="friendlyName"> A human readable description of this resource. </param>
        /// <param name="uniqueName"> A unique, developer assigned name of this HostedNumberOrder. </param>
        /// <param name="email"> Email. </param>
        /// <param name="ccEmails"> A list of emails. </param>
        /// <param name="status"> The Status of this HostedNumberOrder. </param>
        /// <param name="verificationCode"> A verification code. </param>
        /// <param name="verificationType"> Verification Type. </param>
        /// <param name="verificationDocumentSid"> Verification Document Sid </param>
        /// <param name="client"> Client to make requests to Twilio </param>
        /// <returns> Task that resolves to A single instance of HostedNumberOrder </returns>
        public static async System.Threading.Tasks.Task <HostedNumberOrderResource> UpdateAsync(string pathSid,
                                                                                                string friendlyName    = null,
                                                                                                string uniqueName      = null,
                                                                                                string email           = null,
                                                                                                List <string> ccEmails = null,
                                                                                                HostedNumberOrderResource.StatusEnum status = null,
                                                                                                string verificationCode = null,
                                                                                                HostedNumberOrderResource.VerificationTypeEnum verificationType = null,
                                                                                                string verificationDocumentSid = null,
                                                                                                ITwilioRestClient client       = null)
        {
            var options = new UpdateHostedNumberOrderOptions(pathSid)
            {
                FriendlyName = friendlyName, UniqueName = uniqueName, Email = email, CcEmails = ccEmails, Status = status, VerificationCode = verificationCode, VerificationType = verificationType, VerificationDocumentSid = verificationDocumentSid
            };

            return(await UpdateAsync(options, client));
        }
 /// <summary>
 /// Retrieve a list of HostedNumberOrders belonging to the account initiating the request.
 /// </summary>
 /// <param name="status"> The Status of this HostedNumberOrder. </param>
 /// <param name="phoneNumber"> An E164 formatted phone number. </param>
 /// <param name="incomingPhoneNumberSid"> IncomingPhoneNumber sid. </param>
 /// <param name="friendlyName"> A human readable description of this resource. </param>
 /// <param name="uniqueName"> A unique, developer assigned name of this HostedNumberOrder. </param>
 /// <param name="pageSize"> Page size </param>
 /// <param name="limit"> Record limit </param>
 /// <param name="client"> Client to make requests to Twilio </param>
 /// <returns> Task that resolves to A single instance of HostedNumberOrder </returns>
 public static async System.Threading.Tasks.Task<ResourceSet<HostedNumberOrderResource>> ReadAsync(HostedNumberOrderResource.StatusEnum status = null,
                                                                                                   Types.PhoneNumber phoneNumber = null,
                                                                                                   string incomingPhoneNumberSid = null,
                                                                                                   string friendlyName = null,
                                                                                                   string uniqueName = null,
                                                                                                   int? pageSize = null,
                                                                                                   long? limit = null,
                                                                                                   ITwilioRestClient client = null)
 {
     var options = new ReadHostedNumberOrderOptions(){Status = status, PhoneNumber = phoneNumber, IncomingPhoneNumberSid = incomingPhoneNumberSid, FriendlyName = friendlyName, UniqueName = uniqueName, PageSize = pageSize, Limit = limit};
     return await ReadAsync(options, client);
 }