cloud-foundation-fabric/blueprints/gcve/monitoring/variables.tf

97 lines
2.8 KiB
Terraform
Raw Normal View History

/**
* Copyright 2024 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 "create_dashboards" {
description = "Specify sample GCVE monitoring dashboards should be installed."
type = bool
default = true
}
variable "create_firewall_rule" {
description = "Specify whether a firewall rule to allow Load Balancer Healthcheck should be implemented."
type = bool
default = true
}
variable "gcve_region" {
description = "Region where the Private Cloud is deployed."
type = string
}
variable "initial_delay_sec" {
description = "How long to delay checking for healthcheck upon initialization."
type = number
default = 180
}
variable "monitoring_image" {
description = "Resource URI for OS image used to deploy monitoring agent."
type = string
default = "projects/debian-cloud/global/images/family/debian-11"
}
variable "project_create" {
description = "Project configuration for newly created project. Leave null to use existing project. Project creation forces VPC and cluster creation."
type = object({
billing_account = string
parent = optional(string)
shared_vpc_host = optional(string)
})
default = null
}
variable "project_id" {
description = "Project id of existing or created project."
type = string
}
variable "sa_gcve_monitoring" {
description = "Service account for GCVE monitoring agent."
type = string
default = "gcve-mon-sa"
}
variable "vm_mon_config" {
description = "GCE monitoring instance configuration."
type = object({
vm_mon_name = optional(string, "bp-agent")
vm_mon_type = optional(string, "e2-small")
vm_mon_zone = string
})
nullable = false
}
variable "vpc_config" {
description = "Shared VPC project and VPC details."
type = object({
host_project_id = string
vpc_self_link = string
subnetwork_self_link = string
})
nullable = false
}
variable "vsphere_secrets" {
description = "Secret Manager secrets that contain vSphere credentials and FQDN."
type = object({
vsphere_password = optional(string, "gcve-mon-vsphere-password")
vsphere_server = optional(string, "gcve-mon-vsphere-server")
vsphere_user = optional(string, "gcve-mon-vsphere-user")
})
nullable = false
default = {}
}