# AWS Provider Contracts - Type Definitions # Migrated from: provisioning/extensions/providers/aws/kcl/ { # Permission for Security Groups Permission = { name | String, protocol | String, # "tcp" | "udp" fromPort | Number, toPort | Number, ranges | String, }, # Security Group definition SecurityGroup = { id | String | optional, name | String, perms, # Bare field: array of permissions }, # Required Plan settings for instance type selection ReqPlan = { scale | Bool, arch | String, # "x86_64" | "arm64" cores | Number, memory | Number, infaces | Number, ena | String, gen | String | optional, }, # AWS Storage configuration StorageAws = { volname | String, voltype | String, # standard, io1, io2, gp2, gp3, sc1, st1 zone | String, voldevice | String, labels | String, deletetermination | Bool, device | String, size | Number, }, # AWS provision environment settings ProvisionEnvAws = { vpc | String, subnet | String, cidr_block | String, avail_zone | String, sg | SecurityGroup | optional, }, # AWS provision settings (main and private) ProvisionAws = { main | ProvisionEnvAws, priv | ProvisionEnvAws | optional, }, # AWS server configuration ServerAws = { hostname | String, title | String, network_private_ip | String | optional, extra_hostnames, # Bare field: array of strings taskservs, # Bare field: array of taskserv defs clusters, # Bare field: array of cluster defs storages, # Bare field: array of storage configs lock | Bool, user | String, user_home | String, user_ssh_port | Number, labels | String, network_public_ipv4 | Bool, network_public_ipv6 | Bool, network_utility_ipv4 | Bool, network_utility_ipv6 | Bool, }, }