published on Wednesday, Jul 29, 2026 by Pulumi
published on Wednesday, Jul 29, 2026 by Pulumi
A config defined for multiple managed instances that belong to an instance group manager with target_size_policy.mode=BULK.
To get more information about BulkPerInstanceConfig, see:
- API documentation
- How-to Guides
Example Usage
Compute Bulk Per Instance Config
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const myImage = gcp.compute.getImage({
family: "debian-12",
project: "debian-cloud",
});
const bulk_igm = new gcp.compute.InstanceTemplate("bulk-igm", {
name: "bulk-igm-template",
machineType: "e2-medium",
disks: [{
sourceImage: myImage.then(myImage => myImage.selfLink),
autoDelete: true,
boot: true,
}],
networkInterfaces: [{
network: "default",
}],
});
const bulk_igmInstanceGroupManager = new gcp.compute.InstanceGroupManager("bulk-igm", {
description: "Terraform test bulk instance group manager",
name: "bulk-igm",
zone: "us-central1-a",
baseInstanceName: "bulk-igm",
versions: [{
name: "prod",
instanceTemplate: bulk_igm.selfLink,
}],
});
const bulk_igm_per_instance_config = new gcp.compute.BulkPerInstanceConfig("bulk-igm-per-instance-config", {
zone: bulk_igmInstanceGroupManager.zone,
instanceGroupManager: bulk_igmInstanceGroupManager.name,
instances: [
{
name: "per-instance-config-instance-1",
},
{
name: "per-instance-config-instance-2",
},
],
});
import pulumi
import pulumi_gcp as gcp
my_image = gcp.compute.get_image(family="debian-12",
project="debian-cloud")
bulk_igm = gcp.compute.InstanceTemplate("bulk-igm",
name="bulk-igm-template",
machine_type="e2-medium",
disks=[{
"source_image": my_image.self_link,
"auto_delete": True,
"boot": True,
}],
network_interfaces=[{
"network": "default",
}])
bulk_igm_instance_group_manager = gcp.compute.InstanceGroupManager("bulk-igm",
description="Terraform test bulk instance group manager",
name="bulk-igm",
zone="us-central1-a",
base_instance_name="bulk-igm",
versions=[{
"name": "prod",
"instance_template": bulk_igm.self_link,
}])
bulk_igm_per_instance_config = gcp.compute.BulkPerInstanceConfig("bulk-igm-per-instance-config",
zone=bulk_igm_instance_group_manager.zone,
instance_group_manager=bulk_igm_instance_group_manager.name,
instances=[
{
"name": "per-instance-config-instance-1",
},
{
"name": "per-instance-config-instance-2",
},
])
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
myImage, err := compute.LookupImage(ctx, &compute.LookupImageArgs{
Family: pulumi.StringRef("debian-12"),
Project: pulumi.StringRef("debian-cloud"),
}, nil)
if err != nil {
return err
}
bulk_igm, err := compute.NewInstanceTemplate(ctx, "bulk-igm", &compute.InstanceTemplateArgs{
Name: pulumi.String("bulk-igm-template"),
MachineType: pulumi.String("e2-medium"),
Disks: compute.InstanceTemplateDiskArray{
&compute.InstanceTemplateDiskArgs{
SourceImage: pulumi.String(myImage.SelfLink),
AutoDelete: pulumi.Bool(true),
Boot: pulumi.Bool(true),
},
},
NetworkInterfaces: compute.InstanceTemplateNetworkInterfaceArray{
&compute.InstanceTemplateNetworkInterfaceArgs{
Network: pulumi.String("default"),
},
},
})
if err != nil {
return err
}
bulk_igmInstanceGroupManager, err := compute.NewInstanceGroupManager(ctx, "bulk-igm", &compute.InstanceGroupManagerArgs{
Description: pulumi.String("Terraform test bulk instance group manager"),
Name: pulumi.String("bulk-igm"),
Zone: pulumi.String("us-central1-a"),
BaseInstanceName: pulumi.String("bulk-igm"),
Versions: compute.InstanceGroupManagerVersionArray{
&compute.InstanceGroupManagerVersionArgs{
Name: pulumi.String("prod"),
InstanceTemplate: bulk_igm.SelfLink,
},
},
})
if err != nil {
return err
}
_, err = compute.NewBulkPerInstanceConfig(ctx, "bulk-igm-per-instance-config", &compute.BulkPerInstanceConfigArgs{
Zone: bulk_igmInstanceGroupManager.Zone,
InstanceGroupManager: bulk_igmInstanceGroupManager.Name,
Instances: compute.BulkPerInstanceConfigInstanceArray{
&compute.BulkPerInstanceConfigInstanceArgs{
Name: pulumi.String("per-instance-config-instance-1"),
},
&compute.BulkPerInstanceConfigInstanceArgs{
Name: pulumi.String("per-instance-config-instance-2"),
},
},
})
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 myImage = Gcp.Compute.GetImage.Invoke(new()
{
Family = "debian-12",
Project = "debian-cloud",
});
var bulk_igm = new Gcp.Compute.InstanceTemplate("bulk-igm", new()
{
Name = "bulk-igm-template",
MachineType = "e2-medium",
Disks = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateDiskArgs
{
SourceImage = myImage.Apply(getImageResult => getImageResult.SelfLink),
AutoDelete = true,
Boot = true,
},
},
NetworkInterfaces = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateNetworkInterfaceArgs
{
Network = "default",
},
},
});
var bulk_igmInstanceGroupManager = new Gcp.Compute.InstanceGroupManager("bulk-igm", new()
{
Description = "Terraform test bulk instance group manager",
Name = "bulk-igm",
Zone = "us-central1-a",
BaseInstanceName = "bulk-igm",
Versions = new[]
{
new Gcp.Compute.Inputs.InstanceGroupManagerVersionArgs
{
Name = "prod",
InstanceTemplate = bulk_igm.SelfLink,
},
},
});
var bulk_igm_per_instance_config = new Gcp.Compute.BulkPerInstanceConfig("bulk-igm-per-instance-config", new()
{
Zone = bulk_igmInstanceGroupManager.Zone,
InstanceGroupManager = bulk_igmInstanceGroupManager.Name,
Instances = new[]
{
new Gcp.Compute.Inputs.BulkPerInstanceConfigInstanceArgs
{
Name = "per-instance-config-instance-1",
},
new Gcp.Compute.Inputs.BulkPerInstanceConfigInstanceArgs
{
Name = "per-instance-config-instance-2",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.ComputeFunctions;
import com.pulumi.gcp.compute.inputs.GetImageArgs;
import com.pulumi.gcp.compute.InstanceTemplate;
import com.pulumi.gcp.compute.InstanceTemplateArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateNetworkInterfaceArgs;
import com.pulumi.gcp.compute.InstanceGroupManager;
import com.pulumi.gcp.compute.InstanceGroupManagerArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerVersionArgs;
import com.pulumi.gcp.compute.BulkPerInstanceConfig;
import com.pulumi.gcp.compute.BulkPerInstanceConfigArgs;
import com.pulumi.gcp.compute.inputs.BulkPerInstanceConfigInstanceArgs;
import java.util.ArrayList;
import java.util.Arrays;
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) {
final var myImage = ComputeFunctions.getImage(GetImageArgs.builder()
.family("debian-12")
.project("debian-cloud")
.build());
var bulk_igm = new InstanceTemplate("bulk-igm", InstanceTemplateArgs.builder()
.name("bulk-igm-template")
.machineType("e2-medium")
.disks(InstanceTemplateDiskArgs.builder()
.sourceImage(myImage.selfLink())
.autoDelete(true)
.boot(true)
.build())
.networkInterfaces(InstanceTemplateNetworkInterfaceArgs.builder()
.network("default")
.build())
.build());
var bulk_igmInstanceGroupManager = new InstanceGroupManager("bulk-igmInstanceGroupManager", InstanceGroupManagerArgs.builder()
.description("Terraform test bulk instance group manager")
.name("bulk-igm")
.zone("us-central1-a")
.baseInstanceName("bulk-igm")
.versions(InstanceGroupManagerVersionArgs.builder()
.name("prod")
.instanceTemplate(bulk_igm.selfLink())
.build())
.build());
var bulk_igm_per_instance_config = new BulkPerInstanceConfig("bulk-igm-per-instance-config", BulkPerInstanceConfigArgs.builder()
.zone(bulk_igmInstanceGroupManager.zone())
.instanceGroupManager(bulk_igmInstanceGroupManager.name())
.instances(
BulkPerInstanceConfigInstanceArgs.builder()
.name("per-instance-config-instance-1")
.build(),
BulkPerInstanceConfigInstanceArgs.builder()
.name("per-instance-config-instance-2")
.build())
.build());
}
}
resources:
bulk-igm:
type: gcp:compute:InstanceTemplate
properties:
name: bulk-igm-template
machineType: e2-medium
disks:
- sourceImage: ${myImage.selfLink}
autoDelete: true
boot: true
networkInterfaces:
- network: default
bulk-igmInstanceGroupManager:
type: gcp:compute:InstanceGroupManager
name: bulk-igm
properties:
description: Terraform test bulk instance group manager
name: bulk-igm
zone: us-central1-a
baseInstanceName: bulk-igm
versions:
- name: prod
instanceTemplate: ${["bulk-igm"].selfLink}
bulk-igm-per-instance-config:
type: gcp:compute:BulkPerInstanceConfig
properties:
zone: ${["bulk-igmInstanceGroupManager"].zone}
instanceGroupManager: ${["bulk-igmInstanceGroupManager"].name}
instances:
- name: per-instance-config-instance-1
- name: per-instance-config-instance-2
variables:
myImage:
fn::invoke:
function: gcp:compute:getImage
arguments:
family: debian-12
project: debian-cloud
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
data "gcp_compute_getimage" "myImage" {
family = "debian-12"
project = "debian-cloud"
}
resource "gcp_compute_instancetemplate" "bulk-igm" {
name = "bulk-igm-template"
machine_type = "e2-medium"
disks {
source_image = data.gcp_compute_getimage.myImage.self_link
auto_delete = true
boot = true
}
network_interfaces {
network = "default"
}
}
resource "gcp_compute_instancegroupmanager" "bulk-igm" {
description = "Terraform test bulk instance group manager"
name = "bulk-igm"
zone = "us-central1-a"
base_instance_name = "bulk-igm"
versions {
name = "prod"
instance_template = gcp_compute_instancetemplate.bulk-igm.self_link
}
}
resource "gcp_compute_bulkperinstanceconfig" "bulk-igm-per-instance-config" {
zone = gcp_compute_instancegroupmanager.bulk-igm.zone
instance_group_manager = gcp_compute_instancegroupmanager.bulk-igm.name
instances {
name = "per-instance-config-instance-1"
}
instances {
name = "per-instance-config-instance-2"
}
}
Create BulkPerInstanceConfig Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new BulkPerInstanceConfig(name: string, args: BulkPerInstanceConfigArgs, opts?: CustomResourceOptions);@overload
def BulkPerInstanceConfig(resource_name: str,
args: BulkPerInstanceConfigArgs,
opts: Optional[ResourceOptions] = None)
@overload
def BulkPerInstanceConfig(resource_name: str,
opts: Optional[ResourceOptions] = None,
instance_group_manager: Optional[str] = None,
deletion_policy: Optional[str] = None,
instances: Optional[Sequence[BulkPerInstanceConfigInstanceArgs]] = None,
project: Optional[str] = None,
zone: Optional[str] = None)func NewBulkPerInstanceConfig(ctx *Context, name string, args BulkPerInstanceConfigArgs, opts ...ResourceOption) (*BulkPerInstanceConfig, error)public BulkPerInstanceConfig(string name, BulkPerInstanceConfigArgs args, CustomResourceOptions? opts = null)
public BulkPerInstanceConfig(String name, BulkPerInstanceConfigArgs args)
public BulkPerInstanceConfig(String name, BulkPerInstanceConfigArgs args, CustomResourceOptions options)
type: gcp:compute:BulkPerInstanceConfig
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "gcp_compute_bulk_per_instance_config" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args BulkPerInstanceConfigArgs
- 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 BulkPerInstanceConfigArgs
- 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 BulkPerInstanceConfigArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args BulkPerInstanceConfigArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args BulkPerInstanceConfigArgs
- 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 bulkPerInstanceConfigResource = new Gcp.Compute.BulkPerInstanceConfig("bulkPerInstanceConfigResource", new()
{
InstanceGroupManager = "string",
DeletionPolicy = "string",
Instances = new[]
{
new Gcp.Compute.Inputs.BulkPerInstanceConfigInstanceArgs
{
Name = "string",
},
},
Project = "string",
Zone = "string",
});
example, err := compute.NewBulkPerInstanceConfig(ctx, "bulkPerInstanceConfigResource", &compute.BulkPerInstanceConfigArgs{
InstanceGroupManager: pulumi.String("string"),
DeletionPolicy: pulumi.String("string"),
Instances: compute.BulkPerInstanceConfigInstanceArray{
&compute.BulkPerInstanceConfigInstanceArgs{
Name: pulumi.String("string"),
},
},
Project: pulumi.String("string"),
Zone: pulumi.String("string"),
})
resource "gcp_compute_bulk_per_instance_config" "bulkPerInstanceConfigResource" {
lifecycle {
create_before_destroy = true
}
instance_group_manager = "string"
deletion_policy = "string"
instances {
name = "string"
}
project = "string"
zone = "string"
}
var bulkPerInstanceConfigResource = new BulkPerInstanceConfig("bulkPerInstanceConfigResource", BulkPerInstanceConfigArgs.builder()
.instanceGroupManager("string")
.deletionPolicy("string")
.instances(BulkPerInstanceConfigInstanceArgs.builder()
.name("string")
.build())
.project("string")
.zone("string")
.build());
bulk_per_instance_config_resource = gcp.compute.BulkPerInstanceConfig("bulkPerInstanceConfigResource",
instance_group_manager="string",
deletion_policy="string",
instances=[{
"name": "string",
}],
project="string",
zone="string")
const bulkPerInstanceConfigResource = new gcp.compute.BulkPerInstanceConfig("bulkPerInstanceConfigResource", {
instanceGroupManager: "string",
deletionPolicy: "string",
instances: [{
name: "string",
}],
project: "string",
zone: "string",
});
type: gcp:compute:BulkPerInstanceConfig
properties:
deletionPolicy: string
instanceGroupManager: string
instances:
- name: string
project: string
zone: string
BulkPerInstanceConfig Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The BulkPerInstanceConfig resource accepts the following input properties:
- Instance
Group stringManager - The instance group manager this instance config is part of.
- Deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- Instances
List<Bulk
Per Instance Config Instance> - The list of per-instance configs. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Zone string
- Zone where the containing instance group manager is located
- Instance
Group stringManager - The instance group manager this instance config is part of.
- Deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- Instances
[]Bulk
Per Instance Config Instance Args - The list of per-instance configs. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Zone string
- Zone where the containing instance group manager is located
- instance_
group_ stringmanager - The instance group manager this instance config is part of.
- deletion_
policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- instances list(object)
- The list of per-instance configs. Structure is documented below.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- zone string
- Zone where the containing instance group manager is located
- instance
Group StringManager - The instance group manager this instance config is part of.
- deletion
Policy String - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- instances
List<Bulk
Per Instance Config Instance> - The list of per-instance configs. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- zone String
- Zone where the containing instance group manager is located
- instance
Group stringManager - The instance group manager this instance config is part of.
- deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- instances
Bulk
Per Instance Config Instance[] - The list of per-instance configs. Structure is documented below.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- zone string
- Zone where the containing instance group manager is located
- instance_
group_ strmanager - The instance group manager this instance config is part of.
- deletion_
policy str - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- instances
Sequence[Bulk
Per Instance Config Instance Args] - The list of per-instance configs. Structure is documented below.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- zone str
- Zone where the containing instance group manager is located
- instance
Group StringManager - The instance group manager this instance config is part of.
- deletion
Policy String - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- instances List<Property Map>
- The list of per-instance configs. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- zone String
- Zone where the containing instance group manager is located
Outputs
All input properties are implicitly available as output properties. Additionally, the BulkPerInstanceConfig resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing BulkPerInstanceConfig Resource
Get an existing BulkPerInstanceConfig 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?: BulkPerInstanceConfigState, opts?: CustomResourceOptions): BulkPerInstanceConfig@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
deletion_policy: Optional[str] = None,
instance_group_manager: Optional[str] = None,
instances: Optional[Sequence[BulkPerInstanceConfigInstanceArgs]] = None,
project: Optional[str] = None,
zone: Optional[str] = None) -> BulkPerInstanceConfigfunc GetBulkPerInstanceConfig(ctx *Context, name string, id IDInput, state *BulkPerInstanceConfigState, opts ...ResourceOption) (*BulkPerInstanceConfig, error)public static BulkPerInstanceConfig Get(string name, Input<string> id, BulkPerInstanceConfigState? state, CustomResourceOptions? opts = null)public static BulkPerInstanceConfig get(String name, Output<String> id, BulkPerInstanceConfigState state, CustomResourceOptions options)resources: _: type: gcp:compute:BulkPerInstanceConfig get: id: ${id}import {
to = gcp_compute_bulk_per_instance_config.example
id = "${id}"
}
- 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.
- Deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- Instance
Group stringManager - The instance group manager this instance config is part of.
- Instances
List<Bulk
Per Instance Config Instance> - The list of per-instance configs. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Zone string
- Zone where the containing instance group manager is located
- Deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- Instance
Group stringManager - The instance group manager this instance config is part of.
- Instances
[]Bulk
Per Instance Config Instance Args - The list of per-instance configs. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Zone string
- Zone where the containing instance group manager is located
- deletion_
policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- instance_
group_ stringmanager - The instance group manager this instance config is part of.
- instances list(object)
- The list of per-instance configs. Structure is documented below.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- zone string
- Zone where the containing instance group manager is located
- deletion
Policy String - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- instance
Group StringManager - The instance group manager this instance config is part of.
- instances
List<Bulk
Per Instance Config Instance> - The list of per-instance configs. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- zone String
- Zone where the containing instance group manager is located
- deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- instance
Group stringManager - The instance group manager this instance config is part of.
- instances
Bulk
Per Instance Config Instance[] - The list of per-instance configs. Structure is documented below.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- zone string
- Zone where the containing instance group manager is located
- deletion_
policy str - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- instance_
group_ strmanager - The instance group manager this instance config is part of.
- instances
Sequence[Bulk
Per Instance Config Instance Args] - The list of per-instance configs. Structure is documented below.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- zone str
- Zone where the containing instance group manager is located
- deletion
Policy String - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- instance
Group StringManager - The instance group manager this instance config is part of.
- instances List<Property Map>
- The list of per-instance configs. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- zone String
- Zone where the containing instance group manager is located
Supporting Types
BulkPerInstanceConfigInstance, BulkPerInstanceConfigInstanceArgs
- Name string
- The name for this per-instance config and its corresponding instance.
- Name string
- The name for this per-instance config and its corresponding instance.
- name string
- The name for this per-instance config and its corresponding instance.
- name String
- The name for this per-instance config and its corresponding instance.
- name string
- The name for this per-instance config and its corresponding instance.
- name str
- The name for this per-instance config and its corresponding instance.
- name String
- The name for this per-instance config and its corresponding instance.
Import
BulkPerInstanceConfig can be imported using any of these accepted formats:
projects/{{project}}/zones/{{zone}}/instanceGroupManagers/{{instance_group_manager}}{{project}}/{{zone}}/{{instance_group_manager}}{{zone}}/{{instance_group_manager}}{{instance_group_manager}}
When using the pulumi import command, BulkPerInstanceConfig can be imported using one of the formats above. For example:
$ pulumi import gcp:compute/bulkPerInstanceConfig:BulkPerInstanceConfig default projects/{{project}}/zones/{{zone}}/instanceGroupManagers/{{instance_group_manager}}
$ pulumi import gcp:compute/bulkPerInstanceConfig:BulkPerInstanceConfig default {{project}}/{{zone}}/{{instance_group_manager}}
$ pulumi import gcp:compute/bulkPerInstanceConfig:BulkPerInstanceConfig default {{zone}}/{{instance_group_manager}}
$ pulumi import gcp:compute/bulkPerInstanceConfig:BulkPerInstanceConfig default {{instance_group_manager}}
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-betaTerraform Provider.
published on Wednesday, Jul 29, 2026 by Pulumi