{ lib, ... }: let inherit (lib) mkOption types; in { options = { host = mkOption { type = types.str; description = "name of the host to deploy to"; }; targetSystem = mkOption { type = types.str; description = "name of the host to deploy to"; }; sshOpts = mkOption { description = "Extra SSH options (`-o`) to use."; type = types.listOf types.str; default = [ ]; example = "ConnectTimeout=60"; }; httpBackend = mkOption { description = "environment variables to configure the TF HTTP back-end, see "; type = types.attrsOf (types.either types.str types.int); }; key-file = mkOption { type = types.str; default = ""; }; proxmox-user = mkOption { description = "The ProxmoX user to use."; type = types.str; default = "root@pam"; }; proxmox-password = mkOption { description = "The ProxmoX password to use."; type = types.str; }; node-name = mkOption { description = "the name of the ProxmoX node to use."; type = types.str; }; bridge = mkOption { description = "The name of the network bridge (defaults to vmbr0)."; type = types.str; default = "vmbr0"; }; vlanId = mkOption { description = "The VLAN identifier."; type = types.int; default = 0; }; imageDatastoreId = mkOption { description = "ID of the datastore of the image."; type = types.str; default = "local"; }; vmDatastoreId = mkOption { description = "ID of the datastore of the VM."; type = types.str; default = "local"; }; cdDatastoreId = mkOption { description = "ID of the datastore of the virtual CD-rom drive to use for cloud-init."; type = types.str; default = "local"; }; ipv4Gateway = mkOption { description = "Gateway for IPv4."; type = types.str; default = ""; }; ipv4Address = mkOption { description = "IPv4 address."; type = types.str; default = ""; }; ipv6Gateway = mkOption { description = "Gateway for IPv6."; type = types.str; default = ""; }; ipv6Address = mkOption { description = "IPv6 address."; type = types.str; default = ""; }; }; }