four 0.0.4

framework for creating AWS CloudFormation template
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use dyn_clone::DynClone;

use crate::logical_id::LogicalIdentified;

// TODO: impl
pub trait UnmanagedResource: erased_serde::Serialize {}

erased_serde::serialize_trait_object!(UnmanagedResource);

/// [Resource] section
/// cf. https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/resources-section-structure.html
pub trait ManagedResource: erased_serde::Serialize + DynClone + LogicalIdentified {
    fn resource_type(&self) -> &'static str;
}

erased_serde::serialize_trait_object!(ManagedResource);
dyn_clone::clone_trait_object!(ManagedResource);