Class: Google::Apis::OsconfigV1alpha::OsPolicyResourceExecResource

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/osconfig_v1alpha/classes.rb,
lib/google/apis/osconfig_v1alpha/representations.rb,
lib/google/apis/osconfig_v1alpha/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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ OsPolicyResourceExecResource

Returns a new instance of OsPolicyResourceExecResource.



1841
1842
1843
# File 'lib/google/apis/osconfig_v1alpha/classes.rb', line 1841

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#enforceGoogle::Apis::OsconfigV1alpha::OsPolicyResourceExecResourceExec

A file or script to execute. Corresponds to the JSON property enforce



1834
1835
1836
# File 'lib/google/apis/osconfig_v1alpha/classes.rb', line 1834

def enforce
  @enforce
end

#validateGoogle::Apis::OsconfigV1alpha::OsPolicyResourceExecResourceExec

A file or script to execute. Corresponds to the JSON property validate



1839
1840
1841
# File 'lib/google/apis/osconfig_v1alpha/classes.rb', line 1839

def validate
  @validate
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1846
1847
1848
1849
# File 'lib/google/apis/osconfig_v1alpha/classes.rb', line 1846

def update!(**args)
  @enforce = args[:enforce] if args.key?(:enforce)
  @validate = args[:validate] if args.key?(:validate)
end