terradart_google 0.12.15
terradart_google: ^0.12.15 copied to clipboard
Curated factory wrappers for 118 Google Cloud resources (Compute, BigQuery, Cloud Run, Cloud SQL, Pub/Sub, Monitoring, ...) for Dart-first Terraform stacks.
terradart_google #
Curated GCP factory wrappers for terradart. Ships 195 curated resource factories + 1 data source (196 catalog entries) with typed enums, sealed nested blocks, and golden-tested deterministic codegen.
The full per-service breakdown lives in the repo README — What ships. Discover factories programmatically via package:terradart_google/catalog.dart (terradartCatalog).
How resources are built #
Factory wrappers under lib/src/<service>/ are emitted by terradart wrap from curated overrides in terradart_codegen. They are committed so consumers depend on terradart_google without running codegen.
CI verifies determinism via terradart wrap --check. For any other google_* resource, open an issue to request curation.
Runtime primitives (Stack, TfArg, writeTo) live in terradart_core.
Installation #
dependencies:
terradart_core: ^0.12.x
terradart_google: ^0.12.x
Usage example #
import 'package:terradart_core/terradart_core.dart';
import 'package:terradart_google/provider.dart';
import 'package:terradart_google/storage.dart';
final class AssetsStack extends Stack {
AssetsStack({required String projectId})
: super(providers: [
GoogleProvider(project: projectId, region: 'asia-northeast1'),
]) {
add(GoogleStorageBucket(
localName: 'assets',
name: TfArg.literal('my-app-assets-prod'),
storageClass: TfArg.literal(BucketStorageClass.standard),
));
}
}
See examples/ and the pubsub quickstart for AppExport / boundary patterns.