deployment/terraform-module-knfsd/variables.tf (436 lines of code) (raw):

/* * Copyright 2020 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ variable "EXPORT_MAP" { type = string nullable = false default = "" } variable "EXPORT_HOST_AUTO_DETECT" { type = string nullable = false default = "" } variable "EXCLUDED_EXPORTS" { type = list(string) nullable = false default = [] } variable "INCLUDED_EXPORTS" { type = list(string) nullable = false default = [] } variable "EXPORT_CIDR" { type = string nullable = false default = "10.0.0.0/8" } variable "PROJECT" { type = string nullable = false validation { condition = var.PROJECT != "" error_message = "PROJECT is required." } } variable "REGION" { type = string nullable = false validation { condition = var.REGION != "" error_message = "REGION is required." } } variable "ZONE" { type = string nullable = false validation { condition = var.ZONE != "" error_message = "ZONE is required." } } variable "NETWORK" { type = string default = "default" } variable "SUBNETWORK" { type = string default = "default" } variable "ASSIGN_STATIC_IPS" { type = bool nullable = false default = false } variable "PROXY_BASENAME" { type = string nullable = false default = "nfsproxy" validation { condition = var.PROXY_BASENAME != "" error_message = "PROXY_BASENAME is required." } } variable "PROXY_LABELS" { type = map(string) default = { vm-type = "nfs-proxy", } } variable "PROXY_IMAGENAME" { type = string nullable = false validation { condition = var.PROXY_IMAGENAME != "" error_message = "PROXY_IMAGENAME is required." } } variable "KNFSD_NODES" { type = number nullable = false default = 3 } variable "AUTO_CREATE_FIREWALL_RULES" { type = bool nullable = false default = true } variable "TRAFFIC_DISTRIBUTION_MODE" { type = string nullable = false validation { condition = contains(["dns_round_robin", "loadbalancer", "none"], var.TRAFFIC_DISTRIBUTION_MODE) error_message = "Valid values for TRAFFIC_DISTRIBUTION_MODE are 'dns_round_robin', 'loadbalancer', and 'none'." } } variable "LOADBALANCER_IP" { type = string nullable = true default = null } variable "DNS_NAME" { type = string nullable = false default = "" validation { condition = var.DNS_NAME == "" || endswith(var.DNS_NAME, ".") error_message = "DNS_NAME must end with tailing dot, for example \"knfsd.example.\" (note the tailing dot)." } } variable "SERVICE_LABEL" { type = string default = "dns" } variable "SERVICE_ACCOUNT" { type = string nullable = false default = "" } variable "NCONNECT_VALUE" { type = string nullable = false default = "16" } variable "ACDIRMIN" { type = number nullable = false default = 600 } variable "ACDIRMAX" { type = number nullable = false default = 600 } variable "ACREGMIN" { type = number nullable = false default = 600 } variable "ACREGMAX" { type = number nullable = false default = 600 } variable "RSIZE" { type = number nullable = false default = 1048576 } variable "WSIZE" { type = number nullable = false default = 1048576 } variable "NOHIDE" { type = bool nullable = false default = true } variable "MOUNT_OPTIONS" { type = string nullable = false default = "" } variable "EXPORT_OPTIONS" { type = string nullable = false default = "" } variable "AUTO_REEXPORT" { type = bool nullable = false default = false } variable "FSID_MODE" { type = string nullable = false default = "static" validation { condition = contains(["static", "local", "external"], var.FSID_MODE) error_message = "Valid values for FSID_MODE are 'static', 'local', or 'external'." } } variable "FSID_DATABASE_DEPLOY" { type = bool nullable = false default = true } variable "FSID_DATABASE_PRIVATE_IP" { type = bool nullable = true default = null } variable "FSID_DATABASE_CONFIG" { type = string nullable = false default = "" } variable "VFS_CACHE_PRESSURE" { type = string nullable = false default = "100" } variable "READ_AHEAD" { type = number nullable = false default = 8388608 } variable "ENABLE_UDP" { type = bool nullable = false default = false } variable "ENABLE_AUTOHEALING_HEALTHCHECKS" { type = bool nullable = false default = true } variable "HEALTHCHECK_INITIAL_DELAY_SECONDS" { type = number nullable = false default = 600 } variable "HEALTHCHECK_INTERVAL_SECONDS" { type = number nullable = false default = 60 } variable "HEALTHCHECK_TIMEOUT_SECONDS" { type = number nullable = false default = 2 } variable "HEALTHCHECK_HEALTHY_THRESHOLD" { type = number nullable = false default = 3 } variable "HEALTHCHECK_UNHEALTHY_THRESHOLD" { type = number nullable = false default = 3 } variable "NUM_NFS_THREADS" { type = number nullable = false default = 512 } variable "ENABLE_STACKDRIVER_METRICS" { type = bool nullable = false default = true } variable "METRICS_AGENT_CONFIG" { type = string nullable = false default = "" } variable "ROUTE_METRICS_PRIVATE_GOOGLEAPIS" { type = bool nullable = false default = false } variable "ENABLE_KNFSD_AUTOSCALING" { type = bool nullable = false default = false } variable "KNFSD_AUTOSCALING_MIN_INSTANCES" { type = number nullable = false default = 1 } variable "KNFSD_AUTOSCALING_MAX_INSTANCES" { type = number nullable = false default = 10 } variable "KNFSD_AUTOSCALING_NFS_CONNECTIONS_THRESHOLD" { type = number nullable = false default = 250 } variable "CUSTOM_PRE_STARTUP_SCRIPT" { type = string nullable = false default = "echo 'Running default pre startup script. No action taken.'" } variable "CUSTOM_POST_STARTUP_SCRIPT" { type = string nullable = false default = "echo 'Running default post startup script. No action taken.'" } variable "MACHINE_TYPE" { type = string default = "n1-highmem-16" } variable "MIG_MINIMAL_ACTION" { type = string default = "RESTART" } variable "MIG_MAX_UNAVAILABLE_PERCENT" { type = number default = "100" } variable "MIG_REPLACEMENT_METHOD" { type = string default = "" } variable "ENABLE_KNFSD_AGENT" { type = bool nullable = false default = true } variable "DISABLED_NFS_VERSIONS" { type = string nullable = false default = "4.0,4.1,4.2" } variable "ENABLE_NETAPP_AUTO_DETECT" { type = bool nullable = false default = false } variable "NETAPP_HOST" { type = string nullable = false default = "" } variable "NETAPP_URL" { type = string nullable = false default = "" } variable "NETAPP_USER" { type = string nullable = false default = "" } variable "NETAPP_SECRET" { type = string nullable = false default = "" } variable "NETAPP_SECRET_PROJECT" { type = string nullable = false default = "" } variable "NETAPP_SECRET_VERSION" { type = string nullable = false default = "" } variable "NETAPP_CA" { type = string nullable = false default = "" } variable "NETAPP_ALLOW_COMMON_NAME" { type = bool nullable = false default = false } variable "CACHEFILESD_DISK_TYPE" { type = string nullable = false default = "local-ssd" validation { condition = contains(["local-ssd", "pd-ssd", "pd-balanced", "pd-standard"], var.CACHEFILESD_DISK_TYPE) error_message = "Valid values for CACHEFILESD_DISK_TYPE are 'local-ssd', 'pd-ssd', 'pd-balanced', or 'pd-standard'." } } variable "LOCAL_SSDS" { type = number nullable = false default = 4 validation { condition = contains([0, 1, 2, 3, 4, 5, 6, 7, 8, 16, 24], var.LOCAL_SSDS) error_message = "Valid values for LOCAL_SSDS are 0-8, 16 or 24." } } variable "CACHEFILESD_PERSISTENT_DISK_SIZE_GB" { type = number nullable = false default = 1500 validation { condition = var.CACHEFILESD_PERSISTENT_DISK_SIZE_GB >= 10 && var.CACHEFILESD_PERSISTENT_DISK_SIZE_GB <= 64000 error_message = "CACHEFILESD_PERSISTENT_DISK_SIZE_GB must be between 10 and 6400." } } variable "NFS_MOUNT_VERSION" { type = string nullable = false default = "3" validation { condition = contains(["3", "4", "4.0", "4.1", "4.2"], var.NFS_MOUNT_VERSION) error_message = "Valid values for NFS_MOUNT_VERSION are '3', '4', '4.0', '4.1', '4.2'." } } variable "ENABLE_HIGH_BANDWIDTH_CONFIGURATION" { type = bool nullable = false default = false } variable "ENABLE_GVNIC" { type = bool nullable = false default = false } variable "RESERVE_KNFSD_CAPACITY" { type = bool default = false }