terradart_annotations library
terradart_annotations -- annotation surface consumed by terradart_codegen
generated $Foo abstract classes.
Three const annotations exposed:
- TerraformResource -- pinned on each generated abstract class to record the Terraform resource type + provider.
- ForceNew -- marks getters whose schema attribute is
ForceNew(provider replaces the resource on change). - Sensitive -- marks getters whose values must not appear in plain
text in synth output. The aggregate set is emitted as a top-level
const Set<String> <terraformTypeCamelCase>Sensitivesibling to each generated abstract class; factories read the const for their runtime$sensitiveFieldsgetter.
Classes
- ForceNew
-
Marks a getter on a generated
$Fooabstract class whose underlying Terraform attribute isForceNew-- i.e. mutating it triggers a destroy/recreate cycle. Pure documentation in v0.0.x; future may surface this in plan-time warnings. - Sensitive
-
Marks a getter on a generated
$Fooabstract class whose value must be masked in synth output. Per ADRs 0009 + 0012, all@Sensitive-marked fields are aggregated byterradart_codegeninto a top-levelconst Set<String> <terraformTypeCamelCase>Sensitivesibling to the abstract class; the runtime synth pass consults that set when emittingterraform.tf.jsonto substitute literal sensitive values with''. - TerraformResource
-
Records the Terraform resource type and provider on a generated
abstract
$Fooclass. Emitted by terradart_codegen on every generated abstract class (both the curatedterradart_googlefactories and any user-side codegen output).