A client to OS Config API
The interfaces provided are listed below, along with usage samples.
OsConfigServiceClient
Service Description: 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.
Sample for OsConfigServiceClient:
// This snippet has been automatically generated for illustrative purposes only.
// It may require modifications to work in your environment.
try (OsConfigServiceClient osConfigServiceClient = OsConfigServiceClient.create()) {
PatchJobs.ExecutePatchJobRequest request =
PatchJobs.ExecutePatchJobRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setDescription("description-1724546052")
.setInstanceFilter(PatchJobs.PatchInstanceFilter.newBuilder().build())
.setPatchConfig(PatchJobs.PatchConfig.newBuilder().build())
.setDuration(Duration.newBuilder().build())
.setDryRun(true)
.setDisplayName("displayName1714148973")
.setRollout(PatchJobs.PatchRollout.newBuilder().build())
.build();
PatchJobs.PatchJob response = osConfigServiceClient.executePatchJob(request);
}
OsConfigZonalServiceClient
Service Description: 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.
Sample for OsConfigZonalServiceClient:
// This snippet has been automatically generated for illustrative purposes only.
// It may require modifications to work in your environment.
try (OsConfigZonalServiceClient osConfigZonalServiceClient =
OsConfigZonalServiceClient.create()) {
OSPolicyAssignmentName name =
OSPolicyAssignmentName.of("[PROJECT]", "[LOCATION]", "[OS_POLICY_ASSIGNMENT]");
OSPolicyAssignment response = osConfigZonalServiceClient.getOSPolicyAssignment(name);
}
Classes
CVSSv3
Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document
Protobuf type google.cloud.osconfig.v1.CVSSv3
CVSSv3.Builder
Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document
Protobuf type google.cloud.osconfig.v1.CVSSv3
Common
Common.FixedOrPercent
Message encapsulating a value that can be either absolute ("fixed") or relative ("percent") to a value.
Protobuf type google.cloud.osconfig.v1.FixedOrPercent
Common.FixedOrPercent.Builder
Message encapsulating a value that can be either absolute ("fixed") or relative ("percent") to a value.
Protobuf type google.cloud.osconfig.v1.FixedOrPercent
CreateOSPolicyAssignmentRequest
A request message to create an OS policy assignment
Protobuf type google.cloud.osconfig.v1.CreateOSPolicyAssignmentRequest
CreateOSPolicyAssignmentRequest.Builder
A request message to create an OS policy assignment
Protobuf type google.cloud.osconfig.v1.CreateOSPolicyAssignmentRequest
DeleteOSPolicyAssignmentRequest
A request message for deleting a OS policy assignment.
Protobuf type google.cloud.osconfig.v1.DeleteOSPolicyAssignmentRequest
DeleteOSPolicyAssignmentRequest.Builder
A request message for deleting a OS policy assignment.
Protobuf type google.cloud.osconfig.v1.DeleteOSPolicyAssignmentRequest
GetInventoryRequest
A request message for getting inventory data for the specified VM.
Protobuf type google.cloud.osconfig.v1.GetInventoryRequest
GetInventoryRequest.Builder
A request message for getting inventory data for the specified VM.
Protobuf type google.cloud.osconfig.v1.GetInventoryRequest
GetOSPolicyAssignmentReportRequest
Get a report of the OS policy assignment for a VM instance.
Protobuf type google.cloud.osconfig.v1.GetOSPolicyAssignmentReportRequest
GetOSPolicyAssignmentReportRequest.Builder
Get a report of the OS policy assignment for a VM instance.
Protobuf type google.cloud.osconfig.v1.GetOSPolicyAssignmentReportRequest
GetOSPolicyAssignmentRequest
A request message to get an OS policy assignment
Protobuf type google.cloud.osconfig.v1.GetOSPolicyAssignmentRequest
GetOSPolicyAssignmentRequest.Builder
A request message to get an OS policy assignment
Protobuf type google.cloud.osconfig.v1.GetOSPolicyAssignmentRequest
GetVulnerabilityReportRequest
A request message for getting the vulnerability report for the specified VM.
Protobuf type google.cloud.osconfig.v1.GetVulnerabilityReportRequest
GetVulnerabilityReportRequest.Builder
A request message for getting the vulnerability report for the specified VM.
Protobuf type google.cloud.osconfig.v1.GetVulnerabilityReportRequest
InstanceName
InstanceName.Builder
Builder for projects/{project}/zones/{zone}/instances/{instance}.
InstanceName.ProjectLocationInstanceBuilder
Builder for projects/{project}/locations/{location}/instances/{instance}.
InstanceOSPolicyAssignmentName
InstanceOSPolicyAssignmentName.Builder
Builder for projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/{assignment}.
Inventories
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.
Protobuf type google.cloud.osconfig.v1.Inventory
Inventory.Builder
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.
Protobuf type google.cloud.osconfig.v1.Inventory
Inventory.Item
A single piece of inventory on a VM.
Protobuf type google.cloud.osconfig.v1.Inventory.Item
Inventory.Item.Builder
A single piece of inventory on a VM.
Protobuf type google.cloud.osconfig.v1.Inventory.Item
Inventory.OsInfo
Operating system information for the VM.
Protobuf type google.cloud.osconfig.v1.Inventory.OsInfo
Inventory.OsInfo.Builder
Operating system information for the VM.
Protobuf type google.cloud.osconfig.v1.Inventory.OsInfo
Inventory.SoftwarePackage
Software package information of the operating system.
Protobuf type google.cloud.osconfig.v1.Inventory.SoftwarePackage
Inventory.SoftwarePackage.Builder
Software package information of the operating system.
Protobuf type google.cloud.osconfig.v1.Inventory.SoftwarePackage
Inventory.VersionedPackage
Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers.
Protobuf type google.cloud.osconfig.v1.Inventory.VersionedPackage
Inventory.VersionedPackage.Builder
Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers.
Protobuf type google.cloud.osconfig.v1.Inventory.VersionedPackage
Inventory.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
Protobuf type google.cloud.osconfig.v1.Inventory.WindowsApplication
Inventory.WindowsApplication.Builder
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
Protobuf type google.cloud.osconfig.v1.Inventory.WindowsApplication
Inventory.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
Protobuf type google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage
Inventory.WindowsQuickFixEngineeringPackage.Builder
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
Protobuf type google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage
Inventory.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.
Protobuf type google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage
Inventory.WindowsUpdatePackage.Builder
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.
Protobuf type google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage
Inventory.WindowsUpdatePackage.WindowsUpdateCategory
Categories specified by the Windows Update.
Protobuf type
google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory
Inventory.WindowsUpdatePackage.WindowsUpdateCategory.Builder
Categories specified by the Windows Update.
Protobuf type
google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory
Inventory.ZypperPatch
Details related to a Zypper Patch.
Protobuf type google.cloud.osconfig.v1.Inventory.ZypperPatch
Inventory.ZypperPatch.Builder
Details related to a Zypper Patch.
Protobuf type google.cloud.osconfig.v1.Inventory.ZypperPatch
InventoryName
InventoryName.Builder
Builder for projects/{project}/locations/{location}/instances/{instance}/inventory.
ListInventoriesRequest
A request message for listing inventory data for all VMs in the specified location.
Protobuf type google.cloud.osconfig.v1.ListInventoriesRequest
ListInventoriesRequest.Builder
A request message for listing inventory data for all VMs in the specified location.
Protobuf type google.cloud.osconfig.v1.ListInventoriesRequest
ListInventoriesResponse
A response message for listing inventory data for all VMs in a specified location.
Protobuf type google.cloud.osconfig.v1.ListInventoriesResponse
ListInventoriesResponse.Builder
A response message for listing inventory data for all VMs in a specified location.
Protobuf type google.cloud.osconfig.v1.ListInventoriesResponse
ListOSPolicyAssignmentReportsRequest
List the OS policy assignment reports for VM instances.
Protobuf type google.cloud.osconfig.v1.ListOSPolicyAssignmentReportsRequest
ListOSPolicyAssignmentReportsRequest.Builder
List the OS policy assignment reports for VM instances.
Protobuf type google.cloud.osconfig.v1.ListOSPolicyAssignmentReportsRequest
ListOSPolicyAssignmentReportsResponse
A response message for listing OS Policy assignment reports including the page of results and page token.
Protobuf type google.cloud.osconfig.v1.ListOSPolicyAssignmentReportsResponse
ListOSPolicyAssignmentReportsResponse.Builder
A response message for listing OS Policy assignment reports including the page of results and page token.
Protobuf type google.cloud.osconfig.v1.ListOSPolicyAssignmentReportsResponse
ListOSPolicyAssignmentRevisionsRequest
A request message to list revisions for a OS policy assignment
Protobuf type google.cloud.osconfig.v1.ListOSPolicyAssignmentRevisionsRequest
ListOSPolicyAssignmentRevisionsRequest.Builder
A request message to list revisions for a OS policy assignment
Protobuf type google.cloud.osconfig.v1.ListOSPolicyAssignmentRevisionsRequest
ListOSPolicyAssignmentRevisionsResponse
A response message for listing all revisions for a OS policy assignment.
Protobuf type google.cloud.osconfig.v1.ListOSPolicyAssignmentRevisionsResponse
ListOSPolicyAssignmentRevisionsResponse.Builder
A response message for listing all revisions for a OS policy assignment.
Protobuf type google.cloud.osconfig.v1.ListOSPolicyAssignmentRevisionsResponse
ListOSPolicyAssignmentsRequest
A request message to list OS policy assignments for a parent resource
Protobuf type google.cloud.osconfig.v1.ListOSPolicyAssignmentsRequest
ListOSPolicyAssignmentsRequest.Builder
A request message to list OS policy assignments for a parent resource
Protobuf type google.cloud.osconfig.v1.ListOSPolicyAssignmentsRequest
ListOSPolicyAssignmentsResponse
A response message for listing all assignments under given parent.
Protobuf type google.cloud.osconfig.v1.ListOSPolicyAssignmentsResponse
ListOSPolicyAssignmentsResponse.Builder
A response message for listing all assignments under given parent.
Protobuf type google.cloud.osconfig.v1.ListOSPolicyAssignmentsResponse
ListVulnerabilityReportsRequest
A request message for listing vulnerability reports for all VM instances in the specified location.
Protobuf type google.cloud.osconfig.v1.ListVulnerabilityReportsRequest
ListVulnerabilityReportsRequest.Builder
A request message for listing vulnerability reports for all VM instances in the specified location.
Protobuf type google.cloud.osconfig.v1.ListVulnerabilityReportsRequest
ListVulnerabilityReportsResponse
A response message for listing vulnerability reports for all VM instances in the specified location.
Protobuf type google.cloud.osconfig.v1.ListVulnerabilityReportsResponse
ListVulnerabilityReportsResponse.Builder
A response message for listing vulnerability reports for all VM instances in the specified location.
Protobuf type google.cloud.osconfig.v1.ListVulnerabilityReportsResponse
LocationName
LocationName.Builder
Builder for projects/{project}/locations/{location}.
OSPolicy
An OS policy defines the desired state configuration for a VM.
Protobuf type google.cloud.osconfig.v1.OSPolicy
OSPolicy.Builder
An OS policy defines the desired state configuration for a VM.
Protobuf type google.cloud.osconfig.v1.OSPolicy
OSPolicy.InventoryFilter
Filtering criteria to select VMs based on inventory details.
Protobuf type google.cloud.osconfig.v1.OSPolicy.InventoryFilter
OSPolicy.InventoryFilter.Builder
Filtering criteria to select VMs based on inventory details.
Protobuf type google.cloud.osconfig.v1.OSPolicy.InventoryFilter
OSPolicy.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.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource
OSPolicy.Resource.Builder
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.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource
OSPolicy.Resource.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.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.ExecResource
OSPolicy.Resource.ExecResource.Builder
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.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.ExecResource
OSPolicy.Resource.ExecResource.Exec
A file or script to execute.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.ExecResource.Exec
OSPolicy.Resource.ExecResource.Exec.Builder
A file or script to execute.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.ExecResource.Exec
OSPolicy.Resource.File
A remote or local file.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.File
OSPolicy.Resource.File.Builder
A remote or local file.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.File
OSPolicy.Resource.File.Gcs
Specifies a file available as a Cloud Storage Object.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.File.Gcs
OSPolicy.Resource.File.Gcs.Builder
Specifies a file available as a Cloud Storage Object.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.File.Gcs
OSPolicy.Resource.File.Remote
Specifies a file available via some URI.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.File.Remote
OSPolicy.Resource.File.Remote.Builder
Specifies a file available via some URI.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.File.Remote
OSPolicy.Resource.FileResource
A resource that manages the state of a file.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.FileResource
OSPolicy.Resource.FileResource.Builder
A resource that manages the state of a file.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.FileResource
OSPolicy.Resource.PackageResource
A resource that manages a system package.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource
OSPolicy.Resource.PackageResource.APT
A package managed by APT.
- install:
apt-get update && apt-get -y install [name]
- remove:
apt-get -y remove [name]
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.APT
OSPolicy.Resource.PackageResource.APT.Builder
A package managed by APT.
- install:
apt-get update && apt-get -y install [name]
- remove:
apt-get -y remove [name]
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.APT
OSPolicy.Resource.PackageResource.Builder
A resource that manages a system package.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource
OSPolicy.Resource.PackageResource.Deb
A deb package file. dpkg packages only support INSTALLED state.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.Deb
OSPolicy.Resource.PackageResource.Deb.Builder
A deb package file. dpkg packages only support INSTALLED state.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.Deb
OSPolicy.Resource.PackageResource.GooGet
A package managed by GooGet.
- install:
googet -noconfirm install package
- remove:
googet -noconfirm remove package
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.GooGet
OSPolicy.Resource.PackageResource.GooGet.Builder
A package managed by GooGet.
- install:
googet -noconfirm install package
- remove:
googet -noconfirm remove package
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.GooGet
OSPolicy.Resource.PackageResource.MSI
An MSI package. MSI packages only support INSTALLED state.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.MSI
OSPolicy.Resource.PackageResource.MSI.Builder
An MSI package. MSI packages only support INSTALLED state.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.MSI
OSPolicy.Resource.PackageResource.RPM
An RPM package file. RPM packages only support INSTALLED state.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.RPM
OSPolicy.Resource.PackageResource.RPM.Builder
An RPM package file. RPM packages only support INSTALLED state.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.RPM
OSPolicy.Resource.PackageResource.YUM
A package managed by YUM.
- install:
yum -y install package
- remove:
yum -y remove package
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.YUM
OSPolicy.Resource.PackageResource.YUM.Builder
A package managed by YUM.
- install:
yum -y install package
- remove:
yum -y remove package
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.YUM
OSPolicy.Resource.PackageResource.Zypper
A package managed by Zypper.
- install:
zypper -y install package
- remove:
zypper -y rm package
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.Zypper
OSPolicy.Resource.PackageResource.Zypper.Builder
A package managed by Zypper.
- install:
zypper -y install package
- remove:
zypper -y rm package
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.Zypper
OSPolicy.Resource.RepositoryResource
A resource that manages a package repository.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource
OSPolicy.Resource.RepositoryResource.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
.
Protobuf type
google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource.AptRepository
OSPolicy.Resource.RepositoryResource.AptRepository.Builder
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
.
Protobuf type
google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource.AptRepository
OSPolicy.Resource.RepositoryResource.Builder
A resource that manages a package repository.
Protobuf type google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource
OSPolicy.Resource.RepositoryResource.GooRepository
Represents a Goo package repository. These are added to a repo file
that is managed at
C:/ProgramData/GooGet/repos/google_osconfig.repo
.
Protobuf type
google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource.GooRepository
OSPolicy.Resource.RepositoryResource.GooRepository.Builder
Represents a Goo package repository. These are added to a repo file
that is managed at
C:/ProgramData/GooGet/repos/google_osconfig.repo
.
Protobuf type
google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource.GooRepository
OSPolicy.Resource.RepositoryResource.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
.
Protobuf type
google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource.YumRepository
OSPolicy.Resource.RepositoryResource.YumRepository.Builder
Represents a single yum package repository. These are added to a
repo file that is managed at
/etc/yum.repos.d/google_osconfig.repo
.
Protobuf type
google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource.YumRepository
OSPolicy.Resource.RepositoryResource.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
.
Protobuf type
google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource.ZypperRepository
OSPolicy.Resource.RepositoryResource.ZypperRepository.Builder
Represents a single zypper package repository. These are added to a
repo file that is managed at
/etc/zypp/repos.d/google_osconfig.repo
.
Protobuf type
google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource.ZypperRepository
OSPolicy.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.
Protobuf type google.cloud.osconfig.v1.OSPolicy.ResourceGroup
OSPolicy.ResourceGroup.Builder
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.
Protobuf type google.cloud.osconfig.v1.OSPolicy.ResourceGroup
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.
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignment
OSPolicyAssignment.Builder
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.
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignment
OSPolicyAssignment.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.
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignment.InstanceFilter
OSPolicyAssignment.InstanceFilter.Builder
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.
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignment.InstanceFilter
OSPolicyAssignment.InstanceFilter.Inventory
VM inventory details.
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignment.InstanceFilter.Inventory
OSPolicyAssignment.InstanceFilter.Inventory.Builder
VM inventory details.
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignment.InstanceFilter.Inventory
OSPolicyAssignment.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.
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignment.LabelSet
OSPolicyAssignment.LabelSet.Builder
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.
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignment.LabelSet
OSPolicyAssignment.Rollout
Message to configure the rollout at the zonal level for the OS policy assignment.
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignment.Rollout
OSPolicyAssignment.Rollout.Builder
Message to configure the rollout at the zonal level for the OS policy assignment.
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignment.Rollout
OSPolicyAssignmentName
OSPolicyAssignmentName.Builder
Builder for projects/{project}/locations/{location}/osPolicyAssignments/{os_policy_assignment}.
OSPolicyAssignmentOperationMetadata
OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations.
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignmentOperationMetadata
OSPolicyAssignmentOperationMetadata.Builder
OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations.
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignmentOperationMetadata
OSPolicyAssignmentReport
A report of the OS policy assignment status for a given instance.
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignmentReport
OSPolicyAssignmentReport.Builder
A report of the OS policy assignment status for a given instance.
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignmentReport
OSPolicyAssignmentReport.OSPolicyCompliance
Compliance data for an OS policy
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignmentReport.OSPolicyCompliance
OSPolicyAssignmentReport.OSPolicyCompliance.Builder
Compliance data for an OS policy
Protobuf type google.cloud.osconfig.v1.OSPolicyAssignmentReport.OSPolicyCompliance
OSPolicyAssignmentReport.OSPolicyCompliance.OSPolicyResourceCompliance
Compliance data for an OS policy resource.
Protobuf type
google.cloud.osconfig.v1.OSPolicyAssignmentReport.OSPolicyCompliance.OSPolicyResourceCompliance
OSPolicyAssignmentReport.OSPolicyCompliance.OSPolicyResourceCompliance.Builder
Compliance data for an OS policy resource.
Protobuf type
google.cloud.osconfig.v1.OSPolicyAssignmentReport.OSPolicyCompliance.OSPolicyResourceCompliance
OSPolicyAssignmentReport.OSPolicyCompliance.OSPolicyResourceCompliance.ExecResourceOutput
ExecResource specific output.
Protobuf type
google.cloud.osconfig.v1.OSPolicyAssignmentReport.OSPolicyCompliance.OSPolicyResourceCompliance.ExecResourceOutput
OSPolicyAssignmentReport.OSPolicyCompliance.OSPolicyResourceCompliance.ExecResourceOutput.Builder
ExecResource specific output.
Protobuf type
google.cloud.osconfig.v1.OSPolicyAssignmentReport.OSPolicyCompliance.OSPolicyResourceCompliance.ExecResourceOutput
OSPolicyAssignmentReport.OSPolicyCompliance.OSPolicyResourceCompliance.OSPolicyResourceConfigStep
Step performed by the OS Config agent for configuring an
OSPolicy
resource to its desired state.
Protobuf type
google.cloud.osconfig.v1.OSPolicyAssignmentReport.OSPolicyCompliance.OSPolicyResourceCompliance.OSPolicyResourceConfigStep
OSPolicyAssignmentReport.OSPolicyCompliance.OSPolicyResourceCompliance.OSPolicyResourceConfigStep.Builder
Step performed by the OS Config agent for configuring an
OSPolicy
resource to its desired state.
Protobuf type
google.cloud.osconfig.v1.OSPolicyAssignmentReport.OSPolicyCompliance.OSPolicyResourceCompliance.OSPolicyResourceConfigStep
OSPolicyAssignmentReportName
OSPolicyAssignmentReportName.Builder
Builder for projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/{assignment}/report.
OSPolicyAssignmentReportsProto
OsConfigProto
OsConfigServiceClient
Service Description: 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.
This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:
// This snippet has been automatically generated for illustrative purposes only.
// It may require modifications to work in your environment.
try (OsConfigServiceClient osConfigServiceClient = OsConfigServiceClient.create()) {
PatchJobs.ExecutePatchJobRequest request =
PatchJobs.ExecutePatchJobRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setDescription("description-1724546052")
.setInstanceFilter(PatchJobs.PatchInstanceFilter.newBuilder().build())
.setPatchConfig(PatchJobs.PatchConfig.newBuilder().build())
.setDuration(Duration.newBuilder().build())
.setDryRun(true)
.setDisplayName("displayName1714148973")
.setRollout(PatchJobs.PatchRollout.newBuilder().build())
.build();
PatchJobs.PatchJob response = osConfigServiceClient.executePatchJob(request);
}
Note: close() needs to be called on the OsConfigServiceClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().
The surface of this class includes several types of Java methods for each of the API's methods:
- A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
- A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
- A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.
See the individual methods for example code.
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.
This class can be customized by passing in a custom instance of OsConfigServiceSettings to create(). For example:
To customize credentials:
// This snippet has been automatically generated for illustrative purposes only.
// It may require modifications to work in your environment.
OsConfigServiceSettings osConfigServiceSettings =
OsConfigServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
OsConfigServiceClient osConfigServiceClient =
OsConfigServiceClient.create(osConfigServiceSettings);
To customize the endpoint:
// This snippet has been automatically generated for illustrative purposes only.
// It may require modifications to work in your environment.
OsConfigServiceSettings osConfigServiceSettings =
OsConfigServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
OsConfigServiceClient osConfigServiceClient =
OsConfigServiceClient.create(osConfigServiceSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.