Resource(mapping=None, *, ignore_unknown_fields=False, **kwargs)
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.
This message has oneof
_ fields (mutually exclusive fields).
For each oneof, at most one member field can be set at the same time.
Setting any member of the oneof automatically clears all other
members.
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
Attributes
Name | Description |
id |
str
Required. The id of the resource with the following restrictions: - Must contain only lowercase letters, numbers, and hyphens. - Must start with a letter. - Must be between 1-63 characters. - Must end with a number or a letter. - Must be unique within the OS policy. |
pkg |
google.cloud.osconfig_v1alpha.types.OSPolicy.Resource.PackageResource
Package resource This field is a member of `oneof`_ ``resource_type``. |
repository |
google.cloud.osconfig_v1alpha.types.OSPolicy.Resource.RepositoryResource
Package repository resource This field is a member of `oneof`_ ``resource_type``. |
exec_ |
google.cloud.osconfig_v1alpha.types.OSPolicy.Resource.ExecResource
Exec resource This field is a member of `oneof`_ ``resource_type``. |
file |
google.cloud.osconfig_v1alpha.types.OSPolicy.Resource.FileResource
File resource This field is a member of `oneof`_ ``resource_type``. |
Inheritance
builtins.object > proto.message.Message > ResourceClasses
ExecResource
ExecResource(mapping=None, *, ignore_unknown_fields=False, **kwargs)
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.
File
File(mapping=None, *, ignore_unknown_fields=False, **kwargs)
A remote or local file.
This message has oneof
_ fields (mutually exclusive fields).
For each oneof, at most one member field can be set at the same time.
Setting any member of the oneof automatically clears all other
members.
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
FileResource
FileResource(mapping=None, *, ignore_unknown_fields=False, **kwargs)
A resource that manages the state of a file.
This message has oneof
_ fields (mutually exclusive fields).
For each oneof, at most one member field can be set at the same time.
Setting any member of the oneof automatically clears all other
members.
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
PackageResource
PackageResource(mapping=None, *, ignore_unknown_fields=False, **kwargs)
A resource that manages a system package.
This message has oneof
_ fields (mutually exclusive fields).
For each oneof, at most one member field can be set at the same time.
Setting any member of the oneof automatically clears all other
members.
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
RepositoryResource
RepositoryResource(mapping=None, *, ignore_unknown_fields=False, **kwargs)
A resource that manages a package repository.
This message has oneof
_ fields (mutually exclusive fields).
For each oneof, at most one member field can be set at the same time.
Setting any member of the oneof automatically clears all other
members.
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields