# VM Lifecycle Public API
#
# Main interface for VM lifecycle management
# Migrated from provisioning/kcl/vm_lifecycle.k

let contracts = import "contracts.ncl" in
let defaults = import "defaults.ncl" in

{
  # Re-export contracts
  VmPersistence = contracts.VmPersistence,
  VmLifecyclePolicy = contracts.VmLifecyclePolicy,
  VmCleanupSchedule = contracts.VmCleanupSchedule,
  VmRecoveryState = contracts.VmRecoveryState,
  VmAutoStartConfig = contracts.VmAutoStartConfig,
  VmCleanupPolicy = contracts.VmCleanupPolicy,
  VmStateSnapshot = contracts.VmStateSnapshot,

  # Re-export defaults
  default_persistence = defaults.default_persistence,
  default_lifecycle_policy = defaults.default_lifecycle_policy,
  default_cleanup_policy = defaults.default_cleanup_policy,
  default_auto_start = defaults.default_auto_start,
  permanent_vm_persistence = defaults.permanent_vm_persistence,
  temporary_vm_persistence = defaults.temporary_vm_persistence,
}
