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

gcp.osconfig.PatchDeployment

Explore with Pulumi AI

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

    Patch deployments are configurations that individual patch jobs use to complete a patch. These configurations include instance filter, package repository settings, and a schedule.

    To get more information about PatchDeployment, see:

    Example Usage

    Os Config Patch Deployment Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const patch = new gcp.osconfig.PatchDeployment("patch", {
        patchDeploymentId: "patch-deploy",
        instanceFilter: {
            all: true,
        },
        oneTimeSchedule: {
            executeTime: "2999-10-10T10:10:10.045123456Z",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    patch = gcp.osconfig.PatchDeployment("patch",
        patch_deployment_id="patch-deploy",
        instance_filter=gcp.osconfig.PatchDeploymentInstanceFilterArgs(
            all=True,
        ),
        one_time_schedule=gcp.osconfig.PatchDeploymentOneTimeScheduleArgs(
            execute_time="2999-10-10T10:10:10.045123456Z",
        ))
    
    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.NewPatchDeployment(ctx, "patch", &osconfig.PatchDeploymentArgs{
    			PatchDeploymentId: pulumi.String("patch-deploy"),
    			InstanceFilter: &osconfig.PatchDeploymentInstanceFilterArgs{
    				All: pulumi.Bool(true),
    			},
    			OneTimeSchedule: &osconfig.PatchDeploymentOneTimeScheduleArgs{
    				ExecuteTime: pulumi.String("2999-10-10T10:10:10.045123456Z"),
    			},
    		})
    		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 patch = new Gcp.OsConfig.PatchDeployment("patch", new()
        {
            PatchDeploymentId = "patch-deploy",
            InstanceFilter = new Gcp.OsConfig.Inputs.PatchDeploymentInstanceFilterArgs
            {
                All = true,
            },
            OneTimeSchedule = new Gcp.OsConfig.Inputs.PatchDeploymentOneTimeScheduleArgs
            {
                ExecuteTime = "2999-10-10T10:10:10.045123456Z",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.osconfig.PatchDeployment;
    import com.pulumi.gcp.osconfig.PatchDeploymentArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentInstanceFilterArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentOneTimeScheduleArgs;
    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 patch = new PatchDeployment("patch", PatchDeploymentArgs.builder()        
                .patchDeploymentId("patch-deploy")
                .instanceFilter(PatchDeploymentInstanceFilterArgs.builder()
                    .all(true)
                    .build())
                .oneTimeSchedule(PatchDeploymentOneTimeScheduleArgs.builder()
                    .executeTime("2999-10-10T10:10:10.045123456Z")
                    .build())
                .build());
    
        }
    }
    
    resources:
      patch:
        type: gcp:osconfig:PatchDeployment
        properties:
          patchDeploymentId: patch-deploy
          instanceFilter:
            all: true
          oneTimeSchedule:
            executeTime: 2999-10-10T10:10:10.045123456Z
    

    Os Config Patch Deployment Daily

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const patch = new gcp.osconfig.PatchDeployment("patch", {
        patchDeploymentId: "patch-deploy",
        instanceFilter: {
            all: true,
        },
        recurringSchedule: {
            timeZone: {
                id: "America/New_York",
            },
            timeOfDay: {
                hours: 0,
                minutes: 30,
                seconds: 30,
                nanos: 20,
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    patch = gcp.osconfig.PatchDeployment("patch",
        patch_deployment_id="patch-deploy",
        instance_filter=gcp.osconfig.PatchDeploymentInstanceFilterArgs(
            all=True,
        ),
        recurring_schedule=gcp.osconfig.PatchDeploymentRecurringScheduleArgs(
            time_zone=gcp.osconfig.PatchDeploymentRecurringScheduleTimeZoneArgs(
                id="America/New_York",
            ),
            time_of_day=gcp.osconfig.PatchDeploymentRecurringScheduleTimeOfDayArgs(
                hours=0,
                minutes=30,
                seconds=30,
                nanos=20,
            ),
        ))
    
    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.NewPatchDeployment(ctx, "patch", &osconfig.PatchDeploymentArgs{
    			PatchDeploymentId: pulumi.String("patch-deploy"),
    			InstanceFilter: &osconfig.PatchDeploymentInstanceFilterArgs{
    				All: pulumi.Bool(true),
    			},
    			RecurringSchedule: &osconfig.PatchDeploymentRecurringScheduleArgs{
    				TimeZone: &osconfig.PatchDeploymentRecurringScheduleTimeZoneArgs{
    					Id: pulumi.String("America/New_York"),
    				},
    				TimeOfDay: &osconfig.PatchDeploymentRecurringScheduleTimeOfDayArgs{
    					Hours:   pulumi.Int(0),
    					Minutes: pulumi.Int(30),
    					Seconds: pulumi.Int(30),
    					Nanos:   pulumi.Int(20),
    				},
    			},
    		})
    		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 patch = new Gcp.OsConfig.PatchDeployment("patch", new()
        {
            PatchDeploymentId = "patch-deploy",
            InstanceFilter = new Gcp.OsConfig.Inputs.PatchDeploymentInstanceFilterArgs
            {
                All = true,
            },
            RecurringSchedule = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleArgs
            {
                TimeZone = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleTimeZoneArgs
                {
                    Id = "America/New_York",
                },
                TimeOfDay = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleTimeOfDayArgs
                {
                    Hours = 0,
                    Minutes = 30,
                    Seconds = 30,
                    Nanos = 20,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.osconfig.PatchDeployment;
    import com.pulumi.gcp.osconfig.PatchDeploymentArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentInstanceFilterArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentRecurringScheduleArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentRecurringScheduleTimeZoneArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentRecurringScheduleTimeOfDayArgs;
    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 patch = new PatchDeployment("patch", PatchDeploymentArgs.builder()        
                .patchDeploymentId("patch-deploy")
                .instanceFilter(PatchDeploymentInstanceFilterArgs.builder()
                    .all(true)
                    .build())
                .recurringSchedule(PatchDeploymentRecurringScheduleArgs.builder()
                    .timeZone(PatchDeploymentRecurringScheduleTimeZoneArgs.builder()
                        .id("America/New_York")
                        .build())
                    .timeOfDay(PatchDeploymentRecurringScheduleTimeOfDayArgs.builder()
                        .hours(0)
                        .minutes(30)
                        .seconds(30)
                        .nanos(20)
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      patch:
        type: gcp:osconfig:PatchDeployment
        properties:
          patchDeploymentId: patch-deploy
          instanceFilter:
            all: true
          recurringSchedule:
            timeZone:
              id: America/New_York
            timeOfDay:
              hours: 0
              minutes: 30
              seconds: 30
              nanos: 20
    

    Os Config Patch Deployment Daily Midnight

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const patch = new gcp.osconfig.PatchDeployment("patch", {
        patchDeploymentId: "patch-deploy",
        instanceFilter: {
            all: true,
        },
        recurringSchedule: {
            timeZone: {
                id: "America/New_York",
            },
            timeOfDay: {
                hours: 0,
                minutes: 0,
                seconds: 0,
                nanos: 0,
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    patch = gcp.osconfig.PatchDeployment("patch",
        patch_deployment_id="patch-deploy",
        instance_filter=gcp.osconfig.PatchDeploymentInstanceFilterArgs(
            all=True,
        ),
        recurring_schedule=gcp.osconfig.PatchDeploymentRecurringScheduleArgs(
            time_zone=gcp.osconfig.PatchDeploymentRecurringScheduleTimeZoneArgs(
                id="America/New_York",
            ),
            time_of_day=gcp.osconfig.PatchDeploymentRecurringScheduleTimeOfDayArgs(
                hours=0,
                minutes=0,
                seconds=0,
                nanos=0,
            ),
        ))
    
    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.NewPatchDeployment(ctx, "patch", &osconfig.PatchDeploymentArgs{
    			PatchDeploymentId: pulumi.String("patch-deploy"),
    			InstanceFilter: &osconfig.PatchDeploymentInstanceFilterArgs{
    				All: pulumi.Bool(true),
    			},
    			RecurringSchedule: &osconfig.PatchDeploymentRecurringScheduleArgs{
    				TimeZone: &osconfig.PatchDeploymentRecurringScheduleTimeZoneArgs{
    					Id: pulumi.String("America/New_York"),
    				},
    				TimeOfDay: &osconfig.PatchDeploymentRecurringScheduleTimeOfDayArgs{
    					Hours:   pulumi.Int(0),
    					Minutes: pulumi.Int(0),
    					Seconds: pulumi.Int(0),
    					Nanos:   pulumi.Int(0),
    				},
    			},
    		})
    		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 patch = new Gcp.OsConfig.PatchDeployment("patch", new()
        {
            PatchDeploymentId = "patch-deploy",
            InstanceFilter = new Gcp.OsConfig.Inputs.PatchDeploymentInstanceFilterArgs
            {
                All = true,
            },
            RecurringSchedule = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleArgs
            {
                TimeZone = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleTimeZoneArgs
                {
                    Id = "America/New_York",
                },
                TimeOfDay = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleTimeOfDayArgs
                {
                    Hours = 0,
                    Minutes = 0,
                    Seconds = 0,
                    Nanos = 0,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.osconfig.PatchDeployment;
    import com.pulumi.gcp.osconfig.PatchDeploymentArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentInstanceFilterArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentRecurringScheduleArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentRecurringScheduleTimeZoneArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentRecurringScheduleTimeOfDayArgs;
    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 patch = new PatchDeployment("patch", PatchDeploymentArgs.builder()        
                .patchDeploymentId("patch-deploy")
                .instanceFilter(PatchDeploymentInstanceFilterArgs.builder()
                    .all(true)
                    .build())
                .recurringSchedule(PatchDeploymentRecurringScheduleArgs.builder()
                    .timeZone(PatchDeploymentRecurringScheduleTimeZoneArgs.builder()
                        .id("America/New_York")
                        .build())
                    .timeOfDay(PatchDeploymentRecurringScheduleTimeOfDayArgs.builder()
                        .hours(0)
                        .minutes(0)
                        .seconds(0)
                        .nanos(0)
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      patch:
        type: gcp:osconfig:PatchDeployment
        properties:
          patchDeploymentId: patch-deploy
          instanceFilter:
            all: true
          recurringSchedule:
            timeZone:
              id: America/New_York
            timeOfDay:
              hours: 0
              minutes: 0
              seconds: 0
              nanos: 0
    

    Os Config Patch Deployment Instance

    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: "patch-deploy-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 patch = new gcp.osconfig.PatchDeployment("patch", {
        patchDeploymentId: "patch-deploy",
        instanceFilter: {
            instances: [foobar.id],
        },
        patchConfig: {
            yum: {
                security: true,
                minimal: true,
                excludes: ["bash"],
            },
        },
        recurringSchedule: {
            timeZone: {
                id: "America/New_York",
            },
            timeOfDay: {
                hours: 0,
                minutes: 30,
                seconds: 30,
                nanos: 20,
            },
            monthly: {
                monthDay: 1,
            },
        },
    });
    
    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="patch-deploy-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",
        })
    patch = gcp.osconfig.PatchDeployment("patch",
        patch_deployment_id="patch-deploy",
        instance_filter=gcp.osconfig.PatchDeploymentInstanceFilterArgs(
            instances=[foobar.id],
        ),
        patch_config=gcp.osconfig.PatchDeploymentPatchConfigArgs(
            yum=gcp.osconfig.PatchDeploymentPatchConfigYumArgs(
                security=True,
                minimal=True,
                excludes=["bash"],
            ),
        ),
        recurring_schedule=gcp.osconfig.PatchDeploymentRecurringScheduleArgs(
            time_zone=gcp.osconfig.PatchDeploymentRecurringScheduleTimeZoneArgs(
                id="America/New_York",
            ),
            time_of_day=gcp.osconfig.PatchDeploymentRecurringScheduleTimeOfDayArgs(
                hours=0,
                minutes=30,
                seconds=30,
                nanos=20,
            ),
            monthly=gcp.osconfig.PatchDeploymentRecurringScheduleMonthlyArgs(
                month_day=1,
            ),
        ))
    
    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("patch-deploy-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.NewPatchDeployment(ctx, "patch", &osconfig.PatchDeploymentArgs{
    			PatchDeploymentId: pulumi.String("patch-deploy"),
    			InstanceFilter: &osconfig.PatchDeploymentInstanceFilterArgs{
    				Instances: pulumi.StringArray{
    					foobar.ID(),
    				},
    			},
    			PatchConfig: &osconfig.PatchDeploymentPatchConfigArgs{
    				Yum: &osconfig.PatchDeploymentPatchConfigYumArgs{
    					Security: pulumi.Bool(true),
    					Minimal:  pulumi.Bool(true),
    					Excludes: pulumi.StringArray{
    						pulumi.String("bash"),
    					},
    				},
    			},
    			RecurringSchedule: &osconfig.PatchDeploymentRecurringScheduleArgs{
    				TimeZone: &osconfig.PatchDeploymentRecurringScheduleTimeZoneArgs{
    					Id: pulumi.String("America/New_York"),
    				},
    				TimeOfDay: &osconfig.PatchDeploymentRecurringScheduleTimeOfDayArgs{
    					Hours:   pulumi.Int(0),
    					Minutes: pulumi.Int(30),
    					Seconds: pulumi.Int(30),
    					Nanos:   pulumi.Int(20),
    				},
    				Monthly: &osconfig.PatchDeploymentRecurringScheduleMonthlyArgs{
    					MonthDay: pulumi.Int(1),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var myImage = Gcp.Compute.GetImage.Invoke(new()
        {
            Family = "debian-11",
            Project = "debian-cloud",
        });
    
        var foobar = new Gcp.Compute.Instance("foobar", new()
        {
            Name = "patch-deploy-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 patch = new Gcp.OsConfig.PatchDeployment("patch", new()
        {
            PatchDeploymentId = "patch-deploy",
            InstanceFilter = new Gcp.OsConfig.Inputs.PatchDeploymentInstanceFilterArgs
            {
                Instances = new[]
                {
                    foobar.Id,
                },
            },
            PatchConfig = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigArgs
            {
                Yum = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigYumArgs
                {
                    Security = true,
                    Minimal = true,
                    Excludes = new[]
                    {
                        "bash",
                    },
                },
            },
            RecurringSchedule = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleArgs
            {
                TimeZone = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleTimeZoneArgs
                {
                    Id = "America/New_York",
                },
                TimeOfDay = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleTimeOfDayArgs
                {
                    Hours = 0,
                    Minutes = 30,
                    Seconds = 30,
                    Nanos = 20,
                },
                Monthly = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleMonthlyArgs
                {
                    MonthDay = 1,
                },
            },
        });
    
    });
    
    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.PatchDeployment;
    import com.pulumi.gcp.osconfig.PatchDeploymentArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentInstanceFilterArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentPatchConfigArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentPatchConfigYumArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentRecurringScheduleArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentRecurringScheduleTimeZoneArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentRecurringScheduleTimeOfDayArgs;
    import com.pulumi.gcp.osconfig.inputs.PatchDeploymentRecurringScheduleMonthlyArgs;
    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("patch-deploy-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 patch = new PatchDeployment("patch", PatchDeploymentArgs.builder()        
                .patchDeploymentId("patch-deploy")
                .instanceFilter(PatchDeploymentInstanceFilterArgs.builder()
                    .instances(foobar.id())
                    .build())
                .patchConfig(PatchDeploymentPatchConfigArgs.builder()
                    .yum(PatchDeploymentPatchConfigYumArgs.builder()
                        .security(true)
                        .minimal(true)
                        .excludes("bash")
                        .build())
                    .build())
                .recurringSchedule(PatchDeploymentRecurringScheduleArgs.builder()
                    .timeZone(PatchDeploymentRecurringScheduleTimeZoneArgs.builder()
                        .id("America/New_York")
                        .build())
                    .timeOfDay(PatchDeploymentRecurringScheduleTimeOfDayArgs.builder()
                        .hours(0)
                        .minutes(30)
                        .seconds(30)
                        .nanos(20)
                        .build())
                    .monthly(PatchDeploymentRecurringScheduleMonthlyArgs.builder()
                        .monthDay(1)
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      foobar:
        type: gcp:compute:Instance
        properties:
          name: patch-deploy-inst
          machineType: e2-medium
          zone: us-central1-a
          canIpForward: false
          tags:
            - foo
            - bar
          bootDisk:
            initializeParams:
              image: ${myImage.selfLink}
          networkInterfaces:
            - network: default
          metadata:
            foo: bar
      patch:
        type: gcp:osconfig:PatchDeployment
        properties:
          patchDeploymentId: patch-deploy
          instanceFilter:
            instances:
              - ${foobar.id}
          patchConfig:
            yum:
              security: true
              minimal: true
              excludes:
                - bash
          recurringSchedule:
            timeZone:
              id: America/New_York
            timeOfDay:
              hours: 0
              minutes: 30
              seconds: 30
              nanos: 20
            monthly:
              monthDay: 1
    variables:
      myImage:
        fn::invoke:
          Function: gcp:compute:getImage
          Arguments:
            family: debian-11
            project: debian-cloud
    

    Os Config Patch Deployment Full

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const patch = new gcp.osconfig.PatchDeployment("patch", {
        patchDeploymentId: "patch-deploy",
        instanceFilter: {
            groupLabels: [{
                labels: {
                    env: "dev",
                    app: "web",
                },
            }],
            instanceNamePrefixes: ["test-"],
            zones: [
                "us-central1-a",
                "us-central-1c",
            ],
        },
        patchConfig: {
            migInstancesAllowed: true,
            rebootConfig: "ALWAYS",
            apt: {
                type: "DIST",
                excludes: ["python"],
            },
            yum: {
                security: true,
                minimal: true,
                excludes: ["bash"],
            },
            goo: {
                enabled: true,
            },
            zypper: {
                categories: ["security"],
            },
            windowsUpdate: {
                classifications: [
                    "CRITICAL",
                    "SECURITY",
                    "UPDATE",
                ],
                excludes: ["5012170"],
            },
            preStep: {
                linuxExecStepConfig: {
                    allowedSuccessCodes: [
                        0,
                        3,
                    ],
                    localPath: "/tmp/pre_patch_script.sh",
                },
                windowsExecStepConfig: {
                    interpreter: "SHELL",
                    allowedSuccessCodes: [
                        0,
                        2,
                    ],
                    localPath: "C:\\Users\\user\\pre-patch-script.cmd",
                },
            },
            postStep: {
                linuxExecStepConfig: {
                    gcsObject: {
                        bucket: "my-patch-scripts",
                        generationNumber: "1523477886880",
                        object: "linux/post_patch_script",
                    },
                },
                windowsExecStepConfig: {
                    interpreter: "POWERSHELL",
                    gcsObject: {
                        bucket: "my-patch-scripts",
                        generationNumber: "135920493447",
                        object: "windows/post_patch_script.ps1",
                    },
                },
            },
        },
        duration: "10s",
        recurringSchedule: {
            timeZone: {
                id: "America/New_York",
            },
            timeOfDay: {
                hours: 0,
                minutes: 30,
                seconds: 30,
                nanos: 20,
            },
            monthly: {
                weekDayOfMonth: {
                    weekOrdinal: -1,
                    dayOfWeek: "TUESDAY",
                    dayOffset: 3,
                },
            },
        },
        rollout: {
            mode: "ZONE_BY_ZONE",
            disruptionBudget: {
                fixed: 1,
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    patch = gcp.osconfig.PatchDeployment("patch",
        patch_deployment_id="patch-deploy",
        instance_filter=gcp.osconfig.PatchDeploymentInstanceFilterArgs(
            group_labels=[gcp.osconfig.PatchDeploymentInstanceFilterGroupLabelArgs(
                labels={
                    "env": "dev",
                    "app": "web",
                },
            )],
            instance_name_prefixes=["test-"],
            zones=[
                "us-central1-a",
                "us-central-1c",
            ],
        ),
        patch_config=gcp.osconfig.PatchDeploymentPatchConfigArgs(
            mig_instances_allowed=True,
            reboot_config="ALWAYS",
            apt=gcp.osconfig.PatchDeploymentPatchConfigAptArgs(
                type="DIST",
                excludes=["python"],
            ),
            yum=gcp.osconfig.PatchDeploymentPatchConfigYumArgs(
                security=True,
                minimal=True,
                excludes=["bash"],
            ),
            goo=gcp.osconfig.PatchDeploymentPatchConfigGooArgs(
                enabled=True,
            ),
            zypper=gcp.osconfig.PatchDeploymentPatchConfigZypperArgs(
                categories=["security"],
            ),
            windows_update=gcp.osconfig.PatchDeploymentPatchConfigWindowsUpdateArgs(
                classifications=[
                    "CRITICAL",
                    "SECURITY",
                    "UPDATE",
                ],
                excludes=["5012170"],
            ),
            pre_step=gcp.osconfig.PatchDeploymentPatchConfigPreStepArgs(
                linux_exec_step_config=gcp.osconfig.PatchDeploymentPatchConfigPreStepLinuxExecStepConfigArgs(
                    allowed_success_codes=[
                        0,
                        3,
                    ],
                    local_path="/tmp/pre_patch_script.sh",
                ),
                windows_exec_step_config=gcp.osconfig.PatchDeploymentPatchConfigPreStepWindowsExecStepConfigArgs(
                    interpreter="SHELL",
                    allowed_success_codes=[
                        0,
                        2,
                    ],
                    local_path="C:\\Users\\user\\pre-patch-script.cmd",
                ),
            ),
            post_step=gcp.osconfig.PatchDeploymentPatchConfigPostStepArgs(
                linux_exec_step_config=gcp.osconfig.PatchDeploymentPatchConfigPostStepLinuxExecStepConfigArgs(
                    gcs_object=gcp.osconfig.PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObjectArgs(
                        bucket="my-patch-scripts",
                        generation_number="1523477886880",
                        object="linux/post_patch_script",
                    ),
                ),
                windows_exec_step_config=gcp.osconfig.PatchDeploymentPatchConfigPostStepWindowsExecStepConfigArgs(
                    interpreter="POWERSHELL",
                    gcs_object=gcp.osconfig.PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObjectArgs(
                        bucket="my-patch-scripts",
                        generation_number="135920493447",
                        object="windows/post_patch_script.ps1",
                    ),
                ),
            ),
        ),
        duration="10s",
        recurring_schedule=gcp.osconfig.PatchDeploymentRecurringScheduleArgs(
            time_zone=gcp.osconfig.PatchDeploymentRecurringScheduleTimeZoneArgs(
                id="America/New_York",
            ),
            time_of_day=gcp.osconfig.PatchDeploymentRecurringScheduleTimeOfDayArgs(
                hours=0,
                minutes=30,
                seconds=30,
                nanos=20,
            ),
            monthly=gcp.osconfig.PatchDeploymentRecurringScheduleMonthlyArgs(
                week_day_of_month=gcp.osconfig.PatchDeploymentRecurringScheduleMonthlyWeekDayOfMonthArgs(
                    week_ordinal=-1,
                    day_of_week="TUESDAY",
                    day_offset=3,
                ),
            ),
        ),
        rollout=gcp.osconfig.PatchDeploymentRolloutArgs(
            mode="ZONE_BY_ZONE",
            disruption_budget=gcp.osconfig.PatchDeploymentRolloutDisruptionBudgetArgs(
                fixed=1,
            ),
        ))
    
    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.NewPatchDeployment(ctx, "patch", &osconfig.PatchDeploymentArgs{
    			PatchDeploymentId: pulumi.String("patch-deploy"),
    			InstanceFilter: &osconfig.PatchDeploymentInstanceFilterArgs{
    				GroupLabels: osconfig.PatchDeploymentInstanceFilterGroupLabelArray{
    					&osconfig.PatchDeploymentInstanceFilterGroupLabelArgs{
    						Labels: pulumi.StringMap{
    							"env": pulumi.String("dev"),
    							"app": pulumi.String("web"),
    						},
    					},
    				},
    				InstanceNamePrefixes: pulumi.StringArray{
    					pulumi.String("test-"),
    				},
    				Zones: pulumi.StringArray{
    					pulumi.String("us-central1-a"),
    					pulumi.String("us-central-1c"),
    				},
    			},
    			PatchConfig: &osconfig.PatchDeploymentPatchConfigArgs{
    				MigInstancesAllowed: pulumi.Bool(true),
    				RebootConfig:        pulumi.String("ALWAYS"),
    				Apt: &osconfig.PatchDeploymentPatchConfigAptArgs{
    					Type: pulumi.String("DIST"),
    					Excludes: pulumi.StringArray{
    						pulumi.String("python"),
    					},
    				},
    				Yum: &osconfig.PatchDeploymentPatchConfigYumArgs{
    					Security: pulumi.Bool(true),
    					Minimal:  pulumi.Bool(true),
    					Excludes: pulumi.StringArray{
    						pulumi.String("bash"),
    					},
    				},
    				Goo: &osconfig.PatchDeploymentPatchConfigGooArgs{
    					Enabled: pulumi.Bool(true),
    				},
    				Zypper: &osconfig.PatchDeploymentPatchConfigZypperArgs{
    					Categories: pulumi.StringArray{
    						pulumi.String("security"),
    					},
    				},
    				WindowsUpdate: &osconfig.PatchDeploymentPatchConfigWindowsUpdateArgs{
    					Classifications: pulumi.StringArray{
    						pulumi.String("CRITICAL"),
    						pulumi.String("SECURITY"),
    						pulumi.String("UPDATE"),
    					},
    					Excludes: pulumi.StringArray{
    						pulumi.String("5012170"),
    					},
    				},
    				PreStep: &osconfig.PatchDeploymentPatchConfigPreStepArgs{
    					LinuxExecStepConfig: &osconfig.PatchDeploymentPatchConfigPreStepLinuxExecStepConfigArgs{
    						AllowedSuccessCodes: pulumi.IntArray{
    							pulumi.Int(0),
    							pulumi.Int(3),
    						},
    						LocalPath: pulumi.String("/tmp/pre_patch_script.sh"),
    					},
    					WindowsExecStepConfig: &osconfig.PatchDeploymentPatchConfigPreStepWindowsExecStepConfigArgs{
    						Interpreter: pulumi.String("SHELL"),
    						AllowedSuccessCodes: pulumi.IntArray{
    							pulumi.Int(0),
    							pulumi.Int(2),
    						},
    						LocalPath: pulumi.String("C:\\Users\\user\\pre-patch-script.cmd"),
    					},
    				},
    				PostStep: &osconfig.PatchDeploymentPatchConfigPostStepArgs{
    					LinuxExecStepConfig: &osconfig.PatchDeploymentPatchConfigPostStepLinuxExecStepConfigArgs{
    						GcsObject: &osconfig.PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObjectArgs{
    							Bucket:           pulumi.String("my-patch-scripts"),
    							GenerationNumber: pulumi.String("1523477886880"),
    							Object:           pulumi.String("linux/post_patch_script"),
    						},
    					},
    					WindowsExecStepConfig: &osconfig.PatchDeploymentPatchConfigPostStepWindowsExecStepConfigArgs{
    						Interpreter: pulumi.String("POWERSHELL"),
    						GcsObject: &osconfig.PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObjectArgs{
    							Bucket:           pulumi.String("my-patch-scripts"),
    							GenerationNumber: pulumi.String("135920493447"),
    							Object:           pulumi.String("windows/post_patch_script.ps1"),
    						},
    					},
    				},
    			},
    			Duration: pulumi.String("10s"),
    			RecurringSchedule: &osconfig.PatchDeploymentRecurringScheduleArgs{
    				TimeZone: &osconfig.PatchDeploymentRecurringScheduleTimeZoneArgs{
    					Id: pulumi.String("America/New_York"),
    				},
    				TimeOfDay: &osconfig.PatchDeploymentRecurringScheduleTimeOfDayArgs{
    					Hours:   pulumi.Int(0),
    					Minutes: pulumi.Int(30),
    					Seconds: pulumi.Int(30),
    					Nanos:   pulumi.Int(20),
    				},
    				Monthly: &osconfig.PatchDeploymentRecurringScheduleMonthlyArgs{
    					WeekDayOfMonth: &osconfig.PatchDeploymentRecurringScheduleMonthlyWeekDayOfMonthArgs{
    						WeekOrdinal: -1,
    						DayOfWeek:   pulumi.String("TUESDAY"),
    						DayOffset:   pulumi.Int(3),
    					},
    				},
    			},
    			Rollout: &osconfig.PatchDeploymentRolloutArgs{
    				Mode: pulumi.String("ZONE_BY_ZONE"),
    				DisruptionBudget: &osconfig.PatchDeploymentRolloutDisruptionBudgetArgs{
    					Fixed: pulumi.Int(1),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var patch = new Gcp.OsConfig.PatchDeployment("patch", new()
        {
            PatchDeploymentId = "patch-deploy",
            InstanceFilter = new Gcp.OsConfig.Inputs.PatchDeploymentInstanceFilterArgs
            {
                GroupLabels = new[]
                {
                    new Gcp.OsConfig.Inputs.PatchDeploymentInstanceFilterGroupLabelArgs
                    {
                        Labels = 
                        {
                            { "env", "dev" },
                            { "app", "web" },
                        },
                    },
                },
                InstanceNamePrefixes = new[]
                {
                    "test-",
                },
                Zones = new[]
                {
                    "us-central1-a",
                    "us-central-1c",
                },
            },
            PatchConfig = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigArgs
            {
                MigInstancesAllowed = true,
                RebootConfig = "ALWAYS",
                Apt = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigAptArgs
                {
                    Type = "DIST",
                    Excludes = new[]
                    {
                        "python",
                    },
                },
                Yum = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigYumArgs
                {
                    Security = true,
                    Minimal = true,
                    Excludes = new[]
                    {
                        "bash",
                    },
                },
                Goo = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigGooArgs
                {
                    Enabled = true,
                },
                Zypper = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigZypperArgs
                {
                    Categories = new[]
                    {
                        "security",
                    },
                },
                WindowsUpdate = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigWindowsUpdateArgs
                {
                    Classifications = new[]
                    {
                        "CRITICAL",
                        "SECURITY",
                        "UPDATE",
                    },
                    Excludes = new[]
                    {
                        "5012170",
                    },
                },
                PreStep = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPreStepArgs
                {
                    LinuxExecStepConfig = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPreStepLinuxExecStepConfigArgs
                    {
                        AllowedSuccessCodes = new[]
                        {
                            0,
                            3,
                        },
                        LocalPath = "/tmp/pre_patch_script.sh",
                    },
                    WindowsExecStepConfig = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPreStepWindowsExecStepConfigArgs
                    {
                        Interpreter = "SHELL",
                        AllowedSuccessCodes = new[]
                        {
                            0,
                            2,
                        },
                        LocalPath = "C:\\Users\\user\\pre-patch-script.cmd",
                    },
                },
                PostStep = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPostStepArgs
                {
                    LinuxExecStepConfig = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPostStepLinuxExecStepConfigArgs
                    {
                        GcsObject = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObjectArgs
                        {
                            Bucket = "my-patch-scripts",
                            GenerationNumber = "1523477886880",
                            Object = "linux/post_patch_script",
                        },
                    },
                    WindowsExecStepConfig = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPostStepWindowsExecStepConfigArgs
                    {
                        Interpreter = "POWERSHELL",
                        GcsObject = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObjectArgs
                        {
                            Bucket = "my-patch-scripts",
                            GenerationNumber = "135920493447",
                            Object = "windows/post_patch_script.ps1",
                        },
                    },
                },
            },
            Duration = "10s",
            RecurringSchedule = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleArgs
            {
                TimeZone = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleTimeZoneArgs
                {
                    Id = "America/New_York",
                },
                TimeOfDay = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleTimeOfDayArgs
                {
                    Hours = 0,
                    Minutes = 30,
                    Seconds = 30,
                    Nanos = 20,
                },
                Monthly = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleMonthlyArgs
                {
                    WeekDayOfMonth = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleMonthlyWeekDayOfMonthArgs
                    {
                        WeekOrdinal = -1,
                        DayOfWeek = "TUESDAY",
                        DayOffset = 3,
                    },
                },
            },
            Rollout = new Gcp.OsConfig.Inputs.PatchDeploymentRolloutArgs
            {
                Mode = "ZONE_BY_ZONE",
                DisruptionBudget = new Gcp.OsConfig.Inputs.PatchDeploymentRolloutDisruptionBudgetArgs
                {
                    Fixed = 1,
                },
            },
        });
    
    });
    
    Coming soon!
    
    Coming soon!
    

    Create PatchDeployment Resource

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

    Constructor syntax

    new PatchDeployment(name: string, args: PatchDeploymentArgs, opts?: CustomResourceOptions);
    @overload
    def PatchDeployment(resource_name: str,
                        args: PatchDeploymentArgs,
                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def PatchDeployment(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        instance_filter: Optional[PatchDeploymentInstanceFilterArgs] = None,
                        patch_deployment_id: Optional[str] = None,
                        description: Optional[str] = None,
                        duration: Optional[str] = None,
                        one_time_schedule: Optional[PatchDeploymentOneTimeScheduleArgs] = None,
                        patch_config: Optional[PatchDeploymentPatchConfigArgs] = None,
                        project: Optional[str] = None,
                        recurring_schedule: Optional[PatchDeploymentRecurringScheduleArgs] = None,
                        rollout: Optional[PatchDeploymentRolloutArgs] = None)
    func NewPatchDeployment(ctx *Context, name string, args PatchDeploymentArgs, opts ...ResourceOption) (*PatchDeployment, error)
    public PatchDeployment(string name, PatchDeploymentArgs args, CustomResourceOptions? opts = null)
    public PatchDeployment(String name, PatchDeploymentArgs args)
    public PatchDeployment(String name, PatchDeploymentArgs args, CustomResourceOptions options)
    
    type: gcp:osconfig:PatchDeployment
    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 PatchDeploymentArgs
    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 PatchDeploymentArgs
    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 PatchDeploymentArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PatchDeploymentArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PatchDeploymentArgs
    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 patchDeploymentResource = new Gcp.OsConfig.PatchDeployment("patchDeploymentResource", new()
    {
        InstanceFilter = new Gcp.OsConfig.Inputs.PatchDeploymentInstanceFilterArgs
        {
            All = false,
            GroupLabels = new[]
            {
                new Gcp.OsConfig.Inputs.PatchDeploymentInstanceFilterGroupLabelArgs
                {
                    Labels = 
                    {
                        { "string", "string" },
                    },
                },
            },
            InstanceNamePrefixes = new[]
            {
                "string",
            },
            Instances = new[]
            {
                "string",
            },
            Zones = new[]
            {
                "string",
            },
        },
        PatchDeploymentId = "string",
        Description = "string",
        Duration = "string",
        OneTimeSchedule = new Gcp.OsConfig.Inputs.PatchDeploymentOneTimeScheduleArgs
        {
            ExecuteTime = "string",
        },
        PatchConfig = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigArgs
        {
            Apt = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigAptArgs
            {
                Excludes = new[]
                {
                    "string",
                },
                ExclusivePackages = new[]
                {
                    "string",
                },
                Type = "string",
            },
            Goo = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigGooArgs
            {
                Enabled = false,
            },
            MigInstancesAllowed = false,
            PostStep = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPostStepArgs
            {
                LinuxExecStepConfig = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPostStepLinuxExecStepConfigArgs
                {
                    AllowedSuccessCodes = new[]
                    {
                        0,
                    },
                    GcsObject = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObjectArgs
                    {
                        Bucket = "string",
                        GenerationNumber = "string",
                        Object = "string",
                    },
                    Interpreter = "string",
                    LocalPath = "string",
                },
                WindowsExecStepConfig = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPostStepWindowsExecStepConfigArgs
                {
                    AllowedSuccessCodes = new[]
                    {
                        0,
                    },
                    GcsObject = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObjectArgs
                    {
                        Bucket = "string",
                        GenerationNumber = "string",
                        Object = "string",
                    },
                    Interpreter = "string",
                    LocalPath = "string",
                },
            },
            PreStep = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPreStepArgs
            {
                LinuxExecStepConfig = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPreStepLinuxExecStepConfigArgs
                {
                    AllowedSuccessCodes = new[]
                    {
                        0,
                    },
                    GcsObject = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObjectArgs
                    {
                        Bucket = "string",
                        GenerationNumber = "string",
                        Object = "string",
                    },
                    Interpreter = "string",
                    LocalPath = "string",
                },
                WindowsExecStepConfig = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPreStepWindowsExecStepConfigArgs
                {
                    AllowedSuccessCodes = new[]
                    {
                        0,
                    },
                    GcsObject = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObjectArgs
                    {
                        Bucket = "string",
                        GenerationNumber = "string",
                        Object = "string",
                    },
                    Interpreter = "string",
                    LocalPath = "string",
                },
            },
            RebootConfig = "string",
            WindowsUpdate = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigWindowsUpdateArgs
            {
                Classifications = new[]
                {
                    "string",
                },
                Excludes = new[]
                {
                    "string",
                },
                ExclusivePatches = new[]
                {
                    "string",
                },
            },
            Yum = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigYumArgs
            {
                Excludes = new[]
                {
                    "string",
                },
                ExclusivePackages = new[]
                {
                    "string",
                },
                Minimal = false,
                Security = false,
            },
            Zypper = new Gcp.OsConfig.Inputs.PatchDeploymentPatchConfigZypperArgs
            {
                Categories = new[]
                {
                    "string",
                },
                Excludes = new[]
                {
                    "string",
                },
                ExclusivePatches = new[]
                {
                    "string",
                },
                Severities = new[]
                {
                    "string",
                },
                WithOptional = false,
                WithUpdate = false,
            },
        },
        Project = "string",
        RecurringSchedule = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleArgs
        {
            TimeOfDay = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleTimeOfDayArgs
            {
                Hours = 0,
                Minutes = 0,
                Nanos = 0,
                Seconds = 0,
            },
            TimeZone = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleTimeZoneArgs
            {
                Id = "string",
                Version = "string",
            },
            EndTime = "string",
            LastExecuteTime = "string",
            Monthly = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleMonthlyArgs
            {
                MonthDay = 0,
                WeekDayOfMonth = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleMonthlyWeekDayOfMonthArgs
                {
                    DayOfWeek = "string",
                    WeekOrdinal = 0,
                    DayOffset = 0,
                },
            },
            NextExecuteTime = "string",
            StartTime = "string",
            Weekly = new Gcp.OsConfig.Inputs.PatchDeploymentRecurringScheduleWeeklyArgs
            {
                DayOfWeek = "string",
            },
        },
        Rollout = new Gcp.OsConfig.Inputs.PatchDeploymentRolloutArgs
        {
            DisruptionBudget = new Gcp.OsConfig.Inputs.PatchDeploymentRolloutDisruptionBudgetArgs
            {
                Fixed = 0,
                Percentage = 0,
            },
            Mode = "string",
        },
    });
    
    example, err := osconfig.NewPatchDeployment(ctx, "patchDeploymentResource", &osconfig.PatchDeploymentArgs{
    	InstanceFilter: &osconfig.PatchDeploymentInstanceFilterArgs{
    		All: pulumi.Bool(false),
    		GroupLabels: osconfig.PatchDeploymentInstanceFilterGroupLabelArray{
    			&osconfig.PatchDeploymentInstanceFilterGroupLabelArgs{
    				Labels: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    		},
    		InstanceNamePrefixes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Instances: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Zones: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	PatchDeploymentId: pulumi.String("string"),
    	Description:       pulumi.String("string"),
    	Duration:          pulumi.String("string"),
    	OneTimeSchedule: &osconfig.PatchDeploymentOneTimeScheduleArgs{
    		ExecuteTime: pulumi.String("string"),
    	},
    	PatchConfig: &osconfig.PatchDeploymentPatchConfigArgs{
    		Apt: &osconfig.PatchDeploymentPatchConfigAptArgs{
    			Excludes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			ExclusivePackages: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Type: pulumi.String("string"),
    		},
    		Goo: &osconfig.PatchDeploymentPatchConfigGooArgs{
    			Enabled: pulumi.Bool(false),
    		},
    		MigInstancesAllowed: pulumi.Bool(false),
    		PostStep: &osconfig.PatchDeploymentPatchConfigPostStepArgs{
    			LinuxExecStepConfig: &osconfig.PatchDeploymentPatchConfigPostStepLinuxExecStepConfigArgs{
    				AllowedSuccessCodes: pulumi.IntArray{
    					pulumi.Int(0),
    				},
    				GcsObject: &osconfig.PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObjectArgs{
    					Bucket:           pulumi.String("string"),
    					GenerationNumber: pulumi.String("string"),
    					Object:           pulumi.String("string"),
    				},
    				Interpreter: pulumi.String("string"),
    				LocalPath:   pulumi.String("string"),
    			},
    			WindowsExecStepConfig: &osconfig.PatchDeploymentPatchConfigPostStepWindowsExecStepConfigArgs{
    				AllowedSuccessCodes: pulumi.IntArray{
    					pulumi.Int(0),
    				},
    				GcsObject: &osconfig.PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObjectArgs{
    					Bucket:           pulumi.String("string"),
    					GenerationNumber: pulumi.String("string"),
    					Object:           pulumi.String("string"),
    				},
    				Interpreter: pulumi.String("string"),
    				LocalPath:   pulumi.String("string"),
    			},
    		},
    		PreStep: &osconfig.PatchDeploymentPatchConfigPreStepArgs{
    			LinuxExecStepConfig: &osconfig.PatchDeploymentPatchConfigPreStepLinuxExecStepConfigArgs{
    				AllowedSuccessCodes: pulumi.IntArray{
    					pulumi.Int(0),
    				},
    				GcsObject: &osconfig.PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObjectArgs{
    					Bucket:           pulumi.String("string"),
    					GenerationNumber: pulumi.String("string"),
    					Object:           pulumi.String("string"),
    				},
    				Interpreter: pulumi.String("string"),
    				LocalPath:   pulumi.String("string"),
    			},
    			WindowsExecStepConfig: &osconfig.PatchDeploymentPatchConfigPreStepWindowsExecStepConfigArgs{
    				AllowedSuccessCodes: pulumi.IntArray{
    					pulumi.Int(0),
    				},
    				GcsObject: &osconfig.PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObjectArgs{
    					Bucket:           pulumi.String("string"),
    					GenerationNumber: pulumi.String("string"),
    					Object:           pulumi.String("string"),
    				},
    				Interpreter: pulumi.String("string"),
    				LocalPath:   pulumi.String("string"),
    			},
    		},
    		RebootConfig: pulumi.String("string"),
    		WindowsUpdate: &osconfig.PatchDeploymentPatchConfigWindowsUpdateArgs{
    			Classifications: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Excludes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			ExclusivePatches: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		Yum: &osconfig.PatchDeploymentPatchConfigYumArgs{
    			Excludes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			ExclusivePackages: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Minimal:  pulumi.Bool(false),
    			Security: pulumi.Bool(false),
    		},
    		Zypper: &osconfig.PatchDeploymentPatchConfigZypperArgs{
    			Categories: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Excludes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			ExclusivePatches: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Severities: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			WithOptional: pulumi.Bool(false),
    			WithUpdate:   pulumi.Bool(false),
    		},
    	},
    	Project: pulumi.String("string"),
    	RecurringSchedule: &osconfig.PatchDeploymentRecurringScheduleArgs{
    		TimeOfDay: &osconfig.PatchDeploymentRecurringScheduleTimeOfDayArgs{
    			Hours:   pulumi.Int(0),
    			Minutes: pulumi.Int(0),
    			Nanos:   pulumi.Int(0),
    			Seconds: pulumi.Int(0),
    		},
    		TimeZone: &osconfig.PatchDeploymentRecurringScheduleTimeZoneArgs{
    			Id:      pulumi.String("string"),
    			Version: pulumi.String("string"),
    		},
    		EndTime:         pulumi.String("string"),
    		LastExecuteTime: pulumi.String("string"),
    		Monthly: &osconfig.PatchDeploymentRecurringScheduleMonthlyArgs{
    			MonthDay: pulumi.Int(0),
    			WeekDayOfMonth: &osconfig.PatchDeploymentRecurringScheduleMonthlyWeekDayOfMonthArgs{
    				DayOfWeek:   pulumi.String("string"),
    				WeekOrdinal: pulumi.Int(0),
    				DayOffset:   pulumi.Int(0),
    			},
    		},
    		NextExecuteTime: pulumi.String("string"),
    		StartTime:       pulumi.String("string"),
    		Weekly: &osconfig.PatchDeploymentRecurringScheduleWeeklyArgs{
    			DayOfWeek: pulumi.String("string"),
    		},
    	},
    	Rollout: &osconfig.PatchDeploymentRolloutArgs{
    		DisruptionBudget: &osconfig.PatchDeploymentRolloutDisruptionBudgetArgs{
    			Fixed:      pulumi.Int(0),
    			Percentage: pulumi.Int(0),
    		},
    		Mode: pulumi.String("string"),
    	},
    })
    
    var patchDeploymentResource = new PatchDeployment("patchDeploymentResource", PatchDeploymentArgs.builder()        
        .instanceFilter(PatchDeploymentInstanceFilterArgs.builder()
            .all(false)
            .groupLabels(PatchDeploymentInstanceFilterGroupLabelArgs.builder()
                .labels(Map.of("string", "string"))
                .build())
            .instanceNamePrefixes("string")
            .instances("string")
            .zones("string")
            .build())
        .patchDeploymentId("string")
        .description("string")
        .duration("string")
        .oneTimeSchedule(PatchDeploymentOneTimeScheduleArgs.builder()
            .executeTime("string")
            .build())
        .patchConfig(PatchDeploymentPatchConfigArgs.builder()
            .apt(PatchDeploymentPatchConfigAptArgs.builder()
                .excludes("string")
                .exclusivePackages("string")
                .type("string")
                .build())
            .goo(PatchDeploymentPatchConfigGooArgs.builder()
                .enabled(false)
                .build())
            .migInstancesAllowed(false)
            .postStep(PatchDeploymentPatchConfigPostStepArgs.builder()
                .linuxExecStepConfig(PatchDeploymentPatchConfigPostStepLinuxExecStepConfigArgs.builder()
                    .allowedSuccessCodes(0)
                    .gcsObject(PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObjectArgs.builder()
                        .bucket("string")
                        .generationNumber("string")
                        .object("string")
                        .build())
                    .interpreter("string")
                    .localPath("string")
                    .build())
                .windowsExecStepConfig(PatchDeploymentPatchConfigPostStepWindowsExecStepConfigArgs.builder()
                    .allowedSuccessCodes(0)
                    .gcsObject(PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObjectArgs.builder()
                        .bucket("string")
                        .generationNumber("string")
                        .object("string")
                        .build())
                    .interpreter("string")
                    .localPath("string")
                    .build())
                .build())
            .preStep(PatchDeploymentPatchConfigPreStepArgs.builder()
                .linuxExecStepConfig(PatchDeploymentPatchConfigPreStepLinuxExecStepConfigArgs.builder()
                    .allowedSuccessCodes(0)
                    .gcsObject(PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObjectArgs.builder()
                        .bucket("string")
                        .generationNumber("string")
                        .object("string")
                        .build())
                    .interpreter("string")
                    .localPath("string")
                    .build())
                .windowsExecStepConfig(PatchDeploymentPatchConfigPreStepWindowsExecStepConfigArgs.builder()
                    .allowedSuccessCodes(0)
                    .gcsObject(PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObjectArgs.builder()
                        .bucket("string")
                        .generationNumber("string")
                        .object("string")
                        .build())
                    .interpreter("string")
                    .localPath("string")
                    .build())
                .build())
            .rebootConfig("string")
            .windowsUpdate(PatchDeploymentPatchConfigWindowsUpdateArgs.builder()
                .classifications("string")
                .excludes("string")
                .exclusivePatches("string")
                .build())
            .yum(PatchDeploymentPatchConfigYumArgs.builder()
                .excludes("string")
                .exclusivePackages("string")
                .minimal(false)
                .security(false)
                .build())
            .zypper(PatchDeploymentPatchConfigZypperArgs.builder()
                .categories("string")
                .excludes("string")
                .exclusivePatches("string")
                .severities("string")
                .withOptional(false)
                .withUpdate(false)
                .build())
            .build())
        .project("string")
        .recurringSchedule(PatchDeploymentRecurringScheduleArgs.builder()
            .timeOfDay(PatchDeploymentRecurringScheduleTimeOfDayArgs.builder()
                .hours(0)
                .minutes(0)
                .nanos(0)
                .seconds(0)
                .build())
            .timeZone(PatchDeploymentRecurringScheduleTimeZoneArgs.builder()
                .id("string")
                .version("string")
                .build())
            .endTime("string")
            .lastExecuteTime("string")
            .monthly(PatchDeploymentRecurringScheduleMonthlyArgs.builder()
                .monthDay(0)
                .weekDayOfMonth(PatchDeploymentRecurringScheduleMonthlyWeekDayOfMonthArgs.builder()
                    .dayOfWeek("string")
                    .weekOrdinal(0)
                    .dayOffset(0)
                    .build())
                .build())
            .nextExecuteTime("string")
            .startTime("string")
            .weekly(PatchDeploymentRecurringScheduleWeeklyArgs.builder()
                .dayOfWeek("string")
                .build())
            .build())
        .rollout(PatchDeploymentRolloutArgs.builder()
            .disruptionBudget(PatchDeploymentRolloutDisruptionBudgetArgs.builder()
                .fixed(0)
                .percentage(0)
                .build())
            .mode("string")
            .build())
        .build());
    
    patch_deployment_resource = gcp.osconfig.PatchDeployment("patchDeploymentResource",
        instance_filter=gcp.osconfig.PatchDeploymentInstanceFilterArgs(
            all=False,
            group_labels=[gcp.osconfig.PatchDeploymentInstanceFilterGroupLabelArgs(
                labels={
                    "string": "string",
                },
            )],
            instance_name_prefixes=["string"],
            instances=["string"],
            zones=["string"],
        ),
        patch_deployment_id="string",
        description="string",
        duration="string",
        one_time_schedule=gcp.osconfig.PatchDeploymentOneTimeScheduleArgs(
            execute_time="string",
        ),
        patch_config=gcp.osconfig.PatchDeploymentPatchConfigArgs(
            apt=gcp.osconfig.PatchDeploymentPatchConfigAptArgs(
                excludes=["string"],
                exclusive_packages=["string"],
                type="string",
            ),
            goo=gcp.osconfig.PatchDeploymentPatchConfigGooArgs(
                enabled=False,
            ),
            mig_instances_allowed=False,
            post_step=gcp.osconfig.PatchDeploymentPatchConfigPostStepArgs(
                linux_exec_step_config=gcp.osconfig.PatchDeploymentPatchConfigPostStepLinuxExecStepConfigArgs(
                    allowed_success_codes=[0],
                    gcs_object=gcp.osconfig.PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObjectArgs(
                        bucket="string",
                        generation_number="string",
                        object="string",
                    ),
                    interpreter="string",
                    local_path="string",
                ),
                windows_exec_step_config=gcp.osconfig.PatchDeploymentPatchConfigPostStepWindowsExecStepConfigArgs(
                    allowed_success_codes=[0],
                    gcs_object=gcp.osconfig.PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObjectArgs(
                        bucket="string",
                        generation_number="string",
                        object="string",
                    ),
                    interpreter="string",
                    local_path="string",
                ),
            ),
            pre_step=gcp.osconfig.PatchDeploymentPatchConfigPreStepArgs(
                linux_exec_step_config=gcp.osconfig.PatchDeploymentPatchConfigPreStepLinuxExecStepConfigArgs(
                    allowed_success_codes=[0],
                    gcs_object=gcp.osconfig.PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObjectArgs(
                        bucket="string",
                        generation_number="string",
                        object="string",
                    ),
                    interpreter="string",
                    local_path="string",
                ),
                windows_exec_step_config=gcp.osconfig.PatchDeploymentPatchConfigPreStepWindowsExecStepConfigArgs(
                    allowed_success_codes=[0],
                    gcs_object=gcp.osconfig.PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObjectArgs(
                        bucket="string",
                        generation_number="string",
                        object="string",
                    ),
                    interpreter="string",
                    local_path="string",
                ),
            ),
            reboot_config="string",
            windows_update=gcp.osconfig.PatchDeploymentPatchConfigWindowsUpdateArgs(
                classifications=["string"],
                excludes=["string"],
                exclusive_patches=["string"],
            ),
            yum=gcp.osconfig.PatchDeploymentPatchConfigYumArgs(
                excludes=["string"],
                exclusive_packages=["string"],
                minimal=False,
                security=False,
            ),
            zypper=gcp.osconfig.PatchDeploymentPatchConfigZypperArgs(
                categories=["string"],
                excludes=["string"],
                exclusive_patches=["string"],
                severities=["string"],
                with_optional=False,
                with_update=False,
            ),
        ),
        project="string",
        recurring_schedule=gcp.osconfig.PatchDeploymentRecurringScheduleArgs(
            time_of_day=gcp.osconfig.PatchDeploymentRecurringScheduleTimeOfDayArgs(
                hours=0,
                minutes=0,
                nanos=0,
                seconds=0,
            ),
            time_zone=gcp.osconfig.PatchDeploymentRecurringScheduleTimeZoneArgs(
                id="string",
                version="string",
            ),
            end_time="string",
            last_execute_time="string",
            monthly=gcp.osconfig.PatchDeploymentRecurringScheduleMonthlyArgs(
                month_day=0,
                week_day_of_month=gcp.osconfig.PatchDeploymentRecurringScheduleMonthlyWeekDayOfMonthArgs(
                    day_of_week="string",
                    week_ordinal=0,
                    day_offset=0,
                ),
            ),
            next_execute_time="string",
            start_time="string",
            weekly=gcp.osconfig.PatchDeploymentRecurringScheduleWeeklyArgs(
                day_of_week="string",
            ),
        ),
        rollout=gcp.osconfig.PatchDeploymentRolloutArgs(
            disruption_budget=gcp.osconfig.PatchDeploymentRolloutDisruptionBudgetArgs(
                fixed=0,
                percentage=0,
            ),
            mode="string",
        ))
    
    const patchDeploymentResource = new gcp.osconfig.PatchDeployment("patchDeploymentResource", {
        instanceFilter: {
            all: false,
            groupLabels: [{
                labels: {
                    string: "string",
                },
            }],
            instanceNamePrefixes: ["string"],
            instances: ["string"],
            zones: ["string"],
        },
        patchDeploymentId: "string",
        description: "string",
        duration: "string",
        oneTimeSchedule: {
            executeTime: "string",
        },
        patchConfig: {
            apt: {
                excludes: ["string"],
                exclusivePackages: ["string"],
                type: "string",
            },
            goo: {
                enabled: false,
            },
            migInstancesAllowed: false,
            postStep: {
                linuxExecStepConfig: {
                    allowedSuccessCodes: [0],
                    gcsObject: {
                        bucket: "string",
                        generationNumber: "string",
                        object: "string",
                    },
                    interpreter: "string",
                    localPath: "string",
                },
                windowsExecStepConfig: {
                    allowedSuccessCodes: [0],
                    gcsObject: {
                        bucket: "string",
                        generationNumber: "string",
                        object: "string",
                    },
                    interpreter: "string",
                    localPath: "string",
                },
            },
            preStep: {
                linuxExecStepConfig: {
                    allowedSuccessCodes: [0],
                    gcsObject: {
                        bucket: "string",
                        generationNumber: "string",
                        object: "string",
                    },
                    interpreter: "string",
                    localPath: "string",
                },
                windowsExecStepConfig: {
                    allowedSuccessCodes: [0],
                    gcsObject: {
                        bucket: "string",
                        generationNumber: "string",
                        object: "string",
                    },
                    interpreter: "string",
                    localPath: "string",
                },
            },
            rebootConfig: "string",
            windowsUpdate: {
                classifications: ["string"],
                excludes: ["string"],
                exclusivePatches: ["string"],
            },
            yum: {
                excludes: ["string"],
                exclusivePackages: ["string"],
                minimal: false,
                security: false,
            },
            zypper: {
                categories: ["string"],
                excludes: ["string"],
                exclusivePatches: ["string"],
                severities: ["string"],
                withOptional: false,
                withUpdate: false,
            },
        },
        project: "string",
        recurringSchedule: {
            timeOfDay: {
                hours: 0,
                minutes: 0,
                nanos: 0,
                seconds: 0,
            },
            timeZone: {
                id: "string",
                version: "string",
            },
            endTime: "string",
            lastExecuteTime: "string",
            monthly: {
                monthDay: 0,
                weekDayOfMonth: {
                    dayOfWeek: "string",
                    weekOrdinal: 0,
                    dayOffset: 0,
                },
            },
            nextExecuteTime: "string",
            startTime: "string",
            weekly: {
                dayOfWeek: "string",
            },
        },
        rollout: {
            disruptionBudget: {
                fixed: 0,
                percentage: 0,
            },
            mode: "string",
        },
    });
    
    type: gcp:osconfig:PatchDeployment
    properties:
        description: string
        duration: string
        instanceFilter:
            all: false
            groupLabels:
                - labels:
                    string: string
            instanceNamePrefixes:
                - string
            instances:
                - string
            zones:
                - string
        oneTimeSchedule:
            executeTime: string
        patchConfig:
            apt:
                excludes:
                    - string
                exclusivePackages:
                    - string
                type: string
            goo:
                enabled: false
            migInstancesAllowed: false
            postStep:
                linuxExecStepConfig:
                    allowedSuccessCodes:
                        - 0
                    gcsObject:
                        bucket: string
                        generationNumber: string
                        object: string
                    interpreter: string
                    localPath: string
                windowsExecStepConfig:
                    allowedSuccessCodes:
                        - 0
                    gcsObject:
                        bucket: string
                        generationNumber: string
                        object: string
                    interpreter: string
                    localPath: string
            preStep:
                linuxExecStepConfig:
                    allowedSuccessCodes:
                        - 0
                    gcsObject:
                        bucket: string
                        generationNumber: string
                        object: string
                    interpreter: string
                    localPath: string
                windowsExecStepConfig:
                    allowedSuccessCodes:
                        - 0
                    gcsObject:
                        bucket: string
                        generationNumber: string
                        object: string
                    interpreter: string
                    localPath: string
            rebootConfig: string
            windowsUpdate:
                classifications:
                    - string
                excludes:
                    - string
                exclusivePatches:
                    - string
            yum:
                excludes:
                    - string
                exclusivePackages:
                    - string
                minimal: false
                security: false
            zypper:
                categories:
                    - string
                excludes:
                    - string
                exclusivePatches:
                    - string
                severities:
                    - string
                withOptional: false
                withUpdate: false
        patchDeploymentId: string
        project: string
        recurringSchedule:
            endTime: string
            lastExecuteTime: string
            monthly:
                monthDay: 0
                weekDayOfMonth:
                    dayOfWeek: string
                    dayOffset: 0
                    weekOrdinal: 0
            nextExecuteTime: string
            startTime: string
            timeOfDay:
                hours: 0
                minutes: 0
                nanos: 0
                seconds: 0
            timeZone:
                id: string
                version: string
            weekly:
                dayOfWeek: string
        rollout:
            disruptionBudget:
                fixed: 0
                percentage: 0
            mode: string
    

    PatchDeployment 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 PatchDeployment resource accepts the following input properties:

    InstanceFilter PatchDeploymentInstanceFilter
    VM instances to patch. Structure is documented below.
    PatchDeploymentId string
    A name for the patch deployment in the project. When creating a name the following rules apply:

    • 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 patch deployment. Length of the description is limited to 1024 characters.
    Duration string
    Duration of the patch. After the duration ends, the patch times out. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"
    OneTimeSchedule PatchDeploymentOneTimeSchedule
    Schedule a one-time execution.
    PatchConfig PatchDeploymentPatchConfig
    Patch configuration that is applied.
    Project string
    RecurringSchedule PatchDeploymentRecurringSchedule
    Schedule recurring executions.
    Rollout PatchDeploymentRollout
    Rollout strategy of the patch job.
    InstanceFilter PatchDeploymentInstanceFilterArgs
    VM instances to patch. Structure is documented below.
    PatchDeploymentId string
    A name for the patch deployment in the project. When creating a name the following rules apply:

    • 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 patch deployment. Length of the description is limited to 1024 characters.
    Duration string
    Duration of the patch. After the duration ends, the patch times out. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"
    OneTimeSchedule PatchDeploymentOneTimeScheduleArgs
    Schedule a one-time execution.
    PatchConfig PatchDeploymentPatchConfigArgs
    Patch configuration that is applied.
    Project string
    RecurringSchedule PatchDeploymentRecurringScheduleArgs
    Schedule recurring executions.
    Rollout PatchDeploymentRolloutArgs
    Rollout strategy of the patch job.
    instanceFilter PatchDeploymentInstanceFilter
    VM instances to patch. Structure is documented below.
    patchDeploymentId String
    A name for the patch deployment in the project. When creating a name the following rules apply:

    • 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 patch deployment. Length of the description is limited to 1024 characters.
    duration String
    Duration of the patch. After the duration ends, the patch times out. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"
    oneTimeSchedule PatchDeploymentOneTimeSchedule
    Schedule a one-time execution.
    patchConfig PatchDeploymentPatchConfig
    Patch configuration that is applied.
    project String
    recurringSchedule PatchDeploymentRecurringSchedule
    Schedule recurring executions.
    rollout PatchDeploymentRollout
    Rollout strategy of the patch job.
    instanceFilter PatchDeploymentInstanceFilter
    VM instances to patch. Structure is documented below.
    patchDeploymentId string
    A name for the patch deployment in the project. When creating a name the following rules apply:

    • 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 patch deployment. Length of the description is limited to 1024 characters.
    duration string
    Duration of the patch. After the duration ends, the patch times out. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"
    oneTimeSchedule PatchDeploymentOneTimeSchedule
    Schedule a one-time execution.
    patchConfig PatchDeploymentPatchConfig
    Patch configuration that is applied.
    project string
    recurringSchedule PatchDeploymentRecurringSchedule
    Schedule recurring executions.
    rollout PatchDeploymentRollout
    Rollout strategy of the patch job.
    instance_filter PatchDeploymentInstanceFilterArgs
    VM instances to patch. Structure is documented below.
    patch_deployment_id str
    A name for the patch deployment in the project. When creating a name the following rules apply:

    • 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 patch deployment. Length of the description is limited to 1024 characters.
    duration str
    Duration of the patch. After the duration ends, the patch times out. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"
    one_time_schedule PatchDeploymentOneTimeScheduleArgs
    Schedule a one-time execution.
    patch_config PatchDeploymentPatchConfigArgs
    Patch configuration that is applied.
    project str
    recurring_schedule PatchDeploymentRecurringScheduleArgs
    Schedule recurring executions.
    rollout PatchDeploymentRolloutArgs
    Rollout strategy of the patch job.
    instanceFilter Property Map
    VM instances to patch. Structure is documented below.
    patchDeploymentId String
    A name for the patch deployment in the project. When creating a name the following rules apply:

    • 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 patch deployment. Length of the description is limited to 1024 characters.
    duration String
    Duration of the patch. After the duration ends, the patch times out. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"
    oneTimeSchedule Property Map
    Schedule a one-time execution.
    patchConfig Property Map
    Patch configuration that is applied.
    project String
    recurringSchedule Property Map
    Schedule recurring executions.
    rollout Property Map
    Rollout strategy of the patch job.

    Outputs

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

    CreateTime string
    Time the patch deployment was created. Timestamp is in RFC3339 text format. 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.
    LastExecuteTime string
    The last time a patch job was started by this deployment. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Name string
    Unique name for the patch deployment resource in a project. The patch deployment name is in the form: projects/{project_id}/patchDeployments/{patchDeploymentId}.
    UpdateTime string
    Time the patch deployment was last updated. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    CreateTime string
    Time the patch deployment was created. Timestamp is in RFC3339 text format. 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.
    LastExecuteTime string
    The last time a patch job was started by this deployment. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Name string
    Unique name for the patch deployment resource in a project. The patch deployment name is in the form: projects/{project_id}/patchDeployments/{patchDeploymentId}.
    UpdateTime string
    Time the patch deployment was last updated. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    createTime String
    Time the patch deployment was created. Timestamp is in RFC3339 text format. 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.
    lastExecuteTime String
    The last time a patch job was started by this deployment. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    name String
    Unique name for the patch deployment resource in a project. The patch deployment name is in the form: projects/{project_id}/patchDeployments/{patchDeploymentId}.
    updateTime String
    Time the patch deployment was last updated. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    createTime string
    Time the patch deployment was created. Timestamp is in RFC3339 text format. 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.
    lastExecuteTime string
    The last time a patch job was started by this deployment. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    name string
    Unique name for the patch deployment resource in a project. The patch deployment name is in the form: projects/{project_id}/patchDeployments/{patchDeploymentId}.
    updateTime string
    Time the patch deployment was last updated. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    create_time str
    Time the patch deployment was created. Timestamp is in RFC3339 text format. 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.
    last_execute_time str
    The last time a patch job was started by this deployment. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    name str
    Unique name for the patch deployment resource in a project. The patch deployment name is in the form: projects/{project_id}/patchDeployments/{patchDeploymentId}.
    update_time str
    Time the patch deployment was last updated. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    createTime String
    Time the patch deployment was created. Timestamp is in RFC3339 text format. 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.
    lastExecuteTime String
    The last time a patch job was started by this deployment. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    name String
    Unique name for the patch deployment resource in a project. The patch deployment name is in the form: projects/{project_id}/patchDeployments/{patchDeploymentId}.
    updateTime String
    Time the patch deployment was last updated. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    Look up Existing PatchDeployment Resource

    Get an existing PatchDeployment 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?: PatchDeploymentState, opts?: CustomResourceOptions): PatchDeployment
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            create_time: Optional[str] = None,
            description: Optional[str] = None,
            duration: Optional[str] = None,
            instance_filter: Optional[PatchDeploymentInstanceFilterArgs] = None,
            last_execute_time: Optional[str] = None,
            name: Optional[str] = None,
            one_time_schedule: Optional[PatchDeploymentOneTimeScheduleArgs] = None,
            patch_config: Optional[PatchDeploymentPatchConfigArgs] = None,
            patch_deployment_id: Optional[str] = None,
            project: Optional[str] = None,
            recurring_schedule: Optional[PatchDeploymentRecurringScheduleArgs] = None,
            rollout: Optional[PatchDeploymentRolloutArgs] = None,
            update_time: Optional[str] = None) -> PatchDeployment
    func GetPatchDeployment(ctx *Context, name string, id IDInput, state *PatchDeploymentState, opts ...ResourceOption) (*PatchDeployment, error)
    public static PatchDeployment Get(string name, Input<string> id, PatchDeploymentState? state, CustomResourceOptions? opts = null)
    public static PatchDeployment get(String name, Output<String> id, PatchDeploymentState 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:
    CreateTime string
    Time the patch deployment was created. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Description string
    Description of the patch deployment. Length of the description is limited to 1024 characters.
    Duration string
    Duration of the patch. After the duration ends, the patch times out. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"
    InstanceFilter PatchDeploymentInstanceFilter
    VM instances to patch. Structure is documented below.
    LastExecuteTime string
    The last time a patch job was started by this deployment. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Name string
    Unique name for the patch deployment resource in a project. The patch deployment name is in the form: projects/{project_id}/patchDeployments/{patchDeploymentId}.
    OneTimeSchedule PatchDeploymentOneTimeSchedule
    Schedule a one-time execution.
    PatchConfig PatchDeploymentPatchConfig
    Patch configuration that is applied.
    PatchDeploymentId string
    A name for the patch deployment in the project. When creating a name the following rules apply:

    • 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.
    Project string
    RecurringSchedule PatchDeploymentRecurringSchedule
    Schedule recurring executions.
    Rollout PatchDeploymentRollout
    Rollout strategy of the patch job.
    UpdateTime string
    Time the patch deployment was last updated. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    CreateTime string
    Time the patch deployment was created. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Description string
    Description of the patch deployment. Length of the description is limited to 1024 characters.
    Duration string
    Duration of the patch. After the duration ends, the patch times out. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"
    InstanceFilter PatchDeploymentInstanceFilterArgs
    VM instances to patch. Structure is documented below.
    LastExecuteTime string
    The last time a patch job was started by this deployment. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Name string
    Unique name for the patch deployment resource in a project. The patch deployment name is in the form: projects/{project_id}/patchDeployments/{patchDeploymentId}.
    OneTimeSchedule PatchDeploymentOneTimeScheduleArgs
    Schedule a one-time execution.
    PatchConfig PatchDeploymentPatchConfigArgs
    Patch configuration that is applied.
    PatchDeploymentId string
    A name for the patch deployment in the project. When creating a name the following rules apply:

    • 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.
    Project string
    RecurringSchedule PatchDeploymentRecurringScheduleArgs
    Schedule recurring executions.
    Rollout PatchDeploymentRolloutArgs
    Rollout strategy of the patch job.
    UpdateTime string
    Time the patch deployment was last updated. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    createTime String
    Time the patch deployment was created. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    description String
    Description of the patch deployment. Length of the description is limited to 1024 characters.
    duration String
    Duration of the patch. After the duration ends, the patch times out. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"
    instanceFilter PatchDeploymentInstanceFilter
    VM instances to patch. Structure is documented below.
    lastExecuteTime String
    The last time a patch job was started by this deployment. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    name String
    Unique name for the patch deployment resource in a project. The patch deployment name is in the form: projects/{project_id}/patchDeployments/{patchDeploymentId}.
    oneTimeSchedule PatchDeploymentOneTimeSchedule
    Schedule a one-time execution.
    patchConfig PatchDeploymentPatchConfig
    Patch configuration that is applied.
    patchDeploymentId String
    A name for the patch deployment in the project. When creating a name the following rules apply:

    • 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.
    project String
    recurringSchedule PatchDeploymentRecurringSchedule
    Schedule recurring executions.
    rollout PatchDeploymentRollout
    Rollout strategy of the patch job.
    updateTime String
    Time the patch deployment was last updated. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    createTime string
    Time the patch deployment was created. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    description string
    Description of the patch deployment. Length of the description is limited to 1024 characters.
    duration string
    Duration of the patch. After the duration ends, the patch times out. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"
    instanceFilter PatchDeploymentInstanceFilter
    VM instances to patch. Structure is documented below.
    lastExecuteTime string
    The last time a patch job was started by this deployment. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    name string
    Unique name for the patch deployment resource in a project. The patch deployment name is in the form: projects/{project_id}/patchDeployments/{patchDeploymentId}.
    oneTimeSchedule PatchDeploymentOneTimeSchedule
    Schedule a one-time execution.
    patchConfig PatchDeploymentPatchConfig
    Patch configuration that is applied.
    patchDeploymentId string
    A name for the patch deployment in the project. When creating a name the following rules apply:

    • 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.
    project string
    recurringSchedule PatchDeploymentRecurringSchedule
    Schedule recurring executions.
    rollout PatchDeploymentRollout
    Rollout strategy of the patch job.
    updateTime string
    Time the patch deployment was last updated. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    create_time str
    Time the patch deployment was created. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    description str
    Description of the patch deployment. Length of the description is limited to 1024 characters.
    duration str
    Duration of the patch. After the duration ends, the patch times out. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"
    instance_filter PatchDeploymentInstanceFilterArgs
    VM instances to patch. Structure is documented below.
    last_execute_time str
    The last time a patch job was started by this deployment. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    name str
    Unique name for the patch deployment resource in a project. The patch deployment name is in the form: projects/{project_id}/patchDeployments/{patchDeploymentId}.
    one_time_schedule PatchDeploymentOneTimeScheduleArgs
    Schedule a one-time execution.
    patch_config PatchDeploymentPatchConfigArgs
    Patch configuration that is applied.
    patch_deployment_id str
    A name for the patch deployment in the project. When creating a name the following rules apply:

    • 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.
    project str
    recurring_schedule PatchDeploymentRecurringScheduleArgs
    Schedule recurring executions.
    rollout PatchDeploymentRolloutArgs
    Rollout strategy of the patch job.
    update_time str
    Time the patch deployment was last updated. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    createTime String
    Time the patch deployment was created. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    description String
    Description of the patch deployment. Length of the description is limited to 1024 characters.
    duration String
    Duration of the patch. After the duration ends, the patch times out. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"
    instanceFilter Property Map
    VM instances to patch. Structure is documented below.
    lastExecuteTime String
    The last time a patch job was started by this deployment. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    name String
    Unique name for the patch deployment resource in a project. The patch deployment name is in the form: projects/{project_id}/patchDeployments/{patchDeploymentId}.
    oneTimeSchedule Property Map
    Schedule a one-time execution.
    patchConfig Property Map
    Patch configuration that is applied.
    patchDeploymentId String
    A name for the patch deployment in the project. When creating a name the following rules apply:

    • 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.
    project String
    recurringSchedule Property Map
    Schedule recurring executions.
    rollout Property Map
    Rollout strategy of the patch job.
    updateTime String
    Time the patch deployment was last updated. Timestamp is in RFC3339 text format. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    Supporting Types

    PatchDeploymentInstanceFilter, PatchDeploymentInstanceFilterArgs

    All bool
    Target all VM instances in the project. If true, no other criteria is permitted.
    GroupLabels List<PatchDeploymentInstanceFilterGroupLabel>
    Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances. Structure is documented below.
    InstanceNamePrefixes List<string>
    Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group VMs when targeting configs, for example prefix="prod-".
    Instances List<string>
    Targets any of the VM instances specified. Instances are specified by their URI in the form zones/{{zone}}/instances/{{instance_name}}, projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}, or https://www.googleapis.com/compute/v1/projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}
    Zones List<string>
    Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
    All bool
    Target all VM instances in the project. If true, no other criteria is permitted.
    GroupLabels []PatchDeploymentInstanceFilterGroupLabel
    Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances. Structure is documented below.
    InstanceNamePrefixes []string
    Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group VMs when targeting configs, for example prefix="prod-".
    Instances []string
    Targets any of the VM instances specified. Instances are specified by their URI in the form zones/{{zone}}/instances/{{instance_name}}, projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}, or https://www.googleapis.com/compute/v1/projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}
    Zones []string
    Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
    all Boolean
    Target all VM instances in the project. If true, no other criteria is permitted.
    groupLabels List<PatchDeploymentInstanceFilterGroupLabel>
    Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances. Structure is documented below.
    instanceNamePrefixes List<String>
    Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group VMs when targeting configs, for example prefix="prod-".
    instances List<String>
    Targets any of the VM instances specified. Instances are specified by their URI in the form zones/{{zone}}/instances/{{instance_name}}, projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}, or https://www.googleapis.com/compute/v1/projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}
    zones List<String>
    Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
    all boolean
    Target all VM instances in the project. If true, no other criteria is permitted.
    groupLabels PatchDeploymentInstanceFilterGroupLabel[]
    Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances. Structure is documented below.
    instanceNamePrefixes string[]
    Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group VMs when targeting configs, for example prefix="prod-".
    instances string[]
    Targets any of the VM instances specified. Instances are specified by their URI in the form zones/{{zone}}/instances/{{instance_name}}, projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}, or https://www.googleapis.com/compute/v1/projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}
    zones string[]
    Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
    all bool
    Target all VM instances in the project. If true, no other criteria is permitted.
    group_labels Sequence[PatchDeploymentInstanceFilterGroupLabel]
    Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances. Structure is documented below.
    instance_name_prefixes Sequence[str]
    Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group VMs when targeting configs, for example prefix="prod-".
    instances Sequence[str]
    Targets any of the VM instances specified. Instances are specified by their URI in the form zones/{{zone}}/instances/{{instance_name}}, projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}, or https://www.googleapis.com/compute/v1/projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}
    zones Sequence[str]
    Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
    all Boolean
    Target all VM instances in the project. If true, no other criteria is permitted.
    groupLabels List<Property Map>
    Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances. Structure is documented below.
    instanceNamePrefixes List<String>
    Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group VMs when targeting configs, for example prefix="prod-".
    instances List<String>
    Targets any of the VM instances specified. Instances are specified by their URI in the form zones/{{zone}}/instances/{{instance_name}}, projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}, or https://www.googleapis.com/compute/v1/projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}
    zones List<String>
    Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.

    PatchDeploymentInstanceFilterGroupLabel, PatchDeploymentInstanceFilterGroupLabelArgs

    Labels Dictionary<string, string>
    Compute Engine instance labels that must be present for a VM instance to be targeted by this filter


    Labels map[string]string
    Compute Engine instance labels that must be present for a VM instance to be targeted by this filter


    labels Map<String,String>
    Compute Engine instance labels that must be present for a VM instance to be targeted by this filter


    labels {[key: string]: string}
    Compute Engine instance labels that must be present for a VM instance to be targeted by this filter


    labels Mapping[str, str]
    Compute Engine instance labels that must be present for a VM instance to be targeted by this filter


    labels Map<String>
    Compute Engine instance labels that must be present for a VM instance to be targeted by this filter


    PatchDeploymentOneTimeSchedule, PatchDeploymentOneTimeScheduleArgs

    ExecuteTime string
    The desired patch job execution time. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    ExecuteTime string
    The desired patch job execution time. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    executeTime String
    The desired patch job execution time. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    executeTime string
    The desired patch job execution time. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    execute_time str
    The desired patch job execution time. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    executeTime String
    The desired patch job execution time. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    PatchDeploymentPatchConfig, PatchDeploymentPatchConfigArgs

    Apt PatchDeploymentPatchConfigApt
    Apt update settings. Use this setting to override the default apt patch rules. Structure is documented below.
    Goo PatchDeploymentPatchConfigGoo
    goo update settings. Use this setting to override the default goo patch rules. Structure is documented below.
    MigInstancesAllowed bool
    Allows the patch job to run on Managed instance groups (MIGs).
    PostStep PatchDeploymentPatchConfigPostStep
    The ExecStep to run after the patch update. Structure is documented below.
    PreStep PatchDeploymentPatchConfigPreStep
    The ExecStep to run before the patch update. Structure is documented below.
    RebootConfig string
    Post-patch reboot settings. Possible values are: DEFAULT, ALWAYS, NEVER.
    WindowsUpdate PatchDeploymentPatchConfigWindowsUpdate
    Windows update settings. Use this setting to override the default Windows patch rules. Structure is documented below.
    Yum PatchDeploymentPatchConfigYum
    Yum update settings. Use this setting to override the default yum patch rules. Structure is documented below.
    Zypper PatchDeploymentPatchConfigZypper
    zypper update settings. Use this setting to override the default zypper patch rules. Structure is documented below.
    Apt PatchDeploymentPatchConfigApt
    Apt update settings. Use this setting to override the default apt patch rules. Structure is documented below.
    Goo PatchDeploymentPatchConfigGoo
    goo update settings. Use this setting to override the default goo patch rules. Structure is documented below.
    MigInstancesAllowed bool
    Allows the patch job to run on Managed instance groups (MIGs).
    PostStep PatchDeploymentPatchConfigPostStep
    The ExecStep to run after the patch update. Structure is documented below.
    PreStep PatchDeploymentPatchConfigPreStep
    The ExecStep to run before the patch update. Structure is documented below.
    RebootConfig string
    Post-patch reboot settings. Possible values are: DEFAULT, ALWAYS, NEVER.
    WindowsUpdate PatchDeploymentPatchConfigWindowsUpdate
    Windows update settings. Use this setting to override the default Windows patch rules. Structure is documented below.
    Yum PatchDeploymentPatchConfigYum
    Yum update settings. Use this setting to override the default yum patch rules. Structure is documented below.
    Zypper PatchDeploymentPatchConfigZypper
    zypper update settings. Use this setting to override the default zypper patch rules. Structure is documented below.
    apt PatchDeploymentPatchConfigApt
    Apt update settings. Use this setting to override the default apt patch rules. Structure is documented below.
    goo PatchDeploymentPatchConfigGoo
    goo update settings. Use this setting to override the default goo patch rules. Structure is documented below.
    migInstancesAllowed Boolean
    Allows the patch job to run on Managed instance groups (MIGs).
    postStep PatchDeploymentPatchConfigPostStep
    The ExecStep to run after the patch update. Structure is documented below.
    preStep PatchDeploymentPatchConfigPreStep
    The ExecStep to run before the patch update. Structure is documented below.
    rebootConfig String
    Post-patch reboot settings. Possible values are: DEFAULT, ALWAYS, NEVER.
    windowsUpdate PatchDeploymentPatchConfigWindowsUpdate
    Windows update settings. Use this setting to override the default Windows patch rules. Structure is documented below.
    yum PatchDeploymentPatchConfigYum
    Yum update settings. Use this setting to override the default yum patch rules. Structure is documented below.
    zypper PatchDeploymentPatchConfigZypper
    zypper update settings. Use this setting to override the default zypper patch rules. Structure is documented below.
    apt PatchDeploymentPatchConfigApt
    Apt update settings. Use this setting to override the default apt patch rules. Structure is documented below.
    goo PatchDeploymentPatchConfigGoo
    goo update settings. Use this setting to override the default goo patch rules. Structure is documented below.
    migInstancesAllowed boolean
    Allows the patch job to run on Managed instance groups (MIGs).
    postStep PatchDeploymentPatchConfigPostStep
    The ExecStep to run after the patch update. Structure is documented below.
    preStep PatchDeploymentPatchConfigPreStep
    The ExecStep to run before the patch update. Structure is documented below.
    rebootConfig string
    Post-patch reboot settings. Possible values are: DEFAULT, ALWAYS, NEVER.
    windowsUpdate PatchDeploymentPatchConfigWindowsUpdate
    Windows update settings. Use this setting to override the default Windows patch rules. Structure is documented below.
    yum PatchDeploymentPatchConfigYum
    Yum update settings. Use this setting to override the default yum patch rules. Structure is documented below.
    zypper PatchDeploymentPatchConfigZypper
    zypper update settings. Use this setting to override the default zypper patch rules. Structure is documented below.
    apt PatchDeploymentPatchConfigApt
    Apt update settings. Use this setting to override the default apt patch rules. Structure is documented below.
    goo PatchDeploymentPatchConfigGoo
    goo update settings. Use this setting to override the default goo patch rules. Structure is documented below.
    mig_instances_allowed bool
    Allows the patch job to run on Managed instance groups (MIGs).
    post_step PatchDeploymentPatchConfigPostStep
    The ExecStep to run after the patch update. Structure is documented below.
    pre_step PatchDeploymentPatchConfigPreStep
    The ExecStep to run before the patch update. Structure is documented below.
    reboot_config str
    Post-patch reboot settings. Possible values are: DEFAULT, ALWAYS, NEVER.
    windows_update PatchDeploymentPatchConfigWindowsUpdate
    Windows update settings. Use this setting to override the default Windows patch rules. Structure is documented below.
    yum PatchDeploymentPatchConfigYum
    Yum update settings. Use this setting to override the default yum patch rules. Structure is documented below.
    zypper PatchDeploymentPatchConfigZypper
    zypper update settings. Use this setting to override the default zypper patch rules. Structure is documented below.
    apt Property Map
    Apt update settings. Use this setting to override the default apt patch rules. Structure is documented below.
    goo Property Map
    goo update settings. Use this setting to override the default goo patch rules. Structure is documented below.
    migInstancesAllowed Boolean
    Allows the patch job to run on Managed instance groups (MIGs).
    postStep Property Map
    The ExecStep to run after the patch update. Structure is documented below.
    preStep Property Map
    The ExecStep to run before the patch update. Structure is documented below.
    rebootConfig String
    Post-patch reboot settings. Possible values are: DEFAULT, ALWAYS, NEVER.
    windowsUpdate Property Map
    Windows update settings. Use this setting to override the default Windows patch rules. Structure is documented below.
    yum Property Map
    Yum update settings. Use this setting to override the default yum patch rules. Structure is documented below.
    zypper Property Map
    zypper update settings. Use this setting to override the default zypper patch rules. Structure is documented below.

    PatchDeploymentPatchConfigApt, PatchDeploymentPatchConfigAptArgs

    Excludes List<string>
    List of packages to exclude from update. These packages will be excluded.
    ExclusivePackages List<string>
    An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
    Type string
    By changing the type to DIST, the patching is performed using apt-get dist-upgrade instead. Possible values are: DIST, UPGRADE.
    Excludes []string
    List of packages to exclude from update. These packages will be excluded.
    ExclusivePackages []string
    An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
    Type string
    By changing the type to DIST, the patching is performed using apt-get dist-upgrade instead. Possible values are: DIST, UPGRADE.
    excludes List<String>
    List of packages to exclude from update. These packages will be excluded.
    exclusivePackages List<String>
    An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
    type String
    By changing the type to DIST, the patching is performed using apt-get dist-upgrade instead. Possible values are: DIST, UPGRADE.
    excludes string[]
    List of packages to exclude from update. These packages will be excluded.
    exclusivePackages string[]
    An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
    type string
    By changing the type to DIST, the patching is performed using apt-get dist-upgrade instead. Possible values are: DIST, UPGRADE.
    excludes Sequence[str]
    List of packages to exclude from update. These packages will be excluded.
    exclusive_packages Sequence[str]
    An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
    type str
    By changing the type to DIST, the patching is performed using apt-get dist-upgrade instead. Possible values are: DIST, UPGRADE.
    excludes List<String>
    List of packages to exclude from update. These packages will be excluded.
    exclusivePackages List<String>
    An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
    type String
    By changing the type to DIST, the patching is performed using apt-get dist-upgrade instead. Possible values are: DIST, UPGRADE.

    PatchDeploymentPatchConfigGoo, PatchDeploymentPatchConfigGooArgs

    Enabled bool
    goo update settings. Use this setting to override the default goo patch rules.
    Enabled bool
    goo update settings. Use this setting to override the default goo patch rules.
    enabled Boolean
    goo update settings. Use this setting to override the default goo patch rules.
    enabled boolean
    goo update settings. Use this setting to override the default goo patch rules.
    enabled bool
    goo update settings. Use this setting to override the default goo patch rules.
    enabled Boolean
    goo update settings. Use this setting to override the default goo patch rules.

    PatchDeploymentPatchConfigPostStep, PatchDeploymentPatchConfigPostStepArgs

    LinuxExecStepConfig PatchDeploymentPatchConfigPostStepLinuxExecStepConfig
    The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.
    WindowsExecStepConfig PatchDeploymentPatchConfigPostStepWindowsExecStepConfig
    The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.
    LinuxExecStepConfig PatchDeploymentPatchConfigPostStepLinuxExecStepConfig
    The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.
    WindowsExecStepConfig PatchDeploymentPatchConfigPostStepWindowsExecStepConfig
    The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.
    linuxExecStepConfig PatchDeploymentPatchConfigPostStepLinuxExecStepConfig
    The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.
    windowsExecStepConfig PatchDeploymentPatchConfigPostStepWindowsExecStepConfig
    The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.
    linuxExecStepConfig PatchDeploymentPatchConfigPostStepLinuxExecStepConfig
    The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.
    windowsExecStepConfig PatchDeploymentPatchConfigPostStepWindowsExecStepConfig
    The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.
    linux_exec_step_config PatchDeploymentPatchConfigPostStepLinuxExecStepConfig
    The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.
    windows_exec_step_config PatchDeploymentPatchConfigPostStepWindowsExecStepConfig
    The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.
    linuxExecStepConfig Property Map
    The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.
    windowsExecStepConfig Property Map
    The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.

    PatchDeploymentPatchConfigPostStepLinuxExecStepConfig, PatchDeploymentPatchConfigPostStepLinuxExecStepConfigArgs

    AllowedSuccessCodes List<int>
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    GcsObject PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    Interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    LocalPath string
    An absolute path to the executable on the VM.
    AllowedSuccessCodes []int
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    GcsObject PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    Interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    LocalPath string
    An absolute path to the executable on the VM.
    allowedSuccessCodes List<Integer>
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcsObject PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter String
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    localPath String
    An absolute path to the executable on the VM.
    allowedSuccessCodes number[]
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcsObject PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    localPath string
    An absolute path to the executable on the VM.
    allowed_success_codes Sequence[int]
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcs_object PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter str
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    local_path str
    An absolute path to the executable on the VM.
    allowedSuccessCodes List<Number>
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcsObject Property Map
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter String
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    localPath String
    An absolute path to the executable on the VM.

    PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject, PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObjectArgs

    Bucket string
    Bucket of the Cloud Storage object.
    GenerationNumber string
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    Object string
    Name of the Cloud Storage object.
    Bucket string
    Bucket of the Cloud Storage object.
    GenerationNumber string
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    Object string
    Name of the Cloud Storage object.
    bucket String
    Bucket of the Cloud Storage object.
    generationNumber String
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object String
    Name of the Cloud Storage object.
    bucket string
    Bucket of the Cloud Storage object.
    generationNumber string
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object string
    Name of the Cloud Storage object.
    bucket str
    Bucket of the Cloud Storage object.
    generation_number str
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object str
    Name of the Cloud Storage object.
    bucket String
    Bucket of the Cloud Storage object.
    generationNumber String
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object String
    Name of the Cloud Storage object.

    PatchDeploymentPatchConfigPostStepWindowsExecStepConfig, PatchDeploymentPatchConfigPostStepWindowsExecStepConfigArgs

    AllowedSuccessCodes List<int>
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    GcsObject PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    Interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    LocalPath string
    An absolute path to the executable on the VM.
    AllowedSuccessCodes []int
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    GcsObject PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    Interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    LocalPath string
    An absolute path to the executable on the VM.
    allowedSuccessCodes List<Integer>
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcsObject PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter String
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    localPath String
    An absolute path to the executable on the VM.
    allowedSuccessCodes number[]
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcsObject PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    localPath string
    An absolute path to the executable on the VM.
    allowed_success_codes Sequence[int]
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcs_object PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter str
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    local_path str
    An absolute path to the executable on the VM.
    allowedSuccessCodes List<Number>
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcsObject Property Map
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter String
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    localPath String
    An absolute path to the executable on the VM.

    PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject, PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObjectArgs

    Bucket string
    Bucket of the Cloud Storage object.
    GenerationNumber string
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    Object string
    Name of the Cloud Storage object.
    Bucket string
    Bucket of the Cloud Storage object.
    GenerationNumber string
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    Object string
    Name of the Cloud Storage object.
    bucket String
    Bucket of the Cloud Storage object.
    generationNumber String
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object String
    Name of the Cloud Storage object.
    bucket string
    Bucket of the Cloud Storage object.
    generationNumber string
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object string
    Name of the Cloud Storage object.
    bucket str
    Bucket of the Cloud Storage object.
    generation_number str
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object str
    Name of the Cloud Storage object.
    bucket String
    Bucket of the Cloud Storage object.
    generationNumber String
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object String
    Name of the Cloud Storage object.

    PatchDeploymentPatchConfigPreStep, PatchDeploymentPatchConfigPreStepArgs

    LinuxExecStepConfig PatchDeploymentPatchConfigPreStepLinuxExecStepConfig
    The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.
    WindowsExecStepConfig PatchDeploymentPatchConfigPreStepWindowsExecStepConfig
    The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.
    LinuxExecStepConfig PatchDeploymentPatchConfigPreStepLinuxExecStepConfig
    The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.
    WindowsExecStepConfig PatchDeploymentPatchConfigPreStepWindowsExecStepConfig
    The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.
    linuxExecStepConfig PatchDeploymentPatchConfigPreStepLinuxExecStepConfig
    The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.
    windowsExecStepConfig PatchDeploymentPatchConfigPreStepWindowsExecStepConfig
    The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.
    linuxExecStepConfig PatchDeploymentPatchConfigPreStepLinuxExecStepConfig
    The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.
    windowsExecStepConfig PatchDeploymentPatchConfigPreStepWindowsExecStepConfig
    The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.
    linux_exec_step_config PatchDeploymentPatchConfigPreStepLinuxExecStepConfig
    The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.
    windows_exec_step_config PatchDeploymentPatchConfigPreStepWindowsExecStepConfig
    The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.
    linuxExecStepConfig Property Map
    The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.
    windowsExecStepConfig Property Map
    The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.

    PatchDeploymentPatchConfigPreStepLinuxExecStepConfig, PatchDeploymentPatchConfigPreStepLinuxExecStepConfigArgs

    AllowedSuccessCodes List<int>
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    GcsObject PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    Interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    LocalPath string
    An absolute path to the executable on the VM.
    AllowedSuccessCodes []int
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    GcsObject PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    Interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    LocalPath string
    An absolute path to the executable on the VM.
    allowedSuccessCodes List<Integer>
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcsObject PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter String
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    localPath String
    An absolute path to the executable on the VM.
    allowedSuccessCodes number[]
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcsObject PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    localPath string
    An absolute path to the executable on the VM.
    allowed_success_codes Sequence[int]
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcs_object PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter str
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    local_path str
    An absolute path to the executable on the VM.
    allowedSuccessCodes List<Number>
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcsObject Property Map
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter String
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    localPath String
    An absolute path to the executable on the VM.

    PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject, PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObjectArgs

    Bucket string
    Bucket of the Cloud Storage object.
    GenerationNumber string
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    Object string
    Name of the Cloud Storage object.
    Bucket string
    Bucket of the Cloud Storage object.
    GenerationNumber string
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    Object string
    Name of the Cloud Storage object.
    bucket String
    Bucket of the Cloud Storage object.
    generationNumber String
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object String
    Name of the Cloud Storage object.
    bucket string
    Bucket of the Cloud Storage object.
    generationNumber string
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object string
    Name of the Cloud Storage object.
    bucket str
    Bucket of the Cloud Storage object.
    generation_number str
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object str
    Name of the Cloud Storage object.
    bucket String
    Bucket of the Cloud Storage object.
    generationNumber String
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object String
    Name of the Cloud Storage object.

    PatchDeploymentPatchConfigPreStepWindowsExecStepConfig, PatchDeploymentPatchConfigPreStepWindowsExecStepConfigArgs

    AllowedSuccessCodes List<int>
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    GcsObject PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    Interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    LocalPath string
    An absolute path to the executable on the VM.
    AllowedSuccessCodes []int
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    GcsObject PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    Interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    LocalPath string
    An absolute path to the executable on the VM.
    allowedSuccessCodes List<Integer>
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcsObject PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter String
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    localPath String
    An absolute path to the executable on the VM.
    allowedSuccessCodes number[]
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcsObject PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter string
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    localPath string
    An absolute path to the executable on the VM.
    allowed_success_codes Sequence[int]
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcs_object PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter str
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    local_path str
    An absolute path to the executable on the VM.
    allowedSuccessCodes List<Number>
    Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    gcsObject Property Map
    A Cloud Storage object containing the executable. Structure is documented below.
    interpreter String
    The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with shebang lines. Possible values are: SHELL, POWERSHELL.
    localPath String
    An absolute path to the executable on the VM.

    PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject, PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObjectArgs

    Bucket string
    Bucket of the Cloud Storage object.
    GenerationNumber string
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    Object string
    Name of the Cloud Storage object.
    Bucket string
    Bucket of the Cloud Storage object.
    GenerationNumber string
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    Object string
    Name of the Cloud Storage object.
    bucket String
    Bucket of the Cloud Storage object.
    generationNumber String
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object String
    Name of the Cloud Storage object.
    bucket string
    Bucket of the Cloud Storage object.
    generationNumber string
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object string
    Name of the Cloud Storage object.
    bucket str
    Bucket of the Cloud Storage object.
    generation_number str
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object str
    Name of the Cloud Storage object.
    bucket String
    Bucket of the Cloud Storage object.
    generationNumber String
    Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
    object String
    Name of the Cloud Storage object.

    PatchDeploymentPatchConfigWindowsUpdate, PatchDeploymentPatchConfigWindowsUpdateArgs

    Classifications List<string>
    Only apply updates of these windows update classifications. If empty, all updates are applied. Each value may be one of: CRITICAL, SECURITY, DEFINITION, DRIVER, FEATURE_PACK, SERVICE_PACK, TOOL, UPDATE_ROLLUP, UPDATE.
    Excludes List<string>
    List of KBs to exclude from update.
    ExclusivePatches List<string>
    An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.
    Classifications []string
    Only apply updates of these windows update classifications. If empty, all updates are applied. Each value may be one of: CRITICAL, SECURITY, DEFINITION, DRIVER, FEATURE_PACK, SERVICE_PACK, TOOL, UPDATE_ROLLUP, UPDATE.
    Excludes []string
    List of KBs to exclude from update.
    ExclusivePatches []string
    An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.
    classifications List<String>
    Only apply updates of these windows update classifications. If empty, all updates are applied. Each value may be one of: CRITICAL, SECURITY, DEFINITION, DRIVER, FEATURE_PACK, SERVICE_PACK, TOOL, UPDATE_ROLLUP, UPDATE.
    excludes List<String>
    List of KBs to exclude from update.
    exclusivePatches List<String>
    An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.
    classifications string[]
    Only apply updates of these windows update classifications. If empty, all updates are applied. Each value may be one of: CRITICAL, SECURITY, DEFINITION, DRIVER, FEATURE_PACK, SERVICE_PACK, TOOL, UPDATE_ROLLUP, UPDATE.
    excludes string[]
    List of KBs to exclude from update.
    exclusivePatches string[]
    An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.
    classifications Sequence[str]
    Only apply updates of these windows update classifications. If empty, all updates are applied. Each value may be one of: CRITICAL, SECURITY, DEFINITION, DRIVER, FEATURE_PACK, SERVICE_PACK, TOOL, UPDATE_ROLLUP, UPDATE.
    excludes Sequence[str]
    List of KBs to exclude from update.
    exclusive_patches Sequence[str]
    An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.
    classifications List<String>
    Only apply updates of these windows update classifications. If empty, all updates are applied. Each value may be one of: CRITICAL, SECURITY, DEFINITION, DRIVER, FEATURE_PACK, SERVICE_PACK, TOOL, UPDATE_ROLLUP, UPDATE.
    excludes List<String>
    List of KBs to exclude from update.
    exclusivePatches List<String>
    An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.

    PatchDeploymentPatchConfigYum, PatchDeploymentPatchConfigYumArgs

    Excludes List<string>
    List of packages to exclude from update. These packages will be excluded.
    ExclusivePackages List<string>
    An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
    Minimal bool
    Will cause patch to run yum update-minimal instead.
    Security bool
    Adds the --security flag to yum update. Not supported on all platforms.
    Excludes []string
    List of packages to exclude from update. These packages will be excluded.
    ExclusivePackages []string
    An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
    Minimal bool
    Will cause patch to run yum update-minimal instead.
    Security bool
    Adds the --security flag to yum update. Not supported on all platforms.
    excludes List<String>
    List of packages to exclude from update. These packages will be excluded.
    exclusivePackages List<String>
    An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
    minimal Boolean
    Will cause patch to run yum update-minimal instead.
    security Boolean
    Adds the --security flag to yum update. Not supported on all platforms.
    excludes string[]
    List of packages to exclude from update. These packages will be excluded.
    exclusivePackages string[]
    An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
    minimal boolean
    Will cause patch to run yum update-minimal instead.
    security boolean
    Adds the --security flag to yum update. Not supported on all platforms.
    excludes Sequence[str]
    List of packages to exclude from update. These packages will be excluded.
    exclusive_packages Sequence[str]
    An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
    minimal bool
    Will cause patch to run yum update-minimal instead.
    security bool
    Adds the --security flag to yum update. Not supported on all platforms.
    excludes List<String>
    List of packages to exclude from update. These packages will be excluded.
    exclusivePackages List<String>
    An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.
    minimal Boolean
    Will cause patch to run yum update-minimal instead.
    security Boolean
    Adds the --security flag to yum update. Not supported on all platforms.

    PatchDeploymentPatchConfigZypper, PatchDeploymentPatchConfigZypperArgs

    Categories List<string>
    Install only patches with these categories. Common categories include security, recommended, and feature.
    Excludes List<string>
    List of packages to exclude from update.
    ExclusivePatches List<string>
    An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. This field must not be used with any other patch configuration fields.
    Severities List<string>
    Install only patches with these severities. Common severities include critical, important, moderate, and low.
    WithOptional bool
    Adds the --with-optional flag to zypper patch.
    WithUpdate bool
    Adds the --with-update flag, to zypper patch.
    Categories []string
    Install only patches with these categories. Common categories include security, recommended, and feature.
    Excludes []string
    List of packages to exclude from update.
    ExclusivePatches []string
    An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. This field must not be used with any other patch configuration fields.
    Severities []string
    Install only patches with these severities. Common severities include critical, important, moderate, and low.
    WithOptional bool
    Adds the --with-optional flag to zypper patch.
    WithUpdate bool
    Adds the --with-update flag, to zypper patch.
    categories List<String>
    Install only patches with these categories. Common categories include security, recommended, and feature.
    excludes List<String>
    List of packages to exclude from update.
    exclusivePatches List<String>
    An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. This field must not be used with any other patch configuration fields.
    severities List<String>
    Install only patches with these severities. Common severities include critical, important, moderate, and low.
    withOptional Boolean
    Adds the --with-optional flag to zypper patch.
    withUpdate Boolean
    Adds the --with-update flag, to zypper patch.
    categories string[]
    Install only patches with these categories. Common categories include security, recommended, and feature.
    excludes string[]
    List of packages to exclude from update.
    exclusivePatches string[]
    An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. This field must not be used with any other patch configuration fields.
    severities string[]
    Install only patches with these severities. Common severities include critical, important, moderate, and low.
    withOptional boolean
    Adds the --with-optional flag to zypper patch.
    withUpdate boolean
    Adds the --with-update flag, to zypper patch.
    categories Sequence[str]
    Install only patches with these categories. Common categories include security, recommended, and feature.
    excludes Sequence[str]
    List of packages to exclude from update.
    exclusive_patches Sequence[str]
    An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. This field must not be used with any other patch configuration fields.
    severities Sequence[str]
    Install only patches with these severities. Common severities include critical, important, moderate, and low.
    with_optional bool
    Adds the --with-optional flag to zypper patch.
    with_update bool
    Adds the --with-update flag, to zypper patch.
    categories List<String>
    Install only patches with these categories. Common categories include security, recommended, and feature.
    excludes List<String>
    List of packages to exclude from update.
    exclusivePatches List<String>
    An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. This field must not be used with any other patch configuration fields.
    severities List<String>
    Install only patches with these severities. Common severities include critical, important, moderate, and low.
    withOptional Boolean
    Adds the --with-optional flag to zypper patch.
    withUpdate Boolean
    Adds the --with-update flag, to zypper patch.

    PatchDeploymentRecurringSchedule, PatchDeploymentRecurringScheduleArgs

    TimeOfDay PatchDeploymentRecurringScheduleTimeOfDay
    Time of the day to run a recurring deployment. Structure is documented below.
    TimeZone PatchDeploymentRecurringScheduleTimeZone
    Defines the time zone that timeOfDay is relative to. The rules for daylight saving time are determined by the chosen time zone. Structure is documented below.
    EndTime string
    The end time at which a recurring patch deployment schedule is no longer active. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    LastExecuteTime string
    (Output) The time the last patch job ran successfully. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Monthly PatchDeploymentRecurringScheduleMonthly
    Schedule with monthly executions. Structure is documented below.
    NextExecuteTime string
    (Output) The time the next patch job is scheduled to run. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    StartTime string
    The time that the recurring schedule becomes effective. Defaults to createTime of the patch deployment. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Weekly PatchDeploymentRecurringScheduleWeekly
    Schedule with weekly executions. Structure is documented below.
    TimeOfDay PatchDeploymentRecurringScheduleTimeOfDay
    Time of the day to run a recurring deployment. Structure is documented below.
    TimeZone PatchDeploymentRecurringScheduleTimeZone
    Defines the time zone that timeOfDay is relative to. The rules for daylight saving time are determined by the chosen time zone. Structure is documented below.
    EndTime string
    The end time at which a recurring patch deployment schedule is no longer active. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    LastExecuteTime string
    (Output) The time the last patch job ran successfully. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Monthly PatchDeploymentRecurringScheduleMonthly
    Schedule with monthly executions. Structure is documented below.
    NextExecuteTime string
    (Output) The time the next patch job is scheduled to run. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    StartTime string
    The time that the recurring schedule becomes effective. Defaults to createTime of the patch deployment. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    Weekly PatchDeploymentRecurringScheduleWeekly
    Schedule with weekly executions. Structure is documented below.
    timeOfDay PatchDeploymentRecurringScheduleTimeOfDay
    Time of the day to run a recurring deployment. Structure is documented below.
    timeZone PatchDeploymentRecurringScheduleTimeZone
    Defines the time zone that timeOfDay is relative to. The rules for daylight saving time are determined by the chosen time zone. Structure is documented below.
    endTime String
    The end time at which a recurring patch deployment schedule is no longer active. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    lastExecuteTime String
    (Output) The time the last patch job ran successfully. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    monthly PatchDeploymentRecurringScheduleMonthly
    Schedule with monthly executions. Structure is documented below.
    nextExecuteTime String
    (Output) The time the next patch job is scheduled to run. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    startTime String
    The time that the recurring schedule becomes effective. Defaults to createTime of the patch deployment. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    weekly PatchDeploymentRecurringScheduleWeekly
    Schedule with weekly executions. Structure is documented below.
    timeOfDay PatchDeploymentRecurringScheduleTimeOfDay
    Time of the day to run a recurring deployment. Structure is documented below.
    timeZone PatchDeploymentRecurringScheduleTimeZone
    Defines the time zone that timeOfDay is relative to. The rules for daylight saving time are determined by the chosen time zone. Structure is documented below.
    endTime string
    The end time at which a recurring patch deployment schedule is no longer active. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    lastExecuteTime string
    (Output) The time the last patch job ran successfully. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    monthly PatchDeploymentRecurringScheduleMonthly
    Schedule with monthly executions. Structure is documented below.
    nextExecuteTime string
    (Output) The time the next patch job is scheduled to run. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    startTime string
    The time that the recurring schedule becomes effective. Defaults to createTime of the patch deployment. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    weekly PatchDeploymentRecurringScheduleWeekly
    Schedule with weekly executions. Structure is documented below.
    time_of_day PatchDeploymentRecurringScheduleTimeOfDay
    Time of the day to run a recurring deployment. Structure is documented below.
    time_zone PatchDeploymentRecurringScheduleTimeZone
    Defines the time zone that timeOfDay is relative to. The rules for daylight saving time are determined by the chosen time zone. Structure is documented below.
    end_time str
    The end time at which a recurring patch deployment schedule is no longer active. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    last_execute_time str
    (Output) The time the last patch job ran successfully. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    monthly PatchDeploymentRecurringScheduleMonthly
    Schedule with monthly executions. Structure is documented below.
    next_execute_time str
    (Output) The time the next patch job is scheduled to run. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    start_time str
    The time that the recurring schedule becomes effective. Defaults to createTime of the patch deployment. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    weekly PatchDeploymentRecurringScheduleWeekly
    Schedule with weekly executions. Structure is documented below.
    timeOfDay Property Map
    Time of the day to run a recurring deployment. Structure is documented below.
    timeZone Property Map
    Defines the time zone that timeOfDay is relative to. The rules for daylight saving time are determined by the chosen time zone. Structure is documented below.
    endTime String
    The end time at which a recurring patch deployment schedule is no longer active. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    lastExecuteTime String
    (Output) The time the last patch job ran successfully. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    monthly Property Map
    Schedule with monthly executions. Structure is documented below.
    nextExecuteTime String
    (Output) The time the next patch job is scheduled to run. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    startTime String
    The time that the recurring schedule becomes effective. Defaults to createTime of the patch deployment. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    weekly Property Map
    Schedule with weekly executions. Structure is documented below.

    PatchDeploymentRecurringScheduleMonthly, PatchDeploymentRecurringScheduleMonthlyArgs

    MonthDay int
    One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run "every month on the 31st" will not run in February, April, June, etc.
    WeekDayOfMonth PatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth
    Week day in a month. Structure is documented below.
    MonthDay int
    One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run "every month on the 31st" will not run in February, April, June, etc.
    WeekDayOfMonth PatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth
    Week day in a month. Structure is documented below.
    monthDay Integer
    One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run "every month on the 31st" will not run in February, April, June, etc.
    weekDayOfMonth PatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth
    Week day in a month. Structure is documented below.
    monthDay number
    One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run "every month on the 31st" will not run in February, April, June, etc.
    weekDayOfMonth PatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth
    Week day in a month. Structure is documented below.
    month_day int
    One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run "every month on the 31st" will not run in February, April, June, etc.
    week_day_of_month PatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth
    Week day in a month. Structure is documented below.
    monthDay Number
    One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run "every month on the 31st" will not run in February, April, June, etc.
    weekDayOfMonth Property Map
    Week day in a month. Structure is documented below.

    PatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth, PatchDeploymentRecurringScheduleMonthlyWeekDayOfMonthArgs

    DayOfWeek string
    A day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    WeekOrdinal int
    Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.
    DayOffset int
    Represents the number of days before or after the given week day of month that the patch deployment is scheduled for.
    DayOfWeek string
    A day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    WeekOrdinal int
    Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.
    DayOffset int
    Represents the number of days before or after the given week day of month that the patch deployment is scheduled for.
    dayOfWeek String
    A day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    weekOrdinal Integer
    Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.
    dayOffset Integer
    Represents the number of days before or after the given week day of month that the patch deployment is scheduled for.
    dayOfWeek string
    A day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    weekOrdinal number
    Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.
    dayOffset number
    Represents the number of days before or after the given week day of month that the patch deployment is scheduled for.
    day_of_week str
    A day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    week_ordinal int
    Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.
    day_offset int
    Represents the number of days before or after the given week day of month that the patch deployment is scheduled for.
    dayOfWeek String
    A day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    weekOrdinal Number
    Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.
    dayOffset Number
    Represents the number of days before or after the given week day of month that the patch deployment is scheduled for.

    PatchDeploymentRecurringScheduleTimeOfDay, PatchDeploymentRecurringScheduleTimeOfDayArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PatchDeploymentRecurringScheduleTimeZone, PatchDeploymentRecurringScheduleTimeZoneArgs

    Id string
    IANA Time Zone Database time zone, e.g. "America/New_York".
    Version string
    IANA Time Zone Database version number, e.g. "2019a".
    Id string
    IANA Time Zone Database time zone, e.g. "America/New_York".
    Version string
    IANA Time Zone Database version number, e.g. "2019a".
    id String
    IANA Time Zone Database time zone, e.g. "America/New_York".
    version String
    IANA Time Zone Database version number, e.g. "2019a".
    id string
    IANA Time Zone Database time zone, e.g. "America/New_York".
    version string
    IANA Time Zone Database version number, e.g. "2019a".
    id str
    IANA Time Zone Database time zone, e.g. "America/New_York".
    version str
    IANA Time Zone Database version number, e.g. "2019a".
    id String
    IANA Time Zone Database time zone, e.g. "America/New_York".
    version String
    IANA Time Zone Database version number, e.g. "2019a".

    PatchDeploymentRecurringScheduleWeekly, PatchDeploymentRecurringScheduleWeeklyArgs

    DayOfWeek string
    IANA Time Zone Database time zone, e.g. "America/New_York". Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    DayOfWeek string
    IANA Time Zone Database time zone, e.g. "America/New_York". Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    dayOfWeek String
    IANA Time Zone Database time zone, e.g. "America/New_York". Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    dayOfWeek string
    IANA Time Zone Database time zone, e.g. "America/New_York". Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    day_of_week str
    IANA Time Zone Database time zone, e.g. "America/New_York". Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    dayOfWeek String
    IANA Time Zone Database time zone, e.g. "America/New_York". Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.

    PatchDeploymentRollout, PatchDeploymentRolloutArgs

    DisruptionBudget PatchDeploymentRolloutDisruptionBudget
    The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of 10, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops. Structure is documented below.
    Mode string
    Mode of the patch rollout. Possible values are: ZONE_BY_ZONE, CONCURRENT_ZONES.
    DisruptionBudget PatchDeploymentRolloutDisruptionBudget
    The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of 10, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops. Structure is documented below.
    Mode string
    Mode of the patch rollout. Possible values are: ZONE_BY_ZONE, CONCURRENT_ZONES.
    disruptionBudget PatchDeploymentRolloutDisruptionBudget
    The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of 10, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops. Structure is documented below.
    mode String
    Mode of the patch rollout. Possible values are: ZONE_BY_ZONE, CONCURRENT_ZONES.
    disruptionBudget PatchDeploymentRolloutDisruptionBudget
    The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of 10, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops. Structure is documented below.
    mode string
    Mode of the patch rollout. Possible values are: ZONE_BY_ZONE, CONCURRENT_ZONES.
    disruption_budget PatchDeploymentRolloutDisruptionBudget
    The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of 10, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops. Structure is documented below.
    mode str
    Mode of the patch rollout. Possible values are: ZONE_BY_ZONE, CONCURRENT_ZONES.
    disruptionBudget Property Map
    The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of 10, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops. Structure is documented below.
    mode String
    Mode of the patch rollout. Possible values are: ZONE_BY_ZONE, CONCURRENT_ZONES.

    PatchDeploymentRolloutDisruptionBudget, PatchDeploymentRolloutDisruptionBudgetArgs

    Fixed int
    Specifies a fixed value.
    Percentage int
    Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
    Fixed int
    Specifies a fixed value.
    Percentage int
    Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
    fixed Integer
    Specifies a fixed value.
    percentage Integer
    Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
    fixed number
    Specifies a fixed value.
    percentage number
    Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
    fixed int
    Specifies a fixed value.
    percentage int
    Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
    fixed Number
    Specifies a fixed value.
    percentage Number
    Specifies the relative value defined as a percentage, which will be multiplied by a reference value.

    Import

    PatchDeployment can be imported using any of these accepted formats:

    • projects/{{project}}/patchDeployments/{{name}}

    • {{project}}/{{name}}

    • {{name}}

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

    $ pulumi import gcp:osconfig/patchDeployment:PatchDeployment default projects/{{project}}/patchDeployments/{{name}}
    
    $ pulumi import gcp:osconfig/patchDeployment:PatchDeployment default {{project}}/{{name}}
    
    $ pulumi import gcp:osconfig/patchDeployment:PatchDeployment default {{name}}
    

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

    Package Details

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