79 lines
1.8 KiB
Text
79 lines
1.8 KiB
Text
|
|
# 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,
|
||
|
|
},
|
||
|
|
}
|