MmResourceOverrides class

Output of the Magic Modules YAML parser.

Only the fields we currently consume are populated:

  • forceNew (from immutable: true)
  • regex, minLength, maxLength (from validation)
  • enumValues (from enum_values)
  • deprecationMessage (from deprecation_message)

Constructors

MmResourceOverrides({required Map<String, Constraints> fieldOverrides, String? description, String? product, String? name, List<List<String>> exactlyOneOfGroups = const [], List<List<String>> exactlyOneOfPaths = const [], List<List<String>> atMostOneOfPaths = const [], Map<String, List<String>> enumValuesByPath = const {}, Set<String> outputPaths = const {}, Map<String, MmResourceRef> resourceRefs = const {}})
const

Properties

atMostOneOfPaths → List<List<String>>
The conflicts sets no exactly_one_of covers, 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_values by dotted Terraform path, including the properties of an Array of NestedObject (item_type.properties), which fieldOverrides leaves out.
final
exactlyOneOfGroups → List<List<String>>
exactly_one_of groups (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 by terradart wrap-promote to 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-enums hints 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. An at_least_one_of set whose members all pairwise conflicts counts 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 their resource against.
final
outputPaths → Set<String>
Dotted Terraform paths of the output: true properties, and of every property below one.
final
product → String?
Top-level YAML product field, if any. Used by terradart wrap-init to derive outputDir defaults from the Magic Modules product folder.
final
resourceRefs → Map<String, MmResourceRef>
type: ResourceRef properties and parameters (and Arrays 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