pub struct IacAttribute {Show 14 fields
pub api_name: String,
pub canonical_name: String,
pub description: String,
pub iac_type: IacType,
pub required: bool,
pub optional: bool,
pub computed: bool,
pub sensitive: bool,
pub json_encoded: bool,
pub immutable: bool,
pub default_value: Option<Value>,
pub enum_values: Option<Vec<String>>,
pub read_path: Option<String>,
pub update_only: bool,
}Expand description
A resolved attribute in the platform-independent IR.
Fields§
§api_name: StringOriginal API field name (e.g., “bound-aws-account-id”).
canonical_name: StringNormalized name with underscores (e.g., bound_aws_account_id).
description: StringHuman-readable description.
iac_type: IacTypePlatform-independent type.
required: boolWhether the field is required on create.
optional: boolWhether the field is optional (user can set it, but it is not required).
In Terraform schema terms:
optional: true, computed: false— user can set, no server defaultoptional: true, computed: true— user can set, server has defaultoptional: false, computed: true— purely server-generated
computed: boolWhether the field is computed (server-side generated).
sensitive: boolWhether the field contains sensitive data.
json_encoded: boolWhether the field value is a JSON-encoded string.
When true, the underlying Terraform type is still String, but the
value carries structured JSON (e.g., IAM policy documents). Code
generators can use this to accept both String and Hash inputs.
immutable: boolWhether changing this field forces resource replacement.
default_value: Option<Value>Default value, if any.
enum_values: Option<Vec<String>>Enum constraint values, if any.
read_path: Option<String>JSON path in API response for reading this field back
(e.g., item_name maps to the API response key).
update_only: boolWhether this field exists only in the update schema (not in create).
Implementations§
Trait Implementations§
Source§impl Clone for IacAttribute
impl Clone for IacAttribute
Source§impl Debug for IacAttribute
impl Debug for IacAttribute
Source§impl Default for IacAttribute
impl Default for IacAttribute
Source§impl<'de> Deserialize<'de> for IacAttribute
impl<'de> Deserialize<'de> for IacAttribute
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>,
Source§impl Display for IacAttribute
impl Display for IacAttribute
impl Eq for IacAttribute
Source§impl FromSExpr for IacAttribute
impl FromSExpr for IacAttribute
Source§fn from_sexpr(s: &SExpr) -> Result<Self, SExprError>
fn from_sexpr(s: &SExpr) -> Result<Self, SExprError>
Source§impl Hash for IacAttribute
impl Hash for IacAttribute
Source§impl PartialEq for IacAttribute
impl PartialEq for IacAttribute
Source§impl Serialize for IacAttribute
impl Serialize for IacAttribute
impl StructuralPartialEq for IacAttribute
Source§impl ToSExpr for IacAttribute
impl ToSExpr for IacAttribute
fn to_sexpr(&self) -> SExpr
Source§fn content_hash(&self) -> ContentHash
fn content_hash(&self) -> ContentHash
Auto Trait Implementations§
impl Freeze for IacAttribute
impl RefUnwindSafe for IacAttribute
impl Send for IacAttribute
impl Sync for IacAttribute
impl Unpin for IacAttribute
impl UnsafeUnpin for IacAttribute
impl UnwindSafe for IacAttribute
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.