/// <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="SnapshotCopyTask" /> class.
 /// </summary>
 /// <param name="copyStatus">Specifies the status of the copy task..</param>
 /// <param name="expiryTimeUsecs">Specifies when the Snapshot expires on the target..</param>
 /// <param name="message">Specifies warning or error information when the copy task is not successful..</param>
 /// <param name="snapshotTarget">snapshotTarget.</param>
 public SnapshotCopyTask(string copyStatus = default(string), long?expiryTimeUsecs = default(long?), string message = default(string), SnapshotTargetSettings snapshotTarget = default(SnapshotTargetSettings))
 {
     this.CopyStatus      = copyStatus;
     this.ExpiryTimeUsecs = expiryTimeUsecs;
     this.Message         = message;
     this.CopyStatus      = copyStatus;
     this.ExpiryTimeUsecs = expiryTimeUsecs;
     this.Message         = message;
     this.SnapshotTarget  = snapshotTarget;
 }