1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. osconfig
  5. GuestPolicies
Google Cloud Classic v7.20.0 published on Wednesday, Apr 24, 2024 by Pulumi

gcp.osconfig.GuestPolicies

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.20.0 published on Wednesday, Apr 24, 2024 by Pulumi

    An OS Config resource representing a guest configuration policy. These policies represent the desired state for VM instance guest environments including packages to install or remove, package repository configurations, and software to install.

    To get more information about GuestPolicies, see:

    Example Usage

    Os Config Guest Policies Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const myImage = gcp.compute.getImage({
        family: "debian-11",
        project: "debian-cloud",
    });
    const foobar = new gcp.compute.Instance("foobar", {
        name: "guest-policy-inst",
        machineType: "e2-medium",
        zone: "us-central1-a",
        canIpForward: false,
        tags: [
            "foo",
            "bar",
        ],
        bootDisk: {
            initializeParams: {
                image: myImage.then(myImage => myImage.selfLink),
            },
        },
        networkInterfaces: [{
            network: "default",
        }],
        metadata: {
            foo: "bar",
        },
    });
    const guestPolicies = new gcp.osconfig.GuestPolicies("guest_policies", {
        guestPolicyId: "guest-policy",
        assignment: {
            instances: [foobar.id],
        },
        packages: [{
            name: "my-package",
            desiredState: "UPDATED",
        }],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    my_image = gcp.compute.get_image(family="debian-11",
        project="debian-cloud")
    foobar = gcp.compute.Instance("foobar",
        name="guest-policy-inst",
        machine_type="e2-medium",
        zone="us-central1-a",
        can_ip_forward=False,
        tags=[
            "foo",
            "bar",
        ],
        boot_disk=gcp.compute.InstanceBootDiskArgs(
            initialize_params=gcp.compute.InstanceBootDiskInitializeParamsArgs(
                image=my_image.self_link,
            ),
        ),
        network_interfaces=[gcp.compute.InstanceNetworkInterfaceArgs(
            network="default",
        )],
        metadata={
            "foo": "bar",
        })
    guest_policies = gcp.osconfig.GuestPolicies("guest_policies",
        guest_policy_id="guest-policy",
        assignment=gcp.osconfig.GuestPoliciesAssignmentArgs(
            instances=[foobar.id],
        ),
        packages=[gcp.osconfig.GuestPoliciesPackageArgs(
            name="my-package",
            desired_state="UPDATED",
        )])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/osconfig"
    	"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-11"),
    			Project: pulumi.StringRef("debian-cloud"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		foobar, err := compute.NewInstance(ctx, "foobar", &compute.InstanceArgs{
    			Name:         pulumi.String("guest-policy-inst"),
    			MachineType:  pulumi.String("e2-medium"),
    			Zone:         pulumi.String("us-central1-a"),
    			CanIpForward: pulumi.Bool(false),
    			Tags: pulumi.StringArray{
    				pulumi.String("foo"),
    				pulumi.String("bar"),
    			},
    			BootDisk: &compute.InstanceBootDiskArgs{
    				InitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{
    					Image: pulumi.String(myImage.SelfLink),
    				},
    			},
    			NetworkInterfaces: compute.InstanceNetworkInterfaceArray{
    				&compute.InstanceNetworkInterfaceArgs{
    					Network: pulumi.String("default"),
    				},
    			},
    			Metadata: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = osconfig.NewGuestPolicies(ctx, "guest_policies", &osconfig.GuestPoliciesArgs{
    			GuestPolicyId: pulumi.String("guest-policy"),
    			Assignment: &osconfig.GuestPoliciesAssignmentArgs{
    				Instances: pulumi.StringArray{
    					foobar.ID(),
    				},
    			},
    			Packages: osconfig.GuestPoliciesPackageArray{
    				&osconfig.GuestPoliciesPackageArgs{
    					Name:         pulumi.String("my-package"),
    					DesiredState: pulumi.String("UPDATED"),
    				},
    			},
    		})
    		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-11",
            Project = "debian-cloud",
        });
    
        var foobar = new Gcp.Compute.Instance("foobar", new()
        {
            Name = "guest-policy-inst",
            MachineType = "e2-medium",
            Zone = "us-central1-a",
            CanIpForward = false,
            Tags = new[]
            {
                "foo",
                "bar",
            },
            BootDisk = new Gcp.Compute.Inputs.InstanceBootDiskArgs
            {
                InitializeParams = new Gcp.Compute.Inputs.InstanceBootDiskInitializeParamsArgs
                {
                    Image = myImage.Apply(getImageResult => getImageResult.SelfLink),
                },
            },
            NetworkInterfaces = new[]
            {
                new Gcp.Compute.Inputs.InstanceNetworkInterfaceArgs
                {
                    Network = "default",
                },
            },
            Metadata = 
            {
                { "foo", "bar" },
            },
        });
    
        var guestPolicies = new Gcp.OsConfig.GuestPolicies("guest_policies", new()
        {
            GuestPolicyId = "guest-policy",
            Assignment = new Gcp.OsConfig.Inputs.GuestPoliciesAssignmentArgs
            {
                Instances = new[]
                {
                    foobar.Id,
                },
            },
            Packages = new[]
            {
                new Gcp.OsConfig.Inputs.GuestPoliciesPackageArgs
                {
                    Name = "my-package",
                    DesiredState = "UPDATED",
                },
            },
        });
    
    });
    
    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.Instance;
    import com.pulumi.gcp.compute.InstanceArgs;
    import com.pulumi.gcp.compute.inputs.InstanceBootDiskArgs;
    import com.pulumi.gcp.compute.inputs.InstanceBootDiskInitializeParamsArgs;
    import com.pulumi.gcp.compute.inputs.InstanceNetworkInterfaceArgs;
    import com.pulumi.gcp.osconfig.GuestPolicies;
    import com.pulumi.gcp.osconfig.GuestPoliciesArgs;
    import com.pulumi.gcp.osconfig.inputs.GuestPoliciesAssignmentArgs;
    import com.pulumi.gcp.osconfig.inputs.GuestPoliciesPackageArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var myImage = ComputeFunctions.getImage(GetImageArgs.builder()
                .family("debian-11")
                .project("debian-cloud")
                .build());
    
            var foobar = new Instance("foobar", InstanceArgs.builder()        
                .name("guest-policy-inst")
                .machineType("e2-medium")
                .zone("us-central1-a")
                .canIpForward(false)
                .tags(            
                    "foo",
                    "bar")
                .bootDisk(InstanceBootDiskArgs.builder()
                    .initializeParams(InstanceBootDiskInitializeParamsArgs.builder()
                        .image(myImage.applyValue(getImageResult -> getImageResult.selfLink()))
                        .build())
                    .build())
                .networkInterfaces(InstanceNetworkInterfaceArgs.builder()
                    .network("default")
                    .build())
                .metadata(Map.of("foo", "bar"))
                .build());
    
            var guestPolicies = new GuestPolicies("guestPolicies", GuestPoliciesArgs.builder()        
                .guestPolicyId("guest-policy")
                .assignment(GuestPoliciesAssignmentArgs.builder()
                    .instances(foobar.id())
                    .build())
                .packages(GuestPoliciesPackageArgs.builder()
                    .name("my-package")
                    .desiredState("UPDATED")
                    .build())
                .build());
    
        }
    }
    
    resources:
      foobar:
        type: gcp:compute:Instance
        properties:
          name: guest-policy-inst
          machineType: e2-medium
          zone: us-central1-a
          canIpForward: false
          tags:
            - foo
            - bar
          bootDisk:
            initializeParams:
              image: ${myImage.selfLink}
          networkInterfaces:
            - network: default
          metadata:
            foo: bar
      guestPolicies:
        type: gcp:osconfig:GuestPolicies
        name: guest_policies
        properties:
          guestPolicyId: guest-policy
          assignment:
            instances:
              - ${foobar.id}
          packages:
            - name: my-package
              desiredState: UPDATED
    variables:
      myImage:
        fn::invoke:
          Function: gcp:compute:getImage
          Arguments:
            family: debian-11
            project: debian-cloud
    

    Os Config Guest Policies Packages

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const guestPolicies = new gcp.osconfig.GuestPolicies("guest_policies", {
        guestPolicyId: "guest-policy",
        assignment: {
            groupLabels: [
                {
                    labels: {
                        color: "red",
                        env: "test",
                    },
                },
                {
                    labels: {
                        color: "blue",
                        env: "test",
                    },
                },
            ],
        },
        packages: [
            {
                name: "my-package",
                desiredState: "INSTALLED",
            },
            {
                name: "bad-package-1",
                desiredState: "REMOVED",
            },
            {
                name: "bad-package-2",
                desiredState: "REMOVED",
                manager: "APT",
            },
        ],
        packageRepositories: [
            {
                apt: {
                    uri: "https://packages.cloud.google.com/apt",
                    archiveType: "DEB",
                    distribution: "cloud-sdk-stretch",
                    components: ["main"],
                },
            },
            {
                yum: {
                    id: "google-cloud-sdk",
                    displayName: "Google Cloud SDK",
                    baseUrl: "https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64",
                    gpgKeys: [
                        "https://packages.cloud.google.com/yum/doc/yum-key.gpg",
                        "https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg",
                    ],
                },
            },
        ],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    guest_policies = gcp.osconfig.GuestPolicies("guest_policies",
        guest_policy_id="guest-policy",
        assignment=gcp.osconfig.GuestPoliciesAssignmentArgs(
            group_labels=[
                gcp.osconfig.GuestPoliciesAssignmentGroupLabelArgs(
                    labels={
                        "color": "red",
                        "env": "test",
                    },
                ),
                gcp.osconfig.GuestPoliciesAssignmentGroupLabelArgs(
                    labels={
                        "color": "blue",
                        "env": "test",
                    },
                ),
            ],
        ),
        packages=[
            gcp.osconfig.GuestPoliciesPackageArgs(
                name="my-package",
                desired_state="INSTALLED",
            ),
            gcp.osconfig.GuestPoliciesPackageArgs(
                name="bad-package-1",
                desired_state="REMOVED",
            ),
            gcp.osconfig.GuestPoliciesPackageArgs(
                name="bad-package-2",
                desired_state="REMOVED",
                manager="APT",
            ),
        ],
        package_repositories=[
            gcp.osconfig.GuestPoliciesPackageRepositoryArgs(
                apt=gcp.osconfig.GuestPoliciesPackageRepositoryAptArgs(
                    uri="https://packages.cloud.google.com/apt",
                    archive_type="DEB",
                    distribution="cloud-sdk-stretch",
                    components=["main"],
                ),
            ),
            gcp.osconfig.GuestPoliciesPackageRepositoryArgs(
                yum=gcp.osconfig.GuestPoliciesPackageRepositoryYumArgs(
                    id="google-cloud-sdk",
                    display_name="Google Cloud SDK",
                    base_url="https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64",
                    gpg_keys=[
                        "https://packages.cloud.google.com/yum/doc/yum-key.gpg",
                        "https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg",
                    ],
                ),
            ),
        ])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/osconfig"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := osconfig.NewGuestPolicies(ctx, "guest_policies", &osconfig.GuestPoliciesArgs{
    			GuestPolicyId: pulumi.String("guest-policy"),
    			Assignment: &osconfig.GuestPoliciesAssignmentArgs{
    				GroupLabels: osconfig.GuestPoliciesAssignmentGroupLabelArray{
    					&osconfig.GuestPoliciesAssignmentGroupLabelArgs{
    						Labels: pulumi.StringMap{
    							"color": pulumi.String("red"),
    							"env":   pulumi.String("test"),
    						},
    					},
    					&osconfig.GuestPoliciesAssignmentGroupLabelArgs{
    						Labels: pulumi.StringMap{
    							"color": pulumi.String("blue"),
    							"env":   pulumi.String("test"),
    						},
    					},
    				},
    			},
    			Packages: osconfig.GuestPoliciesPackageArray{
    				&osconfig.GuestPoliciesPackageArgs{
    					Name:         pulumi.String("my-package"),
    					DesiredState: pulumi.String("INSTALLED"),
    				},
    				&osconfig.GuestPoliciesPackageArgs{
    					Name:         pulumi.String("bad-package-1"),
    					DesiredState: pulumi.String("REMOVED"),
    				},
    				&osconfig.GuestPoliciesPackageArgs{
    					Name:         pulumi.String("bad-package-2"),
    					DesiredState: pulumi.String("REMOVED"),
    					Manager:      pulumi.String("APT"),
    				},
    			},
    			PackageRepositories: osconfig.GuestPoliciesPackageRepositoryArray{
    				&osconfig.GuestPoliciesPackageRepositoryArgs{
    					Apt: &osconfig.GuestPoliciesPackageRepositoryAptArgs{
    						Uri:          pulumi.String("https://packages.cloud.google.com/apt"),
    						ArchiveType:  pulumi.String("DEB"),
    						Distribution: pulumi.String("cloud-sdk-stretch"),
    						Components: pulumi.StringArray{
    							pulumi.String("main"),
    						},
    					},
    				},
    				&osconfig.GuestPoliciesPackageRepositoryArgs{
    					Yum: &osconfig.GuestPoliciesPackageRepositoryYumArgs{
    						Id:          pulumi.String("google-cloud-sdk"),
    						DisplayName: pulumi.String("Google Cloud SDK"),
    						BaseUrl:     pulumi.String("https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64"),
    						GpgKeys: pulumi.StringArray{
    							pulumi.String("https://packages.cloud.google.com/yum/doc/yum-key.gpg"),
    							pulumi.String("https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg"),
    						},
    					},
    				},
    			},
    		})
    		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 guestPolicies = new Gcp.OsConfig.GuestPolicies("guest_policies", new()
        {
            GuestPolicyId = "guest-policy",
            Assignment = new Gcp.OsConfig.Inputs.GuestPoliciesAssignmentArgs
            {
                GroupLabels = new[]
                {
                    new Gcp.OsConfig.Inputs.GuestPoliciesAssignmentGroupLabelArgs
                    {
                        Labels = 
                        {
                            { "color", "red" },
                            { "env", "test" },
                        },
                    },
                    new Gcp.OsConfig.Inputs.GuestPoliciesAssignmentGroupLabelArgs
                    {
                        Labels = 
                        {
                            { "color", "blue" },
                            { "env", "test" },
                        },
                    },
                },
            },
            Packages = new[]
            {
                new Gcp.OsConfig.Inputs.GuestPoliciesPackageArgs
                {
                    Name = "my-package",
                    DesiredState = "INSTALLED",
                },
                new Gcp.OsConfig.Inputs.GuestPoliciesPackageArgs
                {
                    Name = "bad-package-1",
                    DesiredState = "REMOVED",
                },
                new Gcp.OsConfig.Inputs.GuestPoliciesPackageArgs
                {
                    Name = "bad-package-2",
                    DesiredState = "REMOVED",
                    Manager = "APT",
                },
            },
            PackageRepositories = new[]
            {
                new Gcp.OsConfig.Inputs.GuestPoliciesPackageRepositoryArgs
                {
                    Apt = new Gcp.OsConfig.Inputs.GuestPoliciesPackageRepositoryAptArgs
                    {
                        Uri = "https://packages.cloud.google.com/apt",
                        ArchiveType = "DEB",
                        Distribution = "cloud-sdk-stretch",
                        Components = new[]
                        {
                            "main",
                        },
                    },
                },
                new Gcp.OsConfig.Inputs.GuestPoliciesPackageRepositoryArgs
                {
                    Yum = new Gcp.OsConfig.Inputs.GuestPoliciesPackageRepositoryYumArgs
                    {
                        Id = "google-cloud-sdk",
                        DisplayName = "Google Cloud SDK",
                        BaseUrl = "https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64",
                        GpgKeys = new[]
                        {
                            "https://packages.cloud.google.com/yum/doc/yum-key.gpg",
                            "https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.osconfig.GuestPolicies;
    import com.pulumi.gcp.osconfig.GuestPoliciesArgs;
    import com.pulumi.gcp.osconfig.inputs.GuestPoliciesAssignmentArgs;
    import com.pulumi.gcp.osconfig.inputs.GuestPoliciesPackageArgs;
    import com.pulumi.gcp.osconfig.inputs.GuestPoliciesPackageRepositoryArgs;
    import com.pulumi.gcp.osconfig.inputs.GuestPoliciesPackageRepositoryAptArgs;
    import com.pulumi.gcp.osconfig.inputs.GuestPoliciesPackageRepositoryYumArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var guestPolicies = new GuestPolicies("guestPolicies", GuestPoliciesArgs.builder()        
                .guestPolicyId("guest-policy")
                .assignment(GuestPoliciesAssignmentArgs.builder()
                    .groupLabels(                
                        GuestPoliciesAssignmentGroupLabelArgs.builder()
                            .labels(Map.ofEntries(
                                Map.entry("color", "red"),
                                Map.entry("env", "test")
                            ))
                            .build(),
                        GuestPoliciesAssignmentGroupLabelArgs.builder()
                            .labels(Map.ofEntries(
                                Map.entry("color", "blue"),
                                Map.entry("env", "test")
                            ))
                            .build())
                    .build())
                .packages(            
                    GuestPoliciesPackageArgs.builder()
                        .name("my-package")
                        .desiredState("INSTALLED")
                        .build(),
                    GuestPoliciesPackageArgs.builder()
                        .name("bad-package-1")
                        .desiredState("REMOVED")
                        .build(),
                    GuestPoliciesPackageArgs.builder()
                        .name("bad-package-2")
                        .desiredState("REMOVED")
                        .manager("APT")
                        .build())
                .packageRepositories(            
                    GuestPoliciesPackageRepositoryArgs.builder()
                        .apt(GuestPoliciesPackageRepositoryAptArgs.builder()
                            .uri("https://packages.cloud.google.com/apt")
                            .archiveType("DEB")
                            .distribution("cloud-sdk-stretch")
                            .components("main")
                            .build())
                        .build(),
                    GuestPoliciesPackageRepositoryArgs.builder()
                        .yum(GuestPoliciesPackageRepositoryYumArgs.builder()
                            .id("google-cloud-sdk")
                            .displayName("Google Cloud SDK")
                            .baseUrl("https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64")
                            .gpgKeys(                        
                                "https://packages.cloud.google.com/yum/doc/yum-key.gpg",
                                "https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg")
                            .build())
                        .build())
                .build());
    
        }
    }
    
    resources:
      guestPolicies:
        type: gcp:osconfig:GuestPolicies
        name: guest_policies
        properties:
          guestPolicyId: guest-policy
          assignment:
            groupLabels:
              - labels:
                  color: red
                  env: test
              - labels:
                  color: blue
                  env: test
          packages:
            - name: my-package
              desiredState: INSTALLED
            - name: bad-package-1
              desiredState: REMOVED
            - name: bad-package-2
              desiredState: REMOVED
              manager: APT
          packageRepositories:
            - apt:
                uri: https://packages.cloud.google.com/apt
                archiveType: DEB
                distribution: cloud-sdk-stretch
                components:
                  - main
            - yum:
                id: google-cloud-sdk
                displayName: Google Cloud SDK
                baseUrl: https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64
                gpgKeys:
                  - https://packages.cloud.google.com/yum/doc/yum-key.gpg
                  - https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    

    Os Config Guest Policies Recipes

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const guestPolicies = new gcp.osconfig.GuestPolicies("guest_policies", {
        guestPolicyId: "guest-policy",
        assignment: {
            zones: [
                "us-east1-b",
                "us-east1-d",
            ],
        },
        recipes: [{
            name: "guest-policy-recipe",
            desiredState: "INSTALLED",
            artifacts: [{
                id: "guest-policy-artifact-id",
                gcs: {
                    bucket: "my-bucket",
                    object: "executable.msi",
                    generation: 1546030865175603,
                },
            }],
            installSteps: [{
                msiInstallation: {
                    artifactId: "guest-policy-artifact-id",
                },
            }],
        }],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    guest_policies = gcp.osconfig.GuestPolicies("guest_policies",
        guest_policy_id="guest-policy",
        assignment=gcp.osconfig.GuestPoliciesAssignmentArgs(
            zones=[
                "us-east1-b",
                "us-east1-d",
            ],
        ),
        recipes=[gcp.osconfig.GuestPoliciesRecipeArgs(
            name="guest-policy-recipe",
            desired_state="INSTALLED",
            artifacts=[gcp.osconfig.GuestPoliciesRecipeArtifactArgs(
                id="guest-policy-artifact-id",
                gcs=gcp.osconfig.GuestPoliciesRecipeArtifactGcsArgs(
                    bucket="my-bucket",
                    object="executable.msi",
                    generation=1546030865175603,
                ),
            )],
            install_steps=[gcp.osconfig.GuestPoliciesRecipeInstallStepArgs(
                msi_installation=gcp.osconfig.GuestPoliciesRecipeInstallStepMsiInstallationArgs(
                    artifact_id="guest-policy-artifact-id",
                ),
            )],
        )])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/osconfig"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := osconfig.NewGuestPolicies(ctx, "guest_policies", &osconfig.GuestPoliciesArgs{
    			GuestPolicyId: pulumi.String("guest-policy"),
    			Assignment: &osconfig.GuestPoliciesAssignmentArgs{
    				Zones: pulumi.StringArray{
    					pulumi.String("us-east1-b"),
    					pulumi.String("us-east1-d"),
    				},
    			},
    			Recipes: osconfig.GuestPoliciesRecipeArray{
    				&osconfig.GuestPoliciesRecipeArgs{
    					Name:         pulumi.String("guest-policy-recipe"),
    					DesiredState: pulumi.String("INSTALLED"),
    					Artifacts: osconfig.GuestPoliciesRecipeArtifactArray{
    						&osconfig.GuestPoliciesRecipeArtifactArgs{
    							Id: pulumi.String("guest-policy-artifact-id"),
    							Gcs: &osconfig.GuestPoliciesRecipeArtifactGcsArgs{
    								Bucket:     pulumi.String("my-bucket"),
    								Object:     pulumi.String("executable.msi"),
    								Generation: pulumi.Int(1546030865175603),
    							},
    						},
    					},
    					InstallSteps: osconfig.GuestPoliciesRecipeInstallStepArray{
    						&osconfig.GuestPoliciesRecipeInstallStepArgs{
    							MsiInstallation: &osconfig.GuestPoliciesRecipeInstallStepMsiInstallationArgs{
    								ArtifactId: pulumi.String("guest-policy-artifact-id"),
    							},
    						},
    					},
    				},
    			},
    		})
    		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 guestPolicies = new Gcp.OsConfig.GuestPolicies("guest_policies", new()
        {
            GuestPolicyId = "guest-policy",
            Assignment = new Gcp.OsConfig.Inputs.GuestPoliciesAssignmentArgs
            {
                Zones = new[]
                {
                    "us-east1-b",
                    "us-east1-d",
                },
            },
            Recipes = new[]
            {
                new Gcp.OsConfig.Inputs.GuestPoliciesRecipeArgs
                {
                    Name = "guest-policy-recipe",
                    DesiredState = "INSTALLED",
                    Artifacts = new[]
                    {
                        new Gcp.OsConfig.Inputs.GuestPoliciesRecipeArtifactArgs
                        {
                            Id = "guest-policy-artifact-id",
                            Gcs = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeArtifactGcsArgs
                            {
                                Bucket = "my-bucket",
                                Object = "executable.msi",
                                Generation = 1546030865175603,
                            },
                        },
                    },
                    InstallSteps = new[]
                    {
                        new Gcp.OsConfig.Inputs.GuestPoliciesRecipeInstallStepArgs
                        {
                            MsiInstallation = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeInstallStepMsiInstallationArgs
                            {
                                ArtifactId = "guest-policy-artifact-id",
                            },
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.osconfig.GuestPolicies;
    import com.pulumi.gcp.osconfig.GuestPoliciesArgs;
    import com.pulumi.gcp.osconfig.inputs.GuestPoliciesAssignmentArgs;
    import com.pulumi.gcp.osconfig.inputs.GuestPoliciesRecipeArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var guestPolicies = new GuestPolicies("guestPolicies", GuestPoliciesArgs.builder()        
                .guestPolicyId("guest-policy")
                .assignment(GuestPoliciesAssignmentArgs.builder()
                    .zones(                
                        "us-east1-b",
                        "us-east1-d")
                    .build())
                .recipes(GuestPoliciesRecipeArgs.builder()
                    .name("guest-policy-recipe")
                    .desiredState("INSTALLED")
                    .artifacts(GuestPoliciesRecipeArtifactArgs.builder()
                        .id("guest-policy-artifact-id")
                        .gcs(GuestPoliciesRecipeArtifactGcsArgs.builder()
                            .bucket("my-bucket")
                            .object("executable.msi")
                            .generation(1546030865175603)
                            .build())
                        .build())
                    .installSteps(GuestPoliciesRecipeInstallStepArgs.builder()
                        .msiInstallation(GuestPoliciesRecipeInstallStepMsiInstallationArgs.builder()
                            .artifactId("guest-policy-artifact-id")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      guestPolicies:
        type: gcp:osconfig:GuestPolicies
        name: guest_policies
        properties:
          guestPolicyId: guest-policy
          assignment:
            zones:
              - us-east1-b
              - us-east1-d
          recipes:
            - name: guest-policy-recipe
              desiredState: INSTALLED
              artifacts:
                - id: guest-policy-artifact-id
                  gcs:
                    bucket: my-bucket
                    object: executable.msi
                    generation: 1.546030865175603e+15
              installSteps:
                - msiInstallation:
                    artifactId: guest-policy-artifact-id
    

    Create GuestPolicies Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new GuestPolicies(name: string, args: GuestPoliciesArgs, opts?: CustomResourceOptions);
    @overload
    def GuestPolicies(resource_name: str,
                      args: GuestPoliciesArgs,
                      opts: Optional[ResourceOptions] = None)
    
    @overload
    def GuestPolicies(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      assignment: Optional[GuestPoliciesAssignmentArgs] = None,
                      guest_policy_id: Optional[str] = None,
                      description: Optional[str] = None,
                      etag: Optional[str] = None,
                      package_repositories: Optional[Sequence[GuestPoliciesPackageRepositoryArgs]] = None,
                      packages: Optional[Sequence[GuestPoliciesPackageArgs]] = None,
                      project: Optional[str] = None,
                      recipes: Optional[Sequence[GuestPoliciesRecipeArgs]] = None)
    func NewGuestPolicies(ctx *Context, name string, args GuestPoliciesArgs, opts ...ResourceOption) (*GuestPolicies, error)
    public GuestPolicies(string name, GuestPoliciesArgs args, CustomResourceOptions? opts = null)
    public GuestPolicies(String name, GuestPoliciesArgs args)
    public GuestPolicies(String name, GuestPoliciesArgs args, CustomResourceOptions options)
    
    type: gcp:osconfig:GuestPolicies
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args GuestPoliciesArgs
    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 GuestPoliciesArgs
    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 GuestPoliciesArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args GuestPoliciesArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args GuestPoliciesArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var guestPoliciesResource = new Gcp.OsConfig.GuestPolicies("guestPoliciesResource", new()
    {
        Assignment = new Gcp.OsConfig.Inputs.GuestPoliciesAssignmentArgs
        {
            GroupLabels = new[]
            {
                new Gcp.OsConfig.Inputs.GuestPoliciesAssignmentGroupLabelArgs
                {
                    Labels = 
                    {
                        { "string", "string" },
                    },
                },
            },
            InstanceNamePrefixes = new[]
            {
                "string",
            },
            Instances = new[]
            {
                "string",
            },
            OsTypes = new[]
            {
                new Gcp.OsConfig.Inputs.GuestPoliciesAssignmentOsTypeArgs
                {
                    OsArchitecture = "string",
                    OsShortName = "string",
                    OsVersion = "string",
                },
            },
            Zones = new[]
            {
                "string",
            },
        },
        GuestPolicyId = "string",
        Description = "string",
        Etag = "string",
        PackageRepositories = new[]
        {
            new Gcp.OsConfig.Inputs.GuestPoliciesPackageRepositoryArgs
            {
                Apt = new Gcp.OsConfig.Inputs.GuestPoliciesPackageRepositoryAptArgs
                {
                    Components = new[]
                    {
                        "string",
                    },
                    Distribution = "string",
                    Uri = "string",
                    ArchiveType = "string",
                    GpgKey = "string",
                },
                Goo = new Gcp.OsConfig.Inputs.GuestPoliciesPackageRepositoryGooArgs
                {
                    Name = "string",
                    Url = "string",
                },
                Yum = new Gcp.OsConfig.Inputs.GuestPoliciesPackageRepositoryYumArgs
                {
                    BaseUrl = "string",
                    Id = "string",
                    DisplayName = "string",
                    GpgKeys = new[]
                    {
                        "string",
                    },
                },
                Zypper = new Gcp.OsConfig.Inputs.GuestPoliciesPackageRepositoryZypperArgs
                {
                    BaseUrl = "string",
                    Id = "string",
                    DisplayName = "string",
                    GpgKeys = new[]
                    {
                        "string",
                    },
                },
            },
        },
        Packages = new[]
        {
            new Gcp.OsConfig.Inputs.GuestPoliciesPackageArgs
            {
                Name = "string",
                DesiredState = "string",
                Manager = "string",
            },
        },
        Project = "string",
        Recipes = new[]
        {
            new Gcp.OsConfig.Inputs.GuestPoliciesRecipeArgs
            {
                Name = "string",
                Artifacts = new[]
                {
                    new Gcp.OsConfig.Inputs.GuestPoliciesRecipeArtifactArgs
                    {
                        Id = "string",
                        AllowInsecure = false,
                        Gcs = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeArtifactGcsArgs
                        {
                            Bucket = "string",
                            Generation = 0,
                            Object = "string",
                        },
                        Remote = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeArtifactRemoteArgs
                        {
                            CheckSum = "string",
                            Uri = "string",
                        },
                    },
                },
                DesiredState = "string",
                InstallSteps = new[]
                {
                    new Gcp.OsConfig.Inputs.GuestPoliciesRecipeInstallStepArgs
                    {
                        ArchiveExtraction = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeInstallStepArchiveExtractionArgs
                        {
                            ArtifactId = "string",
                            Type = "string",
                            Destination = "string",
                        },
                        DpkgInstallation = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeInstallStepDpkgInstallationArgs
                        {
                            ArtifactId = "string",
                        },
                        FileCopy = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeInstallStepFileCopyArgs
                        {
                            ArtifactId = "string",
                            Destination = "string",
                            Overwrite = false,
                            Permissions = "string",
                        },
                        FileExec = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeInstallStepFileExecArgs
                        {
                            AllowedExitCodes = "string",
                            Args = new[]
                            {
                                "string",
                            },
                            ArtifactId = "string",
                            LocalPath = "string",
                        },
                        MsiInstallation = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeInstallStepMsiInstallationArgs
                        {
                            ArtifactId = "string",
                            AllowedExitCodes = new[]
                            {
                                0,
                            },
                            Flags = new[]
                            {
                                "string",
                            },
                        },
                        RpmInstallation = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeInstallStepRpmInstallationArgs
                        {
                            ArtifactId = "string",
                        },
                        ScriptRun = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeInstallStepScriptRunArgs
                        {
                            Script = "string",
                            AllowedExitCodes = new[]
                            {
                                0,
                            },
                            Interpreter = "string",
                        },
                    },
                },
                UpdateSteps = new[]
                {
                    new Gcp.OsConfig.Inputs.GuestPoliciesRecipeUpdateStepArgs
                    {
                        ArchiveExtraction = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeUpdateStepArchiveExtractionArgs
                        {
                            ArtifactId = "string",
                            Type = "string",
                            Destination = "string",
                        },
                        DpkgInstallation = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeUpdateStepDpkgInstallationArgs
                        {
                            ArtifactId = "string",
                        },
                        FileCopy = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeUpdateStepFileCopyArgs
                        {
                            ArtifactId = "string",
                            Destination = "string",
                            Overwrite = false,
                            Permissions = "string",
                        },
                        FileExec = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeUpdateStepFileExecArgs
                        {
                            AllowedExitCodes = new[]
                            {
                                0,
                            },
                            Args = new[]
                            {
                                "string",
                            },
                            ArtifactId = "string",
                            LocalPath = "string",
                        },
                        MsiInstallation = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeUpdateStepMsiInstallationArgs
                        {
                            ArtifactId = "string",
                            AllowedExitCodes = new[]
                            {
                                0,
                            },
                            Flags = new[]
                            {
                                "string",
                            },
                        },
                        RpmInstallation = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeUpdateStepRpmInstallationArgs
                        {
                            ArtifactId = "string",
                        },
                        ScriptRun = new Gcp.OsConfig.Inputs.GuestPoliciesRecipeUpdateStepScriptRunArgs
                        {
                            Script = "string",
                            AllowedExitCodes = new[]
                            {
                                0,
                            },
                            Interpreter = "string",
                        },
                    },
                },
                Version = "string",
            },
        },
    });
    
    example, err := osconfig.NewGuestPolicies(ctx, "guestPoliciesResource", &osconfig.GuestPoliciesArgs{
    	Assignment: &osconfig.GuestPoliciesAssignmentArgs{
    		GroupLabels: osconfig.GuestPoliciesAssignmentGroupLabelArray{
    			&osconfig.GuestPoliciesAssignmentGroupLabelArgs{
    				Labels: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    		},
    		InstanceNamePrefixes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Instances: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		OsTypes: osconfig.GuestPoliciesAssignmentOsTypeArray{
    			&osconfig.GuestPoliciesAssignmentOsTypeArgs{
    				OsArchitecture: pulumi.String("string"),
    				OsShortName:    pulumi.String("string"),
    				OsVersion:      pulumi.String("string"),
    			},
    		},
    		Zones: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	GuestPolicyId: pulumi.String("string"),
    	Description:   pulumi.String("string"),
    	Etag:          pulumi.String("string"),
    	PackageRepositories: osconfig.GuestPoliciesPackageRepositoryArray{
    		&osconfig.GuestPoliciesPackageRepositoryArgs{
    			Apt: &osconfig.GuestPoliciesPackageRepositoryAptArgs{
    				Components: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Distribution: pulumi.String("string"),
    				Uri:          pulumi.String("string"),
    				ArchiveType:  pulumi.String("string"),
    				GpgKey:       pulumi.String("string"),
    			},
    			Goo: &osconfig.GuestPoliciesPackageRepositoryGooArgs{
    				Name: pulumi.String("string"),
    				Url:  pulumi.String("string"),
    			},
    			Yum: &osconfig.GuestPoliciesPackageRepositoryYumArgs{
    				BaseUrl:     pulumi.String("string"),
    				Id:          pulumi.String("string"),
    				DisplayName: pulumi.String("string"),
    				GpgKeys: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			Zypper: &osconfig.GuestPoliciesPackageRepositoryZypperArgs{
    				BaseUrl:     pulumi.String("string"),
    				Id:          pulumi.String("string"),
    				DisplayName: pulumi.String("string"),
    				GpgKeys: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    	},
    	Packages: osconfig.GuestPoliciesPackageArray{
    		&osconfig.GuestPoliciesPackageArgs{
    			Name:         pulumi.String("string"),
    			DesiredState: pulumi.String("string"),
    			Manager:      pulumi.String("string"),
    		},
    	},
    	Project: pulumi.String("string"),
    	Recipes: osconfig.GuestPoliciesRecipeArray{
    		&osconfig.GuestPoliciesRecipeArgs{
    			Name: pulumi.String("string"),
    			Artifacts: osconfig.GuestPoliciesRecipeArtifactArray{
    				&osconfig.GuestPoliciesRecipeArtifactArgs{
    					Id:            pulumi.String("string"),
    					AllowInsecure: pulumi.Bool(false),
    					Gcs: &osconfig.GuestPoliciesRecipeArtifactGcsArgs{
    						Bucket:     pulumi.String("string"),
    						Generation: pulumi.Int(0),
    						Object:     pulumi.String("string"),
    					},
    					Remote: &osconfig.GuestPoliciesRecipeArtifactRemoteArgs{
    						CheckSum: pulumi.String("string"),
    						Uri:      pulumi.String("string"),
    					},
    				},
    			},
    			DesiredState: pulumi.String("string"),
    			InstallSteps: osconfig.GuestPoliciesRecipeInstallStepArray{
    				&osconfig.GuestPoliciesRecipeInstallStepArgs{
    					ArchiveExtraction: &osconfig.GuestPoliciesRecipeInstallStepArchiveExtractionArgs{
    						ArtifactId:  pulumi.String("string"),
    						Type:        pulumi.String("string"),
    						Destination: pulumi.String("string"),
    					},
    					DpkgInstallation: &osconfig.GuestPoliciesRecipeInstallStepDpkgInstallationArgs{
    						ArtifactId: pulumi.String("string"),
    					},
    					FileCopy: &osconfig.GuestPoliciesRecipeInstallStepFileCopyArgs{
    						ArtifactId:  pulumi.String("string"),
    						Destination: pulumi.String("string"),
    						Overwrite:   pulumi.Bool(false),
    						Permissions: pulumi.String("string"),
    					},
    					FileExec: &osconfig.GuestPoliciesRecipeInstallStepFileExecArgs{
    						AllowedExitCodes: pulumi.String("string"),
    						Args: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						ArtifactId: pulumi.String("string"),
    						LocalPath:  pulumi.String("string"),
    					},
    					MsiInstallation: &osconfig.GuestPoliciesRecipeInstallStepMsiInstallationArgs{
    						ArtifactId: pulumi.String("string"),
    						AllowedExitCodes: pulumi.IntArray{
    							pulumi.Int(0),
    						},
    						Flags: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					RpmInstallation: &osconfig.GuestPoliciesRecipeInstallStepRpmInstallationArgs{
    						ArtifactId: pulumi.String("string"),
    					},
    					ScriptRun: &osconfig.GuestPoliciesRecipeInstallStepScriptRunArgs{
    						Script: pulumi.String("string"),
    						AllowedExitCodes: pulumi.IntArray{
    							pulumi.Int(0),
    						},
    						Interpreter: pulumi.String("string"),
    					},
    				},
    			},
    			UpdateSteps: osconfig.GuestPoliciesRecipeUpdateStepArray{
    				&osconfig.GuestPoliciesRecipeUpdateStepArgs{
    					ArchiveExtraction: &osconfig.GuestPoliciesRecipeUpdateStepArchiveExtractionArgs{
    						ArtifactId:  pulumi.String("string"),
    						Type:        pulumi.String("string"),
    						Destination: pulumi.String("string"),
    					},
    					DpkgInstallation: &osconfig.GuestPoliciesRecipeUpdateStepDpkgInstallationArgs{
    						ArtifactId: pulumi.String("string"),
    					},
    					FileCopy: &osconfig.GuestPoliciesRecipeUpdateStepFileCopyArgs{
    						ArtifactId:  pulumi.String("string"),
    						Destination: pulumi.String("string"),
    						Overwrite:   pulumi.Bool(false),
    						Permissions: pulumi.String("string"),
    					},
    					FileExec: &osconfig.GuestPoliciesRecipeUpdateStepFileExecArgs{
    						AllowedExitCodes: pulumi.IntArray{
    							pulumi.Int(0),
    						},
    						Args: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						ArtifactId: pulumi.String("string"),
    						LocalPath:  pulumi.String("string"),
    					},
    					MsiInstallation: &osconfig.GuestPoliciesRecipeUpdateStepMsiInstallationArgs{
    						ArtifactId: pulumi.String("string"),
    						AllowedExitCodes: pulumi.IntArray{
    							pulumi.Int(0),
    						},
    						Flags: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					RpmInstallation: &osconfig.GuestPoliciesRecipeUpdateStepRpmInstallationArgs{
    						ArtifactId: pulumi.String("string"),
    					},
    					ScriptRun: &osconfig.GuestPoliciesRecipeUpdateStepScriptRunArgs{
    						Script: pulumi.String("string"),
    						AllowedExitCodes: pulumi.IntArray{
    							pulumi.Int(0),
    						},
    						Interpreter: pulumi.String("string"),
    					},
    				},
    			},
    			Version: pulumi.String("string"),
    		},
    	},
    })
    
    var guestPoliciesResource = new GuestPolicies("guestPoliciesResource", GuestPoliciesArgs.builder()        
        .assignment(GuestPoliciesAssignmentArgs.builder()
            .groupLabels(GuestPoliciesAssignmentGroupLabelArgs.builder()
                .labels(Map.of("string", "string"))
                .build())
            .instanceNamePrefixes("string")
            .instances("string")
            .osTypes(GuestPoliciesAssignmentOsTypeArgs.builder()
                .osArchitecture("string")
                .osShortName("string")
                .osVersion("string")
                .build())
            .zones("string")
            .build())
        .guestPolicyId("string")
        .description("string")
        .etag("string")
        .packageRepositories(GuestPoliciesPackageRepositoryArgs.builder()
            .apt(GuestPoliciesPackageRepositoryAptArgs.builder()
                .components("string")
                .distribution("string")
                .uri("string")
                .archiveType("string")
                .gpgKey("string")
                .build())
            .goo(GuestPoliciesPackageRepositoryGooArgs.builder()
                .name("string")
                .url("string")
                .build())
            .yum(GuestPoliciesPackageRepositoryYumArgs.builder()
                .baseUrl("string")
                .id("string")
                .displayName("string")
                .gpgKeys("string")
                .build())
            .zypper(GuestPoliciesPackageRepositoryZypperArgs.builder()
                .baseUrl("string")
                .id("string")
                .displayName("string")
                .gpgKeys("string")
                .build())
            .build())
        .packages(GuestPoliciesPackageArgs.builder()
            .name("string")
            .desiredState("string")
            .manager("string")
            .build())
        .project("string")
        .recipes(GuestPoliciesRecipeArgs.builder()
            .name("string")
            .artifacts(GuestPoliciesRecipeArtifactArgs.builder()
                .id("string")
                .allowInsecure(false)
                .gcs(GuestPoliciesRecipeArtifactGcsArgs.builder()
                    .bucket("string")
                    .generation(0)
                    .object("string")
                    .build())
                .remote(GuestPoliciesRecipeArtifactRemoteArgs.builder()
                    .checkSum("string")
                    .uri("string")
                    .build())
                .build())
            .desiredState("string")
            .installSteps(GuestPoliciesRecipeInstallStepArgs.builder()
                .archiveExtraction(GuestPoliciesRecipeInstallStepArchiveExtractionArgs.builder()
                    .artifactId("string")
                    .type("string")
                    .destination("string")
                    .build())
                .dpkgInstallation(GuestPoliciesRecipeInstallStepDpkgInstallationArgs.builder()
                    .artifactId("string")
                    .build())
                .fileCopy(GuestPoliciesRecipeInstallStepFileCopyArgs.builder()
                    .artifactId("string")
                    .destination("string")
                    .overwrite(false)
                    .permissions("string")
                    .build())
                .fileExec(GuestPoliciesRecipeInstallStepFileExecArgs.builder()
                    .allowedExitCodes("string")
                    .args("string")
                    .artifactId("string")
                    .localPath("string")
                    .build())
                .msiInstallation(GuestPoliciesRecipeInstallStepMsiInstallationArgs.builder()
                    .artifactId("string")
                    .allowedExitCodes(0)
                    .flags("string")
                    .build())
                .rpmInstallation(GuestPoliciesRecipeInstallStepRpmInstallationArgs.builder()
                    .artifactId("string")
                    .build())
                .scriptRun(GuestPoliciesRecipeInstallStepScriptRunArgs.builder()
                    .script("string")
                    .allowedExitCodes(0)
                    .interpreter("string")
                    .build())
                .build())
            .updateSteps(GuestPoliciesRecipeUpdateStepArgs.builder()
                .archiveExtraction(GuestPoliciesRecipeUpdateStepArchiveExtractionArgs.builder()
                    .artifactId("string")
                    .type("string")
                    .destination("string")
                    .build())
                .dpkgInstallation(GuestPoliciesRecipeUpdateStepDpkgInstallationArgs.builder()
                    .artifactId("string")
                    .build())
                .fileCopy(GuestPoliciesRecipeUpdateStepFileCopyArgs.builder()
                    .artifactId("string")
                    .destination("string")
                    .overwrite(false)
                    .permissions("string")
                    .build())
                .fileExec(GuestPoliciesRecipeUpdateStepFileExecArgs.builder()
                    .allowedExitCodes(0)
                    .args("string")
                    .artifactId("string")
                    .localPath("string")
                    .build())
                .msiInstallation(GuestPoliciesRecipeUpdateStepMsiInstallationArgs.builder()
                    .artifactId("string")
                    .allowedExitCodes(0)
                    .flags("string")
                    .build())
                .rpmInstallation(GuestPoliciesRecipeUpdateStepRpmInstallationArgs.builder()
                    .artifactId("string")
                    .build())
                .scriptRun(GuestPoliciesRecipeUpdateStepScriptRunArgs.builder()
                    .script("string")
                    .allowedExitCodes(0)
                    .interpreter("string")
                    .build())
                .build())
            .version("string")
            .build())
        .build());
    
    guest_policies_resource = gcp.osconfig.GuestPolicies("guestPoliciesResource",
        assignment=gcp.osconfig.GuestPoliciesAssignmentArgs(
            group_labels=[gcp.osconfig.GuestPoliciesAssignmentGroupLabelArgs(
                labels={
                    "string": "string",
                },
            )],
            instance_name_prefixes=["string"],
            instances=["string"],
            os_types=[gcp.osconfig.GuestPoliciesAssignmentOsTypeArgs(
                os_architecture="string",
                os_short_name="string",
                os_version="string",
            )],
            zones=["string"],
        ),
        guest_policy_id="string",
        description="string",
        etag="string",
        package_repositories=[gcp.osconfig.GuestPoliciesPackageRepositoryArgs(
            apt=gcp.osconfig.GuestPoliciesPackageRepositoryAptArgs(
                components=["string"],
                distribution="string",
                uri="string",
                archive_type="string",
                gpg_key="string",
            ),
            goo=gcp.osconfig.GuestPoliciesPackageRepositoryGooArgs(
                name="string",
                url="string",
            ),
            yum=gcp.osconfig.GuestPoliciesPackageRepositoryYumArgs(
                base_url="string",
                id="string",
                display_name="string",
                gpg_keys=["string"],
            ),
            zypper=gcp.osconfig.GuestPoliciesPackageRepositoryZypperArgs(
                base_url="string",
                id="string",
                display_name="string",
                gpg_keys=["string"],
            ),
        )],
        packages=[gcp.osconfig.GuestPoliciesPackageArgs(
            name="string",
            desired_state="string",
            manager="string",
        )],
        project="string",
        recipes=[gcp.osconfig.GuestPoliciesRecipeArgs(
            name="string",
            artifacts=[gcp.osconfig.GuestPoliciesRecipeArtifactArgs(
                id="string",
                allow_insecure=False,
                gcs=gcp.osconfig.GuestPoliciesRecipeArtifactGcsArgs(
                    bucket="string",
                    generation=0,
                    object="string",
                ),
                remote=gcp.osconfig.GuestPoliciesRecipeArtifactRemoteArgs(
                    check_sum="string",
                    uri="string",
                ),
            )],
            desired_state="string",
            install_steps=[gcp.osconfig.GuestPoliciesRecipeInstallStepArgs(
                archive_extraction=gcp.osconfig.GuestPoliciesRecipeInstallStepArchiveExtractionArgs(
                    artifact_id="string",
                    type="string",
                    destination="string",
                ),
                dpkg_installation=gcp.osconfig.GuestPoliciesRecipeInstallStepDpkgInstallationArgs(
                    artifact_id="string",
                ),
                file_copy=gcp.osconfig.GuestPoliciesRecipeInstallStepFileCopyArgs(
                    artifact_id="string",
                    destination="string",
                    overwrite=False,
                    permissions="string",
                ),
                file_exec=gcp.osconfig.GuestPoliciesRecipeInstallStepFileExecArgs(
                    allowed_exit_codes="string",
                    args=["string"],
                    artifact_id="string",
                    local_path="string",
                ),
                msi_installation=gcp.osconfig.GuestPoliciesRecipeInstallStepMsiInstallationArgs(
                    artifact_id="string",
                    allowed_exit_codes=[0],
                    flags=["string"],
                ),
                rpm_installation=gcp.osconfig.GuestPoliciesRecipeInstallStepRpmInstallationArgs(
                    artifact_id="string",
                ),
                script_run=gcp.osconfig.GuestPoliciesRecipeInstallStepScriptRunArgs(
                    script="string",
                    allowed_exit_codes=[0],
                    interpreter="string",
                ),
            )],
            update_steps=[gcp.osconfig.GuestPoliciesRecipeUpdateStepArgs(
                archive_extraction=gcp.osconfig.GuestPoliciesRecipeUpdateStepArchiveExtractionArgs(
                    artifact_id="string",
                    type="string",
                    destination="string",
                ),
                dpkg_installation=gcp.osconfig.GuestPoliciesRecipeUpdateStepDpkgInstallationArgs(
                    artifact_id="string",
                ),
                file_copy=gcp.osconfig.GuestPoliciesRecipeUpdateStepFileCopyArgs(
                    artifact_id="string",
                    destination="string",
                    overwrite=False,
                    permissions="string",
                ),
                file_exec=gcp.osconfig.GuestPoliciesRecipeUpdateStepFileExecArgs(
                    allowed_exit_codes=[0],
                    args=["string"],
                    artifact_id="string",
                    local_path="string",
                ),
                msi_installation=gcp.osconfig.GuestPoliciesRecipeUpdateStepMsiInstallationArgs(
                    artifact_id="string",
                    allowed_exit_codes=[0],
                    flags=["string"],
                ),
                rpm_installation=gcp.osconfig.GuestPoliciesRecipeUpdateStepRpmInstallationArgs(
                    artifact_id="string",
                ),
                script_run=gcp.osconfig.GuestPoliciesRecipeUpdateStepScriptRunArgs(
                    script="string",
                    allowed_exit_codes=[0],
                    interpreter="string",
                ),
            )],
            version="string",
        )])
    
    const guestPoliciesResource = new gcp.osconfig.GuestPolicies("guestPoliciesResource", {
        assignment: {
            groupLabels: [{
                labels: {
                    string: "string",
                },
            }],
            instanceNamePrefixes: ["string"],
            instances: ["string"],
            osTypes: [{
                osArchitecture: "string",
                osShortName: "string",
                osVersion: "string",
            }],
            zones: ["string"],
        },
        guestPolicyId: "string",
        description: "string",
        etag: "string",
        packageRepositories: [{
            apt: {
                components: ["string"],
                distribution: "string",
                uri: "string",
                archiveType: "string",
                gpgKey: "string",
            },
            goo: {
                name: "string",
                url: "string",
            },
            yum: {
                baseUrl: "string",
                id: "string",
                displayName: "string",
                gpgKeys: ["string"],
            },
            zypper: {
                baseUrl: "string",
                id: "string",
                displayName: "string",
                gpgKeys: ["string"],
            },
        }],
        packages: [{
            name: "string",
            desiredState: "string",
            manager: "string",
        }],
        project: "string",
        recipes: [{
            name: "string",
            artifacts: [{
                id: "string",
                allowInsecure: false,
                gcs: {
                    bucket: "string",
                    generation: 0,
                    object: "string",
                },
                remote: {
                    checkSum: "string",
                    uri: "string",
                },
            }],
            desiredState: "string",
            installSteps: [{
                archiveExtraction: {
                    artifactId: "string",
                    type: "string",
                    destination: "string",
                },
                dpkgInstallation: {
                    artifactId: "string",
                },
                fileCopy: {
                    artifactId: "string",
                    destination: "string",
                    overwrite: false,
                    permissions: "string",
                },
                fileExec: {
                    allowedExitCodes: "string",
                    args: ["string"],
                    artifactId: "string",
                    localPath: "string",
                },
                msiInstallation: {
                    artifactId: "string",
                    allowedExitCodes: [0],
                    flags: ["string"],
                },
                rpmInstallation: {
                    artifactId: "string",
                },
                scriptRun: {
                    script: "string",
                    allowedExitCodes: [0],
                    interpreter: "string",
                },
            }],
            updateSteps: [{
                archiveExtraction: {
                    artifactId: "string",
                    type: "string",
                    destination: "string",
                },
                dpkgInstallation: {
                    artifactId: "string",
                },
                fileCopy: {
                    artifactId: "string",
                    destination: "string",
                    overwrite: false,
                    permissions: "string",
                },
                fileExec: {
                    allowedExitCodes: [0],
                    args: ["string"],
                    artifactId: "string",
                    localPath: "string",
                },
                msiInstallation: {
                    artifactId: "string",
                    allowedExitCodes: [0],
                    flags: ["string"],
                },
                rpmInstallation: {
                    artifactId: "string",
                },
                scriptRun: {
                    script: "string",
                    allowedExitCodes: [0],
                    interpreter: "string",
                },
            }],
            version: "string",
        }],
    });
    
    type: gcp:osconfig:GuestPolicies
    properties:
        assignment:
            groupLabels:
                - labels:
                    string: string
            instanceNamePrefixes:
                - string
            instances:
                - string
            osTypes:
                - osArchitecture: string
                  osShortName: string
                  osVersion: string
            zones:
                - string
        description: string
        etag: string
        guestPolicyId: string
        packageRepositories:
            - apt:
                archiveType: string
                components:
                    - string
                distribution: string
                gpgKey: string
                uri: string
              goo:
                name: string
                url: string
              yum:
                baseUrl: string
                displayName: string
                gpgKeys:
                    - string
                id: string
              zypper:
                baseUrl: string
                displayName: string
                gpgKeys:
                    - string
                id: string
        packages:
            - desiredState: string
              manager: string
              name: string
        project: string
        recipes:
            - artifacts:
                - allowInsecure: false
                  gcs:
                    bucket: string
                    generation: 0
                    object: string
                  id: string
                  remote:
                    checkSum: string
                    uri: string
              desiredState: string
              installSteps:
                - archiveExtraction:
                    artifactId: string
                    destination: string
                    type: string
                  dpkgInstallation:
                    artifactId: string
                  fileCopy:
                    artifactId: string
                    destination: string
                    overwrite: false
                    permissions: string
                  fileExec:
                    allowedExitCodes: string
                    args:
                        - string
                    artifactId: string
                    localPath: string
                  msiInstallation:
                    allowedExitCodes:
                        - 0
                    artifactId: string
                    flags:
                        - string
                  rpmInstallation:
                    artifactId: string
                  scriptRun:
                    allowedExitCodes:
                        - 0
                    interpreter: string
                    script: string
              name: string
              updateSteps:
                - archiveExtraction:
                    artifactId: string
                    destination: string
                    type: string
                  dpkgInstallation:
                    artifactId: string
                  fileCopy:
                    artifactId: string
                    destination: string
                    overwrite: false
                    permissions: string
                  fileExec:
                    allowedExitCodes:
                        - 0
                    args:
                        - string
                    artifactId: string
                    localPath: string
                  msiInstallation:
                    allowedExitCodes:
                        - 0
                    artifactId: string
                    flags:
                        - string
                  rpmInstallation:
                    artifactId: string
                  scriptRun:
                    allowedExitCodes:
                        - 0
                    interpreter: string
                    script: string
              version: string
    

    GuestPolicies Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The GuestPolicies resource accepts the following input properties:

    Assignment GuestPoliciesAssignment
    Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service handles assignment conflicts. Structure is documented below.
    GuestPolicyId string
    The logical name of the guest policy in the project with the following restrictions:

    • Must contain only lowercase letters, numbers, and hyphens.
    • Must start with a letter.
    • Must be between 1-63 characters.
    • Must end with a number or a letter.
    • Must be unique within the project.
    Description string
    Description of the guest policy. Length of the description is limited to 1024 characters.
    Etag string
    The etag for this guest policy. If this is provided on update, it must match the server's etag.
    PackageRepositories List<GuestPoliciesPackageRepository>
    A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available.
    Packages List<GuestPoliciesPackage>
    The software packages to be managed by this policy.
    Project string
    Recipes List<GuestPoliciesRecipe>
    A list of Recipes to install on the VM instance.
    Assignment GuestPoliciesAssignmentArgs
    Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service handles assignment conflicts. Structure is documented below.
    GuestPolicyId string
    The logical name of the guest policy in the project with the following restrictions:

    • Must contain only lowercase letters, numbers, and hyphens.
    • Must start with a letter.
    • Must be between 1-63 characters.
    • Must end with a number or a letter.
    • Must be unique within the project.
    Description string
    Description of the guest policy. Length of the description is limited to 1024 characters.
    Etag string
    The etag for this guest policy. If this is provided on update, it must match the server's etag.
    PackageRepositories []GuestPoliciesPackageRepositoryArgs
    A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available.
    Packages []GuestPoliciesPackageArgs
    The software packages to be managed by this policy.
    Project string
    Recipes []GuestPoliciesRecipeArgs
    A list of Recipes to install on the VM instance.
    assignment GuestPoliciesAssignment
    Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service handles assignment conflicts. Structure is documented below.
    guestPolicyId String
    The logical name of the guest policy in the project with the following restrictions:

    • Must contain only lowercase letters, numbers, and hyphens.
    • Must start with a letter.
    • Must be between 1-63 characters.
    • Must end with a number or a letter.
    • Must be unique within the project.
    description String
    Description of the guest policy. Length of the description is limited to 1024 characters.
    etag String
    The etag for this guest policy. If this is provided on update, it must match the server's etag.
    packageRepositories List<GuestPoliciesPackageRepository>
    A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available.
    packages List<GuestPoliciesPackage>
    The software packages to be managed by this policy.
    project String
    recipes List<GuestPoliciesRecipe>
    A list of Recipes to install on the VM instance.
    assignment GuestPoliciesAssignment
    Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service handles assignment conflicts. Structure is documented below.
    guestPolicyId string
    The logical name of the guest policy in the project with the following restrictions:

    • Must contain only lowercase letters, numbers, and hyphens.
    • Must start with a letter.
    • Must be between 1-63 characters.
    • Must end with a number or a letter.
    • Must be unique within the project.
    description string
    Description of the guest policy. Length of the description is limited to 1024 characters.
    etag string
    The etag for this guest policy. If this is provided on update, it must match the server's etag.
    packageRepositories GuestPoliciesPackageRepository[]
    A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available.
    packages GuestPoliciesPackage[]
    The software packages to be managed by this policy.
    project string
    recipes GuestPoliciesRecipe[]
    A list of Recipes to install on the VM instance.
    assignment GuestPoliciesAssignmentArgs
    Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service handles assignment conflicts. Structure is documented below.
    guest_policy_id str
    The logical name of the guest policy in the project with the following restrictions:

    • Must contain only lowercase letters, numbers, and hyphens.
    • Must start with a letter.
    • Must be between 1-63 characters.
    • Must end with a number or a letter.
    • Must be unique within the project.
    description str
    Description of the guest policy. Length of the description is limited to 1024 characters.
    etag str
    The etag for this guest policy. If this is provided on update, it must match the server's etag.
    package_repositories Sequence[GuestPoliciesPackageRepositoryArgs]
    A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available.
    packages Sequence[GuestPoliciesPackageArgs]
    The software packages to be managed by this policy.
    project str
    recipes Sequence[GuestPoliciesRecipeArgs]
    A list of Recipes to install on the VM instance.
    assignment Property Map
    Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service handles assignment conflicts. Structure is documented below.
    guestPolicyId String
    The logical name of the guest policy in the project with the following restrictions:

    • Must contain only lowercase letters, numbers, and hyphens.
    • Must start with a letter.
    • Must be between 1-63 characters.
    • Must end with a number or a letter.
    • Must be unique within the project.
    description String
    Description of the guest policy. Length of the description is limited to 1024 characters.
    etag String
    The etag for this guest policy. If this is provided on update, it must match the server's etag.
    packageRepositories List<Property Map>
    A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available.
    packages List<Property Map>
    The software packages to be managed by this policy.
    project String
    recipes List<Property Map>
    A list of Recipes to install on the VM instance.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the GuestPolicies resource produces the following output properties:

    CreateTime string
    Time this guest policy was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    Unique name of the resource in this project using one of the following forms: projects/{project_number}/guestPolicies/{guestPolicyId}.
    UpdateTime string
    Last time this guest policy was updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    CreateTime string
    Time this guest policy was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    Unique name of the resource in this project using one of the following forms: projects/{project_number}/guestPolicies/{guestPolicyId}.
    UpdateTime string
    Last time this guest policy was updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    createTime String
    Time this guest policy was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    Unique name of the resource in this project using one of the following forms: projects/{project_number}/guestPolicies/{guestPolicyId}.
    updateTime String
    Last time this guest policy was updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    createTime string
    Time this guest policy was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    Unique name of the resource in this project using one of the following forms: projects/{project_number}/guestPolicies/{guestPolicyId}.
    updateTime string
    Last time this guest policy was updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    create_time str
    Time this guest policy was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    Unique name of the resource in this project using one of the following forms: projects/{project_number}/guestPolicies/{guestPolicyId}.
    update_time str
    Last time this guest policy was updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    createTime String
    Time this guest policy was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    Unique name of the resource in this project using one of the following forms: projects/{project_number}/guestPolicies/{guestPolicyId}.
    updateTime String
    Last time this guest policy was updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    Look up Existing GuestPolicies Resource

    Get an existing GuestPolicies 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?: GuestPoliciesState, opts?: CustomResourceOptions): GuestPolicies
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            assignment: Optional[GuestPoliciesAssignmentArgs] = None,
            create_time: Optional[str] = None,
            description: Optional[str] = None,
            etag: Optional[str] = None,
            guest_policy_id: Optional[str] = None,
            name: Optional[str] = None,
            package_repositories: Optional[Sequence[GuestPoliciesPackageRepositoryArgs]] = None,
            packages: Optional[Sequence[GuestPoliciesPackageArgs]] = None,
            project: Optional[str] = None,
            recipes: Optional[Sequence[GuestPoliciesRecipeArgs]] = None,
            update_time: Optional[str] = None) -> GuestPolicies
    func GetGuestPolicies(ctx *Context, name string, id IDInput, state *GuestPoliciesState, opts ...ResourceOption) (*GuestPolicies, error)
    public static GuestPolicies Get(string name, Input<string> id, GuestPoliciesState? state, CustomResourceOptions? opts = null)
    public static GuestPolicies get(String name, Output<String> id, GuestPoliciesState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Assignment GuestPoliciesAssignment
    Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service handles assignment conflicts. Structure is documented below.
    CreateTime string
    Time this guest policy was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Description string
    Description of the guest policy. Length of the description is limited to 1024 characters.
    Etag string
    The etag for this guest policy. If this is provided on update, it must match the server's etag.
    GuestPolicyId string
    The logical name of the guest policy in the project with the following restrictions:

    • Must contain only lowercase letters, numbers, and hyphens.
    • Must start with a letter.
    • Must be between 1-63 characters.
    • Must end with a number or a letter.
    • Must be unique within the project.
    Name string
    Unique name of the resource in this project using one of the following forms: projects/{project_number}/guestPolicies/{guestPolicyId}.
    PackageRepositories List<GuestPoliciesPackageRepository>
    A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available.
    Packages List<GuestPoliciesPackage>
    The software packages to be managed by this policy.
    Project string
    Recipes List<GuestPoliciesRecipe>
    A list of Recipes to install on the VM instance.
    UpdateTime string
    Last time this guest policy was updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Assignment GuestPoliciesAssignmentArgs
    Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service handles assignment conflicts. Structure is documented below.
    CreateTime string
    Time this guest policy was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Description string
    Description of the guest policy. Length of the description is limited to 1024 characters.
    Etag string
    The etag for this guest policy. If this is provided on update, it must match the server's etag.
    GuestPolicyId string
    The logical name of the guest policy in the project with the following restrictions:

    • Must contain only lowercase letters, numbers, and hyphens.
    • Must start with a letter.
    • Must be between 1-63 characters.
    • Must end with a number or a letter.
    • Must be unique within the project.
    Name string
    Unique name of the resource in this project using one of the following forms: projects/{project_number}/guestPolicies/{guestPolicyId}.
    PackageRepositories []GuestPoliciesPackageRepositoryArgs
    A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available.
    Packages []GuestPoliciesPackageArgs
    The software packages to be managed by this policy.
    Project string
    Recipes []GuestPoliciesRecipeArgs
    A list of Recipes to install on the VM instance.
    UpdateTime string
    Last time this guest policy was updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    assignment GuestPoliciesAssignment
    Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service handles assignment conflicts. Structure is documented below.
    createTime String
    Time this guest policy was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    description String
    Description of the guest policy. Length of the description is limited to 1024 characters.
    etag String
    The etag for this guest policy. If this is provided on update, it must match the server's etag.
    guestPolicyId String
    The logical name of the guest policy in the project with the following restrictions:

    • Must contain only lowercase letters, numbers, and hyphens.
    • Must start with a letter.
    • Must be between 1-63 characters.
    • Must end with a number or a letter.
    • Must be unique within the project.
    name String
    Unique name of the resource in this project using one of the following forms: projects/{project_number}/guestPolicies/{guestPolicyId}.
    packageRepositories List<GuestPoliciesPackageRepository>
    A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available.
    packages List<GuestPoliciesPackage>
    The software packages to be managed by this policy.
    project String
    recipes List<GuestPoliciesRecipe>
    A list of Recipes to install on the VM instance.
    updateTime String
    Last time this guest policy was updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    assignment GuestPoliciesAssignment
    Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service handles assignment conflicts. Structure is documented below.
    createTime string
    Time this guest policy was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    description string
    Description of the guest policy. Length of the description is limited to 1024 characters.
    etag string
    The etag for this guest policy. If this is provided on update, it must match the server's etag.
    guestPolicyId string
    The logical name of the guest policy in the project with the following restrictions:

    • Must contain only lowercase letters, numbers, and hyphens.
    • Must start with a letter.
    • Must be between 1-63 characters.
    • Must end with a number or a letter.
    • Must be unique within the project.
    name string
    Unique name of the resource in this project using one of the following forms: projects/{project_number}/guestPolicies/{guestPolicyId}.
    packageRepositories GuestPoliciesPackageRepository[]
    A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available.
    packages GuestPoliciesPackage[]
    The software packages to be managed by this policy.
    project string
    recipes GuestPoliciesRecipe[]
    A list of Recipes to install on the VM instance.
    updateTime string
    Last time this guest policy was updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    assignment GuestPoliciesAssignmentArgs
    Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service handles assignment conflicts. Structure is documented below.
    create_time str
    Time this guest policy was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    description str
    Description of the guest policy. Length of the description is limited to 1024 characters.
    etag str
    The etag for this guest policy. If this is provided on update, it must match the server's etag.
    guest_policy_id str
    The logical name of the guest policy in the project with the following restrictions:

    • Must contain only lowercase letters, numbers, and hyphens.
    • Must start with a letter.
    • Must be between 1-63 characters.
    • Must end with a number or a letter.
    • Must be unique within the project.
    name str
    Unique name of the resource in this project using one of the following forms: projects/{project_number}/guestPolicies/{guestPolicyId}.
    package_repositories Sequence[GuestPoliciesPackageRepositoryArgs]
    A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available.
    packages Sequence[GuestPoliciesPackageArgs]
    The software packages to be managed by this policy.
    project str
    recipes Sequence[GuestPoliciesRecipeArgs]
    A list of Recipes to install on the VM instance.
    update_time str
    Last time this guest policy was updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    assignment Property Map
    Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service handles assignment conflicts. Structure is documented below.
    createTime String
    Time this guest policy was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    description String
    Description of the guest policy. Length of the description is limited to 1024 characters.
    etag String
    The etag for this guest policy. If this is provided on update, it must match the server's etag.
    guestPolicyId String
    The logical name of the guest policy in the project with the following restrictions:

    • Must contain only lowercase letters, numbers, and hyphens.
    • Must start with a letter.
    • Must be between 1-63 characters.
    • Must end with a number or a letter.
    • Must be unique within the project.
    name String
    Unique name of the resource in this project using one of the following forms: projects/{project_number}/guestPolicies/{guestPolicyId}.
    packageRepositories List<Property Map>
    A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available.
    packages List<Property Map>
    The software packages to be managed by this policy.
    project String
    recipes List<Property Map>
    A list of Recipes to install on the VM instance.
    updateTime String
    Last time this guest policy was updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    Supporting Types

    GuestPoliciesAssignment, GuestPoliciesAssignmentArgs

    GroupLabels List<GuestPoliciesAssignmentGroupLabel>
    Targets instances matching at least one of these label sets. This allows an assignment to target disparate groups, for example "env=prod or env=staging". Structure is documented below.
    InstanceNamePrefixes List<string>
    Targets VM instances whose name starts with one of these prefixes. Like labels, this is another way to group VM instances when targeting configs, for example prefix="prod-". Only supported for project-level policies.
    Instances List<string>
    Targets any of the instances specified. Instances are specified by their URI in the form zones/[ZONE]/instances/[INSTANCE_NAME]. Instance targeting is uncommon and is supported to facilitate the management of changes by the instance or to target specific VM instances for development and testing. Only supported for project-level policies and must reference instances within this project.
    OsTypes List<GuestPoliciesAssignmentOsType>
    Targets VM instances matching at least one of the following OS types. VM instances must match all supplied criteria for a given OsType to be included. Structure is documented below.
    Zones List<string>
    Targets instances in any of these zones. Leave empty to target instances in any zone. Zonal targeting is uncommon and is supported to facilitate the management of changes by zone.
    GroupLabels []GuestPoliciesAssignmentGroupLabel
    Targets instances matching at least one of these label sets. This allows an assignment to target disparate groups, for example "env=prod or env=staging". Structure is documented below.
    InstanceNamePrefixes []string
    Targets VM instances whose name starts with one of these prefixes. Like labels, this is another way to group VM instances when targeting configs, for example prefix="prod-". Only supported for project-level policies.
    Instances []string
    Targets any of the instances specified. Instances are specified by their URI in the form zones/[ZONE]/instances/[INSTANCE_NAME]. Instance targeting is uncommon and is supported to facilitate the management of changes by the instance or to target specific VM instances for development and testing. Only supported for project-level policies and must reference instances within this project.
    OsTypes []GuestPoliciesAssignmentOsType
    Targets VM instances matching at least one of the following OS types. VM instances must match all supplied criteria for a given OsType to be included. Structure is documented below.
    Zones []string
    Targets instances in any of these zones. Leave empty to target instances in any zone. Zonal targeting is uncommon and is supported to facilitate the management of changes by zone.
    groupLabels List<GuestPoliciesAssignmentGroupLabel>
    Targets instances matching at least one of these label sets. This allows an assignment to target disparate groups, for example "env=prod or env=staging". Structure is documented below.
    instanceNamePrefixes List<String>
    Targets VM instances whose name starts with one of these prefixes. Like labels, this is another way to group VM instances when targeting configs, for example prefix="prod-". Only supported for project-level policies.
    instances List<String>
    Targets any of the instances specified. Instances are specified by their URI in the form zones/[ZONE]/instances/[INSTANCE_NAME]. Instance targeting is uncommon and is supported to facilitate the management of changes by the instance or to target specific VM instances for development and testing. Only supported for project-level policies and must reference instances within this project.
    osTypes List<GuestPoliciesAssignmentOsType>
    Targets VM instances matching at least one of the following OS types. VM instances must match all supplied criteria for a given OsType to be included. Structure is documented below.
    zones List<String>
    Targets instances in any of these zones. Leave empty to target instances in any zone. Zonal targeting is uncommon and is supported to facilitate the management of changes by zone.
    groupLabels GuestPoliciesAssignmentGroupLabel[]
    Targets instances matching at least one of these label sets. This allows an assignment to target disparate groups, for example "env=prod or env=staging". Structure is documented below.
    instanceNamePrefixes string[]
    Targets VM instances whose name starts with one of these prefixes. Like labels, this is another way to group VM instances when targeting configs, for example prefix="prod-". Only supported for project-level policies.
    instances string[]
    Targets any of the instances specified. Instances are specified by their URI in the form zones/[ZONE]/instances/[INSTANCE_NAME]. Instance targeting is uncommon and is supported to facilitate the management of changes by the instance or to target specific VM instances for development and testing. Only supported for project-level policies and must reference instances within this project.
    osTypes GuestPoliciesAssignmentOsType[]
    Targets VM instances matching at least one of the following OS types. VM instances must match all supplied criteria for a given OsType to be included. Structure is documented below.
    zones string[]
    Targets instances in any of these zones. Leave empty to target instances in any zone. Zonal targeting is uncommon and is supported to facilitate the management of changes by zone.
    group_labels Sequence[GuestPoliciesAssignmentGroupLabel]
    Targets instances matching at least one of these label sets. This allows an assignment to target disparate groups, for example "env=prod or env=staging". Structure is documented below.
    instance_name_prefixes Sequence[str]
    Targets VM instances whose name starts with one of these prefixes. Like labels, this is another way to group VM instances when targeting configs, for example prefix="prod-". Only supported for project-level policies.
    instances Sequence[str]
    Targets any of the instances specified. Instances are specified by their URI in the form zones/[ZONE]/instances/[INSTANCE_NAME]. Instance targeting is uncommon and is supported to facilitate the management of changes by the instance or to target specific VM instances for development and testing. Only supported for project-level policies and must reference instances within this project.
    os_types Sequence[GuestPoliciesAssignmentOsType]
    Targets VM instances matching at least one of the following OS types. VM instances must match all supplied criteria for a given OsType to be included. Structure is documented below.
    zones Sequence[str]
    Targets instances in any of these zones. Leave empty to target instances in any zone. Zonal targeting is uncommon and is supported to facilitate the management of changes by zone.
    groupLabels List<Property Map>
    Targets instances matching at least one of these label sets. This allows an assignment to target disparate groups, for example "env=prod or env=staging". Structure is documented below.
    instanceNamePrefixes List<String>
    Targets VM instances whose name starts with one of these prefixes. Like labels, this is another way to group VM instances when targeting configs, for example prefix="prod-". Only supported for project-level policies.
    instances List<String>
    Targets any of the instances specified. Instances are specified by their URI in the form zones/[ZONE]/instances/[INSTANCE_NAME]. Instance targeting is uncommon and is supported to facilitate the management of changes by the instance or to target specific VM instances for development and testing. Only supported for project-level policies and must reference instances within this project.
    osTypes List<Property Map>
    Targets VM instances matching at least one of the following OS types. VM instances must match all supplied criteria for a given OsType to be included. Structure is documented below.
    zones List<String>
    Targets instances in any of these zones. Leave empty to target instances in any zone. Zonal targeting is uncommon and is supported to facilitate the management of changes by zone.

    GuestPoliciesAssignmentGroupLabel, GuestPoliciesAssignmentGroupLabelArgs

    Labels Dictionary<string, string>
    Google Compute Engine instance labels that must be present for an instance to be included in this assignment group.
    Labels map[string]string
    Google Compute Engine instance labels that must be present for an instance to be included in this assignment group.
    labels Map<String,String>
    Google Compute Engine instance labels that must be present for an instance to be included in this assignment group.
    labels {[key: string]: string}
    Google Compute Engine instance labels that must be present for an instance to be included in this assignment group.
    labels Mapping[str, str]
    Google Compute Engine instance labels that must be present for an instance to be included in this assignment group.
    labels Map<String>
    Google Compute Engine instance labels that must be present for an instance to be included in this assignment group.

    GuestPoliciesAssignmentOsType, GuestPoliciesAssignmentOsTypeArgs

    OsArchitecture string
    Targets VM instances with OS Inventory enabled and having the following OS architecture.


    OsShortName string
    Targets VM instances with OS Inventory enabled and having the following OS short name, for example "debian" or "windows".
    OsVersion string
    Targets VM instances with OS Inventory enabled and having the following following OS version.
    OsArchitecture string
    Targets VM instances with OS Inventory enabled and having the following OS architecture.


    OsShortName string
    Targets VM instances with OS Inventory enabled and having the following OS short name, for example "debian" or "windows".
    OsVersion string
    Targets VM instances with OS Inventory enabled and having the following following OS version.
    osArchitecture String
    Targets VM instances with OS Inventory enabled and having the following OS architecture.


    osShortName String
    Targets VM instances with OS Inventory enabled and having the following OS short name, for example "debian" or "windows".
    osVersion String
    Targets VM instances with OS Inventory enabled and having the following following OS version.
    osArchitecture string
    Targets VM instances with OS Inventory enabled and having the following OS architecture.


    osShortName string
    Targets VM instances with OS Inventory enabled and having the following OS short name, for example "debian" or "windows".
    osVersion string
    Targets VM instances with OS Inventory enabled and having the following following OS version.
    os_architecture str
    Targets VM instances with OS Inventory enabled and having the following OS architecture.


    os_short_name str
    Targets VM instances with OS Inventory enabled and having the following OS short name, for example "debian" or "windows".
    os_version str
    Targets VM instances with OS Inventory enabled and having the following following OS version.
    osArchitecture String
    Targets VM instances with OS Inventory enabled and having the following OS architecture.


    osShortName String
    Targets VM instances with OS Inventory enabled and having the following OS short name, for example "debian" or "windows".
    osVersion String
    Targets VM instances with OS Inventory enabled and having the following following OS version.

    GuestPoliciesPackage, GuestPoliciesPackageArgs

    Name string
    The name of the package. A package is uniquely identified for conflict validation by checking the package name and the manager(s) that the package targets.
    DesiredState string
    The desiredState the agent should maintain for this package. The default is to ensure the package is installed. Possible values are: INSTALLED, UPDATED, REMOVED.
    Manager string
    Type of package manager that can be used to install this package. If a system does not have the package manager, the package is not installed or removed no error message is returned. By default, or if you specify ANY, the agent attempts to install and remove this package using the default package manager. This is useful when creating a policy that applies to different types of systems. The default behavior is ANY. Default value is ANY. Possible values are: ANY, APT, YUM, ZYPPER, GOO.
    Name string
    The name of the package. A package is uniquely identified for conflict validation by checking the package name and the manager(s) that the package targets.
    DesiredState string
    The desiredState the agent should maintain for this package. The default is to ensure the package is installed. Possible values are: INSTALLED, UPDATED, REMOVED.
    Manager string
    Type of package manager that can be used to install this package. If a system does not have the package manager, the package is not installed or removed no error message is returned. By default, or if you specify ANY, the agent attempts to install and remove this package using the default package manager. This is useful when creating a policy that applies to different types of systems. The default behavior is ANY. Default value is ANY. Possible values are: ANY, APT, YUM, ZYPPER, GOO.
    name String
    The name of the package. A package is uniquely identified for conflict validation by checking the package name and the manager(s) that the package targets.
    desiredState String
    The desiredState the agent should maintain for this package. The default is to ensure the package is installed. Possible values are: INSTALLED, UPDATED, REMOVED.
    manager String
    Type of package manager that can be used to install this package. If a system does not have the package manager, the package is not installed or removed no error message is returned. By default, or if you specify ANY, the agent attempts to install and remove this package using the default package manager. This is useful when creating a policy that applies to different types of systems. The default behavior is ANY. Default value is ANY. Possible values are: ANY, APT, YUM, ZYPPER, GOO.
    name string
    The name of the package. A package is uniquely identified for conflict validation by checking the package name and the manager(s) that the package targets.
    desiredState string
    The desiredState the agent should maintain for this package. The default is to ensure the package is installed. Possible values are: INSTALLED, UPDATED, REMOVED.
    manager string
    Type of package manager that can be used to install this package. If a system does not have the package manager, the package is not installed or removed no error message is returned. By default, or if you specify ANY, the agent attempts to install and remove this package using the default package manager. This is useful when creating a policy that applies to different types of systems. The default behavior is ANY. Default value is ANY. Possible values are: ANY, APT, YUM, ZYPPER, GOO.
    name str
    The name of the package. A package is uniquely identified for conflict validation by checking the package name and the manager(s) that the package targets.
    desired_state str
    The desiredState the agent should maintain for this package. The default is to ensure the package is installed. Possible values are: INSTALLED, UPDATED, REMOVED.
    manager str
    Type of package manager that can be used to install this package. If a system does not have the package manager, the package is not installed or removed no error message is returned. By default, or if you specify ANY, the agent attempts to install and remove this package using the default package manager. This is useful when creating a policy that applies to different types of systems. The default behavior is ANY. Default value is ANY. Possible values are: ANY, APT, YUM, ZYPPER, GOO.
    name String
    The name of the package. A package is uniquely identified for conflict validation by checking the package name and the manager(s) that the package targets.
    desiredState String
    The desiredState the agent should maintain for this package. The default is to ensure the package is installed. Possible values are: INSTALLED, UPDATED, REMOVED.
    manager String
    Type of package manager that can be used to install this package. If a system does not have the package manager, the package is not installed or removed no error message is returned. By default, or if you specify ANY, the agent attempts to install and remove this package using the default package manager. This is useful when creating a policy that applies to different types of systems. The default behavior is ANY. Default value is ANY. Possible values are: ANY, APT, YUM, ZYPPER, GOO.

    GuestPoliciesPackageRepository, GuestPoliciesPackageRepositoryArgs

    Apt GuestPoliciesPackageRepositoryApt
    An Apt Repository. Structure is documented below.
    Goo GuestPoliciesPackageRepositoryGoo
    A Goo Repository. Structure is documented below.
    Yum GuestPoliciesPackageRepositoryYum
    A Yum Repository. Structure is documented below.
    Zypper GuestPoliciesPackageRepositoryZypper
    A Zypper Repository. Structure is documented below.
    Apt GuestPoliciesPackageRepositoryApt
    An Apt Repository. Structure is documented below.
    Goo GuestPoliciesPackageRepositoryGoo
    A Goo Repository. Structure is documented below.
    Yum GuestPoliciesPackageRepositoryYum
    A Yum Repository. Structure is documented below.
    Zypper GuestPoliciesPackageRepositoryZypper
    A Zypper Repository. Structure is documented below.
    apt GuestPoliciesPackageRepositoryApt
    An Apt Repository. Structure is documented below.
    goo GuestPoliciesPackageRepositoryGoo
    A Goo Repository. Structure is documented below.
    yum GuestPoliciesPackageRepositoryYum
    A Yum Repository. Structure is documented below.
    zypper GuestPoliciesPackageRepositoryZypper
    A Zypper Repository. Structure is documented below.
    apt GuestPoliciesPackageRepositoryApt
    An Apt Repository. Structure is documented below.
    goo GuestPoliciesPackageRepositoryGoo
    A Goo Repository. Structure is documented below.
    yum GuestPoliciesPackageRepositoryYum
    A Yum Repository. Structure is documented below.
    zypper GuestPoliciesPackageRepositoryZypper
    A Zypper Repository. Structure is documented below.
    apt GuestPoliciesPackageRepositoryApt
    An Apt Repository. Structure is documented below.
    goo GuestPoliciesPackageRepositoryGoo
    A Goo Repository. Structure is documented below.
    yum GuestPoliciesPackageRepositoryYum
    A Yum Repository. Structure is documented below.
    zypper GuestPoliciesPackageRepositoryZypper
    A Zypper Repository. Structure is documented below.
    apt Property Map
    An Apt Repository. Structure is documented below.
    goo Property Map
    A Goo Repository. Structure is documented below.
    yum Property Map
    A Yum Repository. Structure is documented below.
    zypper Property Map
    A Zypper Repository. Structure is documented below.

    GuestPoliciesPackageRepositoryApt, GuestPoliciesPackageRepositoryAptArgs

    Components List<string>
    List of components for this repository. Must contain at least one item.
    Distribution string
    Distribution of this repository.
    Uri string
    URI for this repository.
    ArchiveType string
    Type of archive files in this repository. The default behavior is DEB. Default value is DEB. Possible values are: DEB, DEB_SRC.
    GpgKey string
    URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg containing all the keys in any applied guest policy.
    Components []string
    List of components for this repository. Must contain at least one item.
    Distribution string
    Distribution of this repository.
    Uri string
    URI for this repository.
    ArchiveType string
    Type of archive files in this repository. The default behavior is DEB. Default value is DEB. Possible values are: DEB, DEB_SRC.
    GpgKey string
    URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg containing all the keys in any applied guest policy.
    components List<String>
    List of components for this repository. Must contain at least one item.
    distribution String
    Distribution of this repository.
    uri String
    URI for this repository.
    archiveType String
    Type of archive files in this repository. The default behavior is DEB. Default value is DEB. Possible values are: DEB, DEB_SRC.
    gpgKey String
    URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg containing all the keys in any applied guest policy.
    components string[]
    List of components for this repository. Must contain at least one item.
    distribution string
    Distribution of this repository.
    uri string
    URI for this repository.
    archiveType string
    Type of archive files in this repository. The default behavior is DEB. Default value is DEB. Possible values are: DEB, DEB_SRC.
    gpgKey string
    URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg containing all the keys in any applied guest policy.
    components Sequence[str]
    List of components for this repository. Must contain at least one item.
    distribution str
    Distribution of this repository.
    uri str
    URI for this repository.
    archive_type str
    Type of archive files in this repository. The default behavior is DEB. Default value is DEB. Possible values are: DEB, DEB_SRC.
    gpg_key str
    URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg containing all the keys in any applied guest policy.
    components List<String>
    List of components for this repository. Must contain at least one item.
    distribution String
    Distribution of this repository.
    uri String
    URI for this repository.
    archiveType String
    Type of archive files in this repository. The default behavior is DEB. Default value is DEB. Possible values are: DEB, DEB_SRC.
    gpgKey String
    URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg containing all the keys in any applied guest policy.

    GuestPoliciesPackageRepositoryGoo, GuestPoliciesPackageRepositoryGooArgs

    Name string
    The name of the repository.
    Url string
    The url of the repository.
    Name string
    The name of the repository.
    Url string
    The url of the repository.
    name String
    The name of the repository.
    url String
    The url of the repository.
    name string
    The name of the repository.
    url string
    The url of the repository.
    name str
    The name of the repository.
    url str
    The url of the repository.
    name String
    The name of the repository.
    url String
    The url of the repository.

    GuestPoliciesPackageRepositoryYum, GuestPoliciesPackageRepositoryYumArgs

    BaseUrl string
    The location of the repository directory.
    Id string
    A one word, unique name for this repository. This is the repo id in the Yum config file and also the displayName if displayName is omitted. This id is also used as the unique identifier when checking for guest policy conflicts.
    DisplayName string
    The display name of the repository.
    GpgKeys List<string>
    URIs of GPG keys.
    BaseUrl string
    The location of the repository directory.
    Id string
    A one word, unique name for this repository. This is the repo id in the Yum config file and also the displayName if displayName is omitted. This id is also used as the unique identifier when checking for guest policy conflicts.
    DisplayName string
    The display name of the repository.
    GpgKeys []string
    URIs of GPG keys.
    baseUrl String
    The location of the repository directory.
    id String
    A one word, unique name for this repository. This is the repo id in the Yum config file and also the displayName if displayName is omitted. This id is also used as the unique identifier when checking for guest policy conflicts.
    displayName String
    The display name of the repository.
    gpgKeys List<String>
    URIs of GPG keys.
    baseUrl string
    The location of the repository directory.
    id string
    A one word, unique name for this repository. This is the repo id in the Yum config file and also the displayName if displayName is omitted. This id is also used as the unique identifier when checking for guest policy conflicts.
    displayName string
    The display name of the repository.
    gpgKeys string[]
    URIs of GPG keys.
    base_url str
    The location of the repository directory.
    id str
    A one word, unique name for this repository. This is the repo id in the Yum config file and also the displayName if displayName is omitted. This id is also used as the unique identifier when checking for guest policy conflicts.
    display_name str
    The display name of the repository.
    gpg_keys Sequence[str]
    URIs of GPG keys.
    baseUrl String
    The location of the repository directory.
    id String
    A one word, unique name for this repository. This is the repo id in the Yum config file and also the displayName if displayName is omitted. This id is also used as the unique identifier when checking for guest policy conflicts.
    displayName String
    The display name of the repository.
    gpgKeys List<String>
    URIs of GPG keys.

    GuestPoliciesPackageRepositoryZypper, GuestPoliciesPackageRepositoryZypperArgs

    BaseUrl string
    The location of the repository directory.
    Id string
    A one word, unique name for this repository. This is the repo id in the zypper config file and also the displayName if displayName is omitted. This id is also used as the unique identifier when checking for guest policy conflicts.
    DisplayName string
    The display name of the repository.
    GpgKeys List<string>
    URIs of GPG keys.
    BaseUrl string
    The location of the repository directory.
    Id string
    A one word, unique name for this repository. This is the repo id in the zypper config file and also the displayName if displayName is omitted. This id is also used as the unique identifier when checking for guest policy conflicts.
    DisplayName string
    The display name of the repository.
    GpgKeys []string
    URIs of GPG keys.
    baseUrl String
    The location of the repository directory.
    id String
    A one word, unique name for this repository. This is the repo id in the zypper config file and also the displayName if displayName is omitted. This id is also used as the unique identifier when checking for guest policy conflicts.
    displayName String
    The display name of the repository.
    gpgKeys List<String>
    URIs of GPG keys.
    baseUrl string
    The location of the repository directory.
    id string
    A one word, unique name for this repository. This is the repo id in the zypper config file and also the displayName if displayName is omitted. This id is also used as the unique identifier when checking for guest policy conflicts.
    displayName string
    The display name of the repository.
    gpgKeys string[]
    URIs of GPG keys.
    base_url str
    The location of the repository directory.
    id str
    A one word, unique name for this repository. This is the repo id in the zypper config file and also the displayName if displayName is omitted. This id is also used as the unique identifier when checking for guest policy conflicts.
    display_name str
    The display name of the repository.
    gpg_keys Sequence[str]
    URIs of GPG keys.
    baseUrl String
    The location of the repository directory.
    id String
    A one word, unique name for this repository. This is the repo id in the zypper config file and also the displayName if displayName is omitted. This id is also used as the unique identifier when checking for guest policy conflicts.
    displayName String
    The display name of the repository.
    gpgKeys List<String>
    URIs of GPG keys.

    GuestPoliciesRecipe, GuestPoliciesRecipeArgs

    Name string
    Unique identifier for the recipe. Only one recipe with a given name is installed on an instance. Names are also used to identify resources which helps to determine whether guest policies have conflicts. This means that requests to create multiple recipes with the same name and version are rejected since they could potentially have conflicting assignments.
    Artifacts List<GuestPoliciesRecipeArtifact>
    Resources available to be used in the steps in the recipe. Structure is documented below.
    DesiredState string
    Default is INSTALLED. The desired state the agent should maintain for this recipe. INSTALLED: The software recipe is installed on the instance but won't be updated to new versions. INSTALLED_KEEP_UPDATED: The software recipe is installed on the instance. The recipe is updated to a higher version, if a higher version of the recipe is assigned to this instance. REMOVE: Remove is unsupported for software recipes and attempts to create or update a recipe to the REMOVE state is rejected. Default value is INSTALLED. Possible values are: INSTALLED, UPDATED, REMOVED.
    InstallSteps List<GuestPoliciesRecipeInstallStep>
    Actions to be taken for installing this recipe. On failure it stops executing steps and does not attempt another installation. Any steps taken (including partially completed steps) are not rolled back. Structure is documented below.
    UpdateSteps List<GuestPoliciesRecipeUpdateStep>
    Actions to be taken for updating this recipe. On failure it stops executing steps and does not attempt another update for this recipe. Any steps taken (including partially completed steps) are not rolled back. Structure is documented below.
    Version string
    The version of this software recipe. Version can be up to 4 period separated numbers (e.g. 12.34.56.78).
    Name string
    Unique identifier for the recipe. Only one recipe with a given name is installed on an instance. Names are also used to identify resources which helps to determine whether guest policies have conflicts. This means that requests to create multiple recipes with the same name and version are rejected since they could potentially have conflicting assignments.
    Artifacts []GuestPoliciesRecipeArtifact
    Resources available to be used in the steps in the recipe. Structure is documented below.
    DesiredState string
    Default is INSTALLED. The desired state the agent should maintain for this recipe. INSTALLED: The software recipe is installed on the instance but won't be updated to new versions. INSTALLED_KEEP_UPDATED: The software recipe is installed on the instance. The recipe is updated to a higher version, if a higher version of the recipe is assigned to this instance. REMOVE: Remove is unsupported for software recipes and attempts to create or update a recipe to the REMOVE state is rejected. Default value is INSTALLED. Possible values are: INSTALLED, UPDATED, REMOVED.
    InstallSteps []GuestPoliciesRecipeInstallStep
    Actions to be taken for installing this recipe. On failure it stops executing steps and does not attempt another installation. Any steps taken (including partially completed steps) are not rolled back. Structure is documented below.
    UpdateSteps []GuestPoliciesRecipeUpdateStep
    Actions to be taken for updating this recipe. On failure it stops executing steps and does not attempt another update for this recipe. Any steps taken (including partially completed steps) are not rolled back. Structure is documented below.
    Version string
    The version of this software recipe. Version can be up to 4 period separated numbers (e.g. 12.34.56.78).
    name String
    Unique identifier for the recipe. Only one recipe with a given name is installed on an instance. Names are also used to identify resources which helps to determine whether guest policies have conflicts. This means that requests to create multiple recipes with the same name and version are rejected since they could potentially have conflicting assignments.
    artifacts List<GuestPoliciesRecipeArtifact>
    Resources available to be used in the steps in the recipe. Structure is documented below.
    desiredState String
    Default is INSTALLED. The desired state the agent should maintain for this recipe. INSTALLED: The software recipe is installed on the instance but won't be updated to new versions. INSTALLED_KEEP_UPDATED: The software recipe is installed on the instance. The recipe is updated to a higher version, if a higher version of the recipe is assigned to this instance. REMOVE: Remove is unsupported for software recipes and attempts to create or update a recipe to the REMOVE state is rejected. Default value is INSTALLED. Possible values are: INSTALLED, UPDATED, REMOVED.
    installSteps List<GuestPoliciesRecipeInstallStep>
    Actions to be taken for installing this recipe. On failure it stops executing steps and does not attempt another installation. Any steps taken (including partially completed steps) are not rolled back. Structure is documented below.
    updateSteps List<GuestPoliciesRecipeUpdateStep>
    Actions to be taken for updating this recipe. On failure it stops executing steps and does not attempt another update for this recipe. Any steps taken (including partially completed steps) are not rolled back. Structure is documented below.
    version String
    The version of this software recipe. Version can be up to 4 period separated numbers (e.g. 12.34.56.78).
    name string
    Unique identifier for the recipe. Only one recipe with a given name is installed on an instance. Names are also used to identify resources which helps to determine whether guest policies have conflicts. This means that requests to create multiple recipes with the same name and version are rejected since they could potentially have conflicting assignments.
    artifacts GuestPoliciesRecipeArtifact[]
    Resources available to be used in the steps in the recipe. Structure is documented below.
    desiredState string
    Default is INSTALLED. The desired state the agent should maintain for this recipe. INSTALLED: The software recipe is installed on the instance but won't be updated to new versions. INSTALLED_KEEP_UPDATED: The software recipe is installed on the instance. The recipe is updated to a higher version, if a higher version of the recipe is assigned to this instance. REMOVE: Remove is unsupported for software recipes and attempts to create or update a recipe to the REMOVE state is rejected. Default value is INSTALLED. Possible values are: INSTALLED, UPDATED, REMOVED.
    installSteps GuestPoliciesRecipeInstallStep[]
    Actions to be taken for installing this recipe. On failure it stops executing steps and does not attempt another installation. Any steps taken (including partially completed steps) are not rolled back. Structure is documented below.
    updateSteps GuestPoliciesRecipeUpdateStep[]
    Actions to be taken for updating this recipe. On failure it stops executing steps and does not attempt another update for this recipe. Any steps taken (including partially completed steps) are not rolled back. Structure is documented below.
    version string
    The version of this software recipe. Version can be up to 4 period separated numbers (e.g. 12.34.56.78).
    name str
    Unique identifier for the recipe. Only one recipe with a given name is installed on an instance. Names are also used to identify resources which helps to determine whether guest policies have conflicts. This means that requests to create multiple recipes with the same name and version are rejected since they could potentially have conflicting assignments.
    artifacts Sequence[GuestPoliciesRecipeArtifact]
    Resources available to be used in the steps in the recipe. Structure is documented below.
    desired_state str
    Default is INSTALLED. The desired state the agent should maintain for this recipe. INSTALLED: The software recipe is installed on the instance but won't be updated to new versions. INSTALLED_KEEP_UPDATED: The software recipe is installed on the instance. The recipe is updated to a higher version, if a higher version of the recipe is assigned to this instance. REMOVE: Remove is unsupported for software recipes and attempts to create or update a recipe to the REMOVE state is rejected. Default value is INSTALLED. Possible values are: INSTALLED, UPDATED, REMOVED.
    install_steps Sequence[GuestPoliciesRecipeInstallStep]
    Actions to be taken for installing this recipe. On failure it stops executing steps and does not attempt another installation. Any steps taken (including partially completed steps) are not rolled back. Structure is documented below.
    update_steps Sequence[GuestPoliciesRecipeUpdateStep]
    Actions to be taken for updating this recipe. On failure it stops executing steps and does not attempt another update for this recipe. Any steps taken (including partially completed steps) are not rolled back. Structure is documented below.
    version str
    The version of this software recipe. Version can be up to 4 period separated numbers (e.g. 12.34.56.78).
    name String
    Unique identifier for the recipe. Only one recipe with a given name is installed on an instance. Names are also used to identify resources which helps to determine whether guest policies have conflicts. This means that requests to create multiple recipes with the same name and version are rejected since they could potentially have conflicting assignments.
    artifacts List<Property Map>
    Resources available to be used in the steps in the recipe. Structure is documented below.
    desiredState String
    Default is INSTALLED. The desired state the agent should maintain for this recipe. INSTALLED: The software recipe is installed on the instance but won't be updated to new versions. INSTALLED_KEEP_UPDATED: The software recipe is installed on the instance. The recipe is updated to a higher version, if a higher version of the recipe is assigned to this instance. REMOVE: Remove is unsupported for software recipes and attempts to create or update a recipe to the REMOVE state is rejected. Default value is INSTALLED. Possible values are: INSTALLED, UPDATED, REMOVED.
    installSteps List<Property Map>
    Actions to be taken for installing this recipe. On failure it stops executing steps and does not attempt another installation. Any steps taken (including partially completed steps) are not rolled back. Structure is documented below.
    updateSteps List<Property Map>
    Actions to be taken for updating this recipe. On failure it stops executing steps and does not attempt another update for this recipe. Any steps taken (including partially completed steps) are not rolled back. Structure is documented below.
    version String
    The version of this software recipe. Version can be up to 4 period separated numbers (e.g. 12.34.56.78).

    GuestPoliciesRecipeArtifact, GuestPoliciesRecipeArtifactArgs

    Id string
    Id of the artifact, which the installation and update steps of this recipe can reference. Artifacts in a recipe cannot have the same id.
    AllowInsecure bool
    Defaults to false. When false, recipes are subject to validations based on the artifact type: Remote: A checksum must be specified, and only protocols with transport-layer security are permitted. GCS: An object generation number must be specified.
    Gcs GuestPoliciesRecipeArtifactGcs
    A Google Cloud Storage artifact. Structure is documented below.
    Remote GuestPoliciesRecipeArtifactRemote
    A generic remote artifact. Structure is documented below.
    Id string
    Id of the artifact, which the installation and update steps of this recipe can reference. Artifacts in a recipe cannot have the same id.
    AllowInsecure bool
    Defaults to false. When false, recipes are subject to validations based on the artifact type: Remote: A checksum must be specified, and only protocols with transport-layer security are permitted. GCS: An object generation number must be specified.
    Gcs GuestPoliciesRecipeArtifactGcs
    A Google Cloud Storage artifact. Structure is documented below.
    Remote GuestPoliciesRecipeArtifactRemote
    A generic remote artifact. Structure is documented below.
    id String
    Id of the artifact, which the installation and update steps of this recipe can reference. Artifacts in a recipe cannot have the same id.
    allowInsecure Boolean
    Defaults to false. When false, recipes are subject to validations based on the artifact type: Remote: A checksum must be specified, and only protocols with transport-layer security are permitted. GCS: An object generation number must be specified.
    gcs GuestPoliciesRecipeArtifactGcs
    A Google Cloud Storage artifact. Structure is documented below.
    remote GuestPoliciesRecipeArtifactRemote
    A generic remote artifact. Structure is documented below.
    id string
    Id of the artifact, which the installation and update steps of this recipe can reference. Artifacts in a recipe cannot have the same id.
    allowInsecure boolean
    Defaults to false. When false, recipes are subject to validations based on the artifact type: Remote: A checksum must be specified, and only protocols with transport-layer security are permitted. GCS: An object generation number must be specified.
    gcs GuestPoliciesRecipeArtifactGcs
    A Google Cloud Storage artifact. Structure is documented below.
    remote GuestPoliciesRecipeArtifactRemote
    A generic remote artifact. Structure is documented below.
    id str
    Id of the artifact, which the installation and update steps of this recipe can reference. Artifacts in a recipe cannot have the same id.
    allow_insecure bool
    Defaults to false. When false, recipes are subject to validations based on the artifact type: Remote: A checksum must be specified, and only protocols with transport-layer security are permitted. GCS: An object generation number must be specified.
    gcs GuestPoliciesRecipeArtifactGcs
    A Google Cloud Storage artifact. Structure is documented below.
    remote GuestPoliciesRecipeArtifactRemote
    A generic remote artifact. Structure is documented below.
    id String
    Id of the artifact, which the installation and update steps of this recipe can reference. Artifacts in a recipe cannot have the same id.
    allowInsecure Boolean
    Defaults to false. When false, recipes are subject to validations based on the artifact type: Remote: A checksum must be specified, and only protocols with transport-layer security are permitted. GCS: An object generation number must be specified.
    gcs Property Map
    A Google Cloud Storage artifact. Structure is documented below.
    remote Property Map
    A generic remote artifact. Structure is documented below.

    GuestPoliciesRecipeArtifactGcs, GuestPoliciesRecipeArtifactGcsArgs

    Bucket string
    Bucket of the Google Cloud Storage object. Given an example URL: https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be my-bucket.
    Generation int
    Must be provided if allowInsecure is false. Generation number of the Google Cloud Storage object. https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be 1234567.
    Object string
    Name of the Google Cloud Storage object. Given an example URL: https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be foo/bar.
    Bucket string
    Bucket of the Google Cloud Storage object. Given an example URL: https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be my-bucket.
    Generation int
    Must be provided if allowInsecure is false. Generation number of the Google Cloud Storage object. https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be 1234567.
    Object string
    Name of the Google Cloud Storage object. Given an example URL: https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be foo/bar.
    bucket String
    Bucket of the Google Cloud Storage object. Given an example URL: https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be my-bucket.
    generation Integer
    Must be provided if allowInsecure is false. Generation number of the Google Cloud Storage object. https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be 1234567.
    object String
    Name of the Google Cloud Storage object. Given an example URL: https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be foo/bar.
    bucket string
    Bucket of the Google Cloud Storage object. Given an example URL: https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be my-bucket.
    generation number
    Must be provided if allowInsecure is false. Generation number of the Google Cloud Storage object. https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be 1234567.
    object string
    Name of the Google Cloud Storage object. Given an example URL: https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be foo/bar.
    bucket str
    Bucket of the Google Cloud Storage object. Given an example URL: https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be my-bucket.
    generation int
    Must be provided if allowInsecure is false. Generation number of the Google Cloud Storage object. https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be 1234567.
    object str
    Name of the Google Cloud Storage object. Given an example URL: https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be foo/bar.
    bucket String
    Bucket of the Google Cloud Storage object. Given an example URL: https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be my-bucket.
    generation Number
    Must be provided if allowInsecure is false. Generation number of the Google Cloud Storage object. https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be 1234567.
    object String
    Name of the Google Cloud Storage object. Given an example URL: https://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be foo/bar.

    GuestPoliciesRecipeArtifactRemote, GuestPoliciesRecipeArtifactRemoteArgs

    CheckSum string
    Must be provided if allowInsecure is false. SHA256 checksum in hex format, to compare to the checksum of the artifact. If the checksum is not empty and it doesn't match the artifact then the recipe installation fails before running any of the steps.
    Uri string
    URI from which to fetch the object. It should contain both the protocol and path following the format {protocol}://{location}.
    CheckSum string
    Must be provided if allowInsecure is false. SHA256 checksum in hex format, to compare to the checksum of the artifact. If the checksum is not empty and it doesn't match the artifact then the recipe installation fails before running any of the steps.
    Uri string
    URI from which to fetch the object. It should contain both the protocol and path following the format {protocol}://{location}.
    checkSum String
    Must be provided if allowInsecure is false. SHA256 checksum in hex format, to compare to the checksum of the artifact. If the checksum is not empty and it doesn't match the artifact then the recipe installation fails before running any of the steps.
    uri String
    URI from which to fetch the object. It should contain both the protocol and path following the format {protocol}://{location}.
    checkSum string
    Must be provided if allowInsecure is false. SHA256 checksum in hex format, to compare to the checksum of the artifact. If the checksum is not empty and it doesn't match the artifact then the recipe installation fails before running any of the steps.
    uri string
    URI from which to fetch the object. It should contain both the protocol and path following the format {protocol}://{location}.
    check_sum str
    Must be provided if allowInsecure is false. SHA256 checksum in hex format, to compare to the checksum of the artifact. If the checksum is not empty and it doesn't match the artifact then the recipe installation fails before running any of the steps.
    uri str
    URI from which to fetch the object. It should contain both the protocol and path following the format {protocol}://{location}.
    checkSum String
    Must be provided if allowInsecure is false. SHA256 checksum in hex format, to compare to the checksum of the artifact. If the checksum is not empty and it doesn't match the artifact then the recipe installation fails before running any of the steps.
    uri String
    URI from which to fetch the object. It should contain both the protocol and path following the format {protocol}://{location}.

    GuestPoliciesRecipeInstallStep, GuestPoliciesRecipeInstallStepArgs

    ArchiveExtraction GuestPoliciesRecipeInstallStepArchiveExtraction
    Extracts an archive into the specified directory. Structure is documented below.
    DpkgInstallation GuestPoliciesRecipeInstallStepDpkgInstallation
    Installs a deb file via dpkg. Structure is documented below.
    FileCopy GuestPoliciesRecipeInstallStepFileCopy
    Copies a file onto the instance. Structure is documented below.
    FileExec GuestPoliciesRecipeInstallStepFileExec
    Executes an artifact or local file. Structure is documented below.
    MsiInstallation GuestPoliciesRecipeInstallStepMsiInstallation
    Installs an MSI file. Structure is documented below.
    RpmInstallation GuestPoliciesRecipeInstallStepRpmInstallation
    Installs an rpm file via the rpm utility. Structure is documented below.
    ScriptRun GuestPoliciesRecipeInstallStepScriptRun
    Runs commands in a shell. Structure is documented below.
    ArchiveExtraction GuestPoliciesRecipeInstallStepArchiveExtraction
    Extracts an archive into the specified directory. Structure is documented below.
    DpkgInstallation GuestPoliciesRecipeInstallStepDpkgInstallation
    Installs a deb file via dpkg. Structure is documented below.
    FileCopy GuestPoliciesRecipeInstallStepFileCopy
    Copies a file onto the instance. Structure is documented below.
    FileExec GuestPoliciesRecipeInstallStepFileExec
    Executes an artifact or local file. Structure is documented below.
    MsiInstallation GuestPoliciesRecipeInstallStepMsiInstallation
    Installs an MSI file. Structure is documented below.
    RpmInstallation GuestPoliciesRecipeInstallStepRpmInstallation
    Installs an rpm file via the rpm utility. Structure is documented below.
    ScriptRun GuestPoliciesRecipeInstallStepScriptRun
    Runs commands in a shell. Structure is documented below.
    archiveExtraction GuestPoliciesRecipeInstallStepArchiveExtraction
    Extracts an archive into the specified directory. Structure is documented below.
    dpkgInstallation GuestPoliciesRecipeInstallStepDpkgInstallation
    Installs a deb file via dpkg. Structure is documented below.
    fileCopy GuestPoliciesRecipeInstallStepFileCopy
    Copies a file onto the instance. Structure is documented below.
    fileExec GuestPoliciesRecipeInstallStepFileExec
    Executes an artifact or local file. Structure is documented below.
    msiInstallation GuestPoliciesRecipeInstallStepMsiInstallation
    Installs an MSI file. Structure is documented below.
    rpmInstallation GuestPoliciesRecipeInstallStepRpmInstallation
    Installs an rpm file via the rpm utility. Structure is documented below.
    scriptRun GuestPoliciesRecipeInstallStepScriptRun
    Runs commands in a shell. Structure is documented below.
    archiveExtraction GuestPoliciesRecipeInstallStepArchiveExtraction
    Extracts an archive into the specified directory. Structure is documented below.
    dpkgInstallation GuestPoliciesRecipeInstallStepDpkgInstallation
    Installs a deb file via dpkg. Structure is documented below.
    fileCopy GuestPoliciesRecipeInstallStepFileCopy
    Copies a file onto the instance. Structure is documented below.
    fileExec GuestPoliciesRecipeInstallStepFileExec
    Executes an artifact or local file. Structure is documented below.
    msiInstallation GuestPoliciesRecipeInstallStepMsiInstallation
    Installs an MSI file. Structure is documented below.
    rpmInstallation GuestPoliciesRecipeInstallStepRpmInstallation
    Installs an rpm file via the rpm utility. Structure is documented below.
    scriptRun GuestPoliciesRecipeInstallStepScriptRun
    Runs commands in a shell. Structure is documented below.
    archive_extraction GuestPoliciesRecipeInstallStepArchiveExtraction
    Extracts an archive into the specified directory. Structure is documented below.
    dpkg_installation GuestPoliciesRecipeInstallStepDpkgInstallation
    Installs a deb file via dpkg. Structure is documented below.
    file_copy GuestPoliciesRecipeInstallStepFileCopy
    Copies a file onto the instance. Structure is documented below.
    file_exec GuestPoliciesRecipeInstallStepFileExec
    Executes an artifact or local file. Structure is documented below.
    msi_installation GuestPoliciesRecipeInstallStepMsiInstallation
    Installs an MSI file. Structure is documented below.
    rpm_installation GuestPoliciesRecipeInstallStepRpmInstallation
    Installs an rpm file via the rpm utility. Structure is documented below.
    script_run GuestPoliciesRecipeInstallStepScriptRun
    Runs commands in a shell. Structure is documented below.
    archiveExtraction Property Map
    Extracts an archive into the specified directory. Structure is documented below.
    dpkgInstallation Property Map
    Installs a deb file via dpkg. Structure is documented below.
    fileCopy Property Map
    Copies a file onto the instance. Structure is documented below.
    fileExec Property Map
    Executes an artifact or local file. Structure is documented below.
    msiInstallation Property Map
    Installs an MSI file. Structure is documented below.
    rpmInstallation Property Map
    Installs an rpm file via the rpm utility. Structure is documented below.
    scriptRun Property Map
    Runs commands in a shell. Structure is documented below.

    GuestPoliciesRecipeInstallStepArchiveExtraction, GuestPoliciesRecipeInstallStepArchiveExtractionArgs

    ArtifactId string
    The id of the relevant artifact in the recipe.
    Type string
    The type of the archive to extract. Possible values are: TAR, TAR_GZIP, TAR_BZIP, TAR_LZMA, TAR_XZ, ZIP.
    Destination string
    Directory to extract archive to. Defaults to / on Linux or C:\ on Windows.
    ArtifactId string
    The id of the relevant artifact in the recipe.
    Type string
    The type of the archive to extract. Possible values are: TAR, TAR_GZIP, TAR_BZIP, TAR_LZMA, TAR_XZ, ZIP.
    Destination string
    Directory to extract archive to. Defaults to / on Linux or C:\ on Windows.
    artifactId String
    The id of the relevant artifact in the recipe.
    type String
    The type of the archive to extract. Possible values are: TAR, TAR_GZIP, TAR_BZIP, TAR_LZMA, TAR_XZ, ZIP.
    destination String
    Directory to extract archive to. Defaults to / on Linux or C:\ on Windows.
    artifactId string
    The id of the relevant artifact in the recipe.
    type string
    The type of the archive to extract. Possible values are: TAR, TAR_GZIP, TAR_BZIP, TAR_LZMA, TAR_XZ, ZIP.
    destination string
    Directory to extract archive to. Defaults to / on Linux or C:\ on Windows.
    artifact_id str
    The id of the relevant artifact in the recipe.
    type str
    The type of the archive to extract. Possible values are: TAR, TAR_GZIP, TAR_BZIP, TAR_LZMA, TAR_XZ, ZIP.
    destination str
    Directory to extract archive to. Defaults to / on Linux or C:\ on Windows.
    artifactId String
    The id of the relevant artifact in the recipe.
    type String
    The type of the archive to extract. Possible values are: TAR, TAR_GZIP, TAR_BZIP, TAR_LZMA, TAR_XZ, ZIP.
    destination String
    Directory to extract archive to. Defaults to / on Linux or C:\ on Windows.

    GuestPoliciesRecipeInstallStepDpkgInstallation, GuestPoliciesRecipeInstallStepDpkgInstallationArgs

    ArtifactId string
    The id of the relevant artifact in the recipe.
    ArtifactId string
    The id of the relevant artifact in the recipe.
    artifactId String
    The id of the relevant artifact in the recipe.
    artifactId string
    The id of the relevant artifact in the recipe.
    artifact_id str
    The id of the relevant artifact in the recipe.
    artifactId String
    The id of the relevant artifact in the recipe.

    GuestPoliciesRecipeInstallStepFileCopy, GuestPoliciesRecipeInstallStepFileCopyArgs

    ArtifactId string
    The id of the relevant artifact in the recipe.
    Destination string
    The absolute path on the instance to put the file.
    Overwrite bool
    Whether to allow this step to overwrite existing files.If this is false and the file already exists the file is not overwritten and the step is considered a success. Defaults to false.
    Permissions string
    Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
    ArtifactId string
    The id of the relevant artifact in the recipe.
    Destination string
    The absolute path on the instance to put the file.
    Overwrite bool
    Whether to allow this step to overwrite existing files.If this is false and the file already exists the file is not overwritten and the step is considered a success. Defaults to false.
    Permissions string
    Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
    artifactId String
    The id of the relevant artifact in the recipe.
    destination String
    The absolute path on the instance to put the file.
    overwrite Boolean
    Whether to allow this step to overwrite existing files.If this is false and the file already exists the file is not overwritten and the step is considered a success. Defaults to false.
    permissions String
    Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
    artifactId string
    The id of the relevant artifact in the recipe.
    destination string
    The absolute path on the instance to put the file.
    overwrite boolean
    Whether to allow this step to overwrite existing files.If this is false and the file already exists the file is not overwritten and the step is considered a success. Defaults to false.
    permissions string
    Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
    artifact_id str
    The id of the relevant artifact in the recipe.
    destination str
    The absolute path on the instance to put the file.
    overwrite bool
    Whether to allow this step to overwrite existing files.If this is false and the file already exists the file is not overwritten and the step is considered a success. Defaults to false.
    permissions str
    Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
    artifactId String
    The id of the relevant artifact in the recipe.
    destination String
    The absolute path on the instance to put the file.
    overwrite Boolean
    Whether to allow this step to overwrite existing files.If this is false and the file already exists the file is not overwritten and the step is considered a success. Defaults to false.
    permissions String
    Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4

    GuestPoliciesRecipeInstallStepFileExec, GuestPoliciesRecipeInstallStepFileExecArgs

    AllowedExitCodes string
    A list of possible return values that the program can return to indicate a success. Defaults to [0].
    Args List<string>
    Arguments to be passed to the provided executable.
    ArtifactId string
    The id of the relevant artifact in the recipe.
    LocalPath string
    The absolute path of the file on the local filesystem.
    AllowedExitCodes string
    A list of possible return values that the program can return to indicate a success. Defaults to [0].
    Args []string
    Arguments to be passed to the provided executable.
    ArtifactId string
    The id of the relevant artifact in the recipe.
    LocalPath string
    The absolute path of the file on the local filesystem.
    allowedExitCodes String
    A list of possible return values that the program can return to indicate a success. Defaults to [0].
    args List<String>
    Arguments to be passed to the provided executable.
    artifactId String
    The id of the relevant artifact in the recipe.
    localPath String
    The absolute path of the file on the local filesystem.
    allowedExitCodes string
    A list of possible return values that the program can return to indicate a success. Defaults to [0].
    args string[]
    Arguments to be passed to the provided executable.
    artifactId string
    The id of the relevant artifact in the recipe.
    localPath string
    The absolute path of the file on the local filesystem.
    allowed_exit_codes str
    A list of possible return values that the program can return to indicate a success. Defaults to [0].
    args Sequence[str]
    Arguments to be passed to the provided executable.
    artifact_id str
    The id of the relevant artifact in the recipe.
    local_path str
    The absolute path of the file on the local filesystem.
    allowedExitCodes String
    A list of possible return values that the program can return to indicate a success. Defaults to [0].
    args List<String>
    Arguments to be passed to the provided executable.
    artifactId String
    The id of the relevant artifact in the recipe.
    localPath String
    The absolute path of the file on the local filesystem.

    GuestPoliciesRecipeInstallStepMsiInstallation, GuestPoliciesRecipeInstallStepMsiInstallationArgs

    ArtifactId string
    The id of the relevant artifact in the recipe.
    AllowedExitCodes List<int>
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    Flags List<string>
    The flags to use when installing the MSI. Defaults to the install flag.
    ArtifactId string
    The id of the relevant artifact in the recipe.
    AllowedExitCodes []int
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    Flags []string
    The flags to use when installing the MSI. Defaults to the install flag.
    artifactId String
    The id of the relevant artifact in the recipe.
    allowedExitCodes List<Integer>
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    flags List<String>
    The flags to use when installing the MSI. Defaults to the install flag.
    artifactId string
    The id of the relevant artifact in the recipe.
    allowedExitCodes number[]
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    flags string[]
    The flags to use when installing the MSI. Defaults to the install flag.
    artifact_id str
    The id of the relevant artifact in the recipe.
    allowed_exit_codes Sequence[int]
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    flags Sequence[str]
    The flags to use when installing the MSI. Defaults to the install flag.
    artifactId String
    The id of the relevant artifact in the recipe.
    allowedExitCodes List<Number>
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    flags List<String>
    The flags to use when installing the MSI. Defaults to the install flag.

    GuestPoliciesRecipeInstallStepRpmInstallation, GuestPoliciesRecipeInstallStepRpmInstallationArgs

    ArtifactId string
    The id of the relevant artifact in the recipe.
    ArtifactId string
    The id of the relevant artifact in the recipe.
    artifactId String
    The id of the relevant artifact in the recipe.
    artifactId string
    The id of the relevant artifact in the recipe.
    artifact_id str
    The id of the relevant artifact in the recipe.
    artifactId String
    The id of the relevant artifact in the recipe.

    GuestPoliciesRecipeInstallStepScriptRun, GuestPoliciesRecipeInstallStepScriptRunArgs

    Script string
    The shell script to be executed.
    AllowedExitCodes List<int>
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    Interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script is executed directly, which likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    Script string
    The shell script to be executed.
    AllowedExitCodes []int
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    Interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script is executed directly, which likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    script String
    The shell script to be executed.
    allowedExitCodes List<Integer>
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    interpreter String
    The script interpreter to use to run the script. If no interpreter is specified the script is executed directly, which likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    script string
    The shell script to be executed.
    allowedExitCodes number[]
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script is executed directly, which likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    script str
    The shell script to be executed.
    allowed_exit_codes Sequence[int]
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    interpreter str
    The script interpreter to use to run the script. If no interpreter is specified the script is executed directly, which likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    script String
    The shell script to be executed.
    allowedExitCodes List<Number>
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    interpreter String
    The script interpreter to use to run the script. If no interpreter is specified the script is executed directly, which likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.

    GuestPoliciesRecipeUpdateStep, GuestPoliciesRecipeUpdateStepArgs

    ArchiveExtraction GuestPoliciesRecipeUpdateStepArchiveExtraction
    Extracts an archive into the specified directory. Structure is documented below.
    DpkgInstallation GuestPoliciesRecipeUpdateStepDpkgInstallation
    Installs a deb file via dpkg. Structure is documented below.
    FileCopy GuestPoliciesRecipeUpdateStepFileCopy
    Copies a file onto the instance. Structure is documented below.
    FileExec GuestPoliciesRecipeUpdateStepFileExec
    Executes an artifact or local file. Structure is documented below.
    MsiInstallation GuestPoliciesRecipeUpdateStepMsiInstallation
    Installs an MSI file. Structure is documented below.
    RpmInstallation GuestPoliciesRecipeUpdateStepRpmInstallation
    Installs an rpm file via the rpm utility. Structure is documented below.
    ScriptRun GuestPoliciesRecipeUpdateStepScriptRun
    Runs commands in a shell. Structure is documented below.
    ArchiveExtraction GuestPoliciesRecipeUpdateStepArchiveExtraction
    Extracts an archive into the specified directory. Structure is documented below.
    DpkgInstallation GuestPoliciesRecipeUpdateStepDpkgInstallation
    Installs a deb file via dpkg. Structure is documented below.
    FileCopy GuestPoliciesRecipeUpdateStepFileCopy
    Copies a file onto the instance. Structure is documented below.
    FileExec GuestPoliciesRecipeUpdateStepFileExec
    Executes an artifact or local file. Structure is documented below.
    MsiInstallation GuestPoliciesRecipeUpdateStepMsiInstallation
    Installs an MSI file. Structure is documented below.
    RpmInstallation GuestPoliciesRecipeUpdateStepRpmInstallation
    Installs an rpm file via the rpm utility. Structure is documented below.
    ScriptRun GuestPoliciesRecipeUpdateStepScriptRun
    Runs commands in a shell. Structure is documented below.
    archiveExtraction GuestPoliciesRecipeUpdateStepArchiveExtraction
    Extracts an archive into the specified directory. Structure is documented below.
    dpkgInstallation GuestPoliciesRecipeUpdateStepDpkgInstallation
    Installs a deb file via dpkg. Structure is documented below.
    fileCopy GuestPoliciesRecipeUpdateStepFileCopy
    Copies a file onto the instance. Structure is documented below.
    fileExec GuestPoliciesRecipeUpdateStepFileExec
    Executes an artifact or local file. Structure is documented below.
    msiInstallation GuestPoliciesRecipeUpdateStepMsiInstallation
    Installs an MSI file. Structure is documented below.
    rpmInstallation GuestPoliciesRecipeUpdateStepRpmInstallation
    Installs an rpm file via the rpm utility. Structure is documented below.
    scriptRun GuestPoliciesRecipeUpdateStepScriptRun
    Runs commands in a shell. Structure is documented below.
    archiveExtraction GuestPoliciesRecipeUpdateStepArchiveExtraction
    Extracts an archive into the specified directory. Structure is documented below.
    dpkgInstallation GuestPoliciesRecipeUpdateStepDpkgInstallation
    Installs a deb file via dpkg. Structure is documented below.
    fileCopy GuestPoliciesRecipeUpdateStepFileCopy
    Copies a file onto the instance. Structure is documented below.
    fileExec GuestPoliciesRecipeUpdateStepFileExec
    Executes an artifact or local file. Structure is documented below.
    msiInstallation GuestPoliciesRecipeUpdateStepMsiInstallation
    Installs an MSI file. Structure is documented below.
    rpmInstallation GuestPoliciesRecipeUpdateStepRpmInstallation
    Installs an rpm file via the rpm utility. Structure is documented below.
    scriptRun GuestPoliciesRecipeUpdateStepScriptRun
    Runs commands in a shell. Structure is documented below.
    archive_extraction GuestPoliciesRecipeUpdateStepArchiveExtraction
    Extracts an archive into the specified directory. Structure is documented below.
    dpkg_installation GuestPoliciesRecipeUpdateStepDpkgInstallation
    Installs a deb file via dpkg. Structure is documented below.
    file_copy GuestPoliciesRecipeUpdateStepFileCopy
    Copies a file onto the instance. Structure is documented below.
    file_exec GuestPoliciesRecipeUpdateStepFileExec
    Executes an artifact or local file. Structure is documented below.
    msi_installation GuestPoliciesRecipeUpdateStepMsiInstallation
    Installs an MSI file. Structure is documented below.
    rpm_installation GuestPoliciesRecipeUpdateStepRpmInstallation
    Installs an rpm file via the rpm utility. Structure is documented below.
    script_run GuestPoliciesRecipeUpdateStepScriptRun
    Runs commands in a shell. Structure is documented below.
    archiveExtraction Property Map
    Extracts an archive into the specified directory. Structure is documented below.
    dpkgInstallation Property Map
    Installs a deb file via dpkg. Structure is documented below.
    fileCopy Property Map
    Copies a file onto the instance. Structure is documented below.
    fileExec Property Map
    Executes an artifact or local file. Structure is documented below.
    msiInstallation Property Map
    Installs an MSI file. Structure is documented below.
    rpmInstallation Property Map
    Installs an rpm file via the rpm utility. Structure is documented below.
    scriptRun Property Map
    Runs commands in a shell. Structure is documented below.

    GuestPoliciesRecipeUpdateStepArchiveExtraction, GuestPoliciesRecipeUpdateStepArchiveExtractionArgs

    ArtifactId string
    The id of the relevant artifact in the recipe.
    Type string
    The type of the archive to extract. Possible values are: TAR, TAR_GZIP, TAR_BZIP, TAR_LZMA, TAR_XZ, ZIP.
    Destination string
    Directory to extract archive to. Defaults to / on Linux or C:\ on Windows.
    ArtifactId string
    The id of the relevant artifact in the recipe.
    Type string
    The type of the archive to extract. Possible values are: TAR, TAR_GZIP, TAR_BZIP, TAR_LZMA, TAR_XZ, ZIP.
    Destination string
    Directory to extract archive to. Defaults to / on Linux or C:\ on Windows.
    artifactId String
    The id of the relevant artifact in the recipe.
    type String
    The type of the archive to extract. Possible values are: TAR, TAR_GZIP, TAR_BZIP, TAR_LZMA, TAR_XZ, ZIP.
    destination String
    Directory to extract archive to. Defaults to / on Linux or C:\ on Windows.
    artifactId string
    The id of the relevant artifact in the recipe.
    type string
    The type of the archive to extract. Possible values are: TAR, TAR_GZIP, TAR_BZIP, TAR_LZMA, TAR_XZ, ZIP.
    destination string
    Directory to extract archive to. Defaults to / on Linux or C:\ on Windows.
    artifact_id str
    The id of the relevant artifact in the recipe.
    type str
    The type of the archive to extract. Possible values are: TAR, TAR_GZIP, TAR_BZIP, TAR_LZMA, TAR_XZ, ZIP.
    destination str
    Directory to extract archive to. Defaults to / on Linux or C:\ on Windows.
    artifactId String
    The id of the relevant artifact in the recipe.
    type String
    The type of the archive to extract. Possible values are: TAR, TAR_GZIP, TAR_BZIP, TAR_LZMA, TAR_XZ, ZIP.
    destination String
    Directory to extract archive to. Defaults to / on Linux or C:\ on Windows.

    GuestPoliciesRecipeUpdateStepDpkgInstallation, GuestPoliciesRecipeUpdateStepDpkgInstallationArgs

    ArtifactId string
    The id of the relevant artifact in the recipe.
    ArtifactId string
    The id of the relevant artifact in the recipe.
    artifactId String
    The id of the relevant artifact in the recipe.
    artifactId string
    The id of the relevant artifact in the recipe.
    artifact_id str
    The id of the relevant artifact in the recipe.
    artifactId String
    The id of the relevant artifact in the recipe.

    GuestPoliciesRecipeUpdateStepFileCopy, GuestPoliciesRecipeUpdateStepFileCopyArgs

    ArtifactId string
    The id of the relevant artifact in the recipe.
    Destination string
    The absolute path on the instance to put the file.
    Overwrite bool
    Whether to allow this step to overwrite existing files.If this is false and the file already exists the file is not overwritten and the step is considered a success. Defaults to false.
    Permissions string
    Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
    ArtifactId string
    The id of the relevant artifact in the recipe.
    Destination string
    The absolute path on the instance to put the file.
    Overwrite bool
    Whether to allow this step to overwrite existing files.If this is false and the file already exists the file is not overwritten and the step is considered a success. Defaults to false.
    Permissions string
    Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
    artifactId String
    The id of the relevant artifact in the recipe.
    destination String
    The absolute path on the instance to put the file.
    overwrite Boolean
    Whether to allow this step to overwrite existing files.If this is false and the file already exists the file is not overwritten and the step is considered a success. Defaults to false.
    permissions String
    Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
    artifactId string
    The id of the relevant artifact in the recipe.
    destination string
    The absolute path on the instance to put the file.
    overwrite boolean
    Whether to allow this step to overwrite existing files.If this is false and the file already exists the file is not overwritten and the step is considered a success. Defaults to false.
    permissions string
    Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
    artifact_id str
    The id of the relevant artifact in the recipe.
    destination str
    The absolute path on the instance to put the file.
    overwrite bool
    Whether to allow this step to overwrite existing files.If this is false and the file already exists the file is not overwritten and the step is considered a success. Defaults to false.
    permissions str
    Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
    artifactId String
    The id of the relevant artifact in the recipe.
    destination String
    The absolute path on the instance to put the file.
    overwrite Boolean
    Whether to allow this step to overwrite existing files.If this is false and the file already exists the file is not overwritten and the step is considered a success. Defaults to false.
    permissions String
    Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4

    GuestPoliciesRecipeUpdateStepFileExec, GuestPoliciesRecipeUpdateStepFileExecArgs

    AllowedExitCodes List<int>
    A list of possible return values that the program can return to indicate a success. Defaults to [0].
    Args List<string>
    Arguments to be passed to the provided executable.
    ArtifactId string
    The id of the relevant artifact in the recipe.
    LocalPath string
    The absolute path of the file on the local filesystem.
    AllowedExitCodes []int
    A list of possible return values that the program can return to indicate a success. Defaults to [0].
    Args []string
    Arguments to be passed to the provided executable.
    ArtifactId string
    The id of the relevant artifact in the recipe.
    LocalPath string
    The absolute path of the file on the local filesystem.
    allowedExitCodes List<Integer>
    A list of possible return values that the program can return to indicate a success. Defaults to [0].
    args List<String>
    Arguments to be passed to the provided executable.
    artifactId String
    The id of the relevant artifact in the recipe.
    localPath String
    The absolute path of the file on the local filesystem.
    allowedExitCodes number[]
    A list of possible return values that the program can return to indicate a success. Defaults to [0].
    args string[]
    Arguments to be passed to the provided executable.
    artifactId string
    The id of the relevant artifact in the recipe.
    localPath string
    The absolute path of the file on the local filesystem.
    allowed_exit_codes Sequence[int]
    A list of possible return values that the program can return to indicate a success. Defaults to [0].
    args Sequence[str]
    Arguments to be passed to the provided executable.
    artifact_id str
    The id of the relevant artifact in the recipe.
    local_path str
    The absolute path of the file on the local filesystem.
    allowedExitCodes List<Number>
    A list of possible return values that the program can return to indicate a success. Defaults to [0].
    args List<String>
    Arguments to be passed to the provided executable.
    artifactId String
    The id of the relevant artifact in the recipe.
    localPath String
    The absolute path of the file on the local filesystem.

    GuestPoliciesRecipeUpdateStepMsiInstallation, GuestPoliciesRecipeUpdateStepMsiInstallationArgs

    ArtifactId string
    The id of the relevant artifact in the recipe.
    AllowedExitCodes List<int>
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    Flags List<string>
    The flags to use when installing the MSI. Defaults to the install flag.
    ArtifactId string
    The id of the relevant artifact in the recipe.
    AllowedExitCodes []int
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    Flags []string
    The flags to use when installing the MSI. Defaults to the install flag.
    artifactId String
    The id of the relevant artifact in the recipe.
    allowedExitCodes List<Integer>
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    flags List<String>
    The flags to use when installing the MSI. Defaults to the install flag.
    artifactId string
    The id of the relevant artifact in the recipe.
    allowedExitCodes number[]
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    flags string[]
    The flags to use when installing the MSI. Defaults to the install flag.
    artifact_id str
    The id of the relevant artifact in the recipe.
    allowed_exit_codes Sequence[int]
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    flags Sequence[str]
    The flags to use when installing the MSI. Defaults to the install flag.
    artifactId String
    The id of the relevant artifact in the recipe.
    allowedExitCodes List<Number>
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    flags List<String>
    The flags to use when installing the MSI. Defaults to the install flag.

    GuestPoliciesRecipeUpdateStepRpmInstallation, GuestPoliciesRecipeUpdateStepRpmInstallationArgs

    ArtifactId string
    The id of the relevant artifact in the recipe.
    ArtifactId string
    The id of the relevant artifact in the recipe.
    artifactId String
    The id of the relevant artifact in the recipe.
    artifactId string
    The id of the relevant artifact in the recipe.
    artifact_id str
    The id of the relevant artifact in the recipe.
    artifactId String
    The id of the relevant artifact in the recipe.

    GuestPoliciesRecipeUpdateStepScriptRun, GuestPoliciesRecipeUpdateStepScriptRunArgs

    Script string
    The shell script to be executed.
    AllowedExitCodes List<int>
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    Interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script is executed directly, which likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    Script string
    The shell script to be executed.
    AllowedExitCodes []int
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    Interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script is executed directly, which likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    script String
    The shell script to be executed.
    allowedExitCodes List<Integer>
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    interpreter String
    The script interpreter to use to run the script. If no interpreter is specified the script is executed directly, which likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    script string
    The shell script to be executed.
    allowedExitCodes number[]
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script is executed directly, which likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    script str
    The shell script to be executed.
    allowed_exit_codes Sequence[int]
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    interpreter str
    The script interpreter to use to run the script. If no interpreter is specified the script is executed directly, which likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    script String
    The shell script to be executed.
    allowedExitCodes List<Number>
    Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]
    interpreter String
    The script interpreter to use to run the script. If no interpreter is specified the script is executed directly, which likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.

    Import

    GuestPolicies can be imported using any of these accepted formats:

    • projects/{{project}}/guestPolicies/{{guest_policy_id}}

    • {{project}}/{{guest_policy_id}}

    • {{guest_policy_id}}

    When using the pulumi import command, GuestPolicies can be imported using one of the formats above. For example:

    $ pulumi import gcp:osconfig/guestPolicies:GuestPolicies default projects/{{project}}/guestPolicies/{{guest_policy_id}}
    
    $ pulumi import gcp:osconfig/guestPolicies:GuestPolicies default {{project}}/{{guest_policy_id}}
    
    $ pulumi import gcp:osconfig/guestPolicies:GuestPolicies default {{guest_policy_id}}
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v7.20.0 published on Wednesday, Apr 24, 2024 by Pulumi