MmResourceOverrides class
Output of the Magic Modules YAML parser.
Only the fields we currently consume are populated:
forceNew(fromimmutable: true)regex,minLength,maxLength(fromvalidation)enumValues(fromenum_values)deprecationMessage(fromdeprecation_message)
Constructors
-
MmResourceOverrides({required Map<
String, Constraints> fieldOverrides, String? description, String? product, String? name, List<List< exactlyOneOfGroups = const [], List<String> >List< exactlyOneOfPaths = const [], List<String> >List< atMostOneOfPaths = const [], Map<String> >String, List< enumValuesByPath = const {}, Set<String> >String> outputPaths = const {}, Map<String, MmResourceRef> resourceRefs = const {}}) -
const
Properties
-
atMostOneOfPaths
→ List<
List< String> > -
The
conflictssets noexactly_one_ofcovers, in the shape of exactlyOneOfPaths: inputs of one block that pairwise conflict, which the provider also accepts none of (at_most_one_of_groups).final - description → String?
-
Top-level YAML
description, if any.final -
enumValuesByPath
→ Map<
String, List< String> > -
enum_valuesby dotted Terraform path, including the properties of anArrayofNestedObject(item_type.properties), which fieldOverrides leaves out.final -
exactlyOneOfGroups
→ List<
List< String> > -
exactly_one_ofgroups (top-level + nested merged into one flat list). Each inner list is one mutually-exclusive set of property names, recorded in snake_case Terraform path form (e.g.'foo.foo_a'for a nested group). Consumed byterradart wrap-promoteto generate sealed-class skeletons in the prelude block.final -
exactlyOneOfPaths
→ List<
List< String> > -
The same groups as dotted Terraform paths from the resource root, the
shape
wrap --provider-enumshints carry (exactly_one_of_groups): list-index segments (a.0.b) dropped, camelCase names snake_cased, a nested property's bare sibling names resolved against its parent. Deduplicated (every member repeats its group); a group whose members do not share one parent block is dropped. Anat_least_one_ofset whose members all pairwiseconflictscounts too (exclusiveGroups).final -
fieldOverrides
→ Map<
String, Constraints> -
Keyed by Terraform snake_case path: a flat field is
'name', a nested field is'schema_settings.encoding'. Each value carries only the constraint bits MM YAML actually contributes.final - hashCode → int
-
The hash code for this object.
no setterinherited
- name → String?
-
The resource's MM
name(RouterNat), which resourceRefs resolve theirresourceagainst.final -
outputPaths
→ Set<
String> -
Dotted Terraform paths of the
output: trueproperties, and of every property below one.final - product → String?
-
Top-level YAML
productfield, if any. Used byterradart wrap-initto deriveoutputDirdefaults from the Magic Modules product folder.final -
resourceRefs
→ Map<
String, MmResourceRef> -
type: ResourceRefproperties and parameters (andArrays of them) by dotted Terraform path: the MM resource they name in the same product and the attribute they import, both as written upstream (Router,selfLink).final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited