pub struct ResourceInput<'a> {
pub resource: &'a IacResource,
pub provider: &'a IacProvider,
}Expand description
Wrapper identifying the (resource, provider) pair as a source value.
Needed because ProvenMorphism<Src, Dst> requires a single Src type,
and Backend::generate_resource takes two references.
Fields§
§resource: &'a IacResource§provider: &'a IacProviderTrait Implementations§
Source§impl<'a> Clone for ResourceInput<'a>
impl<'a> Clone for ResourceInput<'a>
Auto Trait Implementations§
impl<'a> Freeze for ResourceInput<'a>
impl<'a> RefUnwindSafe for ResourceInput<'a>
impl<'a> Send for ResourceInput<'a>
impl<'a> Sync for ResourceInput<'a>
impl<'a> Unpin for ResourceInput<'a>
impl<'a> UnsafeUnpin for ResourceInput<'a>
impl<'a> UnwindSafe for ResourceInput<'a>
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<B> Morphism<ResourceInput<'_>, Vec<GeneratedArtifact>> for Bwhere
B: Backend,
impl<B> Morphism<ResourceInput<'_>, Vec<GeneratedArtifact>> for Bwhere
B: Backend,
Source§fn name(&self) -> &'static str
fn name(&self) -> &'static str
Human-readable name for diagnostics, traceability, attestation.
Source§fn apply(&self, src: &ResourceInput<'_>) -> Vec<GeneratedArtifact>
fn apply(&self, src: &ResourceInput<'_>) -> Vec<GeneratedArtifact>
Apply the morphism. Must be total and deterministic.
Source§impl<B> ProvenMorphism<ResourceInput<'_>, Vec<GeneratedArtifact>> for Bwhere
B: Backend,
impl<B> ProvenMorphism<ResourceInput<'_>, Vec<GeneratedArtifact>> for Bwhere
B: Backend,
Source§fn check_invariants(
&self,
src: &ResourceInput<'_>,
dst: &Vec<GeneratedArtifact>,
) -> Vec<String>
fn check_invariants( &self, src: &ResourceInput<'_>, dst: &Vec<GeneratedArtifact>, ) -> Vec<String>
Return violations (empty = all invariants hold).