terradart_google_beta 0.28.1
terradart_google_beta: ^0.28.1 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 (128 resource factories, schema pin tracking the weekly GA bump). Types that also exist in GA live in terradart_google. Both packages share terradart_core and compose seamlessly in one Stack.
Installation #
dependencies:
terradart_core: ^0.28.x
terradart_google_beta: ^0.28.x
Usage example #
import 'package:terradart_core/terradart_core.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(
localName: 'pubsub_agent',
service: TfArg.literal('pubsub.googleapis.com'),
),
);
// pubsubAgent.member feeds IAM grants without racing agent creation.
}
}
// bin/infra.dart
import 'package:my_infra/my_beta_stack.dart';
Future<void> main() async {
final stack = MyBetaStack(projectId: 'my-project-id');
await stack.writeTo('tf-out');
}
dart pub get
dart run bin/infra.dart
cd tf-out && terraform init && terraform apply
Wrappers in this package automatically pin the provider = google-beta meta-argument. Pass provider: 'google-beta.<alias>' to select an aliased GoogleBetaProvider(alias: '<alias>', ...) instead.
Curated surface #
128 resource factories across per-service barrels (firebase, compute, vertex_ai, api_gateway, biglake, …). New beta-only types that appear in later provider releases land on request.
Generated by the maintainer pipeline (terradart wrap against a filtered hashicorp/google-beta schema fixture); do not hand-edit files under lib/src/.