VirtualMachineDeletionResult

Observable outcome of DESTROYING what a commit only marked.

Note
Separate from VirtualMachineCommitResult because it is a separate event: a commit can insert, update and mark, and it can never destroy; an execution destroys and does nothing else. A machine that refused to be destroyed stay marked and appear in Failed, so the next run can try it again - reclaiming nine of ten is better than reclaiming none.
public sealed record VirtualMachineDeletionResult : IEquatable<VirtualMachineDeletionResult>

1. Constructors

1.1. VirtualMachineDeletionResult(IReadOnlyList<VirtualMachineOperationRecord>, int, IReadOnlyList<VirtualMachineCommitFailure>)

Observable outcome of DESTROYING what a commit only marked.

public VirtualMachineDeletionResult(IReadOnlyList<VirtualMachineOperationRecord> Operations, int Deleted, IReadOnlyList<VirtualMachineCommitFailure> Failed)
Table 1. Parameters
Name Type Description

Operations

IReadOnlyList<VirtualMachineOperationRecord>

Every destruction performed, in order.

Deleted

int

Number of machines destroyed.

Failed

IReadOnlyList<VirtualMachineCommitFailure>

Machines whose destruction threw, with their cause.

2. Properties

2.1. Deleted

Number of machines destroyed.

public int Deleted { get; init; }

2.2. Empty

An empty result, returned when nothing was marked.

public static VirtualMachineDeletionResult Empty { get; }

2.3. Failed

Machines whose destruction threw, with their cause.

public IReadOnlyList<VirtualMachineCommitFailure> Failed { get; init; }

2.4. Operations

Every destruction performed, in order.

public IReadOnlyList<VirtualMachineOperationRecord> Operations { get; init; }

3. Operators

3.1. operator !=(VirtualMachineDeletionResult, VirtualMachineDeletionResult)

public static bool operator !=(VirtualMachineDeletionResult left, VirtualMachineDeletionResult right)
Table 2. Parameters
Name Type Description

left

VirtualMachineDeletionResult

right

VirtualMachineDeletionResult

Returns: bool

3.2. operator ==(VirtualMachineDeletionResult, VirtualMachineDeletionResult)

public static bool operator ==(VirtualMachineDeletionResult left, VirtualMachineDeletionResult right)
Table 3. Parameters
Name Type Description

left

VirtualMachineDeletionResult

right

VirtualMachineDeletionResult

Returns: bool