2021-10-07 09:20:07 -07:00
/ * *
2022-01-01 06:52:31 -08:00
* Copyright 2022 Google LLC
2021-10-07 09:20:07 -07:00
*
* 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 " authorized_networks " {
description = " Map of NAME=>CIDR_RANGE to allow to connect to the database(s). "
type = map ( string )
default = null
}
variable " availability_type " {
2022-01-31 01:45:34 -08:00
description = " Availability type for the primary replica. Either `ZONAL` or `REGIONAL`. "
2021-10-07 09:20:07 -07:00
type = string
default = " ZONAL "
}
variable " backup_configuration " {
2022-01-31 01:45:34 -08:00
description = " Backup settings for primary instance. Will be automatically enabled if using MySQL with one or more replicas. "
2021-10-07 09:20:07 -07:00
type = object ( {
enabled = bool
binary_log_enabled = bool
2021-10-18 05:33:19 -07:00
start_time = string
location = string
log_retention_days = number
2021-10-18 07:55:37 -07:00
retention_count = number
2021-10-07 09:20:07 -07:00
} )
default = {
enabled = false
binary_log_enabled = false
2021-10-18 05:33:19 -07:00
start_time = " 23:00 "
location = " EU "
log_retention_days = 7
2021-10-18 06:10:54 -07:00
retention_count = 7
2021-10-18 05:33:19 -07:00
}
}
2021-10-07 09:20:07 -07:00
variable " database_version " {
description = " Database type and version to create. "
type = string
}
variable " databases " {
description = " Databases to create once the primary instance is created. "
type = list ( string )
default = null
}
2021-10-07 09:25:49 -07:00
variable " deletion_protection " {
2021-10-08 09:26:04 -07:00
description = " Allow terraform to delete instances. "
type = bool
default = false
2021-10-07 09:25:49 -07:00
}
2021-10-07 09:20:07 -07:00
variable " disk_size " {
description = " Disk size in GB. Set to null to enable autoresize. "
type = number
default = null
}
variable " disk_type " {
description = " The type of data disk: `PD_SSD` or `PD_HDD`. "
type = string
default = " PD_SSD "
}
variable " flags " {
description = " Map FLAG_NAME=>VALUE for database-specific tuning. "
type = map ( string )
default = null
}
variable " labels " {
description = " Labels to be attached to all instances. "
type = map ( string )
default = null
}
variable " name " {
description = " Name of primary replica. "
type = string
}
variable " network " {
description = " VPC self link where the instances will be deployed. Private Service Networking must be enabled and configured in this VPC. "
type = string
}
variable " prefix " {
description = " Prefix used to generate instance names. "
type = string
default = null
}
variable " project_id " {
description = " The ID of the project where this instances will be created. "
type = string
}
variable " region " {
description = " Region of the primary replica. "
type = string
}
variable " replicas " {
description = " Map of NAME=>REGION for additional read replicas. Set to null to disable replica creation. "
type = map ( any )
default = null
}
2021-10-08 09:26:04 -07:00
variable " tier " {
description = " The machine type to use for the instances. "
type = string
}
2021-10-07 09:20:07 -07:00
variable " users " {
2022-01-31 01:45:34 -08:00
description = " Map of users to create in the primary instance (and replicated to other replicas) in the format USER=>PASSWORD. For MySQL, anything afterr the first `@` (if persent) will be used as the user's host. Set PASSWORD to null if you want to get an autogenerated password. "
2021-10-07 09:20:07 -07:00
type = map ( string )
default = null
}