/// <summary>
 /// Initializes a new instance of the <see cref="RunJobSnapshotTarget" /> class.
 /// </summary>
 /// <param name="archivalTarget">Specifies the Archival External Target for storing a copied Snapshot. If the type is not &#39;kLocal&#39;, either a replicationTarget or archivalTarget must be specified..</param>
 /// <param name="daysToKeep">Specifies the number of days to retain copied Snapshots on the target..</param>
 /// <param name="replicationTarget">Specifies the replication target (Remote Cluster) for storing a copied Snapshot. If the type is not &#39;kLocal&#39;, either a replicationTarget or archivalTarget must be specified..</param>
 /// <param name="type">Specifies the type of a Snapshot target such as &#39;kLocal&#39;, &#39;kRemote&#39; or &#39;kArchival&#39;. &#39;kLocal&#39; means the Snapshot is stored on a local Cohesity Cluster. &#39;kRemote&#39; means the Snapshot is stored on a Remote Cohesity Cluster. (It was copied to the Remote Cohesity Cluster using replication.) &#39;kArchival&#39; means the Snapshot is stored on a Archival External Target (such as Tape or AWS)..</param>
 public RunJobSnapshotTarget(ArchivalTarget archivalTarget = default(ArchivalTarget), long?daysToKeep = default(long?), ReplicationTarget replicationTarget = default(ReplicationTarget), TypeEnum?type = default(TypeEnum?))
 {
     this.ArchivalTarget    = archivalTarget;
     this.DaysToKeep        = daysToKeep;
     this.ReplicationTarget = replicationTarget;
     this.Type = type;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="SnapshotTarget" /> class.
 /// </summary>
 /// <param name="archivalTarget">Specifies the Archival External Target for storing a copied Snapshot. If the type is not &#39;kLocal&#39;, either a replicationTarget or archivalTarget must be specified..</param>
 /// <param name="replicationTarget">Specifies the replication target (Remote Cluster) for storing a copied Snapshot. If the type is not &#39;kLocal&#39;, either a replicationTarget or archivalTarget must be specified..</param>
 /// <param name="type">Specifies the type of a Snapshot target such as &#39;kLocal&#39;, &#39;kRemote&#39; or &#39;kArchival&#39;. &#39;kLocal&#39; means the Snapshot is stored on a local Cohesity Cluster. &#39;kRemote&#39; means the Snapshot is stored on a Remote Cohesity Cluster. (It was copied to the Remote Cohesity Cluster using replication.) &#39;kArchival&#39; means the Snapshot is stored on a Archival External Target (such as Tape or AWS)..</param>
 public SnapshotTarget(ArchivalTarget archivalTarget = default(ArchivalTarget), ReplicationTarget replicationTarget = default(ReplicationTarget), TypeEnum?type = default(TypeEnum?))
 {
     this.ArchivalTarget    = archivalTarget;
     this.ReplicationTarget = replicationTarget;
     this.Type = type;
 }