Struct gapi_grpc::google::cloud::osconfig::agentendpoint::v1beta::SoftwareRecipe [−][src]
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 INSTALLED_KEEP_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.
Fields
name: String
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.
version: String
The version of this software recipe. Version can be up to 4 period separated numbers (e.g. 12.34.56.78).
artifacts: Vec<Artifact>
Resources available to be used in the steps in the recipe.
install_steps: Vec<Step>
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. Install steps must be specified and are used on first installation.
update_steps: Vec<Step>
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. Upgrade steps are not mandatory and are only used when upgrading.
desired_state: i32
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.
Implementations
impl SoftwareRecipe
[src]
pub fn desired_state(&self) -> DesiredState
[src]
Returns the enum value of desired_state
, or the default if the field is set to an invalid enum value.
pub fn set_desired_state(&mut self, value: DesiredState)
[src]
Sets desired_state
to the provided enum value.
Trait Implementations
impl Clone for SoftwareRecipe
[src]
fn clone(&self) -> SoftwareRecipe
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for SoftwareRecipe
[src]
impl Default for SoftwareRecipe
[src]
fn default() -> SoftwareRecipe
[src]
impl Message for SoftwareRecipe
[src]
fn encode_raw<B>(&self, buf: &mut B) where
B: BufMut,
[src]
B: BufMut,
fn merge_field<B>(
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
[src]
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
fn encoded_len(&self) -> usize
[src]
fn clear(&mut self)
[src]
pub fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
B: BufMut,
pub fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
B: BufMut,
pub fn decode<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
[src]
Self: Default,
B: Buf,
pub fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
[src]
Self: Default,
B: Buf,
pub fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]
B: Buf,
pub fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]
B: Buf,
impl PartialEq<SoftwareRecipe> for SoftwareRecipe
[src]
fn eq(&self, other: &SoftwareRecipe) -> bool
[src]
fn ne(&self, other: &SoftwareRecipe) -> bool
[src]
impl StructuralPartialEq for SoftwareRecipe
[src]
Auto Trait Implementations
impl RefUnwindSafe for SoftwareRecipe
impl Send for SoftwareRecipe
impl Sync for SoftwareRecipe
impl Unpin for SoftwareRecipe
impl UnwindSafe for SoftwareRecipe
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoRequest<T> for T
[src]
pub fn into_request(self) -> Request<T>
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,
impl<T> WithSubscriber for T
[src]
pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,