use crate::{ManagementConfig, Platform, ResourceEntry, Stack, StackSettings};
use indexmap::IndexMap;
#[derive(Debug, Clone, Copy)]
pub struct EmitContext<'a> {
pub stack: &'a Stack,
pub resource: &'a ResourceEntry,
pub resource_id: &'a str,
pub platform: Platform,
pub stack_settings: &'a StackSettings,
pub names: &'a IndexMap<String, String>,
}
impl<'a> EmitContext<'a> {
pub fn name_for(&self, resource_id: &str) -> Option<&'a str> {
self.names.get(resource_id).map(String::as_str)
}
}
#[derive(Debug, Clone, Copy)]
pub struct ImportContext<'a> {
pub resource_id: &'a str,
pub platform: Platform,
pub region: &'a str,
pub stack_settings: &'a StackSettings,
pub management_config: Option<&'a ManagementConfig>,
pub resource: &'a ResourceEntry,
}