# Hetzner Cloud Provider Main Module - Public API # Aggregates contracts and defaults for Hetzner provider extension # Migrated from: provisioning/extensions/providers/hetzner/kcl/ let contracts_lib = import "./contracts.ncl" in let defaults_lib = import "./defaults.ncl" in { defaults = defaults_lib, # Maker functions (not exported - used internally) make_volume | not_exported = fun overrides => defaults_lib.volume & overrides, make_network | not_exported = fun overrides => defaults_lib.network & overrides, make_firewall | not_exported = fun overrides => defaults_lib.firewall & overrides, make_storage_box | not_exported = fun overrides => defaults_lib.storage_box & overrides, make_server_defaults_hetzner | not_exported = fun overrides => defaults_lib.server_defaults_hetzner & overrides, make_server_hetzner | not_exported = fun overrides => defaults_lib.server_hetzner & overrides, make_provision_hetzner | not_exported = fun overrides => defaults_lib.provision_hetzner & overrides, # Default instances (exported) DefaultVolume = defaults_lib.volume, DefaultNetwork = defaults_lib.network, DefaultFirewall = defaults_lib.firewall, DefaultStorageBox = defaults_lib.storage_box, DefaultServerDefaults_hetzner = defaults_lib.server_defaults_hetzner, DefaultServerHetzner = defaults_lib.server_hetzner, DefaultProvisionHetzner = defaults_lib.provision_hetzner, }