/// <summary>
 /// Initializes a new instance of the <see cref="CopyRun" /> class.
 /// </summary>
 /// <param name="copySnapshotTasks">Specifies the status information of each task that copies the snapshot taken for a Protection Source..</param>
 /// <param name="error">Specifies if an error occurred (if any) while running this task. This field is populated when the status is equal to &#39;kFailure&#39;..</param>
 /// <param name="expiryTimeUsecs">Specifies expiry time of the copies of the snapshots in this Protection Run..</param>
 /// <param name="holdForLegalPurpose">Specifies whether legal hold is enabled on this run. It is true if the run is put on legal hold. Independent of this flag, some of the entities may be on legal hold..</param>
 /// <param name="legalHoldings">Specifies the list of Protection Source Ids and the legal hold status..</param>
 /// <param name="runStartTimeUsecs">Specifies start time of the copy run..</param>
 /// <param name="stats">stats.</param>
 /// <param name="status">Specifies the aggregated status of copy tasks such as &#39;kRunning&#39;, &#39;kSuccess&#39;, &#39;kFailure&#39; etc. &#39;kAccepted&#39; indicates the task is queued to run but not yet running. &#39;kRunning&#39; indicates the task is running. &#39;kCanceling&#39; indicates a request to cancel the task has occurred but the task is not yet canceled. &#39;kCanceled&#39; indicates the task has been canceled. &#39;kSuccess&#39; indicates the task was successful. &#39;kFailure&#39; indicates the task failed..</param>
 /// <param name="target">target.</param>
 /// <param name="taskUid">Specifies a globally unique id of the copy task..</param>
 /// <param name="userActionMessage">Specifies a message to the user if any manual intervention is needed to make forward progress for the archival task. This message is mainly relevant for tape based archival tasks where a backup admin might be asked to load a new media when the tape library does not have any more media to use..</param>
 public CopyRun(List <CopySnapshotTaskStatus> copySnapshotTasks = default(List <CopySnapshotTaskStatus>), string error = default(string), long?expiryTimeUsecs = default(long?), bool?holdForLegalPurpose = default(bool?), List <LegalHoldings> legalHoldings = default(List <LegalHoldings>), long?runStartTimeUsecs = default(long?), CopyRunStats stats = default(CopyRunStats), StatusEnum?status = default(StatusEnum?), SnapshotTargetSettings target = default(SnapshotTargetSettings), UniversalId taskUid = default(UniversalId), string userActionMessage = default(string))
 {
     this.CopySnapshotTasks   = copySnapshotTasks;
     this.Error               = error;
     this.ExpiryTimeUsecs     = expiryTimeUsecs;
     this.HoldForLegalPurpose = holdForLegalPurpose;
     this.LegalHoldings       = legalHoldings;
     this.RunStartTimeUsecs   = runStartTimeUsecs;
     this.Status              = status;
     this.TaskUid             = taskUid;
     this.UserActionMessage   = userActionMessage;
     this.CopySnapshotTasks   = copySnapshotTasks;
     this.Error               = error;
     this.ExpiryTimeUsecs     = expiryTimeUsecs;
     this.HoldForLegalPurpose = holdForLegalPurpose;
     this.LegalHoldings       = legalHoldings;
     this.RunStartTimeUsecs   = runStartTimeUsecs;
     this.Stats               = stats;
     this.Status              = status;
     this.Target              = target;
     this.TaskUid             = taskUid;
     this.UserActionMessage   = userActionMessage;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CopySnapshotTaskStatus" /> class.
 /// </summary>
 /// <param name="error">Specifies if an error occurred (if any) while running this task. This field is populated when the status is equal to &#39;kFailure&#39;..</param>
 /// <param name="source">source.</param>
 /// <param name="stats">stats.</param>
 /// <param name="status">Specifies the status of the source object being protected. &#39;kAccepted&#39; indicates the task is queued to run but not yet running. &#39;kRunning&#39; indicates the task is running. &#39;kCanceling&#39; indicates a request to cancel the task has occurred but the task is not yet canceled. &#39;kCanceled&#39; indicates the task has been canceled. &#39;kSuccess&#39; indicates the task was successful. &#39;kFailure&#39; indicates the task failed..</param>
 /// <param name="taskEndTimeUsecs">Specifies the end time of the copy task. The end time is specified as a Unix epoch Timestamp (in microseconds)..</param>
 /// <param name="taskStartTimeUsecs">Specifies the start time of the copy task. The start time is specified as a Unix epoch Timestamp (in microseconds). Copy run task is started after completing backup tasks. It may spawn sub-tasks to copy or replicate individual snapshots..</param>
 public CopySnapshotTaskStatus(string error = default(string), ProtectionSource source = default(ProtectionSource), CopyRunStats stats = default(CopyRunStats), StatusEnum?status = default(StatusEnum?), long?taskEndTimeUsecs = default(long?), long?taskStartTimeUsecs = default(long?))
 {
     this.Error              = error;
     this.Status             = status;
     this.TaskEndTimeUsecs   = taskEndTimeUsecs;
     this.TaskStartTimeUsecs = taskStartTimeUsecs;
     this.Error              = error;
     this.Source             = source;
     this.Stats              = stats;
     this.Status             = status;
     this.TaskEndTimeUsecs   = taskEndTimeUsecs;
     this.TaskStartTimeUsecs = taskStartTimeUsecs;
 }