pub struct Store<T> { /* private fields */ }Implementations§
Source§impl<P: 'static> Store<P>
impl<P: 'static> Store<P>
pub fn new(path: impl AsRef<Path>, provider: P) -> Self
Sourcepub fn resource<T>(
&mut self,
id: &'static str,
local_definition: T,
) -> Result<StoreResource<T, T::Output>, Error>where
T: Resource<Provider = P>,
pub fn resource<T>(
&mut self,
id: &'static str,
local_definition: T,
) -> Result<StoreResource<T, T::Output>, Error>where
T: Resource<Provider = P>,
Defines a resource.
Produces two graph nodes:
- Depending on the result of compairing
local_definitionto the one on file (if it exists), either:- creates the resource on the platform
- updates the resource on the platform
- loads the resource from a file
- Stores the resource to a file
To import an existing resource from a platform, use Store::import.
Sourcepub fn import<T>(
&mut self,
id: &'static str,
local_definition: T,
) -> Result<StoreResource<T, T::Output>, Error>where
T: Resource<Provider = P>,
pub fn import<T>(
&mut self,
id: &'static str,
local_definition: T,
) -> Result<StoreResource<T, T::Output>, Error>where
T: Resource<Provider = P>,
Defines a pre-existing resource, importing it from the platform.
Produces two graph nodes:
- Import the resource from the platform, resulting in the resource
- Store the value to a file
This only needs to be used once in your infrastructure command.
After the resource is imported and stored to a file it is recommended
you make a code change to use Store::resource.
Sourcepub fn load<T>(
&mut self,
id: &'static str,
local_definition: T,
remote_definition: T::Output,
force_overwrite: bool,
) -> Result<StoreResource<T, T::Output>, Error>where
T: Resource<Provider = P>,
pub fn load<T>(
&mut self,
id: &'static str,
local_definition: T,
remote_definition: T::Output,
force_overwrite: bool,
) -> Result<StoreResource<T, T::Output>, Error>where
T: Resource<Provider = P>,
Defines a pre-existing resource, directly writing it to file, without querying the platform.
Produces two graph nodes:
- Load the value (noop)
- Store the value
§Errors
Errs if force_overwrite is false and a stored resource already
exists. This is done to prevent accidental clobbering.
Sourcepub fn destroy<T>(
&mut self,
id: &'static str,
) -> Result<DestroyResource<T>, Error>where
T: Resource<Provider = P>,
pub fn destroy<T>(
&mut self,
id: &'static str,
) -> Result<DestroyResource<T>, Error>where
T: Resource<Provider = P>,
Destroys a resource.
pub fn get_schedule_string(&self) -> Result<String, Error>
pub fn save_apply_graph(&self, path: impl AsRef<Path>) -> Result<(), Error>
pub async fn apply(&mut self) -> Result<(), Error>
Auto Trait Implementations§
impl<T> Freeze for Store<T>where
T: Freeze,
impl<T> !RefUnwindSafe for Store<T>
impl<T> !Send for Store<T>
impl<T> !Sync for Store<T>
impl<T> Unpin for Store<T>where
T: Unpin,
impl<T> !UnwindSafe for Store<T>
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