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.
terradart_google_beta #
Curated factory wrappers for beta-only Google Cloud resources (hashicorp/google-beta) for Dart-first Terraform stacks.
The beta-only catalog is filled (112 resource factories, schema pin tracking the weekly GA bump). Types that also exist in GA live in terradart_google. It depends on terradart_google: an argument that names a GA resource takes its ref (network: vpc.ref), so both compose in one Stack.
Installation #
dependencies:
terradart_core: ^0.35.0
terradart_google_beta: ^0.35.0
Usage example #
// lib/my_beta_stack.dart
import 'package:terradart_google_beta/project.dart';
import 'package:terradart_google_beta/provider.dart';
final class MyBetaStack extends Stack {
MyBetaStack({required String projectId})
: super(providers: [GoogleBetaProvider(project: projectId)]) {
final pubsubAgent = add(
GoogleProjectServiceIdentity(
'pubsub_agent',
service: .literal('pubsub.googleapis.com'),
),
);
// pubsubAgent.principal feeds IAM grants without racing agent creation.
}
}
// bin/infra.dart
import 'package:my_app/my_beta_stack.dart';
Future<void> main() async {
final stack = MyBetaStack(projectId: 'my-project-id');
await stack.writeTo('tf-out');
}
dart pub get
dart pub global activate terradart_cli
terradart apply
Wrappers in this package automatically pin the provider = google-beta meta-argument. Pass a registered GoogleBetaProvider(alias: '<alias>', ...) instance as provider: to select that aliased configuration instead.
Curated surface #
112 resource factories across per-service barrels (firebase, compute, vertex_ai, api_gateway, dataplex, …). New beta-only types that appear in later provider releases land on request.
Generated by the maintainer pipeline (terradart-codegen wrap against a filtered hashicorp/google-beta schema fixture); do not hand-edit files under lib/src/.