terradart_google_beta 0.35.0
terradart_google_beta: ^0.35.0 copied to clipboard
Curated factory wrappers for beta-only Google Cloud resources (hashicorp/google-beta) for Dart-first Terraform stacks.
Changelog #
0.35.0 - 2026-10-03 #
- No API changes. Lockstep release with the
terradartcommand's--jsonoutput, fixed exit codes,--no-input,--dry-run,terradart help <topic>and bundled agent skill; no provider pin moves.
0.34.0 - 2026-10-03 #
- No API changes. Lockstep release with the
terradartcommand'sinit,validateandstate migrate; no provider pin moves.
0.33.0 - 2026-10-02 #
- No API changes. Lockstep release with the new
terradart_clipackage (theterradartcommand); no provider pin moves.
0.32.1 - 2026-10-02 #
- No API changes. Republishes the 0.32.0 workspace so
terradart_appwrite,terradart_cloudflare,terradart_awsandterradart_migratereach pub.dev; the 0.32.0 publish workflow stopped them at a wrapper-count check that also counted hand-written files, and now counts only generated wrappers (#877).
0.32.0 - 2026-10-02 #
- Breaking: attribute getters drop the
Refsuffix and pass straight into an argument (x.nameinstead ofx.nameRef); a Dart reserved word or aResource/Datamember takes anAttrsuffix. See MIGRATING.md. - Breaking: every Magic Modules
ResourceRefinput is typedRefTo<R>, as onterradart_google(typed reference slots 22 → 29). See MIGRATING.md. - Breaking: the beta IAM adjuncts take their parent as one
RefTo<R>argument named after it instead of the identity input plus copiedlocation/project, which default to the parent's attribute; theirmember/membersareIamPrincipal, and the service-identity blocks have anIamPrincipal get principal. See MIGRATING.md and IAM grants. GoogleBetaProvidertakesuserProjectOverride(user_project_override).- Breaking: every barrel re-exports
terradart_core, and a data source is also exported from its service barrel. Helperencode()/blockKeyare@internal. See MIGRATING.md. - Breaking:
provider:takes a registeredGoogleBetaProviderinstance instead of'google-beta.<alias>'; the wrappers overrideResource.defaultProviderto keepprovider = google-betaby default. See MIGRATING.md. - Breaking: an argument the provider schema marks sensitive is
Sensitive<T>— a variable, an expression or an attribute getter, never.literal(...). See MIGRATING.md. - Breaking: every generated enum is an extension type implementing
TfArg<String>, so an enum slot takes a member bare (.memberinstead of.literal(.member)). See MIGRATING.md. - Breaking: every factory takes its local name as the first positional argument. See MIGRATING.md.
0.31.0 - 2026-10-01 #
- Breaking — generated type names are short: a derived helper, enum or nested sealed type is named after its resource and its own block or attribute instead of the whole block path, a name two blocks would share takes the nearest parent that tells them apart, identical blocks share one helper, and no name repeats the words its resource stem ends with. 170 types are renamed (
ComputeFutureReservationReservationMode→ComputeFutureReservationMode). Arguments, variant constructors and synth output are unchanged;dart analyzelists the old names. See MIGRATING.md. - 586 new
<name>Refgetters, one per input a resource or data source takes (TfRef<String> get scopeIdRef), so another argument, an output or a constant reads what the input is set to with.ref(...). - Breaking — 39 value-list fields in helper classes take their element type:
TfArg<List<String>>/TfArg<List<num>>instead ofTfArg<List<Object?>>. Synth output is unchanged. SeeMIGRATING.md. - Breaking — a Magic Modules
write_onlyinput and its plaintext sibling are one nullable sealed argument, as the provider rejects setting both:FirebaseAiLogicConfigGenerativeLanguageConfig(apiKey: .apiKeyWo(...))instead of separateapiKey/apiKeyWofields. - Every resource has a
refgetter returningRefTo<ItsClass>, and so does every data source that reads a resource of this package — the reference the arguments naming another resource will take. Additive. - Breaking — requires Dart 3.10 (
sdk: ^3.10.0, was^3.6.0). The generated wrappers were already formatted in the Dart 3.7+ tall style, so the constraint now matches them (pub.dev static analysis no longer reports a formatter mismatch). - Breaking — nested blocks take typed helper classes. The 114 inputs that were
TfArg<Map<String, dynamic>>/TfArg<List<Map<String, dynamic>>>now take a generated helper (ComputeFutureReservationTimeWindow,List<ApiGatewayApiConfigGrpcServices>, ...), for every factory. See MIGRATING.md. - Breaking — inputs with a fixed value set are enums (67 generated enums, top level and inside helpers), read from the resource's Magic Modules YAML:
direction: TfArg.literal(ComputeNetworkFirewallPolicyPacketMirroringRuleDirection.ingress)instead ofTfArg.literal('INGRESS'). - Breaking — Magic Modules
exactly_one_ofgroups are sealed:GoogleApiGatewayApiConfigtakes one requiredspec(.openapiDocuments(...)/.grpcServices(...)), and theemail_notification_settingsblock is itself a sealed type (emailNotificationSettings: .disableAllNotifications(...)). - Breaking — Magic Modules
conflictssets are nullable sealed arguments: 4 groups on 3 resources, e.g.GoogleFirebaseHostingChannel(expiration: .ttl(...))andGoogleTpuV2Vm(accelerator: ...). Leave the argument out to set none. See MIGRATING.md. - Every factory gets typed output getters for its computed attributes.
- The derivation is automatic: the weekly schema bump re-syncs the beta fixture's MM YAML (
tool/sync_lane_mm_yaml.dart), so a later pin types new or changed inputs without override edits. Synth output is unchanged. - Generated wrappers encode optional inputs as null-aware map elements (
'k': ?x,'k': ?x?.toTfJson()) instead ofif (x != null) 'k': xguards, regenerated withterradart wrap. No API change; synth output is unchanged.
0.30.0 - 2026-09-28 #
- Breaking — targets
hashicorp/google-beta8.x (GoogleBetaProviderpins~> 8.0; the filtered fixture moves to8.4.0), so an existing root module needsterraform init -upgrade. See MIGRATING.md. - Breaking — the 16 types 8.2 / 8.3 promoted to GA leave this package for
terradart_google(GoogleBiglakeHive*+ IAM,GoogleObservability*Settings,GoogleComputeNetworkEdgeSecurityService);package:terradart_google_beta/biglake.dartandobservability.dartare gone. The catalog is 112 resource factories.
0.29.0 - 2026-09-27 #
Lockstep release. No terradart_google_beta API changes.
0.28.1 - 2026-09-13 #
Lockstep release with terradart_migrate 0.28.1 (passthrough emission fix — a bare Map / List parameter no longer comes out as TfArg.literal). No terradart_google_beta API changes.
0.28.0 - 2026-09-13 #
GoogleBetaProvider.aliasand aprovider:parameter on every factory and data source. Wrappers keep pinningprovider = google-betaby default;provider: 'google-beta.<alias>'selects an aliasedGoogleBetaProvider(alias: ...)instead (#666).
0.27.0 - 2026-08-30 #
Lockstep release with terradart_core 0.27.0 (TfVariable / Stack.addVariable and S3Backend). No terradart_google_beta API changes.
0.26.0 - 2026-08-24 #
Lockstep release with the TerraDart workspace. Schema fixture re-extracted at hashicorp/google-beta 7.45.0 (same resource set). No factory or provider API changes.
0.25.3 - 2026-08-23 #
Lockstep release with the TerraDart workspace. No factory or provider changes.
0.25.2 - 2026-08-22 #
- Add an in-package
example/main.dart(pub.dev pana example check). No factory or provider changes; the schema pin now tracks the weekly GA bump automatically.
0.25.1 #
- Fill the beta-only
hashicorp/google-betacatalog: 128 resource factories (74 core + 54 IAM adjuncts) at provider 7.44.0. Wrappers pin thegoogle-betaprovider meta-argument. Coverage is synth +terraform validateviabeta_leftover_quickstart(apply-smoke skip-listed; beta apply policy is not designed). Data sources stay uncurated.
0.25.0 #
- Initial release:
GoogleBetaProviderand the first curated beta-only factory,GoogleProjectServiceIdentity(projectbarrel). Versioned in lockstep with the TerraDart workspace.