pub struct Stack {
pub id: String,
pub resources: IndexMap<String, ResourceEntry>,
pub permissions: PermissionsConfig,
pub supported_platforms: Option<Vec<Platform>>,
pub inputs: Vec<StackInputDefinition>,
}Expand description
A bag of resources, unaware of any cloud.
Fields§
§id: StringUnique identifier for the stack
resources: IndexMap<String, ResourceEntry>Map of resource IDs to their configurations and lifecycle settings
permissions: PermissionsConfigCombined permissions configuration containing both profiles and management
supported_platforms: Option<Vec<Platform>>Which platforms this stack supports. When None, all platforms are supported.
inputs: Vec<StackInputDefinition>Input definitions required before setup or deployment can proceed.
Implementations§
Source§impl Stack
impl Stack
Sourcepub fn new(id: String) -> StackBuilder
pub fn new(id: String) -> StackBuilder
Create an instance of Stack using the builder syntax
Source§impl Stack
impl Stack
Sourcepub fn resources(&self) -> impl Iterator<Item = (&String, &ResourceEntry)>
pub fn resources(&self) -> impl Iterator<Item = (&String, &ResourceEntry)>
Returns an iterator over the resources in the stack, including their lifecycle state.
Sourcepub fn resources_mut(
&mut self,
) -> impl Iterator<Item = (&String, &mut ResourceEntry)>
pub fn resources_mut( &mut self, ) -> impl Iterator<Item = (&String, &mut ResourceEntry)>
Returns a mutable iterator over the resources in the stack, including their lifecycle state.
pub fn id(&self) -> &str
Sourcepub fn permissions(&self) -> &PermissionsConfig
pub fn permissions(&self) -> &PermissionsConfig
Returns the permissions configuration for the stack.
Sourcepub fn permission_profiles(&self) -> &IndexMap<String, PermissionProfile>
pub fn permission_profiles(&self) -> &IndexMap<String, PermissionProfile>
Returns the permission profiles for the stack.
Sourcepub fn management(&self) -> &ManagementPermissions
pub fn management(&self) -> &ManagementPermissions
Returns the management permissions configuration for the stack.
Sourcepub fn supported_platforms(&self) -> Option<&[Platform]>
pub fn supported_platforms(&self) -> Option<&[Platform]>
Returns the supported platforms, or None if all platforms are supported.
Sourcepub fn inputs(&self) -> &[StackInputDefinition]
pub fn inputs(&self) -> &[StackInputDefinition]
Returns stack input definitions.
Sourcepub fn supports_platform(&self, platform: &Platform) -> bool
pub fn supports_platform(&self, platform: &Platform) -> bool
Returns true if the given platform is supported by this stack. When supported_platforms is None, all platforms are supported.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Stack
impl<'de> Deserialize<'de> for Stack
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Stack
impl StructuralPartialEq for Stack
Auto Trait Implementations§
impl !RefUnwindSafe for Stack
impl !UnwindSafe for Stack
impl Freeze for Stack
impl Send for Stack
impl Sync for Stack
impl Unpin for Stack
impl UnsafeUnpin for Stack
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.