/// <summary>
 /// Initializes a new instance of the <see cref="OutboundRoute" /> class.
 /// </summary>
 /// <param name="Name">The name of the entity. (required).</param>
 /// <param name="Description">The resource&#39;s description..</param>
 /// <param name="Version">The current version of the resource..</param>
 /// <param name="DateCreated">The date the resource was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="DateModified">The date of the last modification to the resource. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="ModifiedBy">The ID of the user that last modified the resource..</param>
 /// <param name="CreatedBy">The ID of the user that created the resource..</param>
 /// <param name="ModifiedByApp">The application that last modified the resource..</param>
 /// <param name="CreatedByApp">The application that created the resource..</param>
 /// <param name="ClassificationTypes">The site associated to the outbound route. (required).</param>
 /// <param name="Enabled">Enabled.</param>
 /// <param name="Distribution">Distribution.</param>
 /// <param name="ExternalTrunkBases">Trunk base settings of trunkType \&quot;EXTERNAL\&quot;.  This base must also be set on an edge logical interface for correct routing..</param>
 /// <param name="Site">The site associated to the outbound route..</param>
 public OutboundRoute(string Name = null, string Description = null, int?Version = null, DateTime?DateCreated = null, DateTime?DateModified = null, string ModifiedBy = null, string CreatedBy = null, string ModifiedByApp = null, string CreatedByApp = null, List <string> ClassificationTypes = null, bool?Enabled = null, DistributionEnum?Distribution = null, List <DomainEntityRef> ExternalTrunkBases = null, Site Site = null)
 {
     this.Name                = Name;
     this.Description         = Description;
     this.Version             = Version;
     this.DateCreated         = DateCreated;
     this.DateModified        = DateModified;
     this.ModifiedBy          = ModifiedBy;
     this.CreatedBy           = CreatedBy;
     this.ModifiedByApp       = ModifiedByApp;
     this.CreatedByApp        = CreatedByApp;
     this.ClassificationTypes = ClassificationTypes;
     this.Enabled             = Enabled;
     this.Distribution        = Distribution;
     this.ExternalTrunkBases  = ExternalTrunkBases;
     this.Site                = Site;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="Edge" /> class.
 /// </summary>
 /// <param name="Name">The name of the entity. (required).</param>
 /// <param name="Description">The resource&#39;s description..</param>
 /// <param name="Version">The current version of the resource..</param>
 /// <param name="DateCreated">The date the resource was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="DateModified">The date of the last modification to the resource. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="ModifiedBy">The ID of the user that last modified the resource..</param>
 /// <param name="CreatedBy">The ID of the user that created the resource..</param>
 /// <param name="ModifiedByApp">The application that last modified the resource..</param>
 /// <param name="CreatedByApp">The application that created the resource..</param>
 /// <param name="Interfaces">The list of interfaces for the edge. (Deprecated) Replaced by configuring trunks/ip info on the logical interface instead.</param>
 /// <param name="Make">Make.</param>
 /// <param name="Model">Model.</param>
 /// <param name="ApiVersion">ApiVersion.</param>
 /// <param name="SoftwareVersion">SoftwareVersion.</param>
 /// <param name="SoftwareVersionTimestamp">SoftwareVersionTimestamp.</param>
 /// <param name="SoftwareVersionPlatform">SoftwareVersionPlatform.</param>
 /// <param name="SoftwareVersionConfiguration">SoftwareVersionConfiguration.</param>
 /// <param name="FullSoftwareVersion">FullSoftwareVersion.</param>
 /// <param name="PairingId">The pairing Id for a hardware Edge in the format: 00000-00000-00000-00000-00000. This field is only required when creating an Edge with a deployment type of HARDWARE..</param>
 /// <param name="Fingerprint">Fingerprint.</param>
 /// <param name="FingerprintHint">FingerprintHint.</param>
 /// <param name="CurrentVersion">CurrentVersion.</param>
 /// <param name="StagedVersion">StagedVersion.</param>
 /// <param name="Patch">Patch.</param>
 /// <param name="StatusCode">The current status of the Edge..</param>
 /// <param name="EdgeGroup">EdgeGroup.</param>
 /// <param name="Site">The Site to which the Edge is assigned..</param>
 /// <param name="SoftwareStatus">SoftwareStatus.</param>
 /// <param name="OnlineStatus">OnlineStatus.</param>
 /// <param name="SerialNumber">SerialNumber.</param>
 /// <param name="PhysicalEdge">PhysicalEdge.</param>
 /// <param name="Managed">Managed.</param>
 /// <param name="EdgeDeploymentType">EdgeDeploymentType.</param>
 /// <param name="CallDrainingState">CallDrainingState.</param>
 /// <param name="ConversationCount">ConversationCount.</param>
 /// <param name="Proxy">Edge HTTP proxy configuration for the WAN port. The field can be a hostname, FQDN, IPv4 or IPv6 address. If port is not included, port 80 is assumed..</param>
 public Edge(string Name = null, string Description = null, int?Version = null, DateTime?DateCreated = null, DateTime?DateModified = null, string ModifiedBy = null, string CreatedBy = null, string ModifiedByApp = null, string CreatedByApp = null, List <EdgeInterface> Interfaces = null, string Make = null, string Model = null, string ApiVersion = null, string SoftwareVersion = null, string SoftwareVersionTimestamp = null, string SoftwareVersionPlatform = null, string SoftwareVersionConfiguration = null, string FullSoftwareVersion = null, string PairingId = null, string Fingerprint = null, string FingerprintHint = null, string CurrentVersion = null, string StagedVersion = null, string Patch = null, StatusCodeEnum?StatusCode = null, EdgeGroup EdgeGroup = null, Site Site = null, DomainEdgeSoftwareUpdateDto SoftwareStatus = null, OnlineStatusEnum?OnlineStatus = null, string SerialNumber = null, bool?PhysicalEdge = null, bool?Managed = null, EdgeDeploymentTypeEnum?EdgeDeploymentType = null, CallDrainingStateEnum?CallDrainingState = null, int?ConversationCount = null, string Proxy = null)
 {
     this.Name                         = Name;
     this.Description                  = Description;
     this.Version                      = Version;
     this.DateCreated                  = DateCreated;
     this.DateModified                 = DateModified;
     this.ModifiedBy                   = ModifiedBy;
     this.CreatedBy                    = CreatedBy;
     this.ModifiedByApp                = ModifiedByApp;
     this.CreatedByApp                 = CreatedByApp;
     this.Interfaces                   = Interfaces;
     this.Make                         = Make;
     this.Model                        = Model;
     this.ApiVersion                   = ApiVersion;
     this.SoftwareVersion              = SoftwareVersion;
     this.SoftwareVersionTimestamp     = SoftwareVersionTimestamp;
     this.SoftwareVersionPlatform      = SoftwareVersionPlatform;
     this.SoftwareVersionConfiguration = SoftwareVersionConfiguration;
     this.FullSoftwareVersion          = FullSoftwareVersion;
     this.PairingId                    = PairingId;
     this.Fingerprint                  = Fingerprint;
     this.FingerprintHint              = FingerprintHint;
     this.CurrentVersion               = CurrentVersion;
     this.StagedVersion                = StagedVersion;
     this.Patch                        = Patch;
     this.StatusCode                   = StatusCode;
     this.EdgeGroup                    = EdgeGroup;
     this.Site                         = Site;
     this.SoftwareStatus               = SoftwareStatus;
     this.OnlineStatus                 = OnlineStatus;
     this.SerialNumber                 = SerialNumber;
     this.PhysicalEdge                 = PhysicalEdge;
     this.Managed                      = Managed;
     this.EdgeDeploymentType           = EdgeDeploymentType;
     this.CallDrainingState            = CallDrainingState;
     this.ConversationCount            = ConversationCount;
     this.Proxy                        = Proxy;
 }