package validators

var (
	apiGroupValues = []string{"cloudapi", "cloudbroker", "system"}

	accessTypeValues = []string{"R", "RCX", "ARCXDU"}
	resTypesValues   = []string{"compute", "vins", "k8s", "openshift", "lb", "flipgroup"}
	protoValues      = []string{"tcp", "udp"}

	accountCUTypeValues = []string{"CU_M", "CU_C", "CU_D", "CU_DM", "CU_I", "gpu_units"}

	bserviceModeValues = []string{"ABSOLUTE", "RELATIVE"}

	computeTopologyValues   = []string{"compute", "node"}
	computePolicyValues     = []string{"RECOMMENDED", "REQUIRED"}
	computeModeValues       = []string{"EQ", "EN", "ANY"}
	computeNetTypeValues    = []string{"EXTNET", "VINS"}
	computex86NetTypeValues = []string{"EXTNET", "VINS", "VFNIC", "DPDK", "SDN", "EMPTY", "TRUNK"}
	computeOrderValues      = []string{"cdrom", "network", "hd"}
	computeDataDisksValues  = []string{"KEEP", "DETACH", "DESTROY"}

	flipgroupClientTypeValues = []string{"compute", "vins"}

	massCreateNetTypeValues = []string{"EXTNET", "VINS", "TRUNK"}
	kvmx86NetTypeValues     = []string{"EXTNET", "VINS", "EMPTY", "VFNIC", "DPDK", "SDN", "TRUNK"}

	lbAlgorithmValues = []string{"roundrobin", "static-rr", "leastconn"}

	rgDefNetValues  = []string{"PRIVATE", "PUBLIC", "NONE"}
	rgNetTypeValues = []string{"PUBLIC", "PRIVATE"}

	vinsTypeValues = []string{"DHCP", "VIP", "EXCLUDED"}

	imageBootTypeValues     = []string{"uefi", "bios"}
	imageTypeValues         = []string{"windows", "linux", "unknown"}
	imageArchitectureValues = []string{"X86_64"}

	sepFieldTypeValues = []string{"int", "str", "bool", "list", "dict"}

	networkPluginValues = []string{"flannel", "weavenet", "calico"}

	strictLooseValues = []string{"strict", "loose"}

	interfaceStateValues = []string{"on", "off"}

	actionValues = []string{"is_powered", "power_on", "shutdown", "force_shutdown", "reboot"}

	vmActionValues = []string{"stop", "move"}

	computeFeaturesValues = []string{"hugepages", "numa", "cpupin", "vfnic", "dpdk", "changemac", "trunk"}

	networkInterfaceNamingValues = []string{"eth", "ens"}

	numaAffinityValues = []string{"none", "strict", "loose"}

	txModelValues = []string{"iothread", "timer", "selected by hypervisor"}

	ioEventFDValues = []string{"on", "off", "selected by hypervisor"}

	eventIDxValues = []string{"on", "off", "selected by hypervisor"}

	chipsetValues = []string{"i440fx", "Q35"}

	loaderTypeValues = []string{"linux", "windows", "unknown"}

	sepTypeValues = []string{"hitachi", "dorado", "tatlin", "shared", "local", "des", "ustor"}

	languageValues = []string{"ru", "en"}

	userProviders = []string{"bvs", "decs3o"}

	deviceValues = []string{"primary", "secondary"}

	securityGroupDirectionValues = []string{"inbound", "outbound"}
	securityGroupEthertypeValues = []string{"IPv4", "IPv6"}
	securityGroupProtocolValues  = []string{"icmp", "tcp", "udp"}

	addressPoolNetTypeValues = []string{"IPv4", "IPv6", "MAC"}

	ipTypeValues = []string{"v4, v6"}

	sepTechStatusValues = []string{"ENABLED", "DISABLED"}
)

const (
	mtuMin = 1500
	mtuMax = 9216

	trunkTagsMin = 1
	trunkTagsMax = 4095
)
