42 lines
1.4 KiB
Plaintext
42 lines
1.4 KiB
Plaintext
|
|
# VM Lifecycle and Persistence Management
|
||
|
|
#
|
||
|
|
# Hybrid pattern: defaults + makers + instances
|
||
|
|
|
||
|
|
let contracts_lib = import "./contracts.ncl" in
|
||
|
|
let defaults_lib = import "./defaults.ncl" in
|
||
|
|
|
||
|
|
{
|
||
|
|
defaults = defaults_lib,
|
||
|
|
|
||
|
|
# Maker functions (not exported)
|
||
|
|
make_vm_persistence | not_exported = fun overrides =>
|
||
|
|
defaults_lib.VmPersistence & overrides,
|
||
|
|
|
||
|
|
make_lifecycle_policy | not_exported = fun overrides =>
|
||
|
|
defaults_lib.VmLifecyclePolicy & overrides,
|
||
|
|
|
||
|
|
make_cleanup_schedule | not_exported = fun overrides =>
|
||
|
|
defaults_lib.VmCleanupSchedule & overrides,
|
||
|
|
|
||
|
|
make_recovery_state | not_exported = fun overrides =>
|
||
|
|
defaults_lib.VmRecoveryState & overrides,
|
||
|
|
|
||
|
|
make_auto_start_config | not_exported = fun overrides =>
|
||
|
|
defaults_lib.VmAutoStartConfig & overrides,
|
||
|
|
|
||
|
|
make_cleanup_policy | not_exported = fun overrides =>
|
||
|
|
defaults_lib.VmCleanupPolicy & overrides,
|
||
|
|
|
||
|
|
make_state_snapshot | not_exported = fun overrides =>
|
||
|
|
defaults_lib.VmStateSnapshot & overrides,
|
||
|
|
|
||
|
|
# Default instances
|
||
|
|
DefaultVmPersistence = defaults_lib.VmPersistence,
|
||
|
|
DefaultVmLifecyclePolicy = defaults_lib.VmLifecyclePolicy,
|
||
|
|
DefaultVmCleanupSchedule = defaults_lib.VmCleanupSchedule,
|
||
|
|
DefaultVmRecoveryState = defaults_lib.VmRecoveryState,
|
||
|
|
DefaultVmAutoStartConfig = defaults_lib.VmAutoStartConfig,
|
||
|
|
DefaultVmCleanupPolicy = defaults_lib.VmCleanupPolicy,
|
||
|
|
DefaultVmStateSnapshot = defaults_lib.VmStateSnapshot,
|
||
|
|
}
|