fluxfw-gcp/tf/variables.tf (90 lines of code) (raw):

# Copyright 2022 Google LLC # # 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 "cluster_storage" { description = "A map with keys 'share' and 'mountpoint' describing an NFS export and its intended mount point" type = map(string) } variable "compute_arm_family" { description = "The source arm image family prefix to be used by the compute node(s)" type = string default = "flux-fw-compute-arm64" } variable "compute_family" { description = "The source image x86 prefix to be used by the compute node(s)" type = string default = "flux-fw-compute-x86-64" } variable "compute_node_specs" { description = "A list of compute node specifications" type = list(object({ name_prefix = string machine_arch = string machine_type = string gpu_type = string gpu_count = number compact = bool instances = number properties = set(string) boot_script = string })) default = [] } variable "compute_scopes" { description = "The set of access scopes for compute node instances" default = [ "cloud-platform" ] type = set(string) } variable "login_family" { description = "The source image prefix to be used by the login node" type = string default = "flux-fw-login-x86-64" } variable "login_node_specs" { description = "A list of login node specifications" type = list(object({ name_prefix = string machine_arch = string machine_type = string instances = number properties = set(string) boot_script = string })) default = [] } variable "login_scopes" { description = "The set of access scopes for login node instances" default = [ "cloud-platform" ] type = set(string) } variable "manager_family" { description = "The source image prefix to be used by the manager" type = string default = "flux-fw-manager" } variable "manager_machine_type" { description = "The Compute Engine machine type to be used for the management node [note: must be an x86_64 or AMD machine type]" type = string } variable "manager_name_prefix" { description = "The name prefix for the management node instance, the full instance name will be this prefix followed by node number" type = string } variable "manager_scopes" { description = "The set of access scopes for management node instance" default = [ "cloud-platform" ] type = set(string) } variable "project_id" { description = "The GCP project ID" type = string } variable "region" { description = "The GCP region where the cluster resides" type = string } variable "service_account_emails" { description = "A map with keys: 'compute', 'login', 'manager' that map to the service account to be used by the respective nodes" type = map(string) } variable "subnetwork" { description = "Subnetwork to deploy to" type = string }