Classes
AptSettings
Apt patching is completed by executing apt-get update && apt-get
upgrade
. Additional options can be set to control how this is executed.
AptSettings.Types
Container for nested types declared in the AptSettings message type.
CVSSv3
Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document
CVSSv3.Types
Container for nested types declared in the CVSSv3 message type.
CancelPatchJobRequest
Message for canceling a patch job.
CreateOSPolicyAssignmentRequest
A request message to create an OS policy assignment
CreatePatchDeploymentRequest
A request message for creating a patch deployment.
DeleteOSPolicyAssignmentRequest
A request message for deleting a OS policy assignment.
DeletePatchDeploymentRequest
A request message for deleting a patch deployment.
ExecStep
A step that runs an executable for a PatchJob.
ExecStepConfig
Common configurations for an ExecStep.
ExecStepConfig.Types
Container for nested types declared in the ExecStepConfig message type.
ExecutePatchJobRequest
A request message to initiate patching across Compute Engine instances.
FixedOrPercent
Message encapsulating a value that can be either absolute ("fixed") or relative ("percent") to a value.
GcsObject
Cloud Storage object representation.
GetInventoryRequest
A request message for getting inventory data for the specified VM.
GetOSPolicyAssignmentReportRequest
Get a report of the OS policy assignment for a VM instance.
GetOSPolicyAssignmentRequest
A request message to get an OS policy assignment
GetPatchDeploymentRequest
A request message for retrieving a patch deployment.
GetPatchJobRequest
Request to get an active or completed patch job.
GetVulnerabilityReportRequest
A request message for getting the vulnerability report for the specified VM.
GooSettings
Googet patching is performed by running googet update
.
Instance
Namespace for instance state enums.
Instance.Types
Container for nested types declared in the Instance message type.
InstanceName
Resource name for the Instance
resource.
InstanceOSPolicyAssignmentName
Resource name for the InstanceOSPolicyAssignment
resource.
Inventory
This API resource represents the available inventory data for a Compute Engine virtual machine (VM) instance at a given point in time.
You can use this API resource to determine the inventory data of your VM.
For more information, see Information provided by OS inventory management.
Inventory.Types
Container for nested types declared in the Inventory message type.
Inventory.Types.Item
A single piece of inventory on a VM.
Inventory.Types.Item.Types
Container for nested types declared in the Item message type.
Inventory.Types.OsInfo
Operating system information for the VM.
Inventory.Types.SoftwarePackage
Software package information of the operating system.
Inventory.Types.VersionedPackage
Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers.
Inventory.Types.WindowsApplication
Contains information about a Windows application that is retrieved from the Windows Registry. For more information about these fields, see: https://docs.microsoft.com/en-us/windows/win32/msi/uninstall-registry-key
Inventory.Types.WindowsQuickFixEngineeringPackage
Information related to a Quick Fix Engineering package. Fields are taken from Windows QuickFixEngineering Interface and match the source names: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering
Inventory.Types.WindowsUpdatePackage
Details related to a Windows Update package. Field data and names are taken from Windows Update API IUpdate Interface: https://docs.microsoft.com/en-us/windows/win32/api/_wua/ Descriptive fields like title, and description are localized based on the locale of the VM being updated.
Inventory.Types.WindowsUpdatePackage.Types
Container for nested types declared in the WindowsUpdatePackage message type.
Inventory.Types.WindowsUpdatePackage.Types.WindowsUpdateCategory
Categories specified by the Windows Update.
Inventory.Types.ZypperPatch
Details related to a Zypper Patch.
InventoryName
Resource name for the Inventory
resource.
ListInventoriesRequest
A request message for listing inventory data for all VMs in the specified location.
ListInventoriesResponse
A response message for listing inventory data for all VMs in a specified location.
ListOSPolicyAssignmentReportsRequest
List the OS policy assignment reports for VM instances.
ListOSPolicyAssignmentReportsResponse
A response message for listing OS Policy assignment reports including the page of results and page token.
ListOSPolicyAssignmentRevisionsRequest
A request message to list revisions for a OS policy assignment
ListOSPolicyAssignmentRevisionsResponse
A response message for listing all revisions for a OS policy assignment.
ListOSPolicyAssignmentsRequest
A request message to list OS policy assignments for a parent resource
ListOSPolicyAssignmentsResponse
A response message for listing all assignments under given parent.
ListPatchDeploymentsRequest
A request message for listing patch deployments.
ListPatchDeploymentsResponse
A response message for listing patch deployments.
ListPatchJobInstanceDetailsRequest
Request to list details for all instances that are part of a patch job.
ListPatchJobInstanceDetailsResponse
A response message for listing the instances details for a patch job.
ListPatchJobsRequest
A request message for listing patch jobs.
ListPatchJobsResponse
A response message for listing patch jobs.
ListVulnerabilityReportsRequest
A request message for listing vulnerability reports for all VM instances in the specified location.
ListVulnerabilityReportsResponse
A response message for listing vulnerability reports for all VM instances in the specified location.
MonthlySchedule
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".
OSPolicy
An OS policy defines the desired state configuration for a VM.
OSPolicy.Types
Container for nested types declared in the OSPolicy message type.
OSPolicy.Types.InventoryFilter
Filtering criteria to select VMs based on inventory details.
OSPolicy.Types.Resource
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.
OSPolicy.Types.Resource.Types
Container for nested types declared in the Resource message type.
OSPolicy.Types.Resource.Types.ExecResource
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.
OSPolicy.Types.Resource.Types.ExecResource.Types
Container for nested types declared in the ExecResource message type.
OSPolicy.Types.Resource.Types.ExecResource.Types.Exec
A file or script to execute.
OSPolicy.Types.Resource.Types.ExecResource.Types.Exec.Types
Container for nested types declared in the Exec message type.
OSPolicy.Types.Resource.Types.File
A remote or local file.
OSPolicy.Types.Resource.Types.File.Types
Container for nested types declared in the File message type.
OSPolicy.Types.Resource.Types.File.Types.Gcs
Specifies a file available as a Cloud Storage Object.
OSPolicy.Types.Resource.Types.File.Types.Remote
Specifies a file available via some URI.
OSPolicy.Types.Resource.Types.FileResource
A resource that manages the state of a file.
OSPolicy.Types.Resource.Types.FileResource.Types
Container for nested types declared in the FileResource message type.
OSPolicy.Types.Resource.Types.PackageResource
A resource that manages a system package.
OSPolicy.Types.Resource.Types.PackageResource.Types
Container for nested types declared in the PackageResource message type.
OSPolicy.Types.Resource.Types.PackageResource.Types.APT
A package managed by APT.
- install:
apt-get update && apt-get -y install [name]
- remove:
apt-get -y remove [name]
OSPolicy.Types.Resource.Types.PackageResource.Types.Deb
A deb package file. dpkg packages only support INSTALLED state.
OSPolicy.Types.Resource.Types.PackageResource.Types.GooGet
A package managed by GooGet.
- install:
googet -noconfirm install package
- remove:
googet -noconfirm remove package
OSPolicy.Types.Resource.Types.PackageResource.Types.MSI
An MSI package. MSI packages only support INSTALLED state.
OSPolicy.Types.Resource.Types.PackageResource.Types.RPM
An RPM package file. RPM packages only support INSTALLED state.
OSPolicy.Types.Resource.Types.PackageResource.Types.YUM
A package managed by YUM.
- install:
yum -y install package
- remove:
yum -y remove package
OSPolicy.Types.Resource.Types.PackageResource.Types.Zypper
A package managed by Zypper.
- install:
zypper -y install package
- remove:
zypper -y rm package
OSPolicy.Types.Resource.Types.RepositoryResource
A resource that manages a package repository.
OSPolicy.Types.Resource.Types.RepositoryResource.Types
Container for nested types declared in the RepositoryResource message type.
OSPolicy.Types.Resource.Types.RepositoryResource.Types.AptRepository
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
.
OSPolicy.Types.Resource.Types.RepositoryResource.Types.AptRepository.Types
Container for nested types declared in the AptRepository message type.
OSPolicy.Types.Resource.Types.RepositoryResource.Types.GooRepository
Represents a Goo package repository. These are added to a repo file
that is managed at
C:/ProgramData/GooGet/repos/google_osconfig.repo
.
OSPolicy.Types.Resource.Types.RepositoryResource.Types.YumRepository
Represents a single yum package repository. These are added to a
repo file that is managed at
/etc/yum.repos.d/google_osconfig.repo
.
OSPolicy.Types.Resource.Types.RepositoryResource.Types.ZypperRepository
Represents a single zypper package repository. These are added to a
repo file that is managed at
/etc/zypp/repos.d/google_osconfig.repo
.
OSPolicy.Types.ResourceGroup
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.
OSPolicyAssignment
OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances.
An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script.
For more information, see OS policy and OS policy assignment.
OSPolicyAssignment.Types
Container for nested types declared in the OSPolicyAssignment message type.
OSPolicyAssignment.Types.InstanceFilter
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.
OSPolicyAssignment.Types.InstanceFilter.Types
Container for nested types declared in the InstanceFilter message type.
OSPolicyAssignment.Types.InstanceFilter.Types.Inventory
VM inventory details.
OSPolicyAssignment.Types.LabelSet
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
andtype=webserver
will only be applicable for those VMs with both labels present.
OSPolicyAssignment.Types.Rollout
Message to configure the rollout at the zonal level for the OS policy assignment.
OSPolicyAssignmentName
Resource name for the OSPolicyAssignment
resource.
OSPolicyAssignmentOperationMetadata
OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations.
OSPolicyAssignmentOperationMetadata.Types
Container for nested types declared in the OSPolicyAssignmentOperationMetadata message type.
OSPolicyAssignmentReport
A report of the OS policy assignment status for a given instance.
OSPolicyAssignmentReport.Types
Container for nested types declared in the OSPolicyAssignmentReport message type.
OSPolicyAssignmentReport.Types.OSPolicyCompliance
Compliance data for an OS policy
OSPolicyAssignmentReport.Types.OSPolicyCompliance.Types
Container for nested types declared in the OSPolicyCompliance message type.
OSPolicyAssignmentReport.Types.OSPolicyCompliance.Types.OSPolicyResourceCompliance
Compliance data for an OS policy resource.
OSPolicyAssignmentReport.Types.OSPolicyCompliance.Types.OSPolicyResourceCompliance.Types
Container for nested types declared in the OSPolicyResourceCompliance message type.
OSPolicyAssignmentReport.Types.OSPolicyCompliance.Types.OSPolicyResourceCompliance.Types.ExecResourceOutput
ExecResource specific output.
OSPolicyAssignmentReport.Types.OSPolicyCompliance.Types.OSPolicyResourceCompliance.Types.OSPolicyResourceConfigStep
Step performed by the OS Config agent for configuring an
OSPolicy
resource to its desired state.
OSPolicyAssignmentReport.Types.OSPolicyCompliance.Types.OSPolicyResourceCompliance.Types.OSPolicyResourceConfigStep.Types
Container for nested types declared in the OSPolicyResourceConfigStep message type.
OSPolicyAssignmentReportName
Resource name for the OSPolicyAssignmentReport
resource.
OneTimeSchedule
Sets the time for a one time patch deployment. Timestamp is in RFC3339 text format.
OsConfigService
OS Config API
The OS Config service is a server-side component that you can use to manage package installations and patch jobs for virtual machine instances.
OsConfigService.OsConfigServiceBase
Base class for server-side implementations of OsConfigService
OsConfigService.OsConfigServiceClient
Client for OsConfigService
OsConfigServiceClient
OsConfigService client wrapper, for convenient use.
OsConfigServiceClientBuilder
Builder class for OsConfigServiceClient to provide simple configuration of credentials, endpoint etc.
OsConfigServiceClientImpl
OsConfigService client wrapper implementation, for convenient use.
OsConfigServiceSettings
Settings for OsConfigServiceClient instances.
OsConfigZonalService
Zonal OS Config API
The OS Config service is the server-side component that allows users to manage package installations and patch jobs for Compute Engine VM instances.
OsConfigZonalService.OsConfigZonalServiceBase
Base class for server-side implementations of OsConfigZonalService
OsConfigZonalService.OsConfigZonalServiceClient
Client for OsConfigZonalService
OsConfigZonalServiceClient
OsConfigZonalService client wrapper, for convenient use.
OsConfigZonalServiceClientBuilder
Builder class for OsConfigZonalServiceClient to provide simple configuration of credentials, endpoint etc.
OsConfigZonalServiceClientImpl
OsConfigZonalService client wrapper implementation, for convenient use.
OsConfigZonalServiceSettings
Settings for OsConfigZonalServiceClient instances.
PatchConfig
Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance.
PatchConfig.Types
Container for nested types declared in the PatchConfig message type.
PatchDeployment
Patch deployments are configurations that individual patch jobs use to complete a patch. These configurations include instance filter, package repository settings, and a schedule. For more information about creating and managing patch deployments, see Scheduling patch jobs.
PatchDeployment.Types
Container for nested types declared in the PatchDeployment message type.
PatchDeploymentName
Resource name for the PatchDeployment
resource.
PatchInstanceFilter
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.
PatchInstanceFilter.Types
Container for nested types declared in the PatchInstanceFilter message type.
PatchInstanceFilter.Types.GroupLabel
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
.
PatchJob
A high level representation of a patch job that is either in progress or has completed.
Instance details are not included in the job. To paginate through instance details, use ListPatchJobInstanceDetails.
For more information about patch jobs, see Creating patch jobs.
PatchJob.Types
Container for nested types declared in the PatchJob message type.
PatchJob.Types.InstanceDetailsSummary
A summary of the current patch state across all instances that this patch
job affects. Contains counts of instances in different states. These states
map to InstancePatchState
. List patch job instance details to see the
specific states of each instance.
PatchJobInstanceDetails
Patch details for a VM instance. For more information about reviewing VM instance details, see Listing all VM instance details for a specific patch job.
PatchJobName
Resource name for the PatchJob
resource.
PatchRollout
Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs.
PatchRollout.Types
Container for nested types declared in the PatchRollout message type.
PausePatchDeploymentRequest
A request message for pausing a patch deployment.
RecurringSchedule
Sets the time for recurring patch deployments.
RecurringSchedule.Types
Container for nested types declared in the RecurringSchedule message type.
ResumePatchDeploymentRequest
A request message for resuming a patch deployment.
UpdateOSPolicyAssignmentRequest
A request message to update an OS policy assignment
UpdatePatchDeploymentRequest
A request message for updating a patch deployment.
VulnerabilityReport
This API resource represents the vulnerability report for a specified Compute Engine virtual machine (VM) instance at a given point in time.
For more information, see Vulnerability reports.
VulnerabilityReport.Types
Container for nested types declared in the VulnerabilityReport message type.
VulnerabilityReport.Types.Vulnerability
A vulnerability affecting the VM instance.
VulnerabilityReport.Types.Vulnerability.Types
Container for nested types declared in the Vulnerability message type.
VulnerabilityReport.Types.Vulnerability.Types.Details
Contains metadata information for the vulnerability. This information is collected from the upstream feed of the operating system.
VulnerabilityReport.Types.Vulnerability.Types.Details.Types
Container for nested types declared in the Details message type.
VulnerabilityReport.Types.Vulnerability.Types.Details.Types.Reference
A reference for this vulnerability.
VulnerabilityReport.Types.Vulnerability.Types.Item
OS inventory item that is affected by a vulnerability or fixed as a result of a vulnerability.
VulnerabilityReportName
Resource name for the VulnerabilityReport
resource.
WeekDayOfMonth
Represents one week day in a month. An example is "the 4th Sunday".
WeeklySchedule
Represents a weekly schedule.
WindowsUpdateSettings
Windows patching is performed using the Windows Update Agent.
WindowsUpdateSettings.Types
Container for nested types declared in the WindowsUpdateSettings message type.
YumSettings
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.
ZypperSettings
Zypper patching is performed by running zypper patch
.
See also https://en.opensuse.org/SDB:Zypper_manual.
Enums
AptSettings.Types.Type
Apt patch type.
CVSSv3.Types.AttackComplexity
This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.
CVSSv3.Types.AttackVector
This metric reflects the context by which vulnerability exploitation is possible.
CVSSv3.Types.Impact
The Impact metrics capture the effects of a successfully exploited vulnerability on the component that suffers the worst outcome that is most directly and predictably associated with the attack.
CVSSv3.Types.PrivilegesRequired
This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.
CVSSv3.Types.Scope
The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.
CVSSv3.Types.UserInteraction
This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.
ExecStepConfig.ExecutableOneofCase
Enum of possible cases for the "executable" oneof.
ExecStepConfig.Types.Interpreter
The interpreter used to execute the a file.
FixedOrPercent.ModeOneofCase
Enum of possible cases for the "mode" oneof.
Instance.Types.PatchState
Patch state of an instance.
InstanceName.ResourceNameType
The possible contents of InstanceName.
InstanceOSPolicyAssignmentName.ResourceNameType
The possible contents of InstanceOSPolicyAssignmentName.
Inventory.Types.Item.DetailsOneofCase
Enum of possible cases for the "details" oneof.
Inventory.Types.Item.Types.OriginType
The origin of a specific inventory item.
Inventory.Types.Item.Types.Type
The different types of inventory that are tracked on a VM.
Inventory.Types.SoftwarePackage.DetailsOneofCase
Enum of possible cases for the "details" oneof.
InventoryName.ResourceNameType
The possible contents of InventoryName.
InventoryView
The view for inventory objects.
MonthlySchedule.DayOfMonthOneofCase
Enum of possible cases for the "day_of_month" oneof.
OSPolicy.Types.Mode
Policy mode
OSPolicy.Types.Resource.ResourceTypeOneofCase
Enum of possible cases for the "resource_type" oneof.
OSPolicy.Types.Resource.Types.ExecResource.Types.Exec.SourceOneofCase
Enum of possible cases for the "source" oneof.
OSPolicy.Types.Resource.Types.ExecResource.Types.Exec.Types.Interpreter
The interpreter to use.
OSPolicy.Types.Resource.Types.File.TypeOneofCase
Enum of possible cases for the "type" oneof.
OSPolicy.Types.Resource.Types.FileResource.SourceOneofCase
Enum of possible cases for the "source" oneof.
OSPolicy.Types.Resource.Types.FileResource.Types.DesiredState
Desired state of the file.
OSPolicy.Types.Resource.Types.PackageResource.SystemPackageOneofCase
Enum of possible cases for the "system_package" oneof.
OSPolicy.Types.Resource.Types.PackageResource.Types.DesiredState
The desired state that the OS Config agent maintains on the VM.
OSPolicy.Types.Resource.Types.RepositoryResource.RepositoryOneofCase
Enum of possible cases for the "repository" oneof.
OSPolicy.Types.Resource.Types.RepositoryResource.Types.AptRepository.Types.ArchiveType
Type of archive.
OSPolicyAssignment.Types.RolloutState
OS policy assignment rollout state
OSPolicyAssignmentName.ResourceNameType
The possible contents of OSPolicyAssignmentName.
OSPolicyAssignmentOperationMetadata.Types.APIMethod
The OS policy assignment API method.
OSPolicyAssignmentOperationMetadata.Types.RolloutState
State of the rollout
OSPolicyAssignmentReport.Types.OSPolicyCompliance.Types.ComplianceState
Possible compliance states for an os policy.
OSPolicyAssignmentReport.Types.OSPolicyCompliance.Types.OSPolicyResourceCompliance.OutputOneofCase
Enum of possible cases for the "output" oneof.
OSPolicyAssignmentReport.Types.OSPolicyCompliance.Types.OSPolicyResourceCompliance.Types.ComplianceState
Possible compliance states for a resource.
OSPolicyAssignmentReport.Types.OSPolicyCompliance.Types.OSPolicyResourceCompliance.Types.OSPolicyResourceConfigStep.Types.Type
Supported configuration step types
OSPolicyAssignmentReportName.ResourceNameType
The possible contents of OSPolicyAssignmentReportName.
PatchConfig.Types.RebootConfig
Post-patch reboot settings.
PatchDeployment.ScheduleOneofCase
Enum of possible cases for the "schedule" oneof.
PatchDeployment.Types.State
Represents state of patch peployment.
PatchDeploymentName.ResourceNameType
The possible contents of PatchDeploymentName.
PatchJob.Types.State
Enumeration of the various states a patch job passes through as it executes.
PatchJobName.ResourceNameType
The possible contents of PatchJobName.
PatchRollout.Types.Mode
Type of the rollout.
RecurringSchedule.ScheduleConfigOneofCase
Enum of possible cases for the "schedule_config" oneof.
RecurringSchedule.Types.Frequency
Specifies the frequency of the recurring patch deployments.
VulnerabilityReportName.ResourceNameType
The possible contents of VulnerabilityReportName.
WindowsUpdateSettings.Types.Classification
Microsoft Windows update classifications as defined in [1] https://support.microsoft.com/en-us/help/824684/description-of-the-standard-terminology-that-is-used-to-describe-micro