You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
module"google_compute_region_instance_group_manager" {
source="./modules/google-beta/r/google_compute_region_instance_group_manager"# base_instance_name - (required) is a type of stringbase_instance_name=null# description - (optional) is a type of stringdescription=null# distribution_policy_target_shape - (optional) is a type of stringdistribution_policy_target_shape=null# distribution_policy_zones - (optional) is a type of set of stringdistribution_policy_zones=[]
# name - (required) is a type of stringname=null# project - (optional) is a type of stringproject=null# region - (optional) is a type of stringregion=null# target_pools - (optional) is a type of set of stringtarget_pools=[]
# target_size - (optional) is a type of numbertarget_size=null# wait_for_instances - (optional) is a type of boolwait_for_instances=nullauto_healing_policies=[{
health_check =null
initial_delay_sec =null
}]
named_port=[{
name =null
port =null
}]
stateful_disk=[{
delete_rule =null
device_name =null
}]
timeouts=[{
create =null
delete =null
update =null
}]
update_policy=[{
instance_redistribution_type =null
max_surge_fixed =null
max_surge_percent =null
max_unavailable_fixed =null
max_unavailable_percent =null
min_ready_sec =null
minimal_action =null
replacement_method =null
type =null
}]
version=[{
instance_template =null
name =null
target_size = [{
fixed =null
percent =null
}]
}]
}
variable"base_instance_name" {
description="(required) - The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name."type=string
}
variable"description" {
description="(optional) - An optional textual description of the instance group manager."type=stringdefault=null
}
variable"distribution_policy_target_shape" {
description="(optional) - The shape to which the group converges either proactively or on resize events (depending on the value set in updatePolicy.instanceRedistributionType)."type=stringdefault=null
}
variable"distribution_policy_zones" {
description="(optional) - The distribution policy for this managed instance group. You can specify one or more values."type=set(string)
default=null
}
variable"name" {
description="(required) - The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens."type=string
}
variable"project" {
description="(optional) - The ID of the project in which the resource belongs. If it is not provided, the provider project is used."type=stringdefault=null
}
variable"region" {
description="(optional) - The region where the managed instance group resides."type=stringdefault=null
}
variable"target_pools" {
description="(optional) - The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances."type=set(string)
default=null
}
variable"target_size" {
description="(optional) - The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0."type=numberdefault=null
}
variable"wait_for_instances" {
description="(optional) - Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, Terraform will continue trying until it times out."type=booldefault=null
}
variable"auto_healing_policies" {
description="nested block: NestingList, min items: 0, max items: 1"type=set(object(
{
health_check =string
initial_delay_sec =number
}
))
default=[]
}
variable"named_port" {
description="nested block: NestingSet, min items: 0, max items: 0"type=set(object(
{
name =string
port =number
}
))
default=[]
}
variable"stateful_disk" {
description="nested block: NestingSet, min items: 0, max items: 0"type=set(object(
{
delete_rule =string
device_name =string
}
))
default=[]
}
variable"timeouts" {
description="nested block: NestingSingle, min items: 0, max items: 0"type=set(object(
{
create =string
delete =string
update =string
}
))
default=[]
}
variable"update_policy" {
description="nested block: NestingList, min items: 0, max items: 1"type=set(object(
{
instance_redistribution_type =string
max_surge_fixed =number
max_surge_percent =number
max_unavailable_fixed =number
max_unavailable_percent =number
min_ready_sec =number
minimal_action =string
replacement_method =string
type =string
}
))
default=[]
}
variable"version" {
description="nested block: NestingList, min items: 1, max items: 0"type=set(object(
{
instance_template =string
name =string
target_size =list(object(
{
fixed =number
percent =number
}
))
}
))
}
resource"google_compute_region_instance_group_manager""this" {
# base_instance_name - (required) is a type of stringbase_instance_name=var.base_instance_name# description - (optional) is a type of stringdescription=var.description# distribution_policy_target_shape - (optional) is a type of stringdistribution_policy_target_shape=var.distribution_policy_target_shape# distribution_policy_zones - (optional) is a type of set of stringdistribution_policy_zones=var.distribution_policy_zones# name - (required) is a type of stringname=var.name# project - (optional) is a type of stringproject=var.project# region - (optional) is a type of stringregion=var.region# target_pools - (optional) is a type of set of stringtarget_pools=var.target_pools# target_size - (optional) is a type of numbertarget_size=var.target_size# wait_for_instances - (optional) is a type of boolwait_for_instances=var.wait_for_instancesdynamic"auto_healing_policies" {
for_each=var.auto_healing_policiescontent {
# health_check - (required) is a type of stringhealth_check=auto_healing_policies.value["health_check"]
# initial_delay_sec - (required) is a type of numberinitial_delay_sec=auto_healing_policies.value["initial_delay_sec"]
}
}
dynamic"named_port" {
for_each=var.named_portcontent {
# name - (required) is a type of stringname=named_port.value["name"]
# port - (required) is a type of numberport=named_port.value["port"]
}
}
dynamic"stateful_disk" {
for_each=var.stateful_diskcontent {
# delete_rule - (optional) is a type of stringdelete_rule=stateful_disk.value["delete_rule"]
# device_name - (required) is a type of stringdevice_name=stateful_disk.value["device_name"]
}
}
dynamic"timeouts" {
for_each=var.timeoutscontent {
# create - (optional) is a type of stringcreate=timeouts.value["create"]
# delete - (optional) is a type of stringdelete=timeouts.value["delete"]
# update - (optional) is a type of stringupdate=timeouts.value["update"]
}
}
dynamic"update_policy" {
for_each=var.update_policycontent {
# instance_redistribution_type - (optional) is a type of stringinstance_redistribution_type=update_policy.value["instance_redistribution_type"]
# max_surge_fixed - (optional) is a type of numbermax_surge_fixed=update_policy.value["max_surge_fixed"]
# max_surge_percent - (optional) is a type of numbermax_surge_percent=update_policy.value["max_surge_percent"]
# max_unavailable_fixed - (optional) is a type of numbermax_unavailable_fixed=update_policy.value["max_unavailable_fixed"]
# max_unavailable_percent - (optional) is a type of numbermax_unavailable_percent=update_policy.value["max_unavailable_percent"]
# min_ready_sec - (optional) is a type of numbermin_ready_sec=update_policy.value["min_ready_sec"]
# minimal_action - (required) is a type of stringminimal_action=update_policy.value["minimal_action"]
# replacement_method - (optional) is a type of stringreplacement_method=update_policy.value["replacement_method"]
# type - (required) is a type of stringtype=update_policy.value["type"]
}
}
dynamic"version" {
for_each=var.versioncontent {
# instance_template - (required) is a type of stringinstance_template=version.value["instance_template"]
# name - (optional) is a type of stringname=version.value["name"]
dynamic"target_size" {
for_each=version.value.target_sizecontent {
# fixed - (optional) is a type of numberfixed=target_size.value["fixed"]
# percent - (optional) is a type of numberpercent=target_size.value["percent"]
}
}
}
}
}