Class: Google::Apis::OsconfigV1beta::SoftwareRecipe
- Inherits:
-
Object
- Object
- Google::Apis::OsconfigV1beta::SoftwareRecipe
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/osconfig_v1beta/classes.rb,
lib/google/apis/osconfig_v1beta/representations.rb,
lib/google/apis/osconfig_v1beta/representations.rb
Overview
A software recipe is a set of instructions for installing and configuring a
piece of software. It consists of a set of artifacts that are downloaded, and
a set of steps that install, configure, and/or update the software. Recipes
support installing and updating software from artifacts in the following
formats: Zip archive, Tar archive, Windows MSI, Debian package, and RPM
package. Additionally, recipes support executing a script (either defined in a
file or directly in this api) in bash, sh, cmd, and powershell. Updating a
software recipe If a recipe is assigned to an instance and there is a recipe
with the same name but a lower version already installed and the assigned
state of the recipe is UPDATED
, then the recipe is updated to the new
version. Script Working Directories Each script or execution step is run in
its own temporary directory which is deleted after completing the step.
Instance Attribute Summary collapse
-
#artifacts ⇒ Array<Google::Apis::OsconfigV1beta::SoftwareRecipeArtifact>
Resources available to be used in the steps in the recipe.
-
#desired_state ⇒ String
Default is INSTALLED.
-
#install_steps ⇒ Array<Google::Apis::OsconfigV1beta::SoftwareRecipeStep>
Actions to be taken for installing this recipe.
-
#name ⇒ String
Required.
-
#update_steps ⇒ Array<Google::Apis::OsconfigV1beta::SoftwareRecipeStep>
Actions to be taken for updating this recipe.
-
#version ⇒ String
The version of this software recipe.
Instance Method Summary collapse
-
#initialize(**args) ⇒ SoftwareRecipe
constructor
A new instance of SoftwareRecipe.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ SoftwareRecipe
Returns a new instance of SoftwareRecipe.
1754 1755 1756 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1754 def initialize(**args) update!(**args) end |
Instance Attribute Details
#artifacts ⇒ Array<Google::Apis::OsconfigV1beta::SoftwareRecipeArtifact>
Resources available to be used in the steps in the recipe.
Corresponds to the JSON property artifacts
1712 1713 1714 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1712 def artifacts @artifacts end |
#desired_state ⇒ String
Default is INSTALLED. The desired state the agent should maintain for this
recipe. INSTALLED: The software recipe is installed on the instance but won't
be updated to new versions. UPDATED: The software recipe is installed on the
instance. The recipe is updated to a higher version, if a higher version of
the recipe is assigned to this instance. REMOVE: Remove is unsupported for
software recipes and attempts to create or update a recipe to the REMOVE state
is rejected.
Corresponds to the JSON property desiredState
1723 1724 1725 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1723 def desired_state @desired_state end |
#install_steps ⇒ Array<Google::Apis::OsconfigV1beta::SoftwareRecipeStep>
Actions to be taken for installing this recipe. On failure it stops executing
steps and does not attempt another installation. Any steps taken (including
partially completed steps) are not rolled back.
Corresponds to the JSON property installSteps
1730 1731 1732 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1730 def install_steps @install_steps end |
#name ⇒ String
Required. Unique identifier for the recipe. Only one recipe with a given name
is installed on an instance. Names are also used to identify resources which
helps to determine whether guest policies have conflicts. This means that
requests to create multiple recipes with the same name and version are
rejected since they could potentially have conflicting assignments.
Corresponds to the JSON property name
1739 1740 1741 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1739 def name @name end |
#update_steps ⇒ Array<Google::Apis::OsconfigV1beta::SoftwareRecipeStep>
Actions to be taken for updating this recipe. On failure it stops executing
steps and does not attempt another update for this recipe. Any steps taken (
including partially completed steps) are not rolled back.
Corresponds to the JSON property updateSteps
1746 1747 1748 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1746 def update_steps @update_steps end |
#version ⇒ String
The version of this software recipe. Version can be up to 4 period separated
numbers (e.g. 12.34.56.78).
Corresponds to the JSON property version
1752 1753 1754 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1752 def version @version end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1759 1760 1761 1762 1763 1764 1765 1766 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1759 def update!(**args) @artifacts = args[:artifacts] if args.key?(:artifacts) @desired_state = args[:desired_state] if args.key?(:desired_state) @install_steps = args[:install_steps] if args.key?(:install_steps) @name = args[:name] if args.key?(:name) @update_steps = args[:update_steps] if args.key?(:update_steps) @version = args[:version] if args.key?(:version) end |