Package-level declarations

Types

Link copied to clipboard
data class AptSettingsArgs(val excludes: Output<List<String>>? = null, val exclusivePackages: Output<List<String>>? = null, val type: Output<AptSettingsType>? = null) : ConvertibleToJava<AptSettingsArgs>

Apt patching is completed by executing apt-get update && apt-get upgrade. Additional options can be set to control how this is executed.

Link copied to clipboard
Link copied to clipboard
data class ExecStepArgs(val linuxExecStepConfig: Output<ExecStepConfigArgs>? = null, val windowsExecStepConfig: Output<ExecStepConfigArgs>? = null) : ConvertibleToJava<ExecStepArgs>

A step that runs an executable for a PatchJob.

Link copied to clipboard
Link copied to clipboard
data class ExecStepConfigArgs(val allowedSuccessCodes: Output<List<Int>>? = null, val gcsObject: Output<GcsObjectArgs>? = null, val interpreter: Output<ExecStepConfigInterpreter>? = null, val localPath: Output<String>? = null) : ConvertibleToJava<ExecStepConfigArgs>

Common configurations for an ExecStep.

Link copied to clipboard
Link copied to clipboard
data class FixedOrPercentArgs(val fixed: Output<Int>? = null, val percent: Output<Int>? = null) : ConvertibleToJava<FixedOrPercentArgs>

Message encapsulating a value that can be either absolute ("fixed") or relative ("percent") to a value.

Link copied to clipboard
Link copied to clipboard
data class GcsObjectArgs(val bucket: Output<String>, val generationNumber: Output<String>, val object: Output<String>) : ConvertibleToJava<GcsObjectArgs>

Cloud Storage object representation.

Link copied to clipboard
Link copied to clipboard
data class GetOsPolicyAssignmentPlainArgs(val location: String, val osPolicyAssignmentId: String, val project: String? = null) : ConvertibleToJava<GetOsPolicyAssignmentPlainArgs>
Link copied to clipboard
data class GetPatchDeploymentPlainArgs(val patchDeploymentId: String, val project: String? = null) : ConvertibleToJava<GetPatchDeploymentPlainArgs>
Link copied to clipboard
class GooSettingsArgs : ConvertibleToJava<GooSettingsArgs>

Googet patching is performed by running googet update.

Link copied to clipboard
Link copied to clipboard
data class MonthlyScheduleArgs(val monthDay: Output<Int>, val weekDayOfMonth: Output<WeekDayOfMonthArgs>) : ConvertibleToJava<MonthlyScheduleArgs>

Represents a monthly schedule. An example of a valid monthly schedule is "on the third Tuesday of the month" or "on the 15th of the month".

Link copied to clipboard
data class OneTimeScheduleArgs(val executeTime: Output<String>) : ConvertibleToJava<OneTimeScheduleArgs>

Sets the time for a one time patch deployment. Timestamp is in RFC3339 text format.

Link copied to clipboard
data class OSPolicyArgs(val allowNoResourceGroupMatch: Output<Boolean>? = null, val description: Output<String>? = null, val id: Output<String>, val mode: Output<OSPolicyMode>, val resourceGroups: Output<List<OSPolicyResourceGroupArgs>>) : ConvertibleToJava<OSPolicyArgs>

An OS policy defines the desired state configuration for a VM.

Link copied to clipboard
Link copied to clipboard
data class OSPolicyAssignmentInstanceFilterArgs(val all: Output<Boolean>? = null, val exclusionLabels: Output<List<OSPolicyAssignmentLabelSetArgs>>? = null, val inclusionLabels: Output<List<OSPolicyAssignmentLabelSetArgs>>? = null, val inventories: Output<List<OSPolicyAssignmentInstanceFilterInventoryArgs>>? = null) : ConvertibleToJava<OSPolicyAssignmentInstanceFilterArgs>

Filters to select target VMs for an assignment. If more than one filter criteria is specified below, a VM will be selected if and only if it satisfies all of them.

data class OSPolicyAssignmentInstanceFilterInventoryArgs(val osShortName: Output<String>, val osVersion: Output<String>? = null) : ConvertibleToJava<OSPolicyAssignmentInstanceFilterInventoryArgs>

VM inventory details.

Link copied to clipboard
data class OSPolicyAssignmentLabelSetArgs(val labels: Output<Map<String, String>>? = null) : ConvertibleToJava<OSPolicyAssignmentLabelSetArgs>

Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: env=prod and type=webserver will only be applicable for those VMs with both labels present.

Link copied to clipboard
data class OSPolicyAssignmentRolloutArgs(val disruptionBudget: Output<FixedOrPercentArgs>, val minWaitDuration: Output<String>) : ConvertibleToJava<OSPolicyAssignmentRolloutArgs>

Message to configure the rollout at the zonal level for the OS policy assignment.

Link copied to clipboard
data class OSPolicyInventoryFilterArgs(val osShortName: Output<String>, val osVersion: Output<String>? = null) : ConvertibleToJava<OSPolicyInventoryFilterArgs>

Filtering criteria to select VMs based on inventory details.

Link copied to clipboard
data class OSPolicyResourceArgs(val exec: Output<OSPolicyResourceExecResourceArgs>? = null, val file: Output<OSPolicyResourceFileResourceArgs>? = null, val id: Output<String>, val pkg: Output<OSPolicyResourcePackageResourceArgs>? = null, val repository: Output<OSPolicyResourceRepositoryResourceArgs>? = null) : ConvertibleToJava<OSPolicyResourceArgs>

An OS policy resource is used to define the desired state configuration and provides a specific functionality like installing/removing packages, executing a script etc. The system ensures that resources are always in their desired state by taking necessary actions if they have drifted from their desired state.

Link copied to clipboard
data class OSPolicyResourceExecResourceArgs(val enforce: Output<OSPolicyResourceExecResourceExecArgs>? = null, val validate: Output<OSPolicyResourceExecResourceExecArgs>) : ConvertibleToJava<OSPolicyResourceExecResourceArgs>

A resource that allows executing scripts on the VM. The ExecResource has 2 stages: validate and enforce and both stages accept a script as an argument to execute. When the ExecResource is applied by the agent, it first executes the script in the validate stage. The validate stage can signal that the ExecResource is already in the desired state by returning an exit code of 100. If the ExecResource is not in the desired state, it should return an exit code of 101. Any other exit code returned by this stage is considered an error. If the ExecResource is not in the desired state based on the exit code from the validate stage, the agent proceeds to execute the script from the enforce stage. If the ExecResource is already in the desired state, the enforce stage will not be run. Similar to validate stage, the enforce stage should return an exit code of 100 to indicate that the resource in now in its desired state. Any other exit code is considered an error. NOTE: An exit code of 100 was chosen over 0 (and 101 vs 1) to have an explicit indicator of in desired state, not in desired state and errors. Because, for example, Powershell will always return an exit code of 0 unless an exit statement is provided in the script. So, for reasons of consistency and being explicit, exit codes 100 and 101 were chosen.

Link copied to clipboard
data class OSPolicyResourceExecResourceExecArgs(val args: Output<List<String>>? = null, val file: Output<OSPolicyResourceFileArgs>? = null, val interpreter: Output<OSPolicyResourceExecResourceExecInterpreter>, val outputFilePath: Output<String>? = null, val script: Output<String>? = null) : ConvertibleToJava<OSPolicyResourceExecResourceExecArgs>

A file or script to execute.

Link copied to clipboard
data class OSPolicyResourceFileArgs(val allowInsecure: Output<Boolean>? = null, val gcs: Output<OSPolicyResourceFileGcsArgs>? = null, val localPath: Output<String>? = null, val remote: Output<OSPolicyResourceFileRemoteArgs>? = null) : ConvertibleToJava<OSPolicyResourceFileArgs>

A remote or local file.

Link copied to clipboard
data class OSPolicyResourceFileGcsArgs(val bucket: Output<String>, val generation: Output<String>? = null, val object: Output<String>) : ConvertibleToJava<OSPolicyResourceFileGcsArgs>

Specifies a file available as a Cloud Storage Object.

Link copied to clipboard
data class OSPolicyResourceFileRemoteArgs(val sha256Checksum: Output<String>? = null, val uri: Output<String>) : ConvertibleToJava<OSPolicyResourceFileRemoteArgs>

Specifies a file available via some URI.

Link copied to clipboard
data class OSPolicyResourceFileResourceArgs(val content: Output<String>? = null, val file: Output<OSPolicyResourceFileArgs>? = null, val path: Output<String>, val permissions: Output<String>? = null, val state: Output<OSPolicyResourceFileResourceState>) : ConvertibleToJava<OSPolicyResourceFileResourceArgs>

A resource that manages the state of a file.

Link copied to clipboard
data class OSPolicyResourceGroupArgs(val inventoryFilters: Output<List<OSPolicyInventoryFilterArgs>>? = null, val resources: Output<List<OSPolicyResourceArgs>>) : ConvertibleToJava<OSPolicyResourceGroupArgs>

Resource groups provide a mechanism to group OS policy resources. Resource groups enable OS policy authors to create a single OS policy to be applied to VMs running different operating Systems. When the OS policy is applied to a target VM, the appropriate resource group within the OS policy is selected based on the OSFilter specified within the resource group.

Link copied to clipboard
data class OSPolicyResourcePackageResourceAPTArgs(val name: Output<String>) : ConvertibleToJava<OSPolicyResourcePackageResourceAPTArgs>

A package managed by APT. - install: apt-get update && apt-get -y install [name] - remove: apt-get -y remove [name]

Link copied to clipboard
data class OSPolicyResourcePackageResourceArgs(val apt: Output<OSPolicyResourcePackageResourceAPTArgs>? = null, val deb: Output<OSPolicyResourcePackageResourceDebArgs>? = null, val desiredState: Output<OSPolicyResourcePackageResourceDesiredState>, val googet: Output<OSPolicyResourcePackageResourceGooGetArgs>? = null, val msi: Output<OSPolicyResourcePackageResourceMSIArgs>? = null, val rpm: Output<OSPolicyResourcePackageResourceRPMArgs>? = null, val yum: Output<OSPolicyResourcePackageResourceYUMArgs>? = null, val zypper: Output<OSPolicyResourcePackageResourceZypperArgs>? = null) : ConvertibleToJava<OSPolicyResourcePackageResourceArgs>

A resource that manages a system package.

Link copied to clipboard
data class OSPolicyResourcePackageResourceDebArgs(val pullDeps: Output<Boolean>? = null, val source: Output<OSPolicyResourceFileArgs>) : ConvertibleToJava<OSPolicyResourcePackageResourceDebArgs>

A deb package file. dpkg packages only support INSTALLED state.

data class OSPolicyResourcePackageResourceGooGetArgs(val name: Output<String>) : ConvertibleToJava<OSPolicyResourcePackageResourceGooGetArgs>

A package managed by GooGet. - install: googet -noconfirm install package - remove: googet -noconfirm remove package

Link copied to clipboard
data class OSPolicyResourcePackageResourceMSIArgs(val properties: Output<List<String>>? = null, val source: Output<OSPolicyResourceFileArgs>) : ConvertibleToJava<OSPolicyResourcePackageResourceMSIArgs>

An MSI package. MSI packages only support INSTALLED state.

Link copied to clipboard
data class OSPolicyResourcePackageResourceRPMArgs(val pullDeps: Output<Boolean>? = null, val source: Output<OSPolicyResourceFileArgs>) : ConvertibleToJava<OSPolicyResourcePackageResourceRPMArgs>

An RPM package file. RPM packages only support INSTALLED state.

Link copied to clipboard
data class OSPolicyResourcePackageResourceYUMArgs(val name: Output<String>) : ConvertibleToJava<OSPolicyResourcePackageResourceYUMArgs>

A package managed by YUM. - install: yum -y install package - remove: yum -y remove package

data class OSPolicyResourcePackageResourceZypperArgs(val name: Output<String>) : ConvertibleToJava<OSPolicyResourcePackageResourceZypperArgs>

A package managed by Zypper. - install: zypper -y install package - remove: zypper -y rm package

data class OSPolicyResourceRepositoryResourceAptRepositoryArgs(val archiveType: Output<OSPolicyResourceRepositoryResourceAptRepositoryArchiveType>, val components: Output<List<String>>, val distribution: Output<String>, val gpgKey: Output<String>? = null, val uri: Output<String>) : ConvertibleToJava<OSPolicyResourceRepositoryResourceAptRepositoryArgs>

Represents a single apt package repository. These will be added to a repo file that will be managed at /etc/apt/sources.list.d/google_osconfig.list.

Link copied to clipboard
data class OSPolicyResourceRepositoryResourceArgs(val apt: Output<OSPolicyResourceRepositoryResourceAptRepositoryArgs>? = null, val goo: Output<OSPolicyResourceRepositoryResourceGooRepositoryArgs>? = null, val yum: Output<OSPolicyResourceRepositoryResourceYumRepositoryArgs>? = null, val zypper: Output<OSPolicyResourceRepositoryResourceZypperRepositoryArgs>? = null) : ConvertibleToJava<OSPolicyResourceRepositoryResourceArgs>

A resource that manages a package repository.

data class OSPolicyResourceRepositoryResourceGooRepositoryArgs(val name: Output<String>, val url: Output<String>) : ConvertibleToJava<OSPolicyResourceRepositoryResourceGooRepositoryArgs>

Represents a Goo package repository. These are added to a repo file that is managed at C:/ProgramData/GooGet/repos/google_osconfig.repo.

data class OSPolicyResourceRepositoryResourceYumRepositoryArgs(val baseUrl: Output<String>, val displayName: Output<String>? = null, val gpgKeys: Output<List<String>>? = null, val id: Output<String>) : ConvertibleToJava<OSPolicyResourceRepositoryResourceYumRepositoryArgs>

Represents a single yum package repository. These are added to a repo file that is managed at /etc/yum.repos.d/google_osconfig.repo.

data class OSPolicyResourceRepositoryResourceZypperRepositoryArgs(val baseUrl: Output<String>, val displayName: Output<String>? = null, val gpgKeys: Output<List<String>>? = null, val id: Output<String>) : ConvertibleToJava<OSPolicyResourceRepositoryResourceZypperRepositoryArgs>

Represents a single zypper package repository. These are added to a repo file that is managed at /etc/zypp/repos.d/google_osconfig.repo.

Link copied to clipboard
data class PatchConfigArgs(val apt: Output<AptSettingsArgs>? = null, val goo: Output<GooSettingsArgs>? = null, val migInstancesAllowed: Output<Boolean>? = null, val postStep: Output<ExecStepArgs>? = null, val preStep: Output<ExecStepArgs>? = null, val rebootConfig: Output<PatchConfigRebootConfig>? = null, val windowsUpdate: Output<WindowsUpdateSettingsArgs>? = null, val yum: Output<YumSettingsArgs>? = null, val zypper: Output<ZypperSettingsArgs>? = null) : ConvertibleToJava<PatchConfigArgs>

Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance.

Link copied to clipboard
Link copied to clipboard
data class PatchInstanceFilterArgs(val all: Output<Boolean>? = null, val groupLabels: Output<List<PatchInstanceFilterGroupLabelArgs>>? = null, val instanceNamePrefixes: Output<List<String>>? = null, val instances: Output<List<String>>? = null, val zones: Output<List<String>>? = null) : ConvertibleToJava<PatchInstanceFilterArgs>

A filter to target VM instances for patching. The targeted VMs must meet all criteria specified. So if both labels and zones are specified, the patch job targets only VMs with those labels and in those zones.

Link copied to clipboard
data class PatchInstanceFilterGroupLabelArgs(val labels: Output<Map<String, String>>? = null) : ConvertibleToJava<PatchInstanceFilterGroupLabelArgs>

Targets a group of VM instances by using their assigned labels. Labels are key-value pairs. A GroupLabel is a combination of labels that is used to target VMs for a patch job. For example, a patch job can target VMs that have the following GroupLabel: {"env":"test", "app":"web"}. This means that the patch job is applied to VMs that have both the labels env=test and app=web.

Link copied to clipboard
data class PatchRolloutArgs(val disruptionBudget: Output<FixedOrPercentArgs>? = null, val mode: Output<PatchRolloutMode>? = null) : ConvertibleToJava<PatchRolloutArgs>

Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs.

Link copied to clipboard
Link copied to clipboard
data class RecurringScheduleArgs(val endTime: Output<String>? = null, val frequency: Output<RecurringScheduleFrequency>, val monthly: Output<MonthlyScheduleArgs>, val startTime: Output<String>? = null, val timeOfDay: Output<TimeOfDayArgs>, val timeZone: Output<TimeZoneArgs>, val weekly: Output<WeeklyScheduleArgs>) : ConvertibleToJava<RecurringScheduleArgs>

Sets the time for recurring patch deployments.

Link copied to clipboard
data class TimeOfDayArgs(val hours: Output<Int>? = null, val minutes: Output<Int>? = null, val nanos: Output<Int>? = null, val seconds: Output<Int>? = null) : ConvertibleToJava<TimeOfDayArgs>

Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and google.protobuf.Timestamp.

Link copied to clipboard
Link copied to clipboard
data class TimeZoneArgs(val id: Output<String>? = null, val version: Output<String>? = null) : ConvertibleToJava<TimeZoneArgs>

Represents a time zone from the IANA Time Zone Database.

Link copied to clipboard
Link copied to clipboard
data class WeekDayOfMonthArgs(val dayOfWeek: Output<WeekDayOfMonthDayOfWeek>, val dayOffset: Output<Int>? = null, val weekOrdinal: Output<Int>) : ConvertibleToJava<WeekDayOfMonthArgs>

Represents one week day in a month. An example is "the 4th Sunday".

Link copied to clipboard
Link copied to clipboard
data class WeeklyScheduleArgs(val dayOfWeek: Output<WeeklyScheduleDayOfWeek>) : ConvertibleToJava<WeeklyScheduleArgs>

Represents a weekly schedule.

Link copied to clipboard
Link copied to clipboard
data class WindowsUpdateSettingsArgs(val classifications: Output<List<WindowsUpdateSettingsClassificationsItem>>? = null, val excludes: Output<List<String>>? = null, val exclusivePatches: Output<List<String>>? = null) : ConvertibleToJava<WindowsUpdateSettingsArgs>

Windows patching is performed using the Windows Update Agent.

Link copied to clipboard
data class YumSettingsArgs(val excludes: Output<List<String>>? = null, val exclusivePackages: Output<List<String>>? = null, val minimal: Output<Boolean>? = null, val security: Output<Boolean>? = null) : ConvertibleToJava<YumSettingsArgs>

Yum patching is performed by executing yum update. Additional options can be set to control how this is executed. Note that not all settings are supported on all platforms.

Link copied to clipboard
Link copied to clipboard
data class ZypperSettingsArgs(val categories: Output<List<String>>? = null, val excludes: Output<List<String>>? = null, val exclusivePatches: Output<List<String>>? = null, val severities: Output<List<String>>? = null, val withOptional: Output<Boolean>? = null, val withUpdate: Output<Boolean>? = null) : ConvertibleToJava<ZypperSettingsArgs>

Zypper patching is performed by running zypper patch. See also https://en.opensuse.org/SDB:Zypper_manual.

Link copied to clipboard