/// <summary>
 /// Initializes a new instance of the <see cref="ConnectCustomConfiguration" /> class.
 /// </summary>
 /// <param name="AllowEnvelopePublish">When set to **true**, data is sent to the urlToPublishTo web address. This option can be set to false to stop sending data while maintaining the Connect configuration information..</param>
 /// <param name="AllowSalesforcePublish">AllowSalesforcePublish.</param>
 /// <param name="AllUsers">When set to **true**, the tracked envelope and recipient events for all users, including users that are added a later time, are sent through Connect..</param>
 /// <param name="AllUsersExcept">AllUsersExcept.</param>
 /// <param name="ConfigurationType">If merge field&#39;s are being used, specifies the type of the merge field. The only  supported value is **salesforce**..</param>
 /// <param name="ConnectId"> Specifies the DocuSign generated ID for the Connect configuration.  .</param>
 /// <param name="DeliveryMode">DeliveryMode.</param>
 /// <param name="DisabledBy">DisabledBy.</param>
 /// <param name="EnableLog">This turns Connect logging on or off. When set to **true**, logging is turned on..</param>
 /// <param name="EnvelopeEvents">A comma separated list of �Envelope� related events that are tracked through Connect. The possible event values are: Sent, Delivered, Completed, Declined, and Voided..</param>
 /// <param name="EventData">EventData.</param>
 /// <param name="Events">Events.</param>
 /// <param name="ExternalFolderId">ExternalFolderId.</param>
 /// <param name="ExternalFolderLabel">ExternalFolderLabel.</param>
 /// <param name="GroupIds">GroupIds.</param>
 /// <param name="IncludeCertificateOfCompletion">When set to **true**, the Connect Service includes the Certificate of Completion with completed envelopes. .</param>
 /// <param name="IncludeCertSoapHeader">IncludeCertSoapHeader.</param>
 /// <param name="IncludeDocumentFields">When set to **true**, the Document Fields associated with envelope documents are included in the data. Document Fields are optional custom name-value pairs added to documents using the API. .</param>
 /// <param name="IncludeDocuments">When set to **true**, Connect will send the PDF document along with the update XML..</param>
 /// <param name="IncludeEnvelopeVoidReason">When set to **true**, Connect will include the voidedReason for voided envelopes..</param>
 /// <param name="IncludeHMAC">IncludeHMAC.</param>
 /// <param name="IncludeSenderAccountasCustomField">When set to **true**, Connect will include the sender account as Custom Field in the data..</param>
 /// <param name="IncludeTimeZoneInformation">When set to **true**, Connect will include the envelope time zone information..</param>
 /// <param name="Name">The name of the Connect configuration. The name helps identify the configuration in the list..</param>
 /// <param name="Password">Password.</param>
 /// <param name="RecipientEvents">A comma separated list of �Recipient� related events that are tracked through Connect. The possible event values are: Sent, Delivered, Completed, Declined, AuthenticationFailed, and AutoResponded..</param>
 /// <param name="RequireMutualTls">RequireMutualTls.</param>
 /// <param name="RequiresAcknowledgement">When set to **true**, and a publication message fails to be acknowledged, the message goes back into the queue and the system will retry delivery after a successful acknowledgement is received. If the delivery fails a second time, the message is not returned to the queue for sending until Connect receives a successful acknowledgement and it has been at least 24 hours since the previous retry. There is a maximum of ten retries Alternately, you can use Republish Connect Information to manually republish the envelope information..</param>
 /// <param name="SalesforceApiVersion">SalesforceApiVersion.</param>
 /// <param name="SalesforceAuthcode">SalesforceAuthcode.</param>
 /// <param name="SalesforceCallBackUrl">SalesforceCallBackUrl.</param>
 /// <param name="SalesforceDocumentsAsContentFiles">SalesforceDocumentsAsContentFiles.</param>
 /// <param name="SenderOverride">SenderOverride.</param>
 /// <param name="SenderSelectableItems">SenderSelectableItems.</param>
 /// <param name="SfObjects">SfObjects.</param>
 /// <param name="SignMessageWithX509Certificate">When set to **true**, Connect messages are signed with an X509 certificate. This provides support for 2-way SSL..</param>
 /// <param name="SoapNamespace">The namespace of the SOAP interface.  The namespace value must be set if useSoapInterface is set to true..</param>
 /// <param name="UrlToPublishTo">This is the web address and name of your listener or Retrieving Service endpoint. You need to include HTTPS:// in the web address..</param>
 /// <param name="UserIds">A comma separated list of userIds. This sets the users associated with the tracked envelope and recipient events. When one of the event occurs for a set user, the information is sent through Connect.   ###### Note: If allUsers is set to �false� then you must provide a list of user id�s..</param>
 /// <param name="UserName">UserName.</param>
 /// <param name="UseSoapInterface">When set to **true**, indicates that the &#x60;urlToPublishTo&#x60; property contains a SOAP endpoint..</param>
 public ConnectCustomConfiguration(string AllowEnvelopePublish = default(string), string AllowSalesforcePublish = default(string), string AllUsers = default(string), string AllUsersExcept = default(string), string ConfigurationType = default(string), string ConnectId = default(string), string DeliveryMode = default(string), string DisabledBy = default(string), string EnableLog = default(string), List <string> EnvelopeEvents = default(List <string>), ConnectEventData EventData = default(ConnectEventData), List <string> Events = default(List <string>), string ExternalFolderId = default(string), string ExternalFolderLabel = default(string), List <string> GroupIds = default(List <string>), string IncludeCertificateOfCompletion = default(string), string IncludeCertSoapHeader = default(string), string IncludeDocumentFields = default(string), string IncludeDocuments = default(string), string IncludeEnvelopeVoidReason = default(string), string IncludeHMAC = default(string), string IncludeSenderAccountasCustomField = default(string), string IncludeTimeZoneInformation = default(string), string Name = default(string), string Password = default(string), List <string> RecipientEvents = default(List <string>), string RequireMutualTls = default(string), string RequiresAcknowledgement = default(string), string SalesforceApiVersion = default(string), string SalesforceAuthcode = default(string), string SalesforceCallBackUrl = default(string), string SalesforceDocumentsAsContentFiles = default(string), string SenderOverride = default(string), List <string> SenderSelectableItems = default(List <string>), List <ConnectSalesforceObject> SfObjects = default(List <ConnectSalesforceObject>), string SignMessageWithX509Certificate = default(string), string SoapNamespace = default(string), string UrlToPublishTo = default(string), List <string> UserIds = default(List <string>), string UserName = default(string), string UseSoapInterface = default(string))
 {
     this.AllowEnvelopePublish   = AllowEnvelopePublish;
     this.AllowSalesforcePublish = AllowSalesforcePublish;
     this.AllUsers                          = AllUsers;
     this.AllUsersExcept                    = AllUsersExcept;
     this.ConfigurationType                 = ConfigurationType;
     this.ConnectId                         = ConnectId;
     this.DeliveryMode                      = DeliveryMode;
     this.DisabledBy                        = DisabledBy;
     this.EnableLog                         = EnableLog;
     this.EnvelopeEvents                    = EnvelopeEvents;
     this.EventData                         = EventData;
     this.Events                            = Events;
     this.ExternalFolderId                  = ExternalFolderId;
     this.ExternalFolderLabel               = ExternalFolderLabel;
     this.GroupIds                          = GroupIds;
     this.IncludeCertificateOfCompletion    = IncludeCertificateOfCompletion;
     this.IncludeCertSoapHeader             = IncludeCertSoapHeader;
     this.IncludeDocumentFields             = IncludeDocumentFields;
     this.IncludeDocuments                  = IncludeDocuments;
     this.IncludeEnvelopeVoidReason         = IncludeEnvelopeVoidReason;
     this.IncludeHMAC                       = IncludeHMAC;
     this.IncludeSenderAccountasCustomField = IncludeSenderAccountasCustomField;
     this.IncludeTimeZoneInformation        = IncludeTimeZoneInformation;
     this.Name                              = Name;
     this.Password                          = Password;
     this.RecipientEvents                   = RecipientEvents;
     this.RequireMutualTls                  = RequireMutualTls;
     this.RequiresAcknowledgement           = RequiresAcknowledgement;
     this.SalesforceApiVersion              = SalesforceApiVersion;
     this.SalesforceAuthcode                = SalesforceAuthcode;
     this.SalesforceCallBackUrl             = SalesforceCallBackUrl;
     this.SalesforceDocumentsAsContentFiles = SalesforceDocumentsAsContentFiles;
     this.SenderOverride                    = SenderOverride;
     this.SenderSelectableItems             = SenderSelectableItems;
     this.SfObjects                         = SfObjects;
     this.SignMessageWithX509Certificate    = SignMessageWithX509Certificate;
     this.SoapNamespace                     = SoapNamespace;
     this.UrlToPublishTo                    = UrlToPublishTo;
     this.UserIds                           = UserIds;
     this.UserName                          = UserName;
     this.UseSoapInterface                  = UseSoapInterface;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EventNotification" /> class.
 /// </summary>
 /// <param name="DeliveryMode">DeliveryMode.</param>
 /// <param name="EnvelopeEvents">A list of envelope-level event statuses that will trigger Connect to send updates to the endpoint specified in the &#x60;url&#x60; property.   To receive notifications, you must include either an &#x60;envelopeEvents&#x60; node or a &#x60;recipientEvents&#x60; node. You do not need to specify both..</param>
 /// <param name="EventData">EventData.</param>
 /// <param name="Events">Events.</param>
 /// <param name="IncludeCertificateOfCompletion">When set to **true**, the Connect Service includes the Certificate of Completion with completed envelopes. .</param>
 /// <param name="IncludeCertificateWithSoap">When set to **true**, this tells the Connect service to send the DocuSign signedby certificate as part of the outgoing SOAP xml. This appears in the XML as wsse:BinarySecurityToken..</param>
 /// <param name="IncludeDocumentFields">When set to **true**, the Document Fields associated with envelope documents are included in the data. Document Fields are optional custom name-value pairs added to documents using the API. .</param>
 /// <param name="IncludeDocuments">When set to **true**, the PDF documents are included in the message along with the updated XML. .</param>
 /// <param name="IncludeEnvelopeVoidReason">When set to **true**, this tells the Connect Service to include the void reason, as entered by the person that voided the envelope, in the message. .</param>
 /// <param name="IncludeHMAC">IncludeHMAC.</param>
 /// <param name="IncludeSenderAccountAsCustomField">When set to **true**, the sender account ID is included as a envelope custom field in the data. .</param>
 /// <param name="IncludeTimeZone">When set to **true**, the envelope time zone information is included in the message. .</param>
 /// <param name="LoggingEnabled">When set to **true**, logging is turned on for envelope events on the Web Console Connect page. .</param>
 /// <param name="RecipientEvents">A list of recipient event statuses that will trigger Connect to send updates to   the endpoint specified in the url property.  To receive notifications, you must include either an &#x60;envelopeEvents&#x60; node or a &#x60;recipientEvents&#x60; node. You do not need to specify both..</param>
 /// <param name="RequireAcknowledgment">When set to **true**, the DocuSign Connect service checks that the message was received and retries on failures. .</param>
 /// <param name="SignMessageWithX509Cert">When set to **true**, messages are signed with an X509 certificate. This provides support for 2-way SSL in the envelope. .</param>
 /// <param name="SoapNameSpace">This lists the namespace in the SOAP listener provided..</param>
 /// <param name="Url">Specifies the endpoint to which envelope updates are sent. Udpates are sent as XML unless &#x60;useSoapInterface&#x60; property is set to **true**..</param>
 /// <param name="UseSoapInterface">When set to **true**, this tells the Connect service that the user&#39;s endpoint has implemented a SOAP interface. .</param>
 public EventNotification(string DeliveryMode = default(string), List <EnvelopeEvent> EnvelopeEvents = default(List <EnvelopeEvent>), ConnectEventData EventData = default(ConnectEventData), List <string> Events = default(List <string>), string IncludeCertificateOfCompletion = default(string), string IncludeCertificateWithSoap = default(string), string IncludeDocumentFields = default(string), string IncludeDocuments = default(string), string IncludeEnvelopeVoidReason = default(string), string IncludeHMAC = default(string), string IncludeSenderAccountAsCustomField = default(string), string IncludeTimeZone = default(string), string LoggingEnabled = default(string), List <RecipientEvent> RecipientEvents = default(List <RecipientEvent>), string RequireAcknowledgment = default(string), string SignMessageWithX509Cert = default(string), string SoapNameSpace = default(string), string Url = default(string), string UseSoapInterface = default(string))
 {
     this.DeliveryMode   = DeliveryMode;
     this.EnvelopeEvents = EnvelopeEvents;
     this.EventData      = EventData;
     this.Events         = Events;
     this.IncludeCertificateOfCompletion = IncludeCertificateOfCompletion;
     this.IncludeCertificateWithSoap     = IncludeCertificateWithSoap;
     this.IncludeDocumentFields          = IncludeDocumentFields;
     this.IncludeDocuments          = IncludeDocuments;
     this.IncludeEnvelopeVoidReason = IncludeEnvelopeVoidReason;
     this.IncludeHMAC = IncludeHMAC;
     this.IncludeSenderAccountAsCustomField = IncludeSenderAccountAsCustomField;
     this.IncludeTimeZone         = IncludeTimeZone;
     this.LoggingEnabled          = LoggingEnabled;
     this.RecipientEvents         = RecipientEvents;
     this.RequireAcknowledgment   = RequireAcknowledgment;
     this.SignMessageWithX509Cert = SignMessageWithX509Cert;
     this.SoapNameSpace           = SoapNameSpace;
     this.Url = Url;
     this.UseSoapInterface = UseSoapInterface;
 }