/// <summary> /// Create a snapshot of a disk /// </summary> /// <param name="creationMetadata">Snapshot creation metadata</param> /// <param name="sizeGB">Size of disk in GB (0 to 1023)</param> public VMSnapshotProperties(DiskCreationMetadata creationMetadata, int sizeGB) { if ((sizeGB <= 0) || (sizeGB > 1023)) { throw new ArgumentOutOfRangeException(nameof(sizeGB)); } CreationMetadata = creationMetadata ?? throw new ArgumentNullException(nameof(creationMetadata)); DiskSizeGB = sizeGB; }
/// <summary> /// Create a snapshot of a VM /// </summary> /// <param name="creationMetadata">Disk creation metadata</param> /// <param name="sizeGB">Size of disk in GB (0 to 1023)</param> /// <param name="managedBy">Resource Id of the entity managing the snapshot</param> public VMSnapshot(DiskCreationMetadata creationMetadata, int sizeGB, ResourceUri?managedBy = null) { if ((managedBy != null) && (!managedBy.IsValid)) { throw new ArgumentException(nameof(managedBy)); } Properties = new VMSnapshotProperties(creationMetadata, sizeGB); ManagedBy = managedBy?.ToString(); }