cloud-foundation-fabric/blueprints/data-solutions/sqlserver-alwayson/variables.tf

188 lines
4.7 KiB
HCL

# 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
#
# https://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 "ad_domain_fqdn" {
description = "Active Directory domain (FQDN)"
type = string
validation {
condition = length(var.ad_domain_fqdn) > 0
error_message = "Active Directory domain needs to be specified."
}
}
variable "ad_domain_netbios" {
description = "Active Directory domain (NetBIOS)"
type = string
validation {
condition = length(var.ad_domain_netbios) > 0
error_message = "Active Directory domain needs to be specified."
}
}
variable "always_on_groups" {
description = "List of Always On Groups"
type = list(string)
default = ["bookshelf"]
}
variable "boot_disk_size" {
description = "Boot disk size in GB"
type = number
default = 50
}
variable "cluster_name" {
description = "Cluster name (prepended with prefix)"
type = string
default = "cluster"
}
variable "data_disk_size" {
description = "Database disk size in GB"
type = number
default = 200
}
variable "health_check_config" {
description = "Health check configuration"
type = object({ check_interval_sec = number,
healthy_threshold = number,
unhealthy_threshold = number,
timeout_sec = number,
})
default = {
check_interval_sec = 2
healthy_threshold = 1
unhealthy_threshold = 2
timeout_sec = 1
}
}
variable "health_check_port" {
description = "Health check port"
type = number
default = 59997
}
variable "health_check_ranges" {
description = "Health check ranges"
type = list(string)
default = ["35.191.0.0/16", "209.85.152.0/22", "209.85.204.0/22"]
}
variable "managed_ad_dn" {
description = "Managed Active Directory domain (eg. OU=Cloud,DC=example,DC=com)"
type = string
default = ""
}
variable "network" {
description = "Network to use in the project"
type = string
}
variable "node_image" {
description = "SQL Server node machine image"
type = string
default = "projects/windows-sql-cloud/global/images/family/sql-ent-2019-win-2019"
}
variable "node_instance_type" {
description = "SQL Server database node instance type"
type = string
default = "n2-standard-8"
}
variable "node_name" {
description = "Node base name"
type = string
default = "node"
}
variable "prefix" {
description = "Prefix used for resources (for multiple clusters in a project)"
type = string
default = "aog"
}
variable "project_create" {
description = "Provide values if project creation is needed, uses existing project if null. Parent is in 'folders/nnn' or 'organizations/nnn' format."
type = object({
billing_account_id = string
parent = string
})
default = null
}
variable "project_id" {
description = "Google Cloud project ID"
type = string
}
variable "region" {
description = "Region for resources"
type = string
default = "europe-west4"
}
variable "shared_vpc_project_id" {
description = "Shared VPC project ID for firewall rules"
type = string
default = null
}
variable "sql_admin_password" {
description = "Password for the SQL admin user to be created"
type = string
validation {
condition = length(var.sql_admin_password) > 0
error_message = "SQL administrator password needs to be specified."
}
}
variable "sql_client_cidrs" {
description = "CIDR ranges that are allowed to connect to SQL Server"
type = list(string)
default = ["0.0.0.0/0"]
}
variable "subnetwork" {
description = "Subnetwork to use in the project"
type = string
}
variable "vpc_ip_cidr_range" {
description = "Ip range used in the subnet deployef in the Service Project."
type = string
default = "10.0.0.0/20"
}
variable "witness_image" {
description = "SQL Server witness machine image"
type = string
default = "projects/windows-cloud/global/images/family/windows-2019"
}
variable "witness_instance_type" {
description = "SQL Server witness node instance type"
type = string
default = "n2-standard-2"
}
variable "witness_name" {
description = "Witness base name"
type = string
default = "witness"
}