Struct holochain_client::InstallAppPayload
source · pub struct InstallAppPayload {
pub source: AppBundleSource,
pub agent_key: Option<HoloHash<Agent>>,
pub installed_app_id: Option<String>,
pub membrane_proofs: Option<HashMap<String, Arc<SerializedBytes>>>,
pub existing_cells: HashMap<String, CellId>,
pub network_seed: Option<String>,
pub ignore_genesis_failure: bool,
}Expand description
An AppBundle along with an AgentPubKey and optional InstalledAppId
Fields§
§source: AppBundleSourceThe unique identifier for an installed app in this conductor.
agent_key: Option<HoloHash<Agent>>The agent to use when creating Cells for this App. If None, a new agent key will be generated.
If a DPKI service is initialized at installation time, this field will be ignored and a properly derived key will be used instead.
installed_app_id: Option<String>The unique identifier for an installed app in this conductor. If not specified, it will be derived from the app name in the bundle manifest.
membrane_proofs: Option<HashMap<String, Arc<SerializedBytes>>>Include proof-of-membrane-membership data for cells that require it, keyed by the RoleName specified in the app bundle manifest.
When the app being installed has the allow_deferred_memproofs manifest flag set,
passing None for this field will allow the app to enter the “deferred membrane proofs”
state, so that memproofs can be provided later via [AppRequest::ProvideMemproofs].
If Some is used here, whatever memproofs are provided will be used, and the app will
be installed as normal.
existing_cells: HashMap<String, CellId>For each role in the app manifest which has UseExisting cell provisioning, a CellId of a currently installed cell must be specified in this map.
network_seed: Option<String>Optional: overwrites all network seeds for all DNAs of Cells created by this app. The app can still use existing Cells, i.e. this does not require that all Cells have DNAs with the same overridden DNA.
ignore_genesis_failure: boolOptional: If app installation fails due to genesis failure, normally the app will be
immediately uninstalled. When this flag is set, the app is left installed with empty cells intact.
This can be useful for using graft_records_onto_source_chain, or for diagnostics.
Trait Implementations§
source§impl Debug for InstallAppPayload
impl Debug for InstallAppPayload
source§impl<'de> Deserialize<'de> for InstallAppPayload
impl<'de> Deserialize<'de> for InstallAppPayload
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<InstallAppPayload, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<InstallAppPayload, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl Serialize for InstallAppPayload
impl Serialize for InstallAppPayload
source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for InstallAppPayload
impl RefUnwindSafe for InstallAppPayload
impl Send for InstallAppPayload
impl Sync for InstallAppPayload
impl Unpin for InstallAppPayload
impl UnwindSafe for InstallAppPayload
Blanket Implementations§
source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moresource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.