pub struct IacResource {
pub name: String,
pub description: String,
pub category: String,
pub crud: CrudInfo,
pub attributes: Vec<IacAttribute>,
pub identity: IdentityInfo,
pub read_mapping: BTreeMap<String, String>,
}Expand description
A fully resolved resource in the platform-independent IR.
Fields§
§name: String§description: String§category: String§crud: CrudInfo§attributes: Vec<IacAttribute>§identity: IdentityInfo§read_mapping: BTreeMap<String, String>Mapping from API response JSON paths to canonical field names.
Direction matches the TOML source: json_response_key -> canonical_param_name.
Used by backends to render an honest diff during update against a read response.
Implementations§
Source§impl IacResource
impl IacResource
Sourcepub fn immutable_attribute_names(&self) -> Vec<&str>
pub fn immutable_attribute_names(&self) -> Vec<&str>
Immutable attribute canonical names.
Trait Implementations§
Source§impl Clone for IacResource
impl Clone for IacResource
Source§fn clone(&self) -> IacResource
fn clone(&self) -> IacResource
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for IacResource
impl Debug for IacResource
Source§impl<'de> Deserialize<'de> for IacResource
impl<'de> Deserialize<'de> for IacResource
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for IacResource
impl Display for IacResource
Source§impl FromSExpr for IacResource
impl FromSExpr for IacResource
Source§fn from_sexpr(s: &SExpr) -> Result<Self, SExprError>
fn from_sexpr(s: &SExpr) -> Result<Self, SExprError>
Errors Read more
Source§impl HasAttributes for IacResource
impl HasAttributes for IacResource
Source§fn attributes(&self) -> &[IacAttribute]
fn attributes(&self) -> &[IacAttribute]
The full list of attributes on this IR type.
Source§fn input_attributes(&self) -> Vec<&IacAttribute>
fn input_attributes(&self) -> Vec<&IacAttribute>
Attributes that are user-provided inputs (not purely computed). Read more
Source§fn output_attributes(&self) -> Vec<&IacAttribute>
fn output_attributes(&self) -> Vec<&IacAttribute>
Attributes that appear in the output/state (computed or required).
Source§fn required_attribute_names(&self) -> Vec<&str>
fn required_attribute_names(&self) -> Vec<&str>
Required attribute canonical names.
Source§fn sensitive_attribute_names(&self) -> Vec<&str>
fn sensitive_attribute_names(&self) -> Vec<&str>
Sensitive attribute canonical names.
Source§impl Serialize for IacResource
impl Serialize for IacResource
Source§impl ToSExpr for IacResource
impl ToSExpr for IacResource
fn to_sexpr(&self) -> SExpr
Source§fn content_hash(&self) -> ContentHash
fn content_hash(&self) -> ContentHash
Convenience: content hash of this value’s canonical emission. Read more
Source§impl Transform<IacResource> for Vec<ResourceOp>
A sequence of ops runs in order and is itself a Transform.
impl Transform<IacResource> for Vec<ResourceOp>
A sequence of ops runs in order and is itself a Transform.
Source§fn apply(&self, r: IacResource) -> IacResource
fn apply(&self, r: IacResource) -> IacResource
Apply the transform, returning a new value. Must be deterministic.
Source§impl Transform<IacResource> for ResourceOp
A single op is also a Transform.
impl Transform<IacResource> for ResourceOp
A single op is also a Transform.
Source§fn apply(&self, r: IacResource) -> IacResource
fn apply(&self, r: IacResource) -> IacResource
Apply the transform, returning a new value. Must be deterministic.
Auto Trait Implementations§
impl Freeze for IacResource
impl RefUnwindSafe for IacResource
impl Send for IacResource
impl Sync for IacResource
impl Unpin for IacResource
impl UnsafeUnpin for IacResource
impl UnwindSafe for IacResource
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