gcp.compute.InstanceGroupManager
Explore with Pulumi AI
The Google Compute Engine Instance Group Manager API creates and manages pools of homogeneous Compute Engine virtual machine instances from a common instance template. For more information, see the official documentation and API
Note: Use gcp.compute.RegionInstanceGroupManager to create a regional (multi-zone) instance group manager.
Example Usage
With Top Level Instance Template (Google
Provider)
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const autohealing = new gcp.compute.HealthCheck("autohealing", {
name: "autohealing-health-check",
checkIntervalSec: 5,
timeoutSec: 5,
healthyThreshold: 2,
unhealthyThreshold: 10,
httpHealthCheck: {
requestPath: "/healthz",
port: 8080,
},
});
const appserver = new gcp.compute.InstanceGroupManager("appserver", {
name: "appserver-igm",
baseInstanceName: "app",
zone: "us-central1-a",
versions: [{
instanceTemplate: appserverGoogleComputeInstanceTemplate.selfLinkUnique,
}],
allInstancesConfig: {
metadata: {
metadata_key: "metadata_value",
},
labels: {
label_key: "label_value",
},
},
targetPools: [appserverGoogleComputeTargetPool.id],
targetSize: 2,
namedPorts: [{
name: "customhttp",
port: 8888,
}],
autoHealingPolicies: {
healthCheck: autohealing.id,
initialDelaySec: 300,
},
});
import pulumi
import pulumi_gcp as gcp
autohealing = gcp.compute.HealthCheck("autohealing",
name="autohealing-health-check",
check_interval_sec=5,
timeout_sec=5,
healthy_threshold=2,
unhealthy_threshold=10,
http_health_check=gcp.compute.HealthCheckHttpHealthCheckArgs(
request_path="/healthz",
port=8080,
))
appserver = gcp.compute.InstanceGroupManager("appserver",
name="appserver-igm",
base_instance_name="app",
zone="us-central1-a",
versions=[gcp.compute.InstanceGroupManagerVersionArgs(
instance_template=appserver_google_compute_instance_template["selfLinkUnique"],
)],
all_instances_config=gcp.compute.InstanceGroupManagerAllInstancesConfigArgs(
metadata={
"metadata_key": "metadata_value",
},
labels={
"label_key": "label_value",
},
),
target_pools=[appserver_google_compute_target_pool["id"]],
target_size=2,
named_ports=[gcp.compute.InstanceGroupManagerNamedPortArgs(
name="customhttp",
port=8888,
)],
auto_healing_policies=gcp.compute.InstanceGroupManagerAutoHealingPoliciesArgs(
health_check=autohealing.id,
initial_delay_sec=300,
))
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
autohealing, err := compute.NewHealthCheck(ctx, "autohealing", &compute.HealthCheckArgs{
Name: pulumi.String("autohealing-health-check"),
CheckIntervalSec: pulumi.Int(5),
TimeoutSec: pulumi.Int(5),
HealthyThreshold: pulumi.Int(2),
UnhealthyThreshold: pulumi.Int(10),
HttpHealthCheck: &compute.HealthCheckHttpHealthCheckArgs{
RequestPath: pulumi.String("/healthz"),
Port: pulumi.Int(8080),
},
})
if err != nil {
return err
}
_, err = compute.NewInstanceGroupManager(ctx, "appserver", &compute.InstanceGroupManagerArgs{
Name: pulumi.String("appserver-igm"),
BaseInstanceName: pulumi.String("app"),
Zone: pulumi.String("us-central1-a"),
Versions: compute.InstanceGroupManagerVersionArray{
&compute.InstanceGroupManagerVersionArgs{
InstanceTemplate: pulumi.Any(appserverGoogleComputeInstanceTemplate.SelfLinkUnique),
},
},
AllInstancesConfig: &compute.InstanceGroupManagerAllInstancesConfigArgs{
Metadata: pulumi.StringMap{
"metadata_key": pulumi.String("metadata_value"),
},
Labels: pulumi.StringMap{
"label_key": pulumi.String("label_value"),
},
},
TargetPools: pulumi.StringArray{
appserverGoogleComputeTargetPool.Id,
},
TargetSize: pulumi.Int(2),
NamedPorts: compute.InstanceGroupManagerNamedPortArray{
&compute.InstanceGroupManagerNamedPortArgs{
Name: pulumi.String("customhttp"),
Port: pulumi.Int(8888),
},
},
AutoHealingPolicies: &compute.InstanceGroupManagerAutoHealingPoliciesArgs{
HealthCheck: autohealing.ID(),
InitialDelaySec: pulumi.Int(300),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var autohealing = new Gcp.Compute.HealthCheck("autohealing", new()
{
Name = "autohealing-health-check",
CheckIntervalSec = 5,
TimeoutSec = 5,
HealthyThreshold = 2,
UnhealthyThreshold = 10,
HttpHealthCheck = new Gcp.Compute.Inputs.HealthCheckHttpHealthCheckArgs
{
RequestPath = "/healthz",
Port = 8080,
},
});
var appserver = new Gcp.Compute.InstanceGroupManager("appserver", new()
{
Name = "appserver-igm",
BaseInstanceName = "app",
Zone = "us-central1-a",
Versions = new[]
{
new Gcp.Compute.Inputs.InstanceGroupManagerVersionArgs
{
InstanceTemplate = appserverGoogleComputeInstanceTemplate.SelfLinkUnique,
},
},
AllInstancesConfig = new Gcp.Compute.Inputs.InstanceGroupManagerAllInstancesConfigArgs
{
Metadata =
{
{ "metadata_key", "metadata_value" },
},
Labels =
{
{ "label_key", "label_value" },
},
},
TargetPools = new[]
{
appserverGoogleComputeTargetPool.Id,
},
TargetSize = 2,
NamedPorts = new[]
{
new Gcp.Compute.Inputs.InstanceGroupManagerNamedPortArgs
{
Name = "customhttp",
Port = 8888,
},
},
AutoHealingPolicies = new Gcp.Compute.Inputs.InstanceGroupManagerAutoHealingPoliciesArgs
{
HealthCheck = autohealing.Id,
InitialDelaySec = 300,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.HealthCheck;
import com.pulumi.gcp.compute.HealthCheckArgs;
import com.pulumi.gcp.compute.inputs.HealthCheckHttpHealthCheckArgs;
import com.pulumi.gcp.compute.InstanceGroupManager;
import com.pulumi.gcp.compute.InstanceGroupManagerArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerVersionArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerAllInstancesConfigArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerNamedPortArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerAutoHealingPoliciesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var autohealing = new HealthCheck("autohealing", HealthCheckArgs.builder()
.name("autohealing-health-check")
.checkIntervalSec(5)
.timeoutSec(5)
.healthyThreshold(2)
.unhealthyThreshold(10)
.httpHealthCheck(HealthCheckHttpHealthCheckArgs.builder()
.requestPath("/healthz")
.port("8080")
.build())
.build());
var appserver = new InstanceGroupManager("appserver", InstanceGroupManagerArgs.builder()
.name("appserver-igm")
.baseInstanceName("app")
.zone("us-central1-a")
.versions(InstanceGroupManagerVersionArgs.builder()
.instanceTemplate(appserverGoogleComputeInstanceTemplate.selfLinkUnique())
.build())
.allInstancesConfig(InstanceGroupManagerAllInstancesConfigArgs.builder()
.metadata(Map.of("metadata_key", "metadata_value"))
.labels(Map.of("label_key", "label_value"))
.build())
.targetPools(appserverGoogleComputeTargetPool.id())
.targetSize(2)
.namedPorts(InstanceGroupManagerNamedPortArgs.builder()
.name("customhttp")
.port(8888)
.build())
.autoHealingPolicies(InstanceGroupManagerAutoHealingPoliciesArgs.builder()
.healthCheck(autohealing.id())
.initialDelaySec(300)
.build())
.build());
}
}
resources:
autohealing:
type: gcp:compute:HealthCheck
properties:
name: autohealing-health-check
checkIntervalSec: 5
timeoutSec: 5
healthyThreshold: 2
unhealthyThreshold: 10 # 50 seconds
httpHealthCheck:
requestPath: /healthz
port: '8080'
appserver:
type: gcp:compute:InstanceGroupManager
properties:
name: appserver-igm
baseInstanceName: app
zone: us-central1-a
versions:
- instanceTemplate: ${appserverGoogleComputeInstanceTemplate.selfLinkUnique}
allInstancesConfig:
metadata:
metadata_key: metadata_value
labels:
label_key: label_value
targetPools:
- ${appserverGoogleComputeTargetPool.id}
targetSize: 2
namedPorts:
- name: customhttp
port: 8888
autoHealingPolicies:
healthCheck: ${autohealing.id}
initialDelaySec: 300
With Multiple Versions (Google-Beta
Provider)
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const appserver = new gcp.compute.InstanceGroupManager("appserver", {
name: "appserver-igm",
baseInstanceName: "app",
zone: "us-central1-a",
targetSize: 5,
versions: [
{
name: "appserver",
instanceTemplate: appserverGoogleComputeInstanceTemplate.selfLinkUnique,
},
{
name: "appserver-canary",
instanceTemplate: appserver_canary.selfLinkUnique,
targetSize: {
fixed: 1,
},
},
],
});
import pulumi
import pulumi_gcp as gcp
appserver = gcp.compute.InstanceGroupManager("appserver",
name="appserver-igm",
base_instance_name="app",
zone="us-central1-a",
target_size=5,
versions=[
gcp.compute.InstanceGroupManagerVersionArgs(
name="appserver",
instance_template=appserver_google_compute_instance_template["selfLinkUnique"],
),
gcp.compute.InstanceGroupManagerVersionArgs(
name="appserver-canary",
instance_template=appserver_canary["selfLinkUnique"],
target_size=gcp.compute.InstanceGroupManagerVersionTargetSizeArgs(
fixed=1,
),
),
])
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := compute.NewInstanceGroupManager(ctx, "appserver", &compute.InstanceGroupManagerArgs{
Name: pulumi.String("appserver-igm"),
BaseInstanceName: pulumi.String("app"),
Zone: pulumi.String("us-central1-a"),
TargetSize: pulumi.Int(5),
Versions: compute.InstanceGroupManagerVersionArray{
&compute.InstanceGroupManagerVersionArgs{
Name: pulumi.String("appserver"),
InstanceTemplate: pulumi.Any(appserverGoogleComputeInstanceTemplate.SelfLinkUnique),
},
&compute.InstanceGroupManagerVersionArgs{
Name: pulumi.String("appserver-canary"),
InstanceTemplate: pulumi.Any(appserver_canary.SelfLinkUnique),
TargetSize: &compute.InstanceGroupManagerVersionTargetSizeArgs{
Fixed: pulumi.Int(1),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var appserver = new Gcp.Compute.InstanceGroupManager("appserver", new()
{
Name = "appserver-igm",
BaseInstanceName = "app",
Zone = "us-central1-a",
TargetSize = 5,
Versions = new[]
{
new Gcp.Compute.Inputs.InstanceGroupManagerVersionArgs
{
Name = "appserver",
InstanceTemplate = appserverGoogleComputeInstanceTemplate.SelfLinkUnique,
},
new Gcp.Compute.Inputs.InstanceGroupManagerVersionArgs
{
Name = "appserver-canary",
InstanceTemplate = appserver_canary.SelfLinkUnique,
TargetSize = new Gcp.Compute.Inputs.InstanceGroupManagerVersionTargetSizeArgs
{
Fixed = 1,
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.InstanceGroupManager;
import com.pulumi.gcp.compute.InstanceGroupManagerArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerVersionArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerVersionTargetSizeArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var appserver = new InstanceGroupManager("appserver", InstanceGroupManagerArgs.builder()
.name("appserver-igm")
.baseInstanceName("app")
.zone("us-central1-a")
.targetSize(5)
.versions(
InstanceGroupManagerVersionArgs.builder()
.name("appserver")
.instanceTemplate(appserverGoogleComputeInstanceTemplate.selfLinkUnique())
.build(),
InstanceGroupManagerVersionArgs.builder()
.name("appserver-canary")
.instanceTemplate(appserver_canary.selfLinkUnique())
.targetSize(InstanceGroupManagerVersionTargetSizeArgs.builder()
.fixed(1)
.build())
.build())
.build());
}
}
resources:
appserver:
type: gcp:compute:InstanceGroupManager
properties:
name: appserver-igm
baseInstanceName: app
zone: us-central1-a
targetSize: 5
versions:
- name: appserver
instanceTemplate: ${appserverGoogleComputeInstanceTemplate.selfLinkUnique}
- name: appserver-canary
instanceTemplate: ${["appserver-canary"].selfLinkUnique}
targetSize:
fixed: 1
With Standby Policy (Google-Beta
Provider)
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const igm_sr = new gcp.compute.InstanceGroupManager("igm-sr", {
name: "tf-sr-igm",
baseInstanceName: "tf-sr-igm-instance",
zone: "us-central1-a",
targetSize: 5,
versions: [{
instanceTemplate: sr_igm.selfLink,
name: "primary",
}],
standbyPolicy: {
initialDelaySec: 30,
mode: "MANUAL",
},
targetSuspendedSize: 2,
targetStoppedSize: 1,
});
import pulumi
import pulumi_gcp as gcp
igm_sr = gcp.compute.InstanceGroupManager("igm-sr",
name="tf-sr-igm",
base_instance_name="tf-sr-igm-instance",
zone="us-central1-a",
target_size=5,
versions=[gcp.compute.InstanceGroupManagerVersionArgs(
instance_template=sr_igm["selfLink"],
name="primary",
)],
standby_policy=gcp.compute.InstanceGroupManagerStandbyPolicyArgs(
initial_delay_sec=30,
mode="MANUAL",
),
target_suspended_size=2,
target_stopped_size=1)
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := compute.NewInstanceGroupManager(ctx, "igm-sr", &compute.InstanceGroupManagerArgs{
Name: pulumi.String("tf-sr-igm"),
BaseInstanceName: pulumi.String("tf-sr-igm-instance"),
Zone: pulumi.String("us-central1-a"),
TargetSize: pulumi.Int(5),
Versions: compute.InstanceGroupManagerVersionArray{
&compute.InstanceGroupManagerVersionArgs{
InstanceTemplate: pulumi.Any(sr_igm.SelfLink),
Name: pulumi.String("primary"),
},
},
StandbyPolicy: &compute.InstanceGroupManagerStandbyPolicyArgs{
InitialDelaySec: pulumi.Int(30),
Mode: pulumi.String("MANUAL"),
},
TargetSuspendedSize: pulumi.Int(2),
TargetStoppedSize: pulumi.Int(1),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var igm_sr = new Gcp.Compute.InstanceGroupManager("igm-sr", new()
{
Name = "tf-sr-igm",
BaseInstanceName = "tf-sr-igm-instance",
Zone = "us-central1-a",
TargetSize = 5,
Versions = new[]
{
new Gcp.Compute.Inputs.InstanceGroupManagerVersionArgs
{
InstanceTemplate = sr_igm.SelfLink,
Name = "primary",
},
},
StandbyPolicy = new Gcp.Compute.Inputs.InstanceGroupManagerStandbyPolicyArgs
{
InitialDelaySec = 30,
Mode = "MANUAL",
},
TargetSuspendedSize = 2,
TargetStoppedSize = 1,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.InstanceGroupManager;
import com.pulumi.gcp.compute.InstanceGroupManagerArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerVersionArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerStandbyPolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var igm_sr = new InstanceGroupManager("igm-sr", InstanceGroupManagerArgs.builder()
.name("tf-sr-igm")
.baseInstanceName("tf-sr-igm-instance")
.zone("us-central1-a")
.targetSize(5)
.versions(InstanceGroupManagerVersionArgs.builder()
.instanceTemplate(sr_igm.selfLink())
.name("primary")
.build())
.standbyPolicy(InstanceGroupManagerStandbyPolicyArgs.builder()
.initialDelaySec(30)
.mode("MANUAL")
.build())
.targetSuspendedSize(2)
.targetStoppedSize(1)
.build());
}
}
resources:
igm-sr:
type: gcp:compute:InstanceGroupManager
properties:
name: tf-sr-igm
baseInstanceName: tf-sr-igm-instance
zone: us-central1-a
targetSize: 5
versions:
- instanceTemplate: ${["sr-igm"].selfLink}
name: primary
standbyPolicy:
initialDelaySec: 30
mode: MANUAL
targetSuspendedSize: 2
targetStoppedSize: 1
Create InstanceGroupManager Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new InstanceGroupManager(name: string, args: InstanceGroupManagerArgs, opts?: CustomResourceOptions);
@overload
def InstanceGroupManager(resource_name: str,
args: InstanceGroupManagerArgs,
opts: Optional[ResourceOptions] = None)
@overload
def InstanceGroupManager(resource_name: str,
opts: Optional[ResourceOptions] = None,
base_instance_name: Optional[str] = None,
versions: Optional[Sequence[InstanceGroupManagerVersionArgs]] = None,
standby_policy: Optional[InstanceGroupManagerStandbyPolicyArgs] = None,
stateful_internal_ips: Optional[Sequence[InstanceGroupManagerStatefulInternalIpArgs]] = None,
instance_lifecycle_policy: Optional[InstanceGroupManagerInstanceLifecyclePolicyArgs] = None,
list_managed_instances_results: Optional[str] = None,
name: Optional[str] = None,
named_ports: Optional[Sequence[InstanceGroupManagerNamedPortArgs]] = None,
params: Optional[InstanceGroupManagerParamsArgs] = None,
project: Optional[str] = None,
all_instances_config: Optional[InstanceGroupManagerAllInstancesConfigArgs] = None,
stateful_disks: Optional[Sequence[InstanceGroupManagerStatefulDiskArgs]] = None,
stateful_external_ips: Optional[Sequence[InstanceGroupManagerStatefulExternalIpArgs]] = None,
description: Optional[str] = None,
target_pools: Optional[Sequence[str]] = None,
target_size: Optional[int] = None,
target_stopped_size: Optional[int] = None,
target_suspended_size: Optional[int] = None,
update_policy: Optional[InstanceGroupManagerUpdatePolicyArgs] = None,
auto_healing_policies: Optional[InstanceGroupManagerAutoHealingPoliciesArgs] = None,
wait_for_instances: Optional[bool] = None,
wait_for_instances_status: Optional[str] = None,
zone: Optional[str] = None)
func NewInstanceGroupManager(ctx *Context, name string, args InstanceGroupManagerArgs, opts ...ResourceOption) (*InstanceGroupManager, error)
public InstanceGroupManager(string name, InstanceGroupManagerArgs args, CustomResourceOptions? opts = null)
public InstanceGroupManager(String name, InstanceGroupManagerArgs args)
public InstanceGroupManager(String name, InstanceGroupManagerArgs args, CustomResourceOptions options)
type: gcp:compute:InstanceGroupManager
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args InstanceGroupManagerArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args InstanceGroupManagerArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args InstanceGroupManagerArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args InstanceGroupManagerArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args InstanceGroupManagerArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var instanceGroupManagerResource = new Gcp.Compute.InstanceGroupManager("instanceGroupManagerResource", new()
{
BaseInstanceName = "string",
Versions = new[]
{
new Gcp.Compute.Inputs.InstanceGroupManagerVersionArgs
{
InstanceTemplate = "string",
Name = "string",
TargetSize = new Gcp.Compute.Inputs.InstanceGroupManagerVersionTargetSizeArgs
{
Fixed = 0,
Percent = 0,
},
},
},
StandbyPolicy = new Gcp.Compute.Inputs.InstanceGroupManagerStandbyPolicyArgs
{
InitialDelaySec = 0,
Mode = "string",
},
StatefulInternalIps = new[]
{
new Gcp.Compute.Inputs.InstanceGroupManagerStatefulInternalIpArgs
{
DeleteRule = "string",
InterfaceName = "string",
},
},
InstanceLifecyclePolicy = new Gcp.Compute.Inputs.InstanceGroupManagerInstanceLifecyclePolicyArgs
{
DefaultActionOnFailure = "string",
ForceUpdateOnRepair = "string",
},
ListManagedInstancesResults = "string",
Name = "string",
NamedPorts = new[]
{
new Gcp.Compute.Inputs.InstanceGroupManagerNamedPortArgs
{
Name = "string",
Port = 0,
},
},
Params = new Gcp.Compute.Inputs.InstanceGroupManagerParamsArgs
{
ResourceManagerTags =
{
{ "string", "any" },
},
},
Project = "string",
AllInstancesConfig = new Gcp.Compute.Inputs.InstanceGroupManagerAllInstancesConfigArgs
{
Labels =
{
{ "string", "string" },
},
Metadata =
{
{ "string", "string" },
},
},
StatefulDisks = new[]
{
new Gcp.Compute.Inputs.InstanceGroupManagerStatefulDiskArgs
{
DeviceName = "string",
DeleteRule = "string",
},
},
StatefulExternalIps = new[]
{
new Gcp.Compute.Inputs.InstanceGroupManagerStatefulExternalIpArgs
{
DeleteRule = "string",
InterfaceName = "string",
},
},
Description = "string",
TargetPools = new[]
{
"string",
},
TargetSize = 0,
TargetStoppedSize = 0,
TargetSuspendedSize = 0,
UpdatePolicy = new Gcp.Compute.Inputs.InstanceGroupManagerUpdatePolicyArgs
{
MinimalAction = "string",
Type = "string",
MaxSurgeFixed = 0,
MaxSurgePercent = 0,
MaxUnavailableFixed = 0,
MaxUnavailablePercent = 0,
MinReadySec = 0,
MostDisruptiveAllowedAction = "string",
ReplacementMethod = "string",
},
AutoHealingPolicies = new Gcp.Compute.Inputs.InstanceGroupManagerAutoHealingPoliciesArgs
{
HealthCheck = "string",
InitialDelaySec = 0,
},
WaitForInstances = false,
WaitForInstancesStatus = "string",
Zone = "string",
});
example, err := compute.NewInstanceGroupManager(ctx, "instanceGroupManagerResource", &compute.InstanceGroupManagerArgs{
BaseInstanceName: pulumi.String("string"),
Versions: compute.InstanceGroupManagerVersionArray{
&compute.InstanceGroupManagerVersionArgs{
InstanceTemplate: pulumi.String("string"),
Name: pulumi.String("string"),
TargetSize: &compute.InstanceGroupManagerVersionTargetSizeArgs{
Fixed: pulumi.Int(0),
Percent: pulumi.Int(0),
},
},
},
StandbyPolicy: &compute.InstanceGroupManagerStandbyPolicyArgs{
InitialDelaySec: pulumi.Int(0),
Mode: pulumi.String("string"),
},
StatefulInternalIps: compute.InstanceGroupManagerStatefulInternalIpArray{
&compute.InstanceGroupManagerStatefulInternalIpArgs{
DeleteRule: pulumi.String("string"),
InterfaceName: pulumi.String("string"),
},
},
InstanceLifecyclePolicy: &compute.InstanceGroupManagerInstanceLifecyclePolicyArgs{
DefaultActionOnFailure: pulumi.String("string"),
ForceUpdateOnRepair: pulumi.String("string"),
},
ListManagedInstancesResults: pulumi.String("string"),
Name: pulumi.String("string"),
NamedPorts: compute.InstanceGroupManagerNamedPortArray{
&compute.InstanceGroupManagerNamedPortArgs{
Name: pulumi.String("string"),
Port: pulumi.Int(0),
},
},
Params: &compute.InstanceGroupManagerParamsArgs{
ResourceManagerTags: pulumi.Map{
"string": pulumi.Any("any"),
},
},
Project: pulumi.String("string"),
AllInstancesConfig: &compute.InstanceGroupManagerAllInstancesConfigArgs{
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
Metadata: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
StatefulDisks: compute.InstanceGroupManagerStatefulDiskArray{
&compute.InstanceGroupManagerStatefulDiskArgs{
DeviceName: pulumi.String("string"),
DeleteRule: pulumi.String("string"),
},
},
StatefulExternalIps: compute.InstanceGroupManagerStatefulExternalIpArray{
&compute.InstanceGroupManagerStatefulExternalIpArgs{
DeleteRule: pulumi.String("string"),
InterfaceName: pulumi.String("string"),
},
},
Description: pulumi.String("string"),
TargetPools: pulumi.StringArray{
pulumi.String("string"),
},
TargetSize: pulumi.Int(0),
TargetStoppedSize: pulumi.Int(0),
TargetSuspendedSize: pulumi.Int(0),
UpdatePolicy: &compute.InstanceGroupManagerUpdatePolicyArgs{
MinimalAction: pulumi.String("string"),
Type: pulumi.String("string"),
MaxSurgeFixed: pulumi.Int(0),
MaxSurgePercent: pulumi.Int(0),
MaxUnavailableFixed: pulumi.Int(0),
MaxUnavailablePercent: pulumi.Int(0),
MinReadySec: pulumi.Int(0),
MostDisruptiveAllowedAction: pulumi.String("string"),
ReplacementMethod: pulumi.String("string"),
},
AutoHealingPolicies: &compute.InstanceGroupManagerAutoHealingPoliciesArgs{
HealthCheck: pulumi.String("string"),
InitialDelaySec: pulumi.Int(0),
},
WaitForInstances: pulumi.Bool(false),
WaitForInstancesStatus: pulumi.String("string"),
Zone: pulumi.String("string"),
})
var instanceGroupManagerResource = new InstanceGroupManager("instanceGroupManagerResource", InstanceGroupManagerArgs.builder()
.baseInstanceName("string")
.versions(InstanceGroupManagerVersionArgs.builder()
.instanceTemplate("string")
.name("string")
.targetSize(InstanceGroupManagerVersionTargetSizeArgs.builder()
.fixed(0)
.percent(0)
.build())
.build())
.standbyPolicy(InstanceGroupManagerStandbyPolicyArgs.builder()
.initialDelaySec(0)
.mode("string")
.build())
.statefulInternalIps(InstanceGroupManagerStatefulInternalIpArgs.builder()
.deleteRule("string")
.interfaceName("string")
.build())
.instanceLifecyclePolicy(InstanceGroupManagerInstanceLifecyclePolicyArgs.builder()
.defaultActionOnFailure("string")
.forceUpdateOnRepair("string")
.build())
.listManagedInstancesResults("string")
.name("string")
.namedPorts(InstanceGroupManagerNamedPortArgs.builder()
.name("string")
.port(0)
.build())
.params(InstanceGroupManagerParamsArgs.builder()
.resourceManagerTags(Map.of("string", "any"))
.build())
.project("string")
.allInstancesConfig(InstanceGroupManagerAllInstancesConfigArgs.builder()
.labels(Map.of("string", "string"))
.metadata(Map.of("string", "string"))
.build())
.statefulDisks(InstanceGroupManagerStatefulDiskArgs.builder()
.deviceName("string")
.deleteRule("string")
.build())
.statefulExternalIps(InstanceGroupManagerStatefulExternalIpArgs.builder()
.deleteRule("string")
.interfaceName("string")
.build())
.description("string")
.targetPools("string")
.targetSize(0)
.targetStoppedSize(0)
.targetSuspendedSize(0)
.updatePolicy(InstanceGroupManagerUpdatePolicyArgs.builder()
.minimalAction("string")
.type("string")
.maxSurgeFixed(0)
.maxSurgePercent(0)
.maxUnavailableFixed(0)
.maxUnavailablePercent(0)
.minReadySec(0)
.mostDisruptiveAllowedAction("string")
.replacementMethod("string")
.build())
.autoHealingPolicies(InstanceGroupManagerAutoHealingPoliciesArgs.builder()
.healthCheck("string")
.initialDelaySec(0)
.build())
.waitForInstances(false)
.waitForInstancesStatus("string")
.zone("string")
.build());
instance_group_manager_resource = gcp.compute.InstanceGroupManager("instanceGroupManagerResource",
base_instance_name="string",
versions=[gcp.compute.InstanceGroupManagerVersionArgs(
instance_template="string",
name="string",
target_size=gcp.compute.InstanceGroupManagerVersionTargetSizeArgs(
fixed=0,
percent=0,
),
)],
standby_policy=gcp.compute.InstanceGroupManagerStandbyPolicyArgs(
initial_delay_sec=0,
mode="string",
),
stateful_internal_ips=[gcp.compute.InstanceGroupManagerStatefulInternalIpArgs(
delete_rule="string",
interface_name="string",
)],
instance_lifecycle_policy=gcp.compute.InstanceGroupManagerInstanceLifecyclePolicyArgs(
default_action_on_failure="string",
force_update_on_repair="string",
),
list_managed_instances_results="string",
name="string",
named_ports=[gcp.compute.InstanceGroupManagerNamedPortArgs(
name="string",
port=0,
)],
params=gcp.compute.InstanceGroupManagerParamsArgs(
resource_manager_tags={
"string": "any",
},
),
project="string",
all_instances_config=gcp.compute.InstanceGroupManagerAllInstancesConfigArgs(
labels={
"string": "string",
},
metadata={
"string": "string",
},
),
stateful_disks=[gcp.compute.InstanceGroupManagerStatefulDiskArgs(
device_name="string",
delete_rule="string",
)],
stateful_external_ips=[gcp.compute.InstanceGroupManagerStatefulExternalIpArgs(
delete_rule="string",
interface_name="string",
)],
description="string",
target_pools=["string"],
target_size=0,
target_stopped_size=0,
target_suspended_size=0,
update_policy=gcp.compute.InstanceGroupManagerUpdatePolicyArgs(
minimal_action="string",
type="string",
max_surge_fixed=0,
max_surge_percent=0,
max_unavailable_fixed=0,
max_unavailable_percent=0,
min_ready_sec=0,
most_disruptive_allowed_action="string",
replacement_method="string",
),
auto_healing_policies=gcp.compute.InstanceGroupManagerAutoHealingPoliciesArgs(
health_check="string",
initial_delay_sec=0,
),
wait_for_instances=False,
wait_for_instances_status="string",
zone="string")
const instanceGroupManagerResource = new gcp.compute.InstanceGroupManager("instanceGroupManagerResource", {
baseInstanceName: "string",
versions: [{
instanceTemplate: "string",
name: "string",
targetSize: {
fixed: 0,
percent: 0,
},
}],
standbyPolicy: {
initialDelaySec: 0,
mode: "string",
},
statefulInternalIps: [{
deleteRule: "string",
interfaceName: "string",
}],
instanceLifecyclePolicy: {
defaultActionOnFailure: "string",
forceUpdateOnRepair: "string",
},
listManagedInstancesResults: "string",
name: "string",
namedPorts: [{
name: "string",
port: 0,
}],
params: {
resourceManagerTags: {
string: "any",
},
},
project: "string",
allInstancesConfig: {
labels: {
string: "string",
},
metadata: {
string: "string",
},
},
statefulDisks: [{
deviceName: "string",
deleteRule: "string",
}],
statefulExternalIps: [{
deleteRule: "string",
interfaceName: "string",
}],
description: "string",
targetPools: ["string"],
targetSize: 0,
targetStoppedSize: 0,
targetSuspendedSize: 0,
updatePolicy: {
minimalAction: "string",
type: "string",
maxSurgeFixed: 0,
maxSurgePercent: 0,
maxUnavailableFixed: 0,
maxUnavailablePercent: 0,
minReadySec: 0,
mostDisruptiveAllowedAction: "string",
replacementMethod: "string",
},
autoHealingPolicies: {
healthCheck: "string",
initialDelaySec: 0,
},
waitForInstances: false,
waitForInstancesStatus: "string",
zone: "string",
});
type: gcp:compute:InstanceGroupManager
properties:
allInstancesConfig:
labels:
string: string
metadata:
string: string
autoHealingPolicies:
healthCheck: string
initialDelaySec: 0
baseInstanceName: string
description: string
instanceLifecyclePolicy:
defaultActionOnFailure: string
forceUpdateOnRepair: string
listManagedInstancesResults: string
name: string
namedPorts:
- name: string
port: 0
params:
resourceManagerTags:
string: any
project: string
standbyPolicy:
initialDelaySec: 0
mode: string
statefulDisks:
- deleteRule: string
deviceName: string
statefulExternalIps:
- deleteRule: string
interfaceName: string
statefulInternalIps:
- deleteRule: string
interfaceName: string
targetPools:
- string
targetSize: 0
targetStoppedSize: 0
targetSuspendedSize: 0
updatePolicy:
maxSurgeFixed: 0
maxSurgePercent: 0
maxUnavailableFixed: 0
maxUnavailablePercent: 0
minReadySec: 0
minimalAction: string
mostDisruptiveAllowedAction: string
replacementMethod: string
type: string
versions:
- instanceTemplate: string
name: string
targetSize:
fixed: 0
percent: 0
waitForInstances: false
waitForInstancesStatus: string
zone: string
InstanceGroupManager Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The InstanceGroupManager resource accepts the following input properties:
- Base
Instance stringName - 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.
- Versions
List<Instance
Group Manager Version> - Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
- All
Instances InstanceConfig Group Manager All Instances Config - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- Auto
Healing InstancePolicies Group Manager Auto Healing Policies - The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
- Description string
- An optional textual description of the instance group manager.
- Instance
Lifecycle InstancePolicy Group Manager Instance Lifecycle Policy - The instance lifecycle policy for this managed instance group.
- List
Managed stringInstances Results - Pagination behavior of the
listManagedInstances
API method for this managed instance group. Valid values are:PAGELESS
,PAGINATED
. IfPAGELESS
(default), Pagination is disabled for the group'slistManagedInstances
API method.maxResults
andpageToken
query parameters are ignored and all instances are returned in a single response. IfPAGINATED
, pagination is enabled,maxResults
andpageToken
query parameters are respected. - Name string
- 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.
- Named
Ports List<InstanceGroup Manager Named Port> - The named port configuration. See the section below for details on configuration.
- Params
Instance
Group Manager Params - Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Standby
Policy InstanceGroup Manager Standby Policy - The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation and API
- Stateful
Disks List<InstanceGroup Manager Stateful Disk> - Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
- Stateful
External List<InstanceIps Group Manager Stateful External Ip> - External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- Stateful
Internal List<InstanceIps Group Manager Stateful Internal Ip> - Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- Target
Pools List<string> - 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.
- Target
Size int - 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.
- Target
Stopped intSize - The target number of stopped instances for this managed instance group.
- Target
Suspended intSize - The target number of suspended instances for this managed instance group.
- Update
Policy InstanceGroup Manager Update Policy - The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
- Wait
For boolInstances - 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, this provider will continue trying until it times out.
- Wait
For stringInstances Status - When used with
wait_for_instances
it specifies the status to wait for. WhenSTABLE
is specified this resource will wait until the instances are stable before returning. WhenUPDATED
is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values areSTABLE
andUPDATED
- Zone string
- The zone that instances in this group should be created
in.
- Base
Instance stringName - 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.
- Versions
[]Instance
Group Manager Version Args - Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
- All
Instances InstanceConfig Group Manager All Instances Config Args - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- Auto
Healing InstancePolicies Group Manager Auto Healing Policies Args - The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
- Description string
- An optional textual description of the instance group manager.
- Instance
Lifecycle InstancePolicy Group Manager Instance Lifecycle Policy Args - The instance lifecycle policy for this managed instance group.
- List
Managed stringInstances Results - Pagination behavior of the
listManagedInstances
API method for this managed instance group. Valid values are:PAGELESS
,PAGINATED
. IfPAGELESS
(default), Pagination is disabled for the group'slistManagedInstances
API method.maxResults
andpageToken
query parameters are ignored and all instances are returned in a single response. IfPAGINATED
, pagination is enabled,maxResults
andpageToken
query parameters are respected. - Name string
- 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.
- Named
Ports []InstanceGroup Manager Named Port Args - The named port configuration. See the section below for details on configuration.
- Params
Instance
Group Manager Params Args - Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Standby
Policy InstanceGroup Manager Standby Policy Args - The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation and API
- Stateful
Disks []InstanceGroup Manager Stateful Disk Args - Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
- Stateful
External []InstanceIps Group Manager Stateful External Ip Args - External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- Stateful
Internal []InstanceIps Group Manager Stateful Internal Ip Args - Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- Target
Pools []string - 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.
- Target
Size int - 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.
- Target
Stopped intSize - The target number of stopped instances for this managed instance group.
- Target
Suspended intSize - The target number of suspended instances for this managed instance group.
- Update
Policy InstanceGroup Manager Update Policy Args - The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
- Wait
For boolInstances - 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, this provider will continue trying until it times out.
- Wait
For stringInstances Status - When used with
wait_for_instances
it specifies the status to wait for. WhenSTABLE
is specified this resource will wait until the instances are stable before returning. WhenUPDATED
is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values areSTABLE
andUPDATED
- Zone string
- The zone that instances in this group should be created
in.
- base
Instance StringName - 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.
- versions
List<Instance
Group Manager Version> - Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
- all
Instances InstanceConfig Group Manager All Instances Config - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- auto
Healing InstancePolicies Group Manager Auto Healing Policies - The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
- description String
- An optional textual description of the instance group manager.
- instance
Lifecycle InstancePolicy Group Manager Instance Lifecycle Policy - The instance lifecycle policy for this managed instance group.
- list
Managed StringInstances Results - Pagination behavior of the
listManagedInstances
API method for this managed instance group. Valid values are:PAGELESS
,PAGINATED
. IfPAGELESS
(default), Pagination is disabled for the group'slistManagedInstances
API method.maxResults
andpageToken
query parameters are ignored and all instances are returned in a single response. IfPAGINATED
, pagination is enabled,maxResults
andpageToken
query parameters are respected. - name String
- 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.
- named
Ports List<InstanceGroup Manager Named Port> - The named port configuration. See the section below for details on configuration.
- params
Instance
Group Manager Params - Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- standby
Policy InstanceGroup Manager Standby Policy - The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation and API
- stateful
Disks List<InstanceGroup Manager Stateful Disk> - Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
- stateful
External List<InstanceIps Group Manager Stateful External Ip> - External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- stateful
Internal List<InstanceIps Group Manager Stateful Internal Ip> - Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- target
Pools List<String> - 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.
- target
Size Integer - 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.
- target
Stopped IntegerSize - The target number of stopped instances for this managed instance group.
- target
Suspended IntegerSize - The target number of suspended instances for this managed instance group.
- update
Policy InstanceGroup Manager Update Policy - The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
- wait
For BooleanInstances - 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, this provider will continue trying until it times out.
- wait
For StringInstances Status - When used with
wait_for_instances
it specifies the status to wait for. WhenSTABLE
is specified this resource will wait until the instances are stable before returning. WhenUPDATED
is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values areSTABLE
andUPDATED
- zone String
- The zone that instances in this group should be created
in.
- base
Instance stringName - 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.
- versions
Instance
Group Manager Version[] - Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
- all
Instances InstanceConfig Group Manager All Instances Config - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- auto
Healing InstancePolicies Group Manager Auto Healing Policies - The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
- description string
- An optional textual description of the instance group manager.
- instance
Lifecycle InstancePolicy Group Manager Instance Lifecycle Policy - The instance lifecycle policy for this managed instance group.
- list
Managed stringInstances Results - Pagination behavior of the
listManagedInstances
API method for this managed instance group. Valid values are:PAGELESS
,PAGINATED
. IfPAGELESS
(default), Pagination is disabled for the group'slistManagedInstances
API method.maxResults
andpageToken
query parameters are ignored and all instances are returned in a single response. IfPAGINATED
, pagination is enabled,maxResults
andpageToken
query parameters are respected. - name string
- 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.
- named
Ports InstanceGroup Manager Named Port[] - The named port configuration. See the section below for details on configuration.
- params
Instance
Group Manager Params - Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- standby
Policy InstanceGroup Manager Standby Policy - The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation and API
- stateful
Disks InstanceGroup Manager Stateful Disk[] - Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
- stateful
External InstanceIps Group Manager Stateful External Ip[] - External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- stateful
Internal InstanceIps Group Manager Stateful Internal Ip[] - Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- target
Pools string[] - 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.
- target
Size number - 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.
- target
Stopped numberSize - The target number of stopped instances for this managed instance group.
- target
Suspended numberSize - The target number of suspended instances for this managed instance group.
- update
Policy InstanceGroup Manager Update Policy - The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
- wait
For booleanInstances - 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, this provider will continue trying until it times out.
- wait
For stringInstances Status - When used with
wait_for_instances
it specifies the status to wait for. WhenSTABLE
is specified this resource will wait until the instances are stable before returning. WhenUPDATED
is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values areSTABLE
andUPDATED
- zone string
- The zone that instances in this group should be created
in.
- base_
instance_ strname - 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.
- versions
Sequence[Instance
Group Manager Version Args] - Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
- all_
instances_ Instanceconfig Group Manager All Instances Config Args - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- auto_
healing_ Instancepolicies Group Manager Auto Healing Policies Args - The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
- description str
- An optional textual description of the instance group manager.
- instance_
lifecycle_ Instancepolicy Group Manager Instance Lifecycle Policy Args - The instance lifecycle policy for this managed instance group.
- list_
managed_ strinstances_ results - Pagination behavior of the
listManagedInstances
API method for this managed instance group. Valid values are:PAGELESS
,PAGINATED
. IfPAGELESS
(default), Pagination is disabled for the group'slistManagedInstances
API method.maxResults
andpageToken
query parameters are ignored and all instances are returned in a single response. IfPAGINATED
, pagination is enabled,maxResults
andpageToken
query parameters are respected. - name str
- 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.
- named_
ports Sequence[InstanceGroup Manager Named Port Args] - The named port configuration. See the section below for details on configuration.
- params
Instance
Group Manager Params Args - Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- standby_
policy InstanceGroup Manager Standby Policy Args - The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation and API
- stateful_
disks Sequence[InstanceGroup Manager Stateful Disk Args] - Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
- stateful_
external_ Sequence[Instanceips Group Manager Stateful External Ip Args] - External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- stateful_
internal_ Sequence[Instanceips Group Manager Stateful Internal Ip Args] - Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- target_
pools Sequence[str] - 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.
- target_
size int - 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.
- target_
stopped_ intsize - The target number of stopped instances for this managed instance group.
- target_
suspended_ intsize - The target number of suspended instances for this managed instance group.
- update_
policy InstanceGroup Manager Update Policy Args - The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
- wait_
for_ boolinstances - 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, this provider will continue trying until it times out.
- wait_
for_ strinstances_ status - When used with
wait_for_instances
it specifies the status to wait for. WhenSTABLE
is specified this resource will wait until the instances are stable before returning. WhenUPDATED
is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values areSTABLE
andUPDATED
- zone str
- The zone that instances in this group should be created
in.
- base
Instance StringName - 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.
- versions List<Property Map>
- Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
- all
Instances Property MapConfig - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- auto
Healing Property MapPolicies - The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
- description String
- An optional textual description of the instance group manager.
- instance
Lifecycle Property MapPolicy - The instance lifecycle policy for this managed instance group.
- list
Managed StringInstances Results - Pagination behavior of the
listManagedInstances
API method for this managed instance group. Valid values are:PAGELESS
,PAGINATED
. IfPAGELESS
(default), Pagination is disabled for the group'slistManagedInstances
API method.maxResults
andpageToken
query parameters are ignored and all instances are returned in a single response. IfPAGINATED
, pagination is enabled,maxResults
andpageToken
query parameters are respected. - name String
- 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.
- named
Ports List<Property Map> - The named port configuration. See the section below for details on configuration.
- params Property Map
- Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- standby
Policy Property Map - The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation and API
- stateful
Disks List<Property Map> - Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
- stateful
External List<Property Map>Ips - External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- stateful
Internal List<Property Map>Ips - Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- target
Pools List<String> - 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.
- target
Size Number - 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.
- target
Stopped NumberSize - The target number of stopped instances for this managed instance group.
- target
Suspended NumberSize - The target number of suspended instances for this managed instance group.
- update
Policy Property Map - The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
- wait
For BooleanInstances - 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, this provider will continue trying until it times out.
- wait
For StringInstances Status - When used with
wait_for_instances
it specifies the status to wait for. WhenSTABLE
is specified this resource will wait until the instances are stable before returning. WhenUPDATED
is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values areSTABLE
andUPDATED
- zone String
- The zone that instances in this group should be created
in.
Outputs
All input properties are implicitly available as output properties. Additionally, the InstanceGroupManager resource produces the following output properties:
- Creation
Timestamp string - Creation timestamp in RFC3339 text format.
- Fingerprint string
- The fingerprint of the instance group manager.
- Id string
- The provider-assigned unique ID for this managed resource.
- Instance
Group string - The full URL of the instance group created by the manager.
- Operation string
- Self
Link string - The URL of the created resource.
- Statuses
List<Instance
Group Manager Status> - The status of this managed instance group.
- Creation
Timestamp string - Creation timestamp in RFC3339 text format.
- Fingerprint string
- The fingerprint of the instance group manager.
- Id string
- The provider-assigned unique ID for this managed resource.
- Instance
Group string - The full URL of the instance group created by the manager.
- Operation string
- Self
Link string - The URL of the created resource.
- Statuses
[]Instance
Group Manager Status - The status of this managed instance group.
- creation
Timestamp String - Creation timestamp in RFC3339 text format.
- fingerprint String
- The fingerprint of the instance group manager.
- id String
- The provider-assigned unique ID for this managed resource.
- instance
Group String - The full URL of the instance group created by the manager.
- operation String
- self
Link String - The URL of the created resource.
- statuses
List<Instance
Group Manager Status> - The status of this managed instance group.
- creation
Timestamp string - Creation timestamp in RFC3339 text format.
- fingerprint string
- The fingerprint of the instance group manager.
- id string
- The provider-assigned unique ID for this managed resource.
- instance
Group string - The full URL of the instance group created by the manager.
- operation string
- self
Link string - The URL of the created resource.
- statuses
Instance
Group Manager Status[] - The status of this managed instance group.
- creation_
timestamp str - Creation timestamp in RFC3339 text format.
- fingerprint str
- The fingerprint of the instance group manager.
- id str
- The provider-assigned unique ID for this managed resource.
- instance_
group str - The full URL of the instance group created by the manager.
- operation str
- self_
link str - The URL of the created resource.
- statuses
Sequence[Instance
Group Manager Status] - The status of this managed instance group.
- creation
Timestamp String - Creation timestamp in RFC3339 text format.
- fingerprint String
- The fingerprint of the instance group manager.
- id String
- The provider-assigned unique ID for this managed resource.
- instance
Group String - The full URL of the instance group created by the manager.
- operation String
- self
Link String - The URL of the created resource.
- statuses List<Property Map>
- The status of this managed instance group.
Look up Existing InstanceGroupManager Resource
Get an existing InstanceGroupManager resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: InstanceGroupManagerState, opts?: CustomResourceOptions): InstanceGroupManager
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
all_instances_config: Optional[InstanceGroupManagerAllInstancesConfigArgs] = None,
auto_healing_policies: Optional[InstanceGroupManagerAutoHealingPoliciesArgs] = None,
base_instance_name: Optional[str] = None,
creation_timestamp: Optional[str] = None,
description: Optional[str] = None,
fingerprint: Optional[str] = None,
instance_group: Optional[str] = None,
instance_lifecycle_policy: Optional[InstanceGroupManagerInstanceLifecyclePolicyArgs] = None,
list_managed_instances_results: Optional[str] = None,
name: Optional[str] = None,
named_ports: Optional[Sequence[InstanceGroupManagerNamedPortArgs]] = None,
operation: Optional[str] = None,
params: Optional[InstanceGroupManagerParamsArgs] = None,
project: Optional[str] = None,
self_link: Optional[str] = None,
standby_policy: Optional[InstanceGroupManagerStandbyPolicyArgs] = None,
stateful_disks: Optional[Sequence[InstanceGroupManagerStatefulDiskArgs]] = None,
stateful_external_ips: Optional[Sequence[InstanceGroupManagerStatefulExternalIpArgs]] = None,
stateful_internal_ips: Optional[Sequence[InstanceGroupManagerStatefulInternalIpArgs]] = None,
statuses: Optional[Sequence[InstanceGroupManagerStatusArgs]] = None,
target_pools: Optional[Sequence[str]] = None,
target_size: Optional[int] = None,
target_stopped_size: Optional[int] = None,
target_suspended_size: Optional[int] = None,
update_policy: Optional[InstanceGroupManagerUpdatePolicyArgs] = None,
versions: Optional[Sequence[InstanceGroupManagerVersionArgs]] = None,
wait_for_instances: Optional[bool] = None,
wait_for_instances_status: Optional[str] = None,
zone: Optional[str] = None) -> InstanceGroupManager
func GetInstanceGroupManager(ctx *Context, name string, id IDInput, state *InstanceGroupManagerState, opts ...ResourceOption) (*InstanceGroupManager, error)
public static InstanceGroupManager Get(string name, Input<string> id, InstanceGroupManagerState? state, CustomResourceOptions? opts = null)
public static InstanceGroupManager get(String name, Output<String> id, InstanceGroupManagerState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- All
Instances InstanceConfig Group Manager All Instances Config - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- Auto
Healing InstancePolicies Group Manager Auto Healing Policies - The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
- Base
Instance stringName - 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.
- Creation
Timestamp string - Creation timestamp in RFC3339 text format.
- Description string
- An optional textual description of the instance group manager.
- Fingerprint string
- The fingerprint of the instance group manager.
- Instance
Group string - The full URL of the instance group created by the manager.
- Instance
Lifecycle InstancePolicy Group Manager Instance Lifecycle Policy - The instance lifecycle policy for this managed instance group.
- List
Managed stringInstances Results - Pagination behavior of the
listManagedInstances
API method for this managed instance group. Valid values are:PAGELESS
,PAGINATED
. IfPAGELESS
(default), Pagination is disabled for the group'slistManagedInstances
API method.maxResults
andpageToken
query parameters are ignored and all instances are returned in a single response. IfPAGINATED
, pagination is enabled,maxResults
andpageToken
query parameters are respected. - Name string
- 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.
- Named
Ports List<InstanceGroup Manager Named Port> - The named port configuration. See the section below for details on configuration.
- Operation string
- Params
Instance
Group Manager Params - Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Self
Link string - The URL of the created resource.
- Standby
Policy InstanceGroup Manager Standby Policy - The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation and API
- Stateful
Disks List<InstanceGroup Manager Stateful Disk> - Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
- Stateful
External List<InstanceIps Group Manager Stateful External Ip> - External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- Stateful
Internal List<InstanceIps Group Manager Stateful Internal Ip> - Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- Statuses
List<Instance
Group Manager Status> - The status of this managed instance group.
- Target
Pools List<string> - 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.
- Target
Size int - 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.
- Target
Stopped intSize - The target number of stopped instances for this managed instance group.
- Target
Suspended intSize - The target number of suspended instances for this managed instance group.
- Update
Policy InstanceGroup Manager Update Policy - The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
- Versions
List<Instance
Group Manager Version> - Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
- Wait
For boolInstances - 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, this provider will continue trying until it times out.
- Wait
For stringInstances Status - When used with
wait_for_instances
it specifies the status to wait for. WhenSTABLE
is specified this resource will wait until the instances are stable before returning. WhenUPDATED
is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values areSTABLE
andUPDATED
- Zone string
- The zone that instances in this group should be created
in.
- All
Instances InstanceConfig Group Manager All Instances Config Args - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- Auto
Healing InstancePolicies Group Manager Auto Healing Policies Args - The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
- Base
Instance stringName - 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.
- Creation
Timestamp string - Creation timestamp in RFC3339 text format.
- Description string
- An optional textual description of the instance group manager.
- Fingerprint string
- The fingerprint of the instance group manager.
- Instance
Group string - The full URL of the instance group created by the manager.
- Instance
Lifecycle InstancePolicy Group Manager Instance Lifecycle Policy Args - The instance lifecycle policy for this managed instance group.
- List
Managed stringInstances Results - Pagination behavior of the
listManagedInstances
API method for this managed instance group. Valid values are:PAGELESS
,PAGINATED
. IfPAGELESS
(default), Pagination is disabled for the group'slistManagedInstances
API method.maxResults
andpageToken
query parameters are ignored and all instances are returned in a single response. IfPAGINATED
, pagination is enabled,maxResults
andpageToken
query parameters are respected. - Name string
- 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.
- Named
Ports []InstanceGroup Manager Named Port Args - The named port configuration. See the section below for details on configuration.
- Operation string
- Params
Instance
Group Manager Params Args - Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Self
Link string - The URL of the created resource.
- Standby
Policy InstanceGroup Manager Standby Policy Args - The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation and API
- Stateful
Disks []InstanceGroup Manager Stateful Disk Args - Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
- Stateful
External []InstanceIps Group Manager Stateful External Ip Args - External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- Stateful
Internal []InstanceIps Group Manager Stateful Internal Ip Args - Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- Statuses
[]Instance
Group Manager Status Args - The status of this managed instance group.
- Target
Pools []string - 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.
- Target
Size int - 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.
- Target
Stopped intSize - The target number of stopped instances for this managed instance group.
- Target
Suspended intSize - The target number of suspended instances for this managed instance group.
- Update
Policy InstanceGroup Manager Update Policy Args - The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
- Versions
[]Instance
Group Manager Version Args - Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
- Wait
For boolInstances - 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, this provider will continue trying until it times out.
- Wait
For stringInstances Status - When used with
wait_for_instances
it specifies the status to wait for. WhenSTABLE
is specified this resource will wait until the instances are stable before returning. WhenUPDATED
is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values areSTABLE
andUPDATED
- Zone string
- The zone that instances in this group should be created
in.
- all
Instances InstanceConfig Group Manager All Instances Config - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- auto
Healing InstancePolicies Group Manager Auto Healing Policies - The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
- base
Instance StringName - 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.
- creation
Timestamp String - Creation timestamp in RFC3339 text format.
- description String
- An optional textual description of the instance group manager.
- fingerprint String
- The fingerprint of the instance group manager.
- instance
Group String - The full URL of the instance group created by the manager.
- instance
Lifecycle InstancePolicy Group Manager Instance Lifecycle Policy - The instance lifecycle policy for this managed instance group.
- list
Managed StringInstances Results - Pagination behavior of the
listManagedInstances
API method for this managed instance group. Valid values are:PAGELESS
,PAGINATED
. IfPAGELESS
(default), Pagination is disabled for the group'slistManagedInstances
API method.maxResults
andpageToken
query parameters are ignored and all instances are returned in a single response. IfPAGINATED
, pagination is enabled,maxResults
andpageToken
query parameters are respected. - name String
- 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.
- named
Ports List<InstanceGroup Manager Named Port> - The named port configuration. See the section below for details on configuration.
- operation String
- params
Instance
Group Manager Params - Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- self
Link String - The URL of the created resource.
- standby
Policy InstanceGroup Manager Standby Policy - The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation and API
- stateful
Disks List<InstanceGroup Manager Stateful Disk> - Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
- stateful
External List<InstanceIps Group Manager Stateful External Ip> - External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- stateful
Internal List<InstanceIps Group Manager Stateful Internal Ip> - Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- statuses
List<Instance
Group Manager Status> - The status of this managed instance group.
- target
Pools List<String> - 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.
- target
Size Integer - 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.
- target
Stopped IntegerSize - The target number of stopped instances for this managed instance group.
- target
Suspended IntegerSize - The target number of suspended instances for this managed instance group.
- update
Policy InstanceGroup Manager Update Policy - The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
- versions
List<Instance
Group Manager Version> - Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
- wait
For BooleanInstances - 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, this provider will continue trying until it times out.
- wait
For StringInstances Status - When used with
wait_for_instances
it specifies the status to wait for. WhenSTABLE
is specified this resource will wait until the instances are stable before returning. WhenUPDATED
is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values areSTABLE
andUPDATED
- zone String
- The zone that instances in this group should be created
in.
- all
Instances InstanceConfig Group Manager All Instances Config - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- auto
Healing InstancePolicies Group Manager Auto Healing Policies - The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
- base
Instance stringName - 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.
- creation
Timestamp string - Creation timestamp in RFC3339 text format.
- description string
- An optional textual description of the instance group manager.
- fingerprint string
- The fingerprint of the instance group manager.
- instance
Group string - The full URL of the instance group created by the manager.
- instance
Lifecycle InstancePolicy Group Manager Instance Lifecycle Policy - The instance lifecycle policy for this managed instance group.
- list
Managed stringInstances Results - Pagination behavior of the
listManagedInstances
API method for this managed instance group. Valid values are:PAGELESS
,PAGINATED
. IfPAGELESS
(default), Pagination is disabled for the group'slistManagedInstances
API method.maxResults
andpageToken
query parameters are ignored and all instances are returned in a single response. IfPAGINATED
, pagination is enabled,maxResults
andpageToken
query parameters are respected. - name string
- 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.
- named
Ports InstanceGroup Manager Named Port[] - The named port configuration. See the section below for details on configuration.
- operation string
- params
Instance
Group Manager Params - Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- self
Link string - The URL of the created resource.
- standby
Policy InstanceGroup Manager Standby Policy - The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation and API
- stateful
Disks InstanceGroup Manager Stateful Disk[] - Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
- stateful
External InstanceIps Group Manager Stateful External Ip[] - External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- stateful
Internal InstanceIps Group Manager Stateful Internal Ip[] - Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- statuses
Instance
Group Manager Status[] - The status of this managed instance group.
- target
Pools string[] - 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.
- target
Size number - 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.
- target
Stopped numberSize - The target number of stopped instances for this managed instance group.
- target
Suspended numberSize - The target number of suspended instances for this managed instance group.
- update
Policy InstanceGroup Manager Update Policy - The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
- versions
Instance
Group Manager Version[] - Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
- wait
For booleanInstances - 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, this provider will continue trying until it times out.
- wait
For stringInstances Status - When used with
wait_for_instances
it specifies the status to wait for. WhenSTABLE
is specified this resource will wait until the instances are stable before returning. WhenUPDATED
is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values areSTABLE
andUPDATED
- zone string
- The zone that instances in this group should be created
in.
- all_
instances_ Instanceconfig Group Manager All Instances Config Args - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- auto_
healing_ Instancepolicies Group Manager Auto Healing Policies Args - The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
- base_
instance_ strname - 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.
- creation_
timestamp str - Creation timestamp in RFC3339 text format.
- description str
- An optional textual description of the instance group manager.
- fingerprint str
- The fingerprint of the instance group manager.
- instance_
group str - The full URL of the instance group created by the manager.
- instance_
lifecycle_ Instancepolicy Group Manager Instance Lifecycle Policy Args - The instance lifecycle policy for this managed instance group.
- list_
managed_ strinstances_ results - Pagination behavior of the
listManagedInstances
API method for this managed instance group. Valid values are:PAGELESS
,PAGINATED
. IfPAGELESS
(default), Pagination is disabled for the group'slistManagedInstances
API method.maxResults
andpageToken
query parameters are ignored and all instances are returned in a single response. IfPAGINATED
, pagination is enabled,maxResults
andpageToken
query parameters are respected. - name str
- 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.
- named_
ports Sequence[InstanceGroup Manager Named Port Args] - The named port configuration. See the section below for details on configuration.
- operation str
- params
Instance
Group Manager Params Args - Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- self_
link str - The URL of the created resource.
- standby_
policy InstanceGroup Manager Standby Policy Args - The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation and API
- stateful_
disks Sequence[InstanceGroup Manager Stateful Disk Args] - Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
- stateful_
external_ Sequence[Instanceips Group Manager Stateful External Ip Args] - External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- stateful_
internal_ Sequence[Instanceips Group Manager Stateful Internal Ip Args] - Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- statuses
Sequence[Instance
Group Manager Status Args] - The status of this managed instance group.
- target_
pools Sequence[str] - 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.
- target_
size int - 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.
- target_
stopped_ intsize - The target number of stopped instances for this managed instance group.
- target_
suspended_ intsize - The target number of suspended instances for this managed instance group.
- update_
policy InstanceGroup Manager Update Policy Args - The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
- versions
Sequence[Instance
Group Manager Version Args] - Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
- wait_
for_ boolinstances - 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, this provider will continue trying until it times out.
- wait_
for_ strinstances_ status - When used with
wait_for_instances
it specifies the status to wait for. WhenSTABLE
is specified this resource will wait until the instances are stable before returning. WhenUPDATED
is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values areSTABLE
andUPDATED
- zone str
- The zone that instances in this group should be created
in.
- all
Instances Property MapConfig - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- auto
Healing Property MapPolicies - The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
- base
Instance StringName - 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.
- creation
Timestamp String - Creation timestamp in RFC3339 text format.
- description String
- An optional textual description of the instance group manager.
- fingerprint String
- The fingerprint of the instance group manager.
- instance
Group String - The full URL of the instance group created by the manager.
- instance
Lifecycle Property MapPolicy - The instance lifecycle policy for this managed instance group.
- list
Managed StringInstances Results - Pagination behavior of the
listManagedInstances
API method for this managed instance group. Valid values are:PAGELESS
,PAGINATED
. IfPAGELESS
(default), Pagination is disabled for the group'slistManagedInstances
API method.maxResults
andpageToken
query parameters are ignored and all instances are returned in a single response. IfPAGINATED
, pagination is enabled,maxResults
andpageToken
query parameters are respected. - name String
- 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.
- named
Ports List<Property Map> - The named port configuration. See the section below for details on configuration.
- operation String
- params Property Map
- Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- self
Link String - The URL of the created resource.
- standby
Policy Property Map - The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation and API
- stateful
Disks List<Property Map> - Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
- stateful
External List<Property Map>Ips - External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- stateful
Internal List<Property Map>Ips - Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
- statuses List<Property Map>
- The status of this managed instance group.
- target
Pools List<String> - 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.
- target
Size Number - 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.
- target
Stopped NumberSize - The target number of stopped instances for this managed instance group.
- target
Suspended NumberSize - The target number of suspended instances for this managed instance group.
- update
Policy Property Map - The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
- versions List<Property Map>
- Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
- wait
For BooleanInstances - 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, this provider will continue trying until it times out.
- wait
For StringInstances Status - When used with
wait_for_instances
it specifies the status to wait for. WhenSTABLE
is specified this resource will wait until the instances are stable before returning. WhenUPDATED
is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values areSTABLE
andUPDATED
- zone String
- The zone that instances in this group should be created
in.
Supporting Types
InstanceGroupManagerAllInstancesConfig, InstanceGroupManagerAllInstancesConfigArgs
- Labels Dictionary<string, string>
- , The label key-value pairs that you want to patch onto the instance.
- Metadata Dictionary<string, string>
- , The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
- Labels map[string]string
- , The label key-value pairs that you want to patch onto the instance.
- Metadata map[string]string
- , The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
- labels Map<String,String>
- , The label key-value pairs that you want to patch onto the instance.
- metadata Map<String,String>
- , The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
- labels {[key: string]: string}
- , The label key-value pairs that you want to patch onto the instance.
- metadata {[key: string]: string}
- , The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
- labels Mapping[str, str]
- , The label key-value pairs that you want to patch onto the instance.
- metadata Mapping[str, str]
- , The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
- labels Map<String>
- , The label key-value pairs that you want to patch onto the instance.
- metadata Map<String>
- , The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
InstanceGroupManagerAutoHealingPolicies, InstanceGroupManagerAutoHealingPoliciesArgs
- Health
Check string - The health check resource that signals autohealing.
- Initial
Delay intSec - The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
- Health
Check string - The health check resource that signals autohealing.
- Initial
Delay intSec - The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
- health
Check String - The health check resource that signals autohealing.
- initial
Delay IntegerSec - The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
- health
Check string - The health check resource that signals autohealing.
- initial
Delay numberSec - The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
- health_
check str - The health check resource that signals autohealing.
- initial_
delay_ intsec - The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
- health
Check String - The health check resource that signals autohealing.
- initial
Delay NumberSec - The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
InstanceGroupManagerInstanceLifecyclePolicy, InstanceGroupManagerInstanceLifecyclePolicyArgs
- Default
Action stringOn Failure - , Default behavior for all instance or health check failures. Valid options are:
REPAIR
,DO_NOTHING
. IfDO_NOTHING
then instances will not be repaired. IfREPAIR
(default), then failed instances will be repaired. - Force
Update stringOn Repair - , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are:
YES
,NO
. IfYES
and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. IfNO
(default), then updates are applied in accordance with the group's update policy type.
- Default
Action stringOn Failure - , Default behavior for all instance or health check failures. Valid options are:
REPAIR
,DO_NOTHING
. IfDO_NOTHING
then instances will not be repaired. IfREPAIR
(default), then failed instances will be repaired. - Force
Update stringOn Repair - , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are:
YES
,NO
. IfYES
and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. IfNO
(default), then updates are applied in accordance with the group's update policy type.
- default
Action StringOn Failure - , Default behavior for all instance or health check failures. Valid options are:
REPAIR
,DO_NOTHING
. IfDO_NOTHING
then instances will not be repaired. IfREPAIR
(default), then failed instances will be repaired. - force
Update StringOn Repair - , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are:
YES
,NO
. IfYES
and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. IfNO
(default), then updates are applied in accordance with the group's update policy type.
- default
Action stringOn Failure - , Default behavior for all instance or health check failures. Valid options are:
REPAIR
,DO_NOTHING
. IfDO_NOTHING
then instances will not be repaired. IfREPAIR
(default), then failed instances will be repaired. - force
Update stringOn Repair - , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are:
YES
,NO
. IfYES
and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. IfNO
(default), then updates are applied in accordance with the group's update policy type.
- default_
action_ stron_ failure - , Default behavior for all instance or health check failures. Valid options are:
REPAIR
,DO_NOTHING
. IfDO_NOTHING
then instances will not be repaired. IfREPAIR
(default), then failed instances will be repaired. - force_
update_ stron_ repair - , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are:
YES
,NO
. IfYES
and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. IfNO
(default), then updates are applied in accordance with the group's update policy type.
- default
Action StringOn Failure - , Default behavior for all instance or health check failures. Valid options are:
REPAIR
,DO_NOTHING
. IfDO_NOTHING
then instances will not be repaired. IfREPAIR
(default), then failed instances will be repaired. - force
Update StringOn Repair - , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are:
YES
,NO
. IfYES
and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. IfNO
(default), then updates are applied in accordance with the group's update policy type.
InstanceGroupManagerNamedPort, InstanceGroupManagerNamedPortArgs
InstanceGroupManagerParams, InstanceGroupManagerParamsArgs
- Dictionary<string, object>
- Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources
- map[string]interface{}
- Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources
- Map<String,Object>
- Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources
- {[key: string]: any}
- Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources
- Mapping[str, Any]
- Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources
- Map<Any>
- Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources
InstanceGroupManagerStandbyPolicy, InstanceGroupManagerStandbyPolicyArgs
- Initial
Delay intSec - Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
- Mode string
- Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are:
MANUAL
,SCALE_OUT_POOL
. IfMANUAL
(default), you have full control over which VMs are stopped and suspended in the MIG. IfSCALE_OUT_POOL
, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.
- Initial
Delay intSec - Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
- Mode string
- Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are:
MANUAL
,SCALE_OUT_POOL
. IfMANUAL
(default), you have full control over which VMs are stopped and suspended in the MIG. IfSCALE_OUT_POOL
, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.
- initial
Delay IntegerSec - Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
- mode String
- Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are:
MANUAL
,SCALE_OUT_POOL
. IfMANUAL
(default), you have full control over which VMs are stopped and suspended in the MIG. IfSCALE_OUT_POOL
, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.
- initial
Delay numberSec - Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
- mode string
- Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are:
MANUAL
,SCALE_OUT_POOL
. IfMANUAL
(default), you have full control over which VMs are stopped and suspended in the MIG. IfSCALE_OUT_POOL
, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.
- initial_
delay_ intsec - Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
- mode str
- Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are:
MANUAL
,SCALE_OUT_POOL
. IfMANUAL
(default), you have full control over which VMs are stopped and suspended in the MIG. IfSCALE_OUT_POOL
, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.
- initial
Delay NumberSec - Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
- mode String
- Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are:
MANUAL
,SCALE_OUT_POOL
. IfMANUAL
(default), you have full control over which VMs are stopped and suspended in the MIG. IfSCALE_OUT_POOL
, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.
InstanceGroupManagerStatefulDisk, InstanceGroupManagerStatefulDiskArgs
- Device
Name string - , The device name of the disk to be attached.
- Delete
Rule string - , A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the disk when the VM is deleted, but do not delete the disk.ON_PERMANENT_INSTANCE_DELETION
will delete the stateful disk when the VM is permanently deleted from the instance group. The default isNEVER
.
- Device
Name string - , The device name of the disk to be attached.
- Delete
Rule string - , A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the disk when the VM is deleted, but do not delete the disk.ON_PERMANENT_INSTANCE_DELETION
will delete the stateful disk when the VM is permanently deleted from the instance group. The default isNEVER
.
- device
Name String - , The device name of the disk to be attached.
- delete
Rule String - , A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the disk when the VM is deleted, but do not delete the disk.ON_PERMANENT_INSTANCE_DELETION
will delete the stateful disk when the VM is permanently deleted from the instance group. The default isNEVER
.
- device
Name string - , The device name of the disk to be attached.
- delete
Rule string - , A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the disk when the VM is deleted, but do not delete the disk.ON_PERMANENT_INSTANCE_DELETION
will delete the stateful disk when the VM is permanently deleted from the instance group. The default isNEVER
.
- device_
name str - , The device name of the disk to be attached.
- delete_
rule str - , A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the disk when the VM is deleted, but do not delete the disk.ON_PERMANENT_INSTANCE_DELETION
will delete the stateful disk when the VM is permanently deleted from the instance group. The default isNEVER
.
- device
Name String - , The device name of the disk to be attached.
- delete
Rule String - , A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the disk when the VM is deleted, but do not delete the disk.ON_PERMANENT_INSTANCE_DELETION
will delete the stateful disk when the VM is permanently deleted from the instance group. The default isNEVER
.
InstanceGroupManagerStatefulExternalIp, InstanceGroupManagerStatefulExternalIpArgs
- Delete
Rule string - , A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the ip when the VM is deleted, but do not delete the ip.ON_PERMANENT_INSTANCE_DELETION
will delete the external ip when the VM is permanently deleted from the instance group. - Interface
Name string - , The network interface name of the external Ip. Possible value:
nic0
- Delete
Rule string - , A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the ip when the VM is deleted, but do not delete the ip.ON_PERMANENT_INSTANCE_DELETION
will delete the external ip when the VM is permanently deleted from the instance group. - Interface
Name string - , The network interface name of the external Ip. Possible value:
nic0
- delete
Rule String - , A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the ip when the VM is deleted, but do not delete the ip.ON_PERMANENT_INSTANCE_DELETION
will delete the external ip when the VM is permanently deleted from the instance group. - interface
Name String - , The network interface name of the external Ip. Possible value:
nic0
- delete
Rule string - , A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the ip when the VM is deleted, but do not delete the ip.ON_PERMANENT_INSTANCE_DELETION
will delete the external ip when the VM is permanently deleted from the instance group. - interface
Name string - , The network interface name of the external Ip. Possible value:
nic0
- delete_
rule str - , A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the ip when the VM is deleted, but do not delete the ip.ON_PERMANENT_INSTANCE_DELETION
will delete the external ip when the VM is permanently deleted from the instance group. - interface_
name str - , The network interface name of the external Ip. Possible value:
nic0
- delete
Rule String - , A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the ip when the VM is deleted, but do not delete the ip.ON_PERMANENT_INSTANCE_DELETION
will delete the external ip when the VM is permanently deleted from the instance group. - interface
Name String - , The network interface name of the external Ip. Possible value:
nic0
InstanceGroupManagerStatefulInternalIp, InstanceGroupManagerStatefulInternalIpArgs
- Delete
Rule string - , A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the ip when the VM is deleted, but do not delete the ip.ON_PERMANENT_INSTANCE_DELETION
will delete the internal ip when the VM is permanently deleted from the instance group. - Interface
Name string - , The network interface name of the internal Ip. Possible value:
nic0
- Delete
Rule string - , A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the ip when the VM is deleted, but do not delete the ip.ON_PERMANENT_INSTANCE_DELETION
will delete the internal ip when the VM is permanently deleted from the instance group. - Interface
Name string - , The network interface name of the internal Ip. Possible value:
nic0
- delete
Rule String - , A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the ip when the VM is deleted, but do not delete the ip.ON_PERMANENT_INSTANCE_DELETION
will delete the internal ip when the VM is permanently deleted from the instance group. - interface
Name String - , The network interface name of the internal Ip. Possible value:
nic0
- delete
Rule string - , A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the ip when the VM is deleted, but do not delete the ip.ON_PERMANENT_INSTANCE_DELETION
will delete the internal ip when the VM is permanently deleted from the instance group. - interface
Name string - , The network interface name of the internal Ip. Possible value:
nic0
- delete_
rule str - , A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the ip when the VM is deleted, but do not delete the ip.ON_PERMANENT_INSTANCE_DELETION
will delete the internal ip when the VM is permanently deleted from the instance group. - interface_
name str - , The network interface name of the internal Ip. Possible value:
nic0
- delete
Rule String - , A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are
NEVER
andON_PERMANENT_INSTANCE_DELETION
.NEVER
- detach the ip when the VM is deleted, but do not delete the ip.ON_PERMANENT_INSTANCE_DELETION
will delete the internal ip when the VM is permanently deleted from the instance group. - interface
Name String - , The network interface name of the internal Ip. Possible value:
nic0
InstanceGroupManagerStatus, InstanceGroupManagerStatusArgs
- All
Instances List<InstanceConfigs Group Manager Status All Instances Config> - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- Is
Stable bool - A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.
- Statefuls
List<Instance
Group Manager Status Stateful> - Stateful status of the given Instance Group Manager.
- Version
Targets List<InstanceGroup Manager Status Version Target> - A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
- All
Instances []InstanceConfigs Group Manager Status All Instances Config - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- Is
Stable bool - A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.
- Statefuls
[]Instance
Group Manager Status Stateful - Stateful status of the given Instance Group Manager.
- Version
Targets []InstanceGroup Manager Status Version Target - A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
- all
Instances List<InstanceConfigs Group Manager Status All Instances Config> - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- is
Stable Boolean - A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.
- statefuls
List<Instance
Group Manager Status Stateful> - Stateful status of the given Instance Group Manager.
- version
Targets List<InstanceGroup Manager Status Version Target> - A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
- all
Instances InstanceConfigs Group Manager Status All Instances Config[] - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- is
Stable boolean - A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.
- statefuls
Instance
Group Manager Status Stateful[] - Stateful status of the given Instance Group Manager.
- version
Targets InstanceGroup Manager Status Version Target[] - A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
- all_
instances_ Sequence[Instanceconfigs Group Manager Status All Instances Config] - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- is_
stable bool - A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.
- statefuls
Sequence[Instance
Group Manager Status Stateful] - Stateful status of the given Instance Group Manager.
- version_
targets Sequence[InstanceGroup Manager Status Version Target] - A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
- all
Instances List<Property Map>Configs - Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
- is
Stable Boolean - A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.
- statefuls List<Property Map>
- Stateful status of the given Instance Group Manager.
- version
Targets List<Property Map> - A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
InstanceGroupManagerStatusAllInstancesConfig, InstanceGroupManagerStatusAllInstancesConfigArgs
- Current
Revision string - Current all-instances configuration revision. This value is in RFC3339 text format.
- Effective bool
- A bit indicating whether this configuration has been applied to all managed instances in the group.
- Current
Revision string - Current all-instances configuration revision. This value is in RFC3339 text format.
- Effective bool
- A bit indicating whether this configuration has been applied to all managed instances in the group.
- current
Revision String - Current all-instances configuration revision. This value is in RFC3339 text format.
- effective Boolean
- A bit indicating whether this configuration has been applied to all managed instances in the group.
- current
Revision string - Current all-instances configuration revision. This value is in RFC3339 text format.
- effective boolean
- A bit indicating whether this configuration has been applied to all managed instances in the group.
- current_
revision str - Current all-instances configuration revision. This value is in RFC3339 text format.
- effective bool
- A bit indicating whether this configuration has been applied to all managed instances in the group.
- current
Revision String - Current all-instances configuration revision. This value is in RFC3339 text format.
- effective Boolean
- A bit indicating whether this configuration has been applied to all managed instances in the group.
InstanceGroupManagerStatusStateful, InstanceGroupManagerStatusStatefulArgs
- Has
Stateful boolConfig - A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
- Per
Instance List<InstanceConfigs Group Manager Status Stateful Per Instance Config> - Status of per-instance configs on the instances.
- Has
Stateful boolConfig - A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
- Per
Instance []InstanceConfigs Group Manager Status Stateful Per Instance Config - Status of per-instance configs on the instances.
- has
Stateful BooleanConfig - A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
- per
Instance List<InstanceConfigs Group Manager Status Stateful Per Instance Config> - Status of per-instance configs on the instances.
- has
Stateful booleanConfig - A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
- per
Instance InstanceConfigs Group Manager Status Stateful Per Instance Config[] - Status of per-instance configs on the instances.
- has_
stateful_ boolconfig - A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
- per_
instance_ Sequence[Instanceconfigs Group Manager Status Stateful Per Instance Config] - Status of per-instance configs on the instances.
- has
Stateful BooleanConfig - A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
- per
Instance List<Property Map>Configs - Status of per-instance configs on the instances.
InstanceGroupManagerStatusStatefulPerInstanceConfig, InstanceGroupManagerStatusStatefulPerInstanceConfigArgs
- All
Effective bool - A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status
EFFECTIVE
or there are no per-instance-configs.
- All
Effective bool - A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status
EFFECTIVE
or there are no per-instance-configs.
- all
Effective Boolean - A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status
EFFECTIVE
or there are no per-instance-configs.
- all
Effective boolean - A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status
EFFECTIVE
or there are no per-instance-configs.
- all_
effective bool - A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status
EFFECTIVE
or there are no per-instance-configs.
- all
Effective Boolean - A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status
EFFECTIVE
or there are no per-instance-configs.
InstanceGroupManagerStatusVersionTarget, InstanceGroupManagerStatusVersionTargetArgs
- Is
Reached bool - A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
- Is
Reached bool - A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
- is
Reached Boolean - A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
- is
Reached boolean - A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
- is_
reached bool - A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
- is
Reached Boolean - A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
InstanceGroupManagerUpdatePolicy, InstanceGroupManagerUpdatePolicyArgs
- Minimal
Action string - Minimal action to be taken on an instance. You can specify either
NONE
to forbid any actions,REFRESH
to update without stopping instances,RESTART
to restart existing instances orREPLACE
to delete and create new instances from the target template. If you specify aREFRESH
, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action. - Type string
- The type of update process. You can specify either
PROACTIVE
so that the instance group manager proactively executes actions in order to bring instances to their target versions orOPPORTUNISTIC
so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls). - Max
Surge intFixed - , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with
max_surge_percent
. If neither is set, defaults to 1 - Max
Surge intPercent - , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with
max_surge_fixed
. - int
- , The maximum number of instances that can be unavailable during the update process. Conflicts with
max_unavailable_percent
. If neither is set, defaults to 1 - int
- , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with
max_unavailable_fixed
. - Min
Ready intSec - , Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600]
- Most
Disruptive stringAllowed Action - Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
- Replacement
Method string - , The instance replacement method for managed instance groups. Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved. You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0.
- Minimal
Action string - Minimal action to be taken on an instance. You can specify either
NONE
to forbid any actions,REFRESH
to update without stopping instances,RESTART
to restart existing instances orREPLACE
to delete and create new instances from the target template. If you specify aREFRESH
, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action. - Type string
- The type of update process. You can specify either
PROACTIVE
so that the instance group manager proactively executes actions in order to bring instances to their target versions orOPPORTUNISTIC
so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls). - Max
Surge intFixed - , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with
max_surge_percent
. If neither is set, defaults to 1 - Max
Surge intPercent - , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with
max_surge_fixed
. - int
- , The maximum number of instances that can be unavailable during the update process. Conflicts with
max_unavailable_percent
. If neither is set, defaults to 1 - int
- , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with
max_unavailable_fixed
. - Min
Ready intSec - , Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600]
- Most
Disruptive stringAllowed Action - Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
- Replacement
Method string - , The instance replacement method for managed instance groups. Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved. You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0.
- minimal
Action String - Minimal action to be taken on an instance. You can specify either
NONE
to forbid any actions,REFRESH
to update without stopping instances,RESTART
to restart existing instances orREPLACE
to delete and create new instances from the target template. If you specify aREFRESH
, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action. - type String
- The type of update process. You can specify either
PROACTIVE
so that the instance group manager proactively executes actions in order to bring instances to their target versions orOPPORTUNISTIC
so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls). - max
Surge IntegerFixed - , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with
max_surge_percent
. If neither is set, defaults to 1 - max
Surge IntegerPercent - , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with
max_surge_fixed
. - Integer
- , The maximum number of instances that can be unavailable during the update process. Conflicts with
max_unavailable_percent
. If neither is set, defaults to 1 - Integer
- , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with
max_unavailable_fixed
. - min
Ready IntegerSec - , Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600]
- most
Disruptive StringAllowed Action - Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
- replacement
Method String - , The instance replacement method for managed instance groups. Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved. You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0.
- minimal
Action string - Minimal action to be taken on an instance. You can specify either
NONE
to forbid any actions,REFRESH
to update without stopping instances,RESTART
to restart existing instances orREPLACE
to delete and create new instances from the target template. If you specify aREFRESH
, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action. - type string
- The type of update process. You can specify either
PROACTIVE
so that the instance group manager proactively executes actions in order to bring instances to their target versions orOPPORTUNISTIC
so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls). - max
Surge numberFixed - , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with
max_surge_percent
. If neither is set, defaults to 1 - max
Surge numberPercent - , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with
max_surge_fixed
. - number
- , The maximum number of instances that can be unavailable during the update process. Conflicts with
max_unavailable_percent
. If neither is set, defaults to 1 - number
- , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with
max_unavailable_fixed
. - min
Ready numberSec - , Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600]
- most
Disruptive stringAllowed Action - Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
- replacement
Method string - , The instance replacement method for managed instance groups. Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved. You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0.
- minimal_
action str - Minimal action to be taken on an instance. You can specify either
NONE
to forbid any actions,REFRESH
to update without stopping instances,RESTART
to restart existing instances orREPLACE
to delete and create new instances from the target template. If you specify aREFRESH
, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action. - type str
- The type of update process. You can specify either
PROACTIVE
so that the instance group manager proactively executes actions in order to bring instances to their target versions orOPPORTUNISTIC
so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls). - max_
surge_ intfixed - , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with
max_surge_percent
. If neither is set, defaults to 1 - max_
surge_ intpercent - , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with
max_surge_fixed
. - int
- , The maximum number of instances that can be unavailable during the update process. Conflicts with
max_unavailable_percent
. If neither is set, defaults to 1 - int
- , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with
max_unavailable_fixed
. - min_
ready_ intsec - , Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600]
- most_
disruptive_ strallowed_ action - Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
- replacement_
method str - , The instance replacement method for managed instance groups. Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved. You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0.
- minimal
Action String - Minimal action to be taken on an instance. You can specify either
NONE
to forbid any actions,REFRESH
to update without stopping instances,RESTART
to restart existing instances orREPLACE
to delete and create new instances from the target template. If you specify aREFRESH
, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action. - type String
- The type of update process. You can specify either
PROACTIVE
so that the instance group manager proactively executes actions in order to bring instances to their target versions orOPPORTUNISTIC
so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls). - max
Surge NumberFixed - , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with
max_surge_percent
. If neither is set, defaults to 1 - max
Surge NumberPercent - , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with
max_surge_fixed
. - Number
- , The maximum number of instances that can be unavailable during the update process. Conflicts with
max_unavailable_percent
. If neither is set, defaults to 1 - Number
- , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with
max_unavailable_fixed
. - min
Ready NumberSec - , Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600]
- most
Disruptive StringAllowed Action - Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
- replacement
Method String - , The instance replacement method for managed instance groups. Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved. You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0.
InstanceGroupManagerVersion, InstanceGroupManagerVersionArgs
- Instance
Template string - The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (
self_link_unique
attribute). - Name string
- Version name.
- Target
Size InstanceGroup Manager Version Target Size The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.
Exactly one
version
you specify must not have atarget_size
specified. During a rolling update, the instance group manager will fulfill thetarget_size
constraints of every otherversion
, and any remaining instances will be provisioned with the version wheretarget_size
is unset.
- Instance
Template string - The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (
self_link_unique
attribute). - Name string
- Version name.
- Target
Size InstanceGroup Manager Version Target Size The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.
Exactly one
version
you specify must not have atarget_size
specified. During a rolling update, the instance group manager will fulfill thetarget_size
constraints of every otherversion
, and any remaining instances will be provisioned with the version wheretarget_size
is unset.
- instance
Template String - The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (
self_link_unique
attribute). - name String
- Version name.
- target
Size InstanceGroup Manager Version Target Size The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.
Exactly one
version
you specify must not have atarget_size
specified. During a rolling update, the instance group manager will fulfill thetarget_size
constraints of every otherversion
, and any remaining instances will be provisioned with the version wheretarget_size
is unset.
- instance
Template string - The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (
self_link_unique
attribute). - name string
- Version name.
- target
Size InstanceGroup Manager Version Target Size The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.
Exactly one
version
you specify must not have atarget_size
specified. During a rolling update, the instance group manager will fulfill thetarget_size
constraints of every otherversion
, and any remaining instances will be provisioned with the version wheretarget_size
is unset.
- instance_
template str - The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (
self_link_unique
attribute). - name str
- Version name.
- target_
size InstanceGroup Manager Version Target Size The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.
Exactly one
version
you specify must not have atarget_size
specified. During a rolling update, the instance group manager will fulfill thetarget_size
constraints of every otherversion
, and any remaining instances will be provisioned with the version wheretarget_size
is unset.
- instance
Template String - The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (
self_link_unique
attribute). - name String
- Version name.
- target
Size Property Map The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.
Exactly one
version
you specify must not have atarget_size
specified. During a rolling update, the instance group manager will fulfill thetarget_size
constraints of every otherversion
, and any remaining instances will be provisioned with the version wheretarget_size
is unset.
InstanceGroupManagerVersionTargetSize, InstanceGroupManagerVersionTargetSizeArgs
- Fixed int
- , The number of instances which are managed for this version. Conflicts with
percent
. - Percent int
- , The number of instances (calculated as percentage) which are managed for this version. Conflicts with
fixed
. Note that when usingpercent
, rounding will be in favor of explicitly settarget_size
values; a managed instance group with 2 instances and 2version
s, one of which has atarget_size.percent
of60
will create 2 instances of thatversion
.
- Fixed int
- , The number of instances which are managed for this version. Conflicts with
percent
. - Percent int
- , The number of instances (calculated as percentage) which are managed for this version. Conflicts with
fixed
. Note that when usingpercent
, rounding will be in favor of explicitly settarget_size
values; a managed instance group with 2 instances and 2version
s, one of which has atarget_size.percent
of60
will create 2 instances of thatversion
.
- fixed Integer
- , The number of instances which are managed for this version. Conflicts with
percent
. - percent Integer
- , The number of instances (calculated as percentage) which are managed for this version. Conflicts with
fixed
. Note that when usingpercent
, rounding will be in favor of explicitly settarget_size
values; a managed instance group with 2 instances and 2version
s, one of which has atarget_size.percent
of60
will create 2 instances of thatversion
.
- fixed number
- , The number of instances which are managed for this version. Conflicts with
percent
. - percent number
- , The number of instances (calculated as percentage) which are managed for this version. Conflicts with
fixed
. Note that when usingpercent
, rounding will be in favor of explicitly settarget_size
values; a managed instance group with 2 instances and 2version
s, one of which has atarget_size.percent
of60
will create 2 instances of thatversion
.
- fixed int
- , The number of instances which are managed for this version. Conflicts with
percent
. - percent int
- , The number of instances (calculated as percentage) which are managed for this version. Conflicts with
fixed
. Note that when usingpercent
, rounding will be in favor of explicitly settarget_size
values; a managed instance group with 2 instances and 2version
s, one of which has atarget_size.percent
of60
will create 2 instances of thatversion
.
- fixed Number
- , The number of instances which are managed for this version. Conflicts with
percent
. - percent Number
- , The number of instances (calculated as percentage) which are managed for this version. Conflicts with
fixed
. Note that when usingpercent
, rounding will be in favor of explicitly settarget_size
values; a managed instance group with 2 instances and 2version
s, one of which has atarget_size.percent
of60
will create 2 instances of thatversion
.
Import
Instance group managers can be imported using any of these accepted formats:
projects/{{project}}/zones/{{zone}}/instanceGroupManagers/{{name}}
{{project}}/{{zone}}/{{name}}
{{project}}/{{name}}
{{name}}
When using the pulumi import
command, instance group managers can be imported using one of the formats above. For example:
$ pulumi import gcp:compute/instanceGroupManager:InstanceGroupManager default projects/{{project}}/zones/{{zone}}/instanceGroupManagers/{{name}}
$ pulumi import gcp:compute/instanceGroupManager:InstanceGroupManager default {{project}}/{{zone}}/{{name}}
$ pulumi import gcp:compute/instanceGroupManager:InstanceGroupManager default {{project}}/{{name}}
$ pulumi import gcp:compute/instanceGroupManager:InstanceGroupManager default {{name}}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
google-beta
Terraform Provider.