Class: Google::Apis::OsconfigV1::OsPolicyResourceExecResource
- Inherits:
-
Object
- Object
- Google::Apis::OsconfigV1::OsPolicyResourceExecResource
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/osconfig_v1/classes.rb,
lib/google/apis/osconfig_v1/representations.rb,
lib/google/apis/osconfig_v1/representations.rb
Overview
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.
Instance Attribute Summary collapse
-
#enforce ⇒ Google::Apis::OsconfigV1::OsPolicyResourceExecResourceExec
A file or script to execute.
-
#validate ⇒ Google::Apis::OsconfigV1::OsPolicyResourceExecResourceExec
A file or script to execute.
Instance Method Summary collapse
-
#initialize(**args) ⇒ OsPolicyResourceExecResource
constructor
A new instance of OsPolicyResourceExecResource.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ OsPolicyResourceExecResource
Returns a new instance of OsPolicyResourceExecResource.
1950 1951 1952 |
# File 'lib/google/apis/osconfig_v1/classes.rb', line 1950 def initialize(**args) update!(**args) end |
Instance Attribute Details
#enforce ⇒ Google::Apis::OsconfigV1::OsPolicyResourceExecResourceExec
A file or script to execute.
Corresponds to the JSON property enforce
1943 1944 1945 |
# File 'lib/google/apis/osconfig_v1/classes.rb', line 1943 def enforce @enforce end |
#validate ⇒ Google::Apis::OsconfigV1::OsPolicyResourceExecResourceExec
A file or script to execute.
Corresponds to the JSON property validate
1948 1949 1950 |
# File 'lib/google/apis/osconfig_v1/classes.rb', line 1948 def validate @validate end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1955 1956 1957 1958 |
# File 'lib/google/apis/osconfig_v1/classes.rb', line 1955 def update!(**args) @enforce = args[:enforce] if args.key?(:enforce) @validate = args[:validate] if args.key?(:validate) end |