published on Wednesday, Jul 29, 2026 by Pulumi
published on Wednesday, Jul 29, 2026 by Pulumi
A Global VM Extension Policy.
Warning: This resource is in beta, and should be used with the terraform-provider-google-beta provider. See Provider Versions for more details on beta resources.
Example Usage
Compute Global Vm Extension Policy Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const opsAgentPolicy = new gcp.compute.GlobalVmExtensionPolicy("ops_agent_policy", {
name: "global-ops-agent-vme-policy-_88722",
description: "A basic global VM extension policy",
priority: 10,
extensionPolicies: [{
extensionName: "ops-agent",
pinnedVersion: "2.66.0",
}],
instanceSelectors: [{
labelSelector: {
inclusionLabels: {
env: "test",
},
},
}],
rolloutOperation: {
rolloutInput: {
predefinedRolloutPlan: "FAST_ROLLOUT",
},
},
});
import pulumi
import pulumi_gcp as gcp
ops_agent_policy = gcp.compute.GlobalVmExtensionPolicy("ops_agent_policy",
name="global-ops-agent-vme-policy-_88722",
description="A basic global VM extension policy",
priority=10,
extension_policies=[{
"extension_name": "ops-agent",
"pinned_version": "2.66.0",
}],
instance_selectors=[{
"label_selector": {
"inclusion_labels": {
"env": "test",
},
},
}],
rollout_operation={
"rollout_input": {
"predefined_rollout_plan": "FAST_ROLLOUT",
},
})
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 {
_, err := compute.NewGlobalVmExtensionPolicy(ctx, "ops_agent_policy", &compute.GlobalVmExtensionPolicyArgs{
Name: pulumi.String("global-ops-agent-vme-policy-_88722"),
Description: pulumi.String("A basic global VM extension policy"),
Priority: pulumi.Int(10),
ExtensionPolicies: compute.GlobalVmExtensionPolicyExtensionPolicyArray{
&compute.GlobalVmExtensionPolicyExtensionPolicyArgs{
ExtensionName: pulumi.String("ops-agent"),
PinnedVersion: pulumi.String("2.66.0"),
},
},
InstanceSelectors: compute.GlobalVmExtensionPolicyInstanceSelectorArray{
&compute.GlobalVmExtensionPolicyInstanceSelectorArgs{
LabelSelector: &compute.GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs{
InclusionLabels: pulumi.StringMap{
"env": pulumi.String("test"),
},
},
},
},
RolloutOperation: &compute.GlobalVmExtensionPolicyRolloutOperationArgs{
RolloutInput: &compute.GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs{
PredefinedRolloutPlan: pulumi.String("FAST_ROLLOUT"),
},
},
})
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 opsAgentPolicy = new Gcp.Compute.GlobalVmExtensionPolicy("ops_agent_policy", new()
{
Name = "global-ops-agent-vme-policy-_88722",
Description = "A basic global VM extension policy",
Priority = 10,
ExtensionPolicies = new[]
{
new Gcp.Compute.Inputs.GlobalVmExtensionPolicyExtensionPolicyArgs
{
ExtensionName = "ops-agent",
PinnedVersion = "2.66.0",
},
},
InstanceSelectors = new[]
{
new Gcp.Compute.Inputs.GlobalVmExtensionPolicyInstanceSelectorArgs
{
LabelSelector = new Gcp.Compute.Inputs.GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs
{
InclusionLabels =
{
{ "env", "test" },
},
},
},
},
RolloutOperation = new Gcp.Compute.Inputs.GlobalVmExtensionPolicyRolloutOperationArgs
{
RolloutInput = new Gcp.Compute.Inputs.GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs
{
PredefinedRolloutPlan = "FAST_ROLLOUT",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.GlobalVmExtensionPolicy;
import com.pulumi.gcp.compute.GlobalVmExtensionPolicyArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyExtensionPolicyArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyInstanceSelectorArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyRolloutOperationArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs;
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) {
var opsAgentPolicy = new GlobalVmExtensionPolicy("opsAgentPolicy", GlobalVmExtensionPolicyArgs.builder()
.name("global-ops-agent-vme-policy-_88722")
.description("A basic global VM extension policy")
.priority(10)
.extensionPolicies(GlobalVmExtensionPolicyExtensionPolicyArgs.builder()
.extensionName("ops-agent")
.pinnedVersion("2.66.0")
.build())
.instanceSelectors(GlobalVmExtensionPolicyInstanceSelectorArgs.builder()
.labelSelector(GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs.builder()
.inclusionLabels(Map.of("env", "test"))
.build())
.build())
.rolloutOperation(GlobalVmExtensionPolicyRolloutOperationArgs.builder()
.rolloutInput(GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs.builder()
.predefinedRolloutPlan("FAST_ROLLOUT")
.build())
.build())
.build());
}
}
resources:
opsAgentPolicy:
type: gcp:compute:GlobalVmExtensionPolicy
name: ops_agent_policy
properties:
name: global-ops-agent-vme-policy-_88722
description: A basic global VM extension policy
priority: 10
extensionPolicies:
- extensionName: ops-agent
pinnedVersion: 2.66.0
instanceSelectors:
- labelSelector:
inclusionLabels:
env: test
rolloutOperation:
rolloutInput:
predefinedRolloutPlan: FAST_ROLLOUT
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_compute_globalvmextensionpolicy" "ops_agent_policy" {
name = "global-ops-agent-vme-policy-_88722"
description = "A basic global VM extension policy"
priority = 10
extension_policies {
extension_name = "ops-agent"
pinned_version = "2.66.0"
}
instance_selectors {
label_selector = {
inclusion_labels = {
"env" = "test"
}
}
}
rollout_operation = {
rollout_input = {
predefined_rollout_plan = "FAST_ROLLOUT"
}
}
}
Compute Global Vm Extension Policy Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const opsAgentPolicy = new gcp.compute.GlobalVmExtensionPolicy("ops_agent_policy", {
name: "global-ops-agent-vme-policy-_39249",
description: "A basic global VM extension policy",
priority: 10,
extensionPolicies: [{
extensionName: "ops-agent",
pinnedVersion: "2.66.0",
}],
instanceSelectors: [{
labelSelector: {
inclusionLabels: {
env: "test",
},
},
}],
rolloutOperation: {
rolloutInput: {
predefinedRolloutPlan: "FAST_ROLLOUT",
},
},
});
import pulumi
import pulumi_gcp as gcp
ops_agent_policy = gcp.compute.GlobalVmExtensionPolicy("ops_agent_policy",
name="global-ops-agent-vme-policy-_39249",
description="A basic global VM extension policy",
priority=10,
extension_policies=[{
"extension_name": "ops-agent",
"pinned_version": "2.66.0",
}],
instance_selectors=[{
"label_selector": {
"inclusion_labels": {
"env": "test",
},
},
}],
rollout_operation={
"rollout_input": {
"predefined_rollout_plan": "FAST_ROLLOUT",
},
})
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 {
_, err := compute.NewGlobalVmExtensionPolicy(ctx, "ops_agent_policy", &compute.GlobalVmExtensionPolicyArgs{
Name: pulumi.String("global-ops-agent-vme-policy-_39249"),
Description: pulumi.String("A basic global VM extension policy"),
Priority: pulumi.Int(10),
ExtensionPolicies: compute.GlobalVmExtensionPolicyExtensionPolicyArray{
&compute.GlobalVmExtensionPolicyExtensionPolicyArgs{
ExtensionName: pulumi.String("ops-agent"),
PinnedVersion: pulumi.String("2.66.0"),
},
},
InstanceSelectors: compute.GlobalVmExtensionPolicyInstanceSelectorArray{
&compute.GlobalVmExtensionPolicyInstanceSelectorArgs{
LabelSelector: &compute.GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs{
InclusionLabels: pulumi.StringMap{
"env": pulumi.String("test"),
},
},
},
},
RolloutOperation: &compute.GlobalVmExtensionPolicyRolloutOperationArgs{
RolloutInput: &compute.GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs{
PredefinedRolloutPlan: pulumi.String("FAST_ROLLOUT"),
},
},
})
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 opsAgentPolicy = new Gcp.Compute.GlobalVmExtensionPolicy("ops_agent_policy", new()
{
Name = "global-ops-agent-vme-policy-_39249",
Description = "A basic global VM extension policy",
Priority = 10,
ExtensionPolicies = new[]
{
new Gcp.Compute.Inputs.GlobalVmExtensionPolicyExtensionPolicyArgs
{
ExtensionName = "ops-agent",
PinnedVersion = "2.66.0",
},
},
InstanceSelectors = new[]
{
new Gcp.Compute.Inputs.GlobalVmExtensionPolicyInstanceSelectorArgs
{
LabelSelector = new Gcp.Compute.Inputs.GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs
{
InclusionLabels =
{
{ "env", "test" },
},
},
},
},
RolloutOperation = new Gcp.Compute.Inputs.GlobalVmExtensionPolicyRolloutOperationArgs
{
RolloutInput = new Gcp.Compute.Inputs.GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs
{
PredefinedRolloutPlan = "FAST_ROLLOUT",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.GlobalVmExtensionPolicy;
import com.pulumi.gcp.compute.GlobalVmExtensionPolicyArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyExtensionPolicyArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyInstanceSelectorArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyRolloutOperationArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs;
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) {
var opsAgentPolicy = new GlobalVmExtensionPolicy("opsAgentPolicy", GlobalVmExtensionPolicyArgs.builder()
.name("global-ops-agent-vme-policy-_39249")
.description("A basic global VM extension policy")
.priority(10)
.extensionPolicies(GlobalVmExtensionPolicyExtensionPolicyArgs.builder()
.extensionName("ops-agent")
.pinnedVersion("2.66.0")
.build())
.instanceSelectors(GlobalVmExtensionPolicyInstanceSelectorArgs.builder()
.labelSelector(GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs.builder()
.inclusionLabels(Map.of("env", "test"))
.build())
.build())
.rolloutOperation(GlobalVmExtensionPolicyRolloutOperationArgs.builder()
.rolloutInput(GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs.builder()
.predefinedRolloutPlan("FAST_ROLLOUT")
.build())
.build())
.build());
}
}
resources:
opsAgentPolicy:
type: gcp:compute:GlobalVmExtensionPolicy
name: ops_agent_policy
properties:
name: global-ops-agent-vme-policy-_39249
description: A basic global VM extension policy
priority: 10
extensionPolicies:
- extensionName: ops-agent
pinnedVersion: 2.66.0
instanceSelectors:
- labelSelector:
inclusionLabels:
env: test
rolloutOperation:
rolloutInput:
predefinedRolloutPlan: FAST_ROLLOUT
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_compute_globalvmextensionpolicy" "ops_agent_policy" {
name = "global-ops-agent-vme-policy-_39249"
description = "A basic global VM extension policy"
priority = 10
extension_policies {
extension_name = "ops-agent"
pinned_version = "2.66.0"
}
instance_selectors {
label_selector = {
inclusion_labels = {
"env" = "test"
}
}
}
rollout_operation = {
rollout_input = {
predefined_rollout_plan = "FAST_ROLLOUT"
}
}
}
Compute Global Vm Extension Policy Custom Rollout
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const project = gcp.organizations.getProject({});
const customRollout = new gcp.compute.RolloutPlan("custom_rollout", {
name: "custom-rollout-plan-_16511",
locationScope: "ZONAL",
waves: [{
displayName: "wave-1",
selectors: [{
locationSelector: {
includedLocations: [
"us-central1-a",
"us-west1-a",
],
},
}],
validation: {
type: "time",
timeBasedValidationMetadata: {
waitDuration: "0s",
},
},
orchestrationOptions: {
maxConcurrentResourcesPerLocation: 10,
maxConcurrentLocations: 10,
},
}],
});
const opsAgentPolicy = new gcp.compute.GlobalVmExtensionPolicy("ops_agent_policy", {
name: "global-ops-agent-vme-policy-_74391",
description: "A global VM extension policy with a custom rollout plan",
priority: 10,
extensionPolicies: [{
extensionName: "ops-agent",
pinnedVersion: "2.66.0",
}],
instanceSelectors: [{
labelSelector: {
inclusionLabels: {
env: "test",
},
},
}],
rolloutOperation: {
rolloutInput: {
name: pulumi.all([project, customRollout.name]).apply(([project, name]) => `projects/${project.number}/locations/global/rolloutPlans/${name}`),
},
},
});
import pulumi
import pulumi_gcp as gcp
project = gcp.organizations.get_project()
custom_rollout = gcp.compute.RolloutPlan("custom_rollout",
name="custom-rollout-plan-_16511",
location_scope="ZONAL",
waves=[{
"display_name": "wave-1",
"selectors": [{
"location_selector": {
"included_locations": [
"us-central1-a",
"us-west1-a",
],
},
}],
"validation": {
"type": "time",
"time_based_validation_metadata": {
"wait_duration": "0s",
},
},
"orchestration_options": {
"max_concurrent_resources_per_location": 10,
"max_concurrent_locations": 10,
},
}])
ops_agent_policy = gcp.compute.GlobalVmExtensionPolicy("ops_agent_policy",
name="global-ops-agent-vme-policy-_74391",
description="A global VM extension policy with a custom rollout plan",
priority=10,
extension_policies=[{
"extension_name": "ops-agent",
"pinned_version": "2.66.0",
}],
instance_selectors=[{
"label_selector": {
"inclusion_labels": {
"env": "test",
},
},
}],
rollout_operation={
"rollout_input": {
"name": custom_rollout.name.apply(lambda name: f"projects/{project.number}/locations/global/rolloutPlans/{name}"),
},
})
package main
import (
"fmt"
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
if err != nil {
return err
}
customRollout, err := compute.NewRolloutPlan(ctx, "custom_rollout", &compute.RolloutPlanArgs{
Name: pulumi.String("custom-rollout-plan-_16511"),
LocationScope: pulumi.String("ZONAL"),
Waves: compute.RolloutPlanWaveArray{
&compute.RolloutPlanWaveArgs{
DisplayName: pulumi.String("wave-1"),
Selectors: compute.RolloutPlanWaveSelectorArray{
&compute.RolloutPlanWaveSelectorArgs{
LocationSelector: &compute.RolloutPlanWaveSelectorLocationSelectorArgs{
IncludedLocations: pulumi.StringArray{
pulumi.String("us-central1-a"),
pulumi.String("us-west1-a"),
},
},
},
},
Validation: &compute.RolloutPlanWaveValidationArgs{
Type: pulumi.String("time"),
TimeBasedValidationMetadata: &compute.RolloutPlanWaveValidationTimeBasedValidationMetadataArgs{
WaitDuration: pulumi.String("0s"),
},
},
OrchestrationOptions: &compute.RolloutPlanWaveOrchestrationOptionsArgs{
MaxConcurrentResourcesPerLocation: pulumi.Int(10),
MaxConcurrentLocations: pulumi.Int(10),
},
},
},
})
if err != nil {
return err
}
_, err = compute.NewGlobalVmExtensionPolicy(ctx, "ops_agent_policy", &compute.GlobalVmExtensionPolicyArgs{
Name: pulumi.String("global-ops-agent-vme-policy-_74391"),
Description: pulumi.String("A global VM extension policy with a custom rollout plan"),
Priority: pulumi.Int(10),
ExtensionPolicies: compute.GlobalVmExtensionPolicyExtensionPolicyArray{
&compute.GlobalVmExtensionPolicyExtensionPolicyArgs{
ExtensionName: pulumi.String("ops-agent"),
PinnedVersion: pulumi.String("2.66.0"),
},
},
InstanceSelectors: compute.GlobalVmExtensionPolicyInstanceSelectorArray{
&compute.GlobalVmExtensionPolicyInstanceSelectorArgs{
LabelSelector: &compute.GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs{
InclusionLabels: pulumi.StringMap{
"env": pulumi.String("test"),
},
},
},
},
RolloutOperation: &compute.GlobalVmExtensionPolicyRolloutOperationArgs{
RolloutInput: &compute.GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs{
Name: customRollout.Name.ApplyT(func(name string) (string, error) {
return fmt.Sprintf("projects/%v/locations/global/rolloutPlans/%v", project.Number, name), nil
}).(pulumi.StringOutput),
},
},
})
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 project = Gcp.Organizations.GetProject.Invoke();
var customRollout = new Gcp.Compute.RolloutPlan("custom_rollout", new()
{
Name = "custom-rollout-plan-_16511",
LocationScope = "ZONAL",
Waves = new[]
{
new Gcp.Compute.Inputs.RolloutPlanWaveArgs
{
DisplayName = "wave-1",
Selectors = new[]
{
new Gcp.Compute.Inputs.RolloutPlanWaveSelectorArgs
{
LocationSelector = new Gcp.Compute.Inputs.RolloutPlanWaveSelectorLocationSelectorArgs
{
IncludedLocations = new[]
{
"us-central1-a",
"us-west1-a",
},
},
},
},
Validation = new Gcp.Compute.Inputs.RolloutPlanWaveValidationArgs
{
Type = "time",
TimeBasedValidationMetadata = new Gcp.Compute.Inputs.RolloutPlanWaveValidationTimeBasedValidationMetadataArgs
{
WaitDuration = "0s",
},
},
OrchestrationOptions = new Gcp.Compute.Inputs.RolloutPlanWaveOrchestrationOptionsArgs
{
MaxConcurrentResourcesPerLocation = 10,
MaxConcurrentLocations = 10,
},
},
},
});
var opsAgentPolicy = new Gcp.Compute.GlobalVmExtensionPolicy("ops_agent_policy", new()
{
Name = "global-ops-agent-vme-policy-_74391",
Description = "A global VM extension policy with a custom rollout plan",
Priority = 10,
ExtensionPolicies = new[]
{
new Gcp.Compute.Inputs.GlobalVmExtensionPolicyExtensionPolicyArgs
{
ExtensionName = "ops-agent",
PinnedVersion = "2.66.0",
},
},
InstanceSelectors = new[]
{
new Gcp.Compute.Inputs.GlobalVmExtensionPolicyInstanceSelectorArgs
{
LabelSelector = new Gcp.Compute.Inputs.GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs
{
InclusionLabels =
{
{ "env", "test" },
},
},
},
},
RolloutOperation = new Gcp.Compute.Inputs.GlobalVmExtensionPolicyRolloutOperationArgs
{
RolloutInput = new Gcp.Compute.Inputs.GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs
{
Name = Output.Tuple(project, customRollout.Name).Apply(values =>
{
var project = values.Item1;
var name = values.Item2;
return $"projects/{project.Apply(getProjectResult => getProjectResult.Number)}/locations/global/rolloutPlans/{name}";
}),
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.compute.RolloutPlan;
import com.pulumi.gcp.compute.RolloutPlanArgs;
import com.pulumi.gcp.compute.inputs.RolloutPlanWaveArgs;
import com.pulumi.gcp.compute.inputs.RolloutPlanWaveSelectorArgs;
import com.pulumi.gcp.compute.inputs.RolloutPlanWaveSelectorLocationSelectorArgs;
import com.pulumi.gcp.compute.inputs.RolloutPlanWaveValidationArgs;
import com.pulumi.gcp.compute.inputs.RolloutPlanWaveValidationTimeBasedValidationMetadataArgs;
import com.pulumi.gcp.compute.inputs.RolloutPlanWaveOrchestrationOptionsArgs;
import com.pulumi.gcp.compute.GlobalVmExtensionPolicy;
import com.pulumi.gcp.compute.GlobalVmExtensionPolicyArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyExtensionPolicyArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyInstanceSelectorArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyRolloutOperationArgs;
import com.pulumi.gcp.compute.inputs.GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs;
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 project = OrganizationsFunctions.getProject(GetProjectArgs.builder()
.build());
var customRollout = new RolloutPlan("customRollout", RolloutPlanArgs.builder()
.name("custom-rollout-plan-_16511")
.locationScope("ZONAL")
.waves(RolloutPlanWaveArgs.builder()
.displayName("wave-1")
.selectors(RolloutPlanWaveSelectorArgs.builder()
.locationSelector(RolloutPlanWaveSelectorLocationSelectorArgs.builder()
.includedLocations(
"us-central1-a",
"us-west1-a")
.build())
.build())
.validation(RolloutPlanWaveValidationArgs.builder()
.type("time")
.timeBasedValidationMetadata(RolloutPlanWaveValidationTimeBasedValidationMetadataArgs.builder()
.waitDuration("0s")
.build())
.build())
.orchestrationOptions(RolloutPlanWaveOrchestrationOptionsArgs.builder()
.maxConcurrentResourcesPerLocation(10)
.maxConcurrentLocations(10)
.build())
.build())
.build());
var opsAgentPolicy = new GlobalVmExtensionPolicy("opsAgentPolicy", GlobalVmExtensionPolicyArgs.builder()
.name("global-ops-agent-vme-policy-_74391")
.description("A global VM extension policy with a custom rollout plan")
.priority(10)
.extensionPolicies(GlobalVmExtensionPolicyExtensionPolicyArgs.builder()
.extensionName("ops-agent")
.pinnedVersion("2.66.0")
.build())
.instanceSelectors(GlobalVmExtensionPolicyInstanceSelectorArgs.builder()
.labelSelector(GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs.builder()
.inclusionLabels(Map.of("env", "test"))
.build())
.build())
.rolloutOperation(GlobalVmExtensionPolicyRolloutOperationArgs.builder()
.rolloutInput(GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs.builder()
.name(customRollout.name().applyValue(_name -> String.format("projects/%s/locations/global/rolloutPlans/%s", project.number(),_name)))
.build())
.build())
.build());
}
}
resources:
opsAgentPolicy:
type: gcp:compute:GlobalVmExtensionPolicy
name: ops_agent_policy
properties:
name: global-ops-agent-vme-policy-_74391
description: A global VM extension policy with a custom rollout plan
priority: 10
extensionPolicies:
- extensionName: ops-agent
pinnedVersion: 2.66.0
instanceSelectors:
- labelSelector:
inclusionLabels:
env: test
rolloutOperation:
rolloutInput:
name: projects/${project.number}/locations/global/rolloutPlans/${customRollout.name}
customRollout:
type: gcp:compute:RolloutPlan
name: custom_rollout
properties:
name: custom-rollout-plan-_16511
locationScope: ZONAL
waves:
- displayName: wave-1
selectors:
- locationSelector:
includedLocations:
- us-central1-a
- us-west1-a
validation:
type: time
timeBasedValidationMetadata:
waitDuration: 0s
orchestrationOptions:
maxConcurrentResourcesPerLocation: 10
maxConcurrentLocations: 10
variables:
project:
fn::invoke:
function: gcp:organizations:getProject
arguments: {}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
data "gcp_organizations_getproject" "project" {
}
resource "gcp_compute_globalvmextensionpolicy" "ops_agent_policy" {
name = "global-ops-agent-vme-policy-_74391"
description = "A global VM extension policy with a custom rollout plan"
priority = 10
extension_policies {
extension_name = "ops-agent"
pinned_version = "2.66.0"
}
instance_selectors {
label_selector = {
inclusion_labels = {
"env" = "test"
}
}
}
rollout_operation = {
rollout_input = {
name ="projects/${data.gcp_organizations_getproject.project.number}/locations/global/rolloutPlans/${gcp_compute_rolloutplan.custom_rollout.name}"
}
}
}
resource "gcp_compute_rolloutplan" "custom_rollout" {
name = "custom-rollout-plan-_16511"
location_scope = "ZONAL"
waves {
display_name = "wave-1"
selectors {
location_selector = {
included_locations = ["us-central1-a", "us-west1-a"]
}
}
validation = {
type = "time"
time_based_validation_metadata = {
wait_duration = "0s"
}
}
orchestration_options = {
max_concurrent_resources_per_location = 10
max_concurrent_locations = 10
}
}
}
Create GlobalVmExtensionPolicy Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new GlobalVmExtensionPolicy(name: string, args: GlobalVmExtensionPolicyArgs, opts?: CustomResourceOptions);@overload
def GlobalVmExtensionPolicy(resource_name: str,
args: GlobalVmExtensionPolicyArgs,
opts: Optional[ResourceOptions] = None)
@overload
def GlobalVmExtensionPolicy(resource_name: str,
opts: Optional[ResourceOptions] = None,
extension_policies: Optional[Sequence[GlobalVmExtensionPolicyExtensionPolicyArgs]] = None,
rollout_operation: Optional[GlobalVmExtensionPolicyRolloutOperationArgs] = None,
deletion_policy: Optional[str] = None,
description: Optional[str] = None,
instance_selectors: Optional[Sequence[GlobalVmExtensionPolicyInstanceSelectorArgs]] = None,
name: Optional[str] = None,
priority: Optional[int] = None,
project: Optional[str] = None)func NewGlobalVmExtensionPolicy(ctx *Context, name string, args GlobalVmExtensionPolicyArgs, opts ...ResourceOption) (*GlobalVmExtensionPolicy, error)public GlobalVmExtensionPolicy(string name, GlobalVmExtensionPolicyArgs args, CustomResourceOptions? opts = null)
public GlobalVmExtensionPolicy(String name, GlobalVmExtensionPolicyArgs args)
public GlobalVmExtensionPolicy(String name, GlobalVmExtensionPolicyArgs args, CustomResourceOptions options)
type: gcp:compute:GlobalVmExtensionPolicy
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "gcp_compute_global_vm_extension_policy" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args GlobalVmExtensionPolicyArgs
- 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 GlobalVmExtensionPolicyArgs
- 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 GlobalVmExtensionPolicyArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args GlobalVmExtensionPolicyArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args GlobalVmExtensionPolicyArgs
- 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 globalVmExtensionPolicyResource = new Gcp.Compute.GlobalVmExtensionPolicy("globalVmExtensionPolicyResource", new()
{
ExtensionPolicies = new[]
{
new Gcp.Compute.Inputs.GlobalVmExtensionPolicyExtensionPolicyArgs
{
ExtensionName = "string",
PinnedVersion = "string",
StringConfig = "string",
},
},
RolloutOperation = new Gcp.Compute.Inputs.GlobalVmExtensionPolicyRolloutOperationArgs
{
RolloutInput = new Gcp.Compute.Inputs.GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs
{
ConflictBehavior = "string",
Name = "string",
PredefinedRolloutPlan = "string",
RetryUuid = "string",
},
RolloutStatuses = new[]
{
new Gcp.Compute.Inputs.GlobalVmExtensionPolicyRolloutOperationRolloutStatusArgs
{
CurrentRollouts = new[]
{
new Gcp.Compute.Inputs.GlobalVmExtensionPolicyRolloutOperationRolloutStatusCurrentRolloutArgs
{
LocationRolloutStatuses = new[]
{
new Gcp.Compute.Inputs.GlobalVmExtensionPolicyRolloutOperationRolloutStatusCurrentRolloutLocationRolloutStatusArgs
{
LocationName = "string",
State = "string",
},
},
Rollout = "string",
RolloutPlan = "string",
State = "string",
},
},
PreviousRollouts = new[]
{
new Gcp.Compute.Inputs.GlobalVmExtensionPolicyRolloutOperationRolloutStatusPreviousRolloutArgs
{
LocationRolloutStatuses = new[]
{
new Gcp.Compute.Inputs.GlobalVmExtensionPolicyRolloutOperationRolloutStatusPreviousRolloutLocationRolloutStatusArgs
{
LocationName = "string",
State = "string",
},
},
Rollout = "string",
RolloutPlan = "string",
State = "string",
},
},
},
},
},
DeletionPolicy = "string",
Description = "string",
InstanceSelectors = new[]
{
new Gcp.Compute.Inputs.GlobalVmExtensionPolicyInstanceSelectorArgs
{
LabelSelector = new Gcp.Compute.Inputs.GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs
{
InclusionLabels =
{
{ "string", "string" },
},
},
},
},
Name = "string",
Priority = 0,
Project = "string",
});
example, err := compute.NewGlobalVmExtensionPolicy(ctx, "globalVmExtensionPolicyResource", &compute.GlobalVmExtensionPolicyArgs{
ExtensionPolicies: compute.GlobalVmExtensionPolicyExtensionPolicyArray{
&compute.GlobalVmExtensionPolicyExtensionPolicyArgs{
ExtensionName: pulumi.String("string"),
PinnedVersion: pulumi.String("string"),
StringConfig: pulumi.String("string"),
},
},
RolloutOperation: &compute.GlobalVmExtensionPolicyRolloutOperationArgs{
RolloutInput: &compute.GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs{
ConflictBehavior: pulumi.String("string"),
Name: pulumi.String("string"),
PredefinedRolloutPlan: pulumi.String("string"),
RetryUuid: pulumi.String("string"),
},
RolloutStatuses: compute.GlobalVmExtensionPolicyRolloutOperationRolloutStatusArray{
&compute.GlobalVmExtensionPolicyRolloutOperationRolloutStatusArgs{
CurrentRollouts: compute.GlobalVmExtensionPolicyRolloutOperationRolloutStatusCurrentRolloutArray{
&compute.GlobalVmExtensionPolicyRolloutOperationRolloutStatusCurrentRolloutArgs{
LocationRolloutStatuses: compute.GlobalVmExtensionPolicyRolloutOperationRolloutStatusCurrentRolloutLocationRolloutStatusArray{
&compute.GlobalVmExtensionPolicyRolloutOperationRolloutStatusCurrentRolloutLocationRolloutStatusArgs{
LocationName: pulumi.String("string"),
State: pulumi.String("string"),
},
},
Rollout: pulumi.String("string"),
RolloutPlan: pulumi.String("string"),
State: pulumi.String("string"),
},
},
PreviousRollouts: compute.GlobalVmExtensionPolicyRolloutOperationRolloutStatusPreviousRolloutArray{
&compute.GlobalVmExtensionPolicyRolloutOperationRolloutStatusPreviousRolloutArgs{
LocationRolloutStatuses: compute.GlobalVmExtensionPolicyRolloutOperationRolloutStatusPreviousRolloutLocationRolloutStatusArray{
&compute.GlobalVmExtensionPolicyRolloutOperationRolloutStatusPreviousRolloutLocationRolloutStatusArgs{
LocationName: pulumi.String("string"),
State: pulumi.String("string"),
},
},
Rollout: pulumi.String("string"),
RolloutPlan: pulumi.String("string"),
State: pulumi.String("string"),
},
},
},
},
},
DeletionPolicy: pulumi.String("string"),
Description: pulumi.String("string"),
InstanceSelectors: compute.GlobalVmExtensionPolicyInstanceSelectorArray{
&compute.GlobalVmExtensionPolicyInstanceSelectorArgs{
LabelSelector: &compute.GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs{
InclusionLabels: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
},
},
Name: pulumi.String("string"),
Priority: pulumi.Int(0),
Project: pulumi.String("string"),
})
resource "gcp_compute_global_vm_extension_policy" "globalVmExtensionPolicyResource" {
lifecycle {
create_before_destroy = true
}
extension_policies {
extension_name = "string"
pinned_version = "string"
string_config = "string"
}
rollout_operation = {
rollout_input = {
conflict_behavior = "string"
name = "string"
predefined_rollout_plan = "string"
retry_uuid = "string"
}
rollout_statuses = [{
current_rollouts = [{
location_rollout_statuses = [{
location_name = "string"
state = "string"
}]
rollout = "string"
rollout_plan = "string"
state = "string"
}]
previous_rollouts = [{
location_rollout_statuses = [{
location_name = "string"
state = "string"
}]
rollout = "string"
rollout_plan = "string"
state = "string"
}]
}]
}
deletion_policy = "string"
description = "string"
instance_selectors {
label_selector = {
inclusion_labels = {
"string" = "string"
}
}
}
name = "string"
priority = 0
project = "string"
}
var globalVmExtensionPolicyResource = new GlobalVmExtensionPolicy("globalVmExtensionPolicyResource", GlobalVmExtensionPolicyArgs.builder()
.extensionPolicies(GlobalVmExtensionPolicyExtensionPolicyArgs.builder()
.extensionName("string")
.pinnedVersion("string")
.stringConfig("string")
.build())
.rolloutOperation(GlobalVmExtensionPolicyRolloutOperationArgs.builder()
.rolloutInput(GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs.builder()
.conflictBehavior("string")
.name("string")
.predefinedRolloutPlan("string")
.retryUuid("string")
.build())
.rolloutStatuses(GlobalVmExtensionPolicyRolloutOperationRolloutStatusArgs.builder()
.currentRollouts(GlobalVmExtensionPolicyRolloutOperationRolloutStatusCurrentRolloutArgs.builder()
.locationRolloutStatuses(GlobalVmExtensionPolicyRolloutOperationRolloutStatusCurrentRolloutLocationRolloutStatusArgs.builder()
.locationName("string")
.state("string")
.build())
.rollout("string")
.rolloutPlan("string")
.state("string")
.build())
.previousRollouts(GlobalVmExtensionPolicyRolloutOperationRolloutStatusPreviousRolloutArgs.builder()
.locationRolloutStatuses(GlobalVmExtensionPolicyRolloutOperationRolloutStatusPreviousRolloutLocationRolloutStatusArgs.builder()
.locationName("string")
.state("string")
.build())
.rollout("string")
.rolloutPlan("string")
.state("string")
.build())
.build())
.build())
.deletionPolicy("string")
.description("string")
.instanceSelectors(GlobalVmExtensionPolicyInstanceSelectorArgs.builder()
.labelSelector(GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs.builder()
.inclusionLabels(Map.of("string", "string"))
.build())
.build())
.name("string")
.priority(0)
.project("string")
.build());
global_vm_extension_policy_resource = gcp.compute.GlobalVmExtensionPolicy("globalVmExtensionPolicyResource",
extension_policies=[{
"extension_name": "string",
"pinned_version": "string",
"string_config": "string",
}],
rollout_operation={
"rollout_input": {
"conflict_behavior": "string",
"name": "string",
"predefined_rollout_plan": "string",
"retry_uuid": "string",
},
"rollout_statuses": [{
"current_rollouts": [{
"location_rollout_statuses": [{
"location_name": "string",
"state": "string",
}],
"rollout": "string",
"rollout_plan": "string",
"state": "string",
}],
"previous_rollouts": [{
"location_rollout_statuses": [{
"location_name": "string",
"state": "string",
}],
"rollout": "string",
"rollout_plan": "string",
"state": "string",
}],
}],
},
deletion_policy="string",
description="string",
instance_selectors=[{
"label_selector": {
"inclusion_labels": {
"string": "string",
},
},
}],
name="string",
priority=0,
project="string")
const globalVmExtensionPolicyResource = new gcp.compute.GlobalVmExtensionPolicy("globalVmExtensionPolicyResource", {
extensionPolicies: [{
extensionName: "string",
pinnedVersion: "string",
stringConfig: "string",
}],
rolloutOperation: {
rolloutInput: {
conflictBehavior: "string",
name: "string",
predefinedRolloutPlan: "string",
retryUuid: "string",
},
rolloutStatuses: [{
currentRollouts: [{
locationRolloutStatuses: [{
locationName: "string",
state: "string",
}],
rollout: "string",
rolloutPlan: "string",
state: "string",
}],
previousRollouts: [{
locationRolloutStatuses: [{
locationName: "string",
state: "string",
}],
rollout: "string",
rolloutPlan: "string",
state: "string",
}],
}],
},
deletionPolicy: "string",
description: "string",
instanceSelectors: [{
labelSelector: {
inclusionLabels: {
string: "string",
},
},
}],
name: "string",
priority: 0,
project: "string",
});
type: gcp:compute:GlobalVmExtensionPolicy
properties:
deletionPolicy: string
description: string
extensionPolicies:
- extensionName: string
pinnedVersion: string
stringConfig: string
instanceSelectors:
- labelSelector:
inclusionLabels:
string: string
name: string
priority: 0
project: string
rolloutOperation:
rolloutInput:
conflictBehavior: string
name: string
predefinedRolloutPlan: string
retryUuid: string
rolloutStatuses:
- currentRollouts:
- locationRolloutStatuses:
- locationName: string
state: string
rollout: string
rolloutPlan: string
state: string
previousRollouts:
- locationRolloutStatuses:
- locationName: string
state: string
rollout: string
rolloutPlan: string
state: string
GlobalVmExtensionPolicy 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 GlobalVmExtensionPolicy resource accepts the following input properties:
- Extension
Policies List<GlobalVm Extension Policy Extension Policy> - Map from extension (eg: "cloudops") to its policy configuration. Structure is documented below.
- Rollout
Operation GlobalVm Extension Policy Rollout Operation - Represents the rollout operation. Structure is documented below.
- 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.
- Description string
- An optional description of this resource.
- Instance
Selectors List<GlobalVm Extension Policy Instance Selector> - Selector to target VMs for a policy. Structure is documented below.
- Name string
- Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long and match the regular expression '^a-z?$' to comply with RFC1035.
- Priority int
- Used to resolve conflicts when multiple policies are active. Defaults to 0.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Extension
Policies []GlobalVm Extension Policy Extension Policy Args - Map from extension (eg: "cloudops") to its policy configuration. Structure is documented below.
- Rollout
Operation GlobalVm Extension Policy Rollout Operation Args - Represents the rollout operation. Structure is documented below.
- 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.
- Description string
- An optional description of this resource.
- Instance
Selectors []GlobalVm Extension Policy Instance Selector Args - Selector to target VMs for a policy. Structure is documented below.
- Name string
- Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long and match the regular expression '^a-z?$' to comply with RFC1035.
- Priority int
- Used to resolve conflicts when multiple policies are active. Defaults to 0.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- extension_
policies list(object) - Map from extension (eg: "cloudops") to its policy configuration. Structure is documented below.
- rollout_
operation object - Represents the rollout operation. Structure is documented below.
- 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.
- description string
- An optional description of this resource.
- instance_
selectors list(object) - Selector to target VMs for a policy. Structure is documented below.
- name string
- Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long and match the regular expression '^a-z?$' to comply with RFC1035.
- priority number
- Used to resolve conflicts when multiple policies are active. Defaults to 0.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- extension
Policies List<GlobalVm Extension Policy Extension Policy> - Map from extension (eg: "cloudops") to its policy configuration. Structure is documented below.
- rollout
Operation GlobalVm Extension Policy Rollout Operation - Represents the rollout operation. Structure is documented below.
- 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.
- description String
- An optional description of this resource.
- instance
Selectors List<GlobalVm Extension Policy Instance Selector> - Selector to target VMs for a policy. Structure is documented below.
- name String
- Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long and match the regular expression '^a-z?$' to comply with RFC1035.
- priority Integer
- Used to resolve conflicts when multiple policies are active. Defaults to 0.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- extension
Policies GlobalVm Extension Policy Extension Policy[] - Map from extension (eg: "cloudops") to its policy configuration. Structure is documented below.
- rollout
Operation GlobalVm Extension Policy Rollout Operation - Represents the rollout operation. Structure is documented below.
- 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.
- description string
- An optional description of this resource.
- instance
Selectors GlobalVm Extension Policy Instance Selector[] - Selector to target VMs for a policy. Structure is documented below.
- name string
- Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long and match the regular expression '^a-z?$' to comply with RFC1035.
- priority number
- Used to resolve conflicts when multiple policies are active. Defaults to 0.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- extension_
policies Sequence[GlobalVm Extension Policy Extension Policy Args] - Map from extension (eg: "cloudops") to its policy configuration. Structure is documented below.
- rollout_
operation GlobalVm Extension Policy Rollout Operation Args - Represents the rollout operation. Structure is documented below.
- 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.
- description str
- An optional description of this resource.
- instance_
selectors Sequence[GlobalVm Extension Policy Instance Selector Args] - Selector to target VMs for a policy. Structure is documented below.
- name str
- Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long and match the regular expression '^a-z?$' to comply with RFC1035.
- priority int
- Used to resolve conflicts when multiple policies are active. Defaults to 0.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- extension
Policies List<Property Map> - Map from extension (eg: "cloudops") to its policy configuration. Structure is documented below.
- rollout
Operation Property Map - Represents the rollout operation. Structure is documented below.
- 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.
- description String
- An optional description of this resource.
- instance
Selectors List<Property Map> - Selector to target VMs for a policy. Structure is documented below.
- name String
- Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long and match the regular expression '^a-z?$' to comply with RFC1035.
- priority Number
- Used to resolve conflicts when multiple policies are active. Defaults to 0.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
Outputs
All input properties are implicitly available as output properties. Additionally, the GlobalVmExtensionPolicy resource produces the following output properties:
- Creation
Timestamp string - Creation timestamp in RFC3339 text format.
- Id string
- The provider-assigned unique ID for this managed resource.
- Kind string
- Type of the resource.
- Scoped
Resource stringStatus - The scoped resource status.
- Self
Link string - Server-defined fully-qualified URL for this resource.
- Update
Timestamp string - Update timestamp in RFC3339 text format.
- Creation
Timestamp string - Creation timestamp in RFC3339 text format.
- Id string
- The provider-assigned unique ID for this managed resource.
- Kind string
- Type of the resource.
- Scoped
Resource stringStatus - The scoped resource status.
- Self
Link string - Server-defined fully-qualified URL for this resource.
- Update
Timestamp string - Update timestamp in RFC3339 text format.
- creation_
timestamp string - Creation timestamp in RFC3339 text format.
- id string
- The provider-assigned unique ID for this managed resource.
- kind string
- Type of the resource.
- scoped_
resource_ stringstatus - The scoped resource status.
- self_
link string - Server-defined fully-qualified URL for this resource.
- update_
timestamp string - Update timestamp in RFC3339 text format.
- creation
Timestamp String - Creation timestamp in RFC3339 text format.
- id String
- The provider-assigned unique ID for this managed resource.
- kind String
- Type of the resource.
- scoped
Resource StringStatus - The scoped resource status.
- self
Link String - Server-defined fully-qualified URL for this resource.
- update
Timestamp String - Update timestamp in RFC3339 text format.
- creation
Timestamp string - Creation timestamp in RFC3339 text format.
- id string
- The provider-assigned unique ID for this managed resource.
- kind string
- Type of the resource.
- scoped
Resource stringStatus - The scoped resource status.
- self
Link string - Server-defined fully-qualified URL for this resource.
- update
Timestamp string - Update timestamp in RFC3339 text format.
- creation_
timestamp str - Creation timestamp in RFC3339 text format.
- id str
- The provider-assigned unique ID for this managed resource.
- kind str
- Type of the resource.
- scoped_
resource_ strstatus - The scoped resource status.
- self_
link str - Server-defined fully-qualified URL for this resource.
- update_
timestamp str - Update timestamp in RFC3339 text format.
- creation
Timestamp String - Creation timestamp in RFC3339 text format.
- id String
- The provider-assigned unique ID for this managed resource.
- kind String
- Type of the resource.
- scoped
Resource StringStatus - The scoped resource status.
- self
Link String - Server-defined fully-qualified URL for this resource.
- update
Timestamp String - Update timestamp in RFC3339 text format.
Look up Existing GlobalVmExtensionPolicy Resource
Get an existing GlobalVmExtensionPolicy 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?: GlobalVmExtensionPolicyState, opts?: CustomResourceOptions): GlobalVmExtensionPolicy@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
creation_timestamp: Optional[str] = None,
deletion_policy: Optional[str] = None,
description: Optional[str] = None,
extension_policies: Optional[Sequence[GlobalVmExtensionPolicyExtensionPolicyArgs]] = None,
instance_selectors: Optional[Sequence[GlobalVmExtensionPolicyInstanceSelectorArgs]] = None,
kind: Optional[str] = None,
name: Optional[str] = None,
priority: Optional[int] = None,
project: Optional[str] = None,
rollout_operation: Optional[GlobalVmExtensionPolicyRolloutOperationArgs] = None,
scoped_resource_status: Optional[str] = None,
self_link: Optional[str] = None,
update_timestamp: Optional[str] = None) -> GlobalVmExtensionPolicyfunc GetGlobalVmExtensionPolicy(ctx *Context, name string, id IDInput, state *GlobalVmExtensionPolicyState, opts ...ResourceOption) (*GlobalVmExtensionPolicy, error)public static GlobalVmExtensionPolicy Get(string name, Input<string> id, GlobalVmExtensionPolicyState? state, CustomResourceOptions? opts = null)public static GlobalVmExtensionPolicy get(String name, Output<String> id, GlobalVmExtensionPolicyState state, CustomResourceOptions options)resources: _: type: gcp:compute:GlobalVmExtensionPolicy get: id: ${id}import {
to = gcp_compute_global_vm_extension_policy.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.
- Creation
Timestamp string - Creation timestamp in RFC3339 text format.
- 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.
- Description string
- An optional description of this resource.
- Extension
Policies List<GlobalVm Extension Policy Extension Policy> - Map from extension (eg: "cloudops") to its policy configuration. Structure is documented below.
- Instance
Selectors List<GlobalVm Extension Policy Instance Selector> - Selector to target VMs for a policy. Structure is documented below.
- Kind string
- Type of the resource.
- Name string
- Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long and match the regular expression '^a-z?$' to comply with RFC1035.
- Priority int
- Used to resolve conflicts when multiple policies are active. Defaults to 0.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Rollout
Operation GlobalVm Extension Policy Rollout Operation - Represents the rollout operation. Structure is documented below.
- Scoped
Resource stringStatus - The scoped resource status.
- Self
Link string - Server-defined fully-qualified URL for this resource.
- Update
Timestamp string - Update timestamp in RFC3339 text format.
- Creation
Timestamp string - Creation timestamp in RFC3339 text format.
- 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.
- Description string
- An optional description of this resource.
- Extension
Policies []GlobalVm Extension Policy Extension Policy Args - Map from extension (eg: "cloudops") to its policy configuration. Structure is documented below.
- Instance
Selectors []GlobalVm Extension Policy Instance Selector Args - Selector to target VMs for a policy. Structure is documented below.
- Kind string
- Type of the resource.
- Name string
- Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long and match the regular expression '^a-z?$' to comply with RFC1035.
- Priority int
- Used to resolve conflicts when multiple policies are active. Defaults to 0.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Rollout
Operation GlobalVm Extension Policy Rollout Operation Args - Represents the rollout operation. Structure is documented below.
- Scoped
Resource stringStatus - The scoped resource status.
- Self
Link string - Server-defined fully-qualified URL for this resource.
- Update
Timestamp string - Update timestamp in RFC3339 text format.
- creation_
timestamp string - Creation timestamp in RFC3339 text format.
- 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.
- description string
- An optional description of this resource.
- extension_
policies list(object) - Map from extension (eg: "cloudops") to its policy configuration. Structure is documented below.
- instance_
selectors list(object) - Selector to target VMs for a policy. Structure is documented below.
- kind string
- Type of the resource.
- name string
- Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long and match the regular expression '^a-z?$' to comply with RFC1035.
- priority number
- Used to resolve conflicts when multiple policies are active. Defaults to 0.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- rollout_
operation object - Represents the rollout operation. Structure is documented below.
- scoped_
resource_ stringstatus - The scoped resource status.
- self_
link string - Server-defined fully-qualified URL for this resource.
- update_
timestamp string - Update timestamp in RFC3339 text format.
- creation
Timestamp String - Creation timestamp in RFC3339 text format.
- 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.
- description String
- An optional description of this resource.
- extension
Policies List<GlobalVm Extension Policy Extension Policy> - Map from extension (eg: "cloudops") to its policy configuration. Structure is documented below.
- instance
Selectors List<GlobalVm Extension Policy Instance Selector> - Selector to target VMs for a policy. Structure is documented below.
- kind String
- Type of the resource.
- name String
- Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long and match the regular expression '^a-z?$' to comply with RFC1035.
- priority Integer
- Used to resolve conflicts when multiple policies are active. Defaults to 0.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- rollout
Operation GlobalVm Extension Policy Rollout Operation - Represents the rollout operation. Structure is documented below.
- scoped
Resource StringStatus - The scoped resource status.
- self
Link String - Server-defined fully-qualified URL for this resource.
- update
Timestamp String - Update timestamp in RFC3339 text format.
- creation
Timestamp string - Creation timestamp in RFC3339 text format.
- 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.
- description string
- An optional description of this resource.
- extension
Policies GlobalVm Extension Policy Extension Policy[] - Map from extension (eg: "cloudops") to its policy configuration. Structure is documented below.
- instance
Selectors GlobalVm Extension Policy Instance Selector[] - Selector to target VMs for a policy. Structure is documented below.
- kind string
- Type of the resource.
- name string
- Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long and match the regular expression '^a-z?$' to comply with RFC1035.
- priority number
- Used to resolve conflicts when multiple policies are active. Defaults to 0.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- rollout
Operation GlobalVm Extension Policy Rollout Operation - Represents the rollout operation. Structure is documented below.
- scoped
Resource stringStatus - The scoped resource status.
- self
Link string - Server-defined fully-qualified URL for this resource.
- update
Timestamp string - Update timestamp in RFC3339 text format.
- creation_
timestamp str - Creation timestamp in RFC3339 text format.
- 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.
- description str
- An optional description of this resource.
- extension_
policies Sequence[GlobalVm Extension Policy Extension Policy Args] - Map from extension (eg: "cloudops") to its policy configuration. Structure is documented below.
- instance_
selectors Sequence[GlobalVm Extension Policy Instance Selector Args] - Selector to target VMs for a policy. Structure is documented below.
- kind str
- Type of the resource.
- name str
- Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long and match the regular expression '^a-z?$' to comply with RFC1035.
- priority int
- Used to resolve conflicts when multiple policies are active. Defaults to 0.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- rollout_
operation GlobalVm Extension Policy Rollout Operation Args - Represents the rollout operation. Structure is documented below.
- scoped_
resource_ strstatus - The scoped resource status.
- self_
link str - Server-defined fully-qualified URL for this resource.
- update_
timestamp str - Update timestamp in RFC3339 text format.
- creation
Timestamp String - Creation timestamp in RFC3339 text format.
- 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.
- description String
- An optional description of this resource.
- extension
Policies List<Property Map> - Map from extension (eg: "cloudops") to its policy configuration. Structure is documented below.
- instance
Selectors List<Property Map> - Selector to target VMs for a policy. Structure is documented below.
- kind String
- Type of the resource.
- name String
- Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long and match the regular expression '^a-z?$' to comply with RFC1035.
- priority Number
- Used to resolve conflicts when multiple policies are active. Defaults to 0.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- rollout
Operation Property Map - Represents the rollout operation. Structure is documented below.
- scoped
Resource StringStatus - The scoped resource status.
- self
Link String - Server-defined fully-qualified URL for this resource.
- update
Timestamp String - Update timestamp in RFC3339 text format.
Supporting Types
GlobalVmExtensionPolicyExtensionPolicy, GlobalVmExtensionPolicyExtensionPolicyArgs
- Extension
Name string - The identifier for this object. Format specified above.
- Pinned
Version string - The version pinning for the extension.
- String
Config string - String configuration payload.
- Extension
Name string - The identifier for this object. Format specified above.
- Pinned
Version string - The version pinning for the extension.
- String
Config string - String configuration payload.
- extension_
name string - The identifier for this object. Format specified above.
- pinned_
version string - The version pinning for the extension.
- string_
config string - String configuration payload.
- extension
Name String - The identifier for this object. Format specified above.
- pinned
Version String - The version pinning for the extension.
- string
Config String - String configuration payload.
- extension
Name string - The identifier for this object. Format specified above.
- pinned
Version string - The version pinning for the extension.
- string
Config string - String configuration payload.
- extension_
name str - The identifier for this object. Format specified above.
- pinned_
version str - The version pinning for the extension.
- string_
config str - String configuration payload.
- extension
Name String - The identifier for this object. Format specified above.
- pinned
Version String - The version pinning for the extension.
- string
Config String - String configuration payload.
GlobalVmExtensionPolicyInstanceSelector, GlobalVmExtensionPolicyInstanceSelectorArgs
- Label
Selector GlobalVm Extension Policy Instance Selector Label Selector - LabelSelector matches VM labels. Structure is documented below.
- Label
Selector GlobalVm Extension Policy Instance Selector Label Selector - LabelSelector matches VM labels. Structure is documented below.
- label_
selector object - LabelSelector matches VM labels. Structure is documented below.
- label
Selector GlobalVm Extension Policy Instance Selector Label Selector - LabelSelector matches VM labels. Structure is documented below.
- label
Selector GlobalVm Extension Policy Instance Selector Label Selector - LabelSelector matches VM labels. Structure is documented below.
- label_
selector GlobalVm Extension Policy Instance Selector Label Selector - LabelSelector matches VM labels. Structure is documented below.
- label
Selector Property Map - LabelSelector matches VM labels. Structure is documented below.
GlobalVmExtensionPolicyInstanceSelectorLabelSelector, GlobalVmExtensionPolicyInstanceSelectorLabelSelectorArgs
- Inclusion
Labels Dictionary<string, string> - Labels as key value pairs.
- Inclusion
Labels map[string]string - Labels as key value pairs.
- inclusion_
labels map(string) - Labels as key value pairs.
- inclusion
Labels Map<String,String> - Labels as key value pairs.
- inclusion
Labels {[key: string]: string} - Labels as key value pairs.
- inclusion_
labels Mapping[str, str] - Labels as key value pairs.
- inclusion
Labels Map<String> - Labels as key value pairs.
GlobalVmExtensionPolicyRolloutOperation, GlobalVmExtensionPolicyRolloutOperationArgs
- Rollout
Input GlobalVm Extension Policy Rollout Operation Rollout Input - Rollout input settings. Structure is documented below.
- Rollout
Statuses List<GlobalVm Extension Policy Rollout Operation Rollout Status> - (Output) Rollout status. Structure is documented below.
- Rollout
Input GlobalVm Extension Policy Rollout Operation Rollout Input - Rollout input settings. Structure is documented below.
- Rollout
Statuses []GlobalVm Extension Policy Rollout Operation Rollout Status - (Output) Rollout status. Structure is documented below.
- rollout_
input object - Rollout input settings. Structure is documented below.
- rollout_
statuses list(object) - (Output) Rollout status. Structure is documented below.
- rollout
Input GlobalVm Extension Policy Rollout Operation Rollout Input - Rollout input settings. Structure is documented below.
- rollout
Statuses List<GlobalVm Extension Policy Rollout Operation Rollout Status> - (Output) Rollout status. Structure is documented below.
- rollout
Input GlobalVm Extension Policy Rollout Operation Rollout Input - Rollout input settings. Structure is documented below.
- rollout
Statuses GlobalVm Extension Policy Rollout Operation Rollout Status[] - (Output) Rollout status. Structure is documented below.
- rollout_
input GlobalVm Extension Policy Rollout Operation Rollout Input - Rollout input settings. Structure is documented below.
- rollout_
statuses Sequence[GlobalVm Extension Policy Rollout Operation Rollout Status] - (Output) Rollout status. Structure is documented below.
- rollout
Input Property Map - Rollout input settings. Structure is documented below.
- rollout
Statuses List<Property Map> - (Output) Rollout status. Structure is documented below.
GlobalVmExtensionPolicyRolloutOperationRolloutInput, GlobalVmExtensionPolicyRolloutOperationRolloutInputArgs
- Conflict
Behavior string - Specifies the behavior of the rollout if a conflict is detected.
- Name string
- The name of the rollout plan.
- Predefined
Rollout stringPlan - Specifies the predefined rollout plan for the policy.
- Retry
Uuid string The UUID that identifies a policy rollout retry attempt. It should only be set when retrying an existing rollout. Updating this field along with other policy fields (description, extension_policies, instance_selectors, priority) in the same plan will return an error.
The
rolloutStatusblock contains:
- Conflict
Behavior string - Specifies the behavior of the rollout if a conflict is detected.
- Name string
- The name of the rollout plan.
- Predefined
Rollout stringPlan - Specifies the predefined rollout plan for the policy.
- Retry
Uuid string The UUID that identifies a policy rollout retry attempt. It should only be set when retrying an existing rollout. Updating this field along with other policy fields (description, extension_policies, instance_selectors, priority) in the same plan will return an error.
The
rolloutStatusblock contains:
- conflict_
behavior string - Specifies the behavior of the rollout if a conflict is detected.
- name string
- The name of the rollout plan.
- predefined_
rollout_ stringplan - Specifies the predefined rollout plan for the policy.
- retry_
uuid string The UUID that identifies a policy rollout retry attempt. It should only be set when retrying an existing rollout. Updating this field along with other policy fields (description, extension_policies, instance_selectors, priority) in the same plan will return an error.
The
rolloutStatusblock contains:
- conflict
Behavior String - Specifies the behavior of the rollout if a conflict is detected.
- name String
- The name of the rollout plan.
- predefined
Rollout StringPlan - Specifies the predefined rollout plan for the policy.
- retry
Uuid String The UUID that identifies a policy rollout retry attempt. It should only be set when retrying an existing rollout. Updating this field along with other policy fields (description, extension_policies, instance_selectors, priority) in the same plan will return an error.
The
rolloutStatusblock contains:
- conflict
Behavior string - Specifies the behavior of the rollout if a conflict is detected.
- name string
- The name of the rollout plan.
- predefined
Rollout stringPlan - Specifies the predefined rollout plan for the policy.
- retry
Uuid string The UUID that identifies a policy rollout retry attempt. It should only be set when retrying an existing rollout. Updating this field along with other policy fields (description, extension_policies, instance_selectors, priority) in the same plan will return an error.
The
rolloutStatusblock contains:
- conflict_
behavior str - Specifies the behavior of the rollout if a conflict is detected.
- name str
- The name of the rollout plan.
- predefined_
rollout_ strplan - Specifies the predefined rollout plan for the policy.
- retry_
uuid str The UUID that identifies a policy rollout retry attempt. It should only be set when retrying an existing rollout. Updating this field along with other policy fields (description, extension_policies, instance_selectors, priority) in the same plan will return an error.
The
rolloutStatusblock contains:
- conflict
Behavior String - Specifies the behavior of the rollout if a conflict is detected.
- name String
- The name of the rollout plan.
- predefined
Rollout StringPlan - Specifies the predefined rollout plan for the policy.
- retry
Uuid String The UUID that identifies a policy rollout retry attempt. It should only be set when retrying an existing rollout. Updating this field along with other policy fields (description, extension_policies, instance_selectors, priority) in the same plan will return an error.
The
rolloutStatusblock contains:
GlobalVmExtensionPolicyRolloutOperationRolloutStatus, GlobalVmExtensionPolicyRolloutOperationRolloutStatusArgs
- Current
Rollouts List<GlobalVm Extension Policy Rollout Operation Rollout Status Current Rollout> - The current rollouts for the latest version of the resource.
- Previous
Rollouts List<GlobalVm Extension Policy Rollout Operation Rollout Status Previous Rollout> - Rollout status of the previous rollout.
- Current
Rollouts []GlobalVm Extension Policy Rollout Operation Rollout Status Current Rollout - The current rollouts for the latest version of the resource.
- Previous
Rollouts []GlobalVm Extension Policy Rollout Operation Rollout Status Previous Rollout - Rollout status of the previous rollout.
- current_
rollouts list(object) - The current rollouts for the latest version of the resource.
- previous_
rollouts list(object) - Rollout status of the previous rollout.
- current
Rollouts List<GlobalVm Extension Policy Rollout Operation Rollout Status Current Rollout> - The current rollouts for the latest version of the resource.
- previous
Rollouts List<GlobalVm Extension Policy Rollout Operation Rollout Status Previous Rollout> - Rollout status of the previous rollout.
- current
Rollouts GlobalVm Extension Policy Rollout Operation Rollout Status Current Rollout[] - The current rollouts for the latest version of the resource.
- previous
Rollouts GlobalVm Extension Policy Rollout Operation Rollout Status Previous Rollout[] - Rollout status of the previous rollout.
- current_
rollouts Sequence[GlobalVm Extension Policy Rollout Operation Rollout Status Current Rollout] - The current rollouts for the latest version of the resource.
- previous_
rollouts Sequence[GlobalVm Extension Policy Rollout Operation Rollout Status Previous Rollout] - Rollout status of the previous rollout.
- current
Rollouts List<Property Map> - The current rollouts for the latest version of the resource.
- previous
Rollouts List<Property Map> - Rollout status of the previous rollout.
GlobalVmExtensionPolicyRolloutOperationRolloutStatusCurrentRollout, GlobalVmExtensionPolicyRolloutOperationRolloutStatusCurrentRolloutArgs
- Location
Rollout List<GlobalStatuses Vm Extension Policy Rollout Operation Rollout Status Current Rollout Location Rollout Status> - The rollout status for each location.
- Rollout string
- The name of the rollout.
- Rollout
Plan string - The name of the rollout plan.
- State string
- The overall state of the rollout.
- Location
Rollout []GlobalStatuses Vm Extension Policy Rollout Operation Rollout Status Current Rollout Location Rollout Status - The rollout status for each location.
- Rollout string
- The name of the rollout.
- Rollout
Plan string - The name of the rollout plan.
- State string
- The overall state of the rollout.
- location_
rollout_ list(object)statuses - The rollout status for each location.
- rollout string
- The name of the rollout.
- rollout_
plan string - The name of the rollout plan.
- state string
- The overall state of the rollout.
- location
Rollout List<GlobalStatuses Vm Extension Policy Rollout Operation Rollout Status Current Rollout Location Rollout Status> - The rollout status for each location.
- rollout String
- The name of the rollout.
- rollout
Plan String - The name of the rollout plan.
- state String
- The overall state of the rollout.
- location
Rollout GlobalStatuses Vm Extension Policy Rollout Operation Rollout Status Current Rollout Location Rollout Status[] - The rollout status for each location.
- rollout string
- The name of the rollout.
- rollout
Plan string - The name of the rollout plan.
- state string
- The overall state of the rollout.
- location_
rollout_ Sequence[Globalstatuses Vm Extension Policy Rollout Operation Rollout Status Current Rollout Location Rollout Status] - The rollout status for each location.
- rollout str
- The name of the rollout.
- rollout_
plan str - The name of the rollout plan.
- state str
- The overall state of the rollout.
- location
Rollout List<Property Map>Statuses - The rollout status for each location.
- rollout String
- The name of the rollout.
- rollout
Plan String - The name of the rollout plan.
- state String
- The overall state of the rollout.
GlobalVmExtensionPolicyRolloutOperationRolloutStatusCurrentRolloutLocationRolloutStatus, GlobalVmExtensionPolicyRolloutOperationRolloutStatusCurrentRolloutLocationRolloutStatusArgs
- Location
Name string - The identifier for this object. Format specified above.
- State string
- The state of the location rollout.
- Location
Name string - The identifier for this object. Format specified above.
- State string
- The state of the location rollout.
- location_
name string - The identifier for this object. Format specified above.
- state string
- The state of the location rollout.
- location
Name String - The identifier for this object. Format specified above.
- state String
- The state of the location rollout.
- location
Name string - The identifier for this object. Format specified above.
- state string
- The state of the location rollout.
- location_
name str - The identifier for this object. Format specified above.
- state str
- The state of the location rollout.
- location
Name String - The identifier for this object. Format specified above.
- state String
- The state of the location rollout.
GlobalVmExtensionPolicyRolloutOperationRolloutStatusPreviousRollout, GlobalVmExtensionPolicyRolloutOperationRolloutStatusPreviousRolloutArgs
- Location
Rollout List<GlobalStatuses Vm Extension Policy Rollout Operation Rollout Status Previous Rollout Location Rollout Status> - The rollout status for each location.
- Rollout string
- The name of the rollout.
- Rollout
Plan string - The name of the rollout plan.
- State string
- The overall state of the rollout.
- Location
Rollout []GlobalStatuses Vm Extension Policy Rollout Operation Rollout Status Previous Rollout Location Rollout Status - The rollout status for each location.
- Rollout string
- The name of the rollout.
- Rollout
Plan string - The name of the rollout plan.
- State string
- The overall state of the rollout.
- location_
rollout_ list(object)statuses - The rollout status for each location.
- rollout string
- The name of the rollout.
- rollout_
plan string - The name of the rollout plan.
- state string
- The overall state of the rollout.
- location
Rollout List<GlobalStatuses Vm Extension Policy Rollout Operation Rollout Status Previous Rollout Location Rollout Status> - The rollout status for each location.
- rollout String
- The name of the rollout.
- rollout
Plan String - The name of the rollout plan.
- state String
- The overall state of the rollout.
- location
Rollout GlobalStatuses Vm Extension Policy Rollout Operation Rollout Status Previous Rollout Location Rollout Status[] - The rollout status for each location.
- rollout string
- The name of the rollout.
- rollout
Plan string - The name of the rollout plan.
- state string
- The overall state of the rollout.
- location_
rollout_ Sequence[Globalstatuses Vm Extension Policy Rollout Operation Rollout Status Previous Rollout Location Rollout Status] - The rollout status for each location.
- rollout str
- The name of the rollout.
- rollout_
plan str - The name of the rollout plan.
- state str
- The overall state of the rollout.
- location
Rollout List<Property Map>Statuses - The rollout status for each location.
- rollout String
- The name of the rollout.
- rollout
Plan String - The name of the rollout plan.
- state String
- The overall state of the rollout.
GlobalVmExtensionPolicyRolloutOperationRolloutStatusPreviousRolloutLocationRolloutStatus, GlobalVmExtensionPolicyRolloutOperationRolloutStatusPreviousRolloutLocationRolloutStatusArgs
- Location
Name string - The identifier for this object. Format specified above.
- State string
- The state of the location rollout.
- Location
Name string - The identifier for this object. Format specified above.
- State string
- The state of the location rollout.
- location_
name string - The identifier for this object. Format specified above.
- state string
- The state of the location rollout.
- location
Name String - The identifier for this object. Format specified above.
- state String
- The state of the location rollout.
- location
Name string - The identifier for this object. Format specified above.
- state string
- The state of the location rollout.
- location_
name str - The identifier for this object. Format specified above.
- state str
- The state of the location rollout.
- location
Name String - The identifier for this object. Format specified above.
- state String
- The state of the location rollout.
Import
GlobalVmExtensionPolicy can be imported using any of these accepted formats:
projects/{{project}}/global/vmExtensionPolicies/{{name}}{{project}}/{{name}}{{name}}
When using the pulumi import command, GlobalVmExtensionPolicy can be imported using one of the formats above. For example:
$ pulumi import gcp:compute/globalVmExtensionPolicy:GlobalVmExtensionPolicy default projects/{{project}}/global/vmExtensionPolicies/{{name}}
$ pulumi import gcp:compute/globalVmExtensionPolicy:GlobalVmExtensionPolicy default {{project}}/{{name}}
$ pulumi import gcp:compute/globalVmExtensionPolicy:GlobalVmExtensionPolicy 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-betaTerraform Provider.
published on Wednesday, Jul 29, 2026 by Pulumi