Waves 23–41
v0.12.10 — Waves 23–24
Section titled “v0.12.10 — Waves 23–24”v0.12.10 added ten curated resource factories across DNS, Eventarc, Cloud Run, IAP, Compute, and BigQuery. All are additive — no breaking changes for code that does not import these types.
Catalog after 0.12.10: 186 curated resource factories + 1 data source (187 catalog entries). See status for versioning policy.
If you are upgrading from 0.12.9, read Migrating first — the same release also enum-ized many existing factories.
Wave 23
Section titled “Wave 23”| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_dns_record_set | GoogleDnsRecordSet | dns | dns_quickstart |
google_dns_policy | GoogleDnsPolicy | dns | dns_quickstart |
google_eventarc_google_channel_config | GoogleEventarcGoogleChannelConfig | eventarc | eventarc_quickstart |
google_cloud_run_v2_worker_pool | GoogleCloudRunV2WorkerPool | cloud_run | cloud_run_quickstart |
google_iap_web_backend_service_iam_member | GoogleIapWebBackendServiceIamMember | iap | compute_lb_quickstart |
Highlights
- DNS —
GoogleDnsRecordSetsupports routing-policy helpers and typed record enums;GoogleDnsPolicycovers inbound forwarding and DNSSEC-related project policy. - Eventarc —
GoogleEventarcGoogleChannelConfigconfigures the Google-owned channel used by Eventarc triggers. - Cloud Run —
GoogleCloudRunV2WorkerPoolis the long-running worker pool resource (distinct from Services and Jobs). - IAP —
GoogleIapWebBackendServiceIamMembergrants Identity-Aware Proxy access on an HTTPS load-balancer backend.
Wave 24
Section titled “Wave 24”| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_dns_response_policy | GoogleDnsResponsePolicy | dns | dns_quickstart |
google_dns_response_policy_rule | GoogleDnsResponsePolicyRule | dns | dns_quickstart |
google_cloud_run_v2_worker_pool_iam_member | GoogleCloudRunV2WorkerPoolIamMember | cloud_run | cloud_run_quickstart |
google_compute_router | GoogleComputeRouter | compute | compute_quickstart |
google_bigquery_datapolicy_data_policy_iam_member | GoogleBigqueryDatapolicyDataPolicyIamMember | bigquery | bigquery_quickstart |
Highlights
- DNS — response policies and rules for private or hybrid DNS override scenarios (paired with managed zones from earlier waves).
- Cloud Run — IAM member adjunct for worker pools (
roles/run.invokerpattern). - Compute —
GoogleComputeRouterwith typedComputeRouterBgp/ComputeRouterBgpAdvertiseModefor Cloud Router BGP sessions. - BigQuery — IAM member on data policies (column-level policy enforcement).
v0.12.11 — Waves 25–26
Section titled “v0.12.11 — Waves 25–26”v0.12.11 adds five more curated factories (Serverless VPC Access + Certificate Manager). All are additive — no breaking changes vs 0.12.10.
Catalog after 0.12.11: 191 curated resource factories + 1 data source (192 catalog entries).
Wave 25 — Serverless VPC Access
Section titled “Wave 25 — Serverless VPC Access”| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_vpc_access_connector | GoogleVpcAccessConnector | service_networking | cloud_run_quickstart |
Highlights
- VPC Access —
GoogleVpcAccessConnectoris the managed proxy that lets Cloud Run, Cloud Functions, and App Engine reach private VPC resources (Cloud SQL private IP, Memorystore, etc.). - Placement — dedicated
/28CIDR (ipCidrRange+network) or an existing subnet viaVpcAccessConnectorSubnet. - Downstream — wire
template.vpcAccess.connectoronGoogleCloudRunV2ServicewithCloudRunV2ServiceVpcAccess.
import 'package:terradart_google/service_networking.dart';import 'package:terradart_google/cloud_run.dart';
final connector = GoogleVpcAccessConnector( localName: 'run_vpc', name: TfArg.literal('run-vpc'), region: TfArg.literal('asia-northeast1'), ipCidrRange: TfArg.literal('10.8.0.0/28'), network: TfArg.literal('default'),);
// On the Cloud Run service template:template: CloudRunV2ServiceTemplate( vpcAccess: CloudRunV2ServiceVpcAccess( connector: TfArg.ref(connector.selfLink), egress: CloudRunV2ServiceVpcAccessEgress.allTraffic, ),),Wave 26 — Certificate Manager
Section titled “Wave 26 — Certificate Manager”| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_certificate_manager_dns_authorization | GoogleCertificateManagerDnsAuthorization | certificate_manager | compute_lb_quickstart |
google_certificate_manager_certificate | GoogleCertificateManagerCertificate | certificate_manager | compute_lb_quickstart |
google_certificate_manager_certificate_map | GoogleCertificateManagerCertificateMap | certificate_manager | compute_lb_quickstart |
google_certificate_manager_certificate_map_entry | GoogleCertificateManagerCertificateMapEntry | certificate_manager | compute_lb_quickstart |
Highlights
- DNS authorization — proves domain ownership for Google-managed certificate provisioning (
CertificateManagerDnsAuthorizationTypeenum). - Certificate — sealed
CertificateManagerCertificateProvisioningSource: managed (auto-renewed) or self-managed PEM upload;CertificateManagerCertificateScopefor scope selection. - Certificate map — hostname → certificate routing table for global external HTTPS load balancers; set
certificateMaponGoogleComputeTargetHttpsProxyto migrate off classicgoogle_compute_managed_ssl_certificate. - Map entry — binds hostnames (or matchers) to one or more certificates inside a map.
import 'package:terradart_google/certificate_manager.dart';
final dnsAuth = GoogleCertificateManagerDnsAuthorization( localName: 'app_dns', name: TfArg.literal('app-dns-auth'), domain: TfArg.literal('app.example.com'),);
final cert = GoogleCertificateManagerCertificate( localName: 'app_cert', name: TfArg.literal('app-cert'), provisioning: CertificateManagerCertificateManagedProvisioning( domains: ['app.example.com'], dnsAuthorizations: [TfArg.ref(dnsAuth.id)], ),);v0.12.12 — exactly_one_of sealed enforcement
Section titled “v0.12.12 — exactly_one_of sealed enforcement”v0.12.12 is a breaking release for seven existing factories (firewall, health checks, uptime check, BigQuery job/connection, Cloud Build trigger). No new catalog entries — compile-time sealed virtual slots replace optional per-block params. See Migrating (0.12.11 → 0.12.12).
v0.12.13 — Wave 27
Section titled “v0.12.13 — Wave 27”v0.12.13 adds two Certificate Manager factories and backfills the GoogleProject data source in pubsub_quickstart. Additive — no breaking changes vs 0.12.12.
Catalog after 0.12.13: 193 curated resource factories + 1 data source (194 catalog entries).
Wave 27 — Certificate Manager (trust + issuance)
Section titled “Wave 27 — Certificate Manager (trust + issuance)”| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_certificate_manager_trust_config | GoogleCertificateManagerTrustConfig | certificate_manager | compute_lb_quickstart |
google_certificate_manager_certificate_issuance_config | GoogleCertificateManagerCertificateIssuanceConfig | certificate_manager | compute_lb_quickstart |
Highlights
- Trust config — PEM trust anchors / intermediate CAs and optional allowlists for mTLS and custom trust stores on HTTPS proxies.
- Issuance config — binds managed certificate provisioning to a Certificate Authority Service
ca_poolwith lifetime and rotation policy.
import 'package:terradart_google/certificate_manager.dart';
final trust = GoogleCertificateManagerTrustConfig( localName: 'app_trust', name: TfArg.literal('app-trust'), location: TfArg.literal('global'), trustStores: [ CertificateManagerTrustConfigTrustStore( trustAnchors: [ CertificateManagerTrustConfigTrustAnchor( pemCertificate: TfArg.variable('cm_trust_anchor_pem'), ), ], ), ],);v0.12.14 — Wave 28
Section titled “v0.12.14 — Wave 28”v0.12.14 adds the CAS CA pool factory and wires it into the Certificate Manager issuance path in compute_lb_quickstart. Additive — no breaking changes vs 0.12.13.
Catalog after 0.12.14: 194 curated resource factories + 1 data source (195 catalog entries). 30 service barrels.
Wave 28 — Private CA (CAS pool)
Section titled “Wave 28 — Private CA (CAS pool)”| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_privateca_ca_pool | GooglePrivatecaCaPool | privateca | compute_lb_quickstart |
Highlights
- CA pool — Certificate Authority Service container referenced by [GoogleCertificateManagerCertificateIssuanceConfig] via
caPool: TfArg.ref(pool.id). PrivatecaCaPoolTier—ENTERPRISEorDEVOPS.
import 'package:terradart_google/privateca.dart';
final pool = GooglePrivatecaCaPool( localName: 'app_pool', name: TfArg.literal('app-pool'), location: TfArg.literal('us-central1'), tier: TfArg.literal(PrivatecaCaPoolTier.devops),);v0.12.15 — Wave 29
Section titled “v0.12.15 — Wave 29”v0.12.15 adds the CAS certificate authority factory and wires a self-signed root CA into compute_lb_quickstart before the issuance config. Additive — no breaking changes vs 0.12.14.
Catalog after 0.12.15: 195 curated resource factories + 1 data source (196 catalog entries). 30 service barrels.
Wave 29 — Private CA (certificate authority)
Section titled “Wave 29 — Private CA (certificate authority)”| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_privateca_certificate_authority | GooglePrivatecaCertificateAuthority | privateca | compute_lb_quickstart |
Highlights
- Root CA —
PrivatecaCertificateAuthorityConfig+PrivatecaCertificateAuthorityX509Config.rootCa()for a cert-signing profile inside a [GooglePrivatecaCaPool]. - Key spec —
PrivatecaCertificateAuthorityKeySpecwithPrivatecaCertificateAuthorityKeyAlgorithmenum.
GooglePrivatecaCertificateAuthority( localName: 'root_ca', certificateAuthorityId: TfArg.literal('app-root-ca'), pool: TfArg.ref(pool.id), location: TfArg.literal('us-central1'), config: PrivatecaCertificateAuthorityConfig( subjectConfig: PrivatecaCertificateAuthoritySubjectConfig( subject: PrivatecaCertificateAuthoritySubject( commonName: TfArg.literal('app.example.com'), ), ), x509Config: PrivatecaCertificateAuthorityX509Config.rootCa(), ), keySpec: PrivatecaCertificateAuthorityKeySpec( algorithm: TfArg.literal( PrivatecaCertificateAuthorityKeyAlgorithm.rsaPkcs14096Sha256, ), ),);v0.12.16 — Wave 30
Section titled “v0.12.16 — Wave 30”v0.12.16 adds the CAS issued-certificate factory and exercises CSR-based issuance in compute_lb_quickstart after the root CA. Additive — no breaking changes vs 0.12.15.
Catalog after 0.12.16: 196 curated resource factories + 1 data source (197 catalog entries). 30 service barrels.
Wave 30 — Private CA (certificate)
Section titled “Wave 30 — Private CA (certificate)”| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_privateca_certificate | GooglePrivatecaCertificate | privateca | compute_lb_quickstart |
Highlights
- CSR or inline config — issue via
pem_csror typed [PrivatecaCertificateConfig] (subject + optionalpublic_key). - Leaf profile —
PrivatecaCertificateX509Config.serverTls()for server-auth end-entity certs. - Apply note — parent CA pool must be ENTERPRISE tier at apply time (provider constraint); the quickstart uses a CSR variable for
terraform validate.
GooglePrivatecaCertificate( localName: 'leaf_cert', name: TfArg.literal('app-leaf-cert'), pool: TfArg.ref(pool.id), location: TfArg.literal('us-central1'), certificateAuthority: TfArg.literal('app-root-ca'), lifetime: TfArg.literal('86400s'), pemCsr: TfArg.variable('leaf_cert_csr_pem'),);v0.12.20 — Wave 33
Section titled “v0.12.20 — Wave 33”v0.12.20 adds AlloyDB cluster, instance, and user factories on a new alloydb barrel. Additive — no breaking changes vs 0.12.19.
Catalog after 0.12.20: 202 curated resource factories + 1 data source (203 catalog entries). 32 service barrels.
Wave 33 — AlloyDB
Section titled “Wave 33 — AlloyDB”| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_alloydb_cluster | GoogleAlloydbCluster | alloydb | cloud_sql_quickstart |
google_alloydb_instance | GoogleAlloydbInstance | alloydb | cloud_sql_quickstart |
google_alloydb_user | GoogleAlloydbUser | alloydb | cloud_sql_quickstart |
Highlights
- PSA reuse — [AlloydbClusterNetworkConfig] pins the same VPC + allocated range as private Cloud SQL.
- Typed helpers —
AlloydbInstanceMachineConfig,AlloydbClusterInitialUser, day-of-week enums for backup/maintenance windows.
GoogleAlloydbCluster( localName: 'alloydb', clusterId: TfArg.literal('app-alloydb'), location: TfArg.literal('asia-northeast1'), networkConfig: AlloydbClusterNetworkConfig( network: TfArg.ref(vpc.selfLink), allocatedIpRange: TfArg.ref(psaRange.nameRef), ), dependsOn: [ResourceDependency(psaConnection)],);v0.15.0 — Wave 35 — AlloyDB backup, Memcache, Spanner
Section titled “v0.15.0 — Wave 35 — AlloyDB backup, Memcache, Spanner”Adds google_alloydb_backup, google_memcache_instance, google_spanner_instance, and google_spanner_database.
Catalog after Wave 35: 206 curated resource factories + 1 data source (207 catalog entries). 34 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_alloydb_backup | GoogleAlloydbBackup | alloydb | cloud_sql_quickstart |
google_memcache_instance | GoogleMemcacheInstance | memcache | cloud_run_quickstart |
google_spanner_instance | GoogleSpannerInstance | spanner | ops_quickstart |
google_spanner_database | GoogleSpannerDatabase | spanner | ops_quickstart |
Wave 73 — Cloud Bigtable
Section titled “Wave 73 — Cloud Bigtable”Adds ten Cloud Bigtable factories under the new bigtable barrel: instance (typed clusters), table (column families), app profile (sealed routing), GC policy (max age / max version), authorized view, logical view, materialized view, protobuf schema bundle, and additive instance/table IAM members. Exercised by bigtable_quickstart.
Catalog after Wave 73: 343 curated resource factories + 1 data source (344 catalog entries). 60 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_bigtable_instance | GoogleBigtableInstance | bigtable | bigtable_quickstart |
google_bigtable_table | GoogleBigtableTable | bigtable | bigtable_quickstart |
google_bigtable_app_profile | GoogleBigtableAppProfile | bigtable | bigtable_quickstart |
google_bigtable_gc_policy | GoogleBigtableGcPolicy | bigtable | bigtable_quickstart |
google_bigtable_authorized_view | GoogleBigtableAuthorizedView | bigtable | bigtable_quickstart |
google_bigtable_logical_view | GoogleBigtableLogicalView | bigtable | bigtable_quickstart |
google_bigtable_materialized_view | GoogleBigtableMaterializedView | bigtable | bigtable_quickstart |
google_bigtable_schema_bundle | GoogleBigtableSchemaBundle | bigtable | bigtable_quickstart |
google_bigtable_instance_iam_member | GoogleBigtableInstanceIamMember | bigtable | bigtable_quickstart |
google_bigtable_table_iam_member | GoogleBigtableTableIamMember | bigtable | bigtable_quickstart |
Wave 74 — Dataplex lake operations
Section titled “Wave 74 — Dataplex lake operations”Adds three Dataplex factories under the dataplex barrel: a lake zone (RAW/CURATED type enums), a GCS bucket asset, and an additive zone IAM member. Exercised by extending dataplex_quickstart with a RAW zone, bucket asset, and roles/dataplex.dataReader grant.
Catalog after Wave 74: 372 curated resource factories + 1 data source (373 catalog entries). 61 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_dataplex_zone | GoogleDataplexZone | dataplex | dataplex_quickstart |
google_dataplex_asset | GoogleDataplexAsset | dataplex | dataplex_quickstart |
google_dataplex_zone_iam_member | GoogleDataplexZoneIamMember | dataplex | dataplex_quickstart |
Wave 72 — IAP App Engine IAM members
Section titled “Wave 72 — IAP App Engine IAM members”Adds three additive *_iam_member factories under the iap barrel for Identity-Aware Proxy access to App Engine at service, version, and app-wide scope. Exercised by extending iam_quickstart (IAP API enablement + three member grants).
Catalog after Wave 72: 333 curated resource factories + 1 data source (334 catalog entries). 59 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_iap_app_engine_service_iam_member | GoogleIapAppEngineServiceIamMember | iap | iam_quickstart |
google_iap_app_engine_version_iam_member | GoogleIapAppEngineVersionIamMember | iap | iam_quickstart |
google_iap_web_type_app_engine_iam_member | GoogleIapWebTypeAppEngineIamMember | iap | iam_quickstart |
Wave 71 — App Engine
Section titled “Wave 71 — App Engine”Adds eight App Engine factories under the new app barrel: project application registration, URL dispatch rules, domain mapping, firewall rules, standard- and flexible-environment service versions (flexible uses a sealed automatic/manual scaling dispatch), and per-service network/traffic settings. Exercised by app_engine_quickstart.
Catalog after Wave 71: 330 curated resource factories + 1 data source (331 catalog entries). 59 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_app_engine_application | GoogleAppEngineApplication | app | app_engine_quickstart |
google_app_engine_application_url_dispatch_rules | GoogleAppEngineApplicationUrlDispatchRules | app | app_engine_quickstart |
google_app_engine_domain_mapping | GoogleAppEngineDomainMapping | app | app_engine_quickstart |
google_app_engine_firewall_rule | GoogleAppEngineFirewallRule | app | app_engine_quickstart |
google_app_engine_flexible_app_version | GoogleAppEngineFlexibleAppVersion | app | app_engine_quickstart |
google_app_engine_service_network_settings | GoogleAppEngineServiceNetworkSettings | app | app_engine_quickstart |
google_app_engine_service_split_traffic | GoogleAppEngineServiceSplitTraffic | app | app_engine_quickstart |
google_app_engine_standard_app_version | GoogleAppEngineStandardAppVersion | app | app_engine_quickstart |
Wave 70 — Vertex AI GenAI cache config
Section titled “Wave 70 — Vertex AI GenAI cache config”Extends the vertex_ai barrel with google_vertex_ai_cache_config — a project-level singleton that toggles GenAI response caching (disable_cache). Flat factory with no nested enums. Exercised by extending vertex_ai_quickstart.
Catalog after Wave 70: 322 curated resource factories + 1 data source (323 catalog entries). 58 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_vertex_ai_cache_config | GoogleVertexAiCacheConfig | vertex_ai | vertex_ai_quickstart |
Wave 69 — Network Connectivity Center hub
Section titled “Wave 69 — Network Connectivity Center hub”Extends the network barrel with google_network_connectivity_hub — a global, free routing fabric for Network Connectivity Center (spokes attach separately). policy_mode / preset_topology are optional+computed in the provider schema, so they stay plain String inputs. Exercised by extending network_security_lists_quickstart (which now also enables networkconnectivity.googleapis.com).
Catalog after Wave 69: 321 curated resource factories + 1 data source (322 catalog entries). 58 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_network_connectivity_hub | GoogleNetworkConnectivityHub | network | network_security_lists_quickstart |
Wave 68 — Vertex AI dataset + Tensorboard
Section titled “Wave 68 — Vertex AI dataset + Tensorboard”Extends the vertex_ai barrel with two managed-ML factories: google_vertex_ai_dataset (a managed dataset keyed by a Google-hosted metadata schema URI) and google_vertex_ai_tensorboard (experiment visualization). Both expose the single-attr encryption_spec block as a structured map. Exercised by extending vertex_ai_quickstart with an image dataset and an experiments Tensorboard.
Catalog after Wave 68: 320 curated resource factories + 1 data source (321 catalog entries). 58 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_vertex_ai_dataset | GoogleVertexAiDataset | vertex_ai | vertex_ai_quickstart |
google_vertex_ai_tensorboard | GoogleVertexAiTensorboard | vertex_ai | vertex_ai_quickstart |
Wave 67 — Compute disk resource policy attachment
Section titled “Wave 67 — Compute disk resource policy attachment”Adds google_compute_disk_resource_policy_attachment on the existing compute barrel — a flat factory that attaches a resource policy (e.g. a snapshot schedule) to a persistent disk. Exercised by extending compute_route_quickstart: a small blank zonal disk gets the daily snapshot schedule attached (deletion_policy: DELETE so it detaches cleanly on destroy).
Catalog after Wave 67: 318 curated resource factories + 1 data source (319 catalog entries). 58 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_compute_disk_resource_policy_attachment | GoogleComputeDiskResourcePolicyAttachment | compute | compute_route_quickstart |
Wave 66 — Compute resource policy
Section titled “Wave 66 — Compute resource policy”Adds google_compute_resource_policy on the existing compute barrel — fully modeled with a sealed snapshot schedule (hourly / daily / weekly + typed day-of-week & on-source-disk-delete enums), retention/snapshot-properties helpers, and a typed workload policy (with type & topology-distance enums); the remaining policy blocks are structured maps. Exercised by extending compute_route_quickstart with a daily snapshot schedule.
Catalog after Wave 66: 317 curated resource factories + 1 data source (318 catalog entries). 58 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_compute_resource_policy | GoogleComputeResourcePolicy | compute | compute_route_quickstart |
Wave 65 — Gemini for Google Cloud
Section titled “Wave 65 — Gemini for Google Cloud”Adds three Gemini Code Assist settings on a new gemini barrel — GCP enablement, logging, and release-channel settings — with a new gemini_quickstart.
Catalog after Wave 65: 316 curated resource factories + 1 data source (317 catalog entries). 58 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_gemini_gemini_gcp_enablement_setting | GoogleGeminiGeminiGcpEnablementSetting | gemini | gemini_quickstart |
google_gemini_logging_setting | GoogleGeminiLoggingSetting | gemini | gemini_quickstart |
google_gemini_release_channel_setting | GoogleGeminiReleaseChannelSetting | gemini | gemini_quickstart |
Wave 64 — BigLake Metastore
Section titled “Wave 64 — BigLake Metastore”Adds google_biglake_catalog / google_biglake_database / google_biglake_table on a new biglake barrel (Hive-compatible metastore; hive_options passed as structured maps), with a new biglake_quickstart.
Catalog after Wave 64: 313 curated resource factories + 1 data source (314 catalog entries). 57 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_biglake_catalog | GoogleBiglakeCatalog | biglake | biglake_quickstart |
google_biglake_database | GoogleBiglakeDatabase | biglake | biglake_quickstart |
google_biglake_table | GoogleBiglakeTable | biglake | biglake_quickstart |
Wave 63 — Vertex AI Feature Store
Section titled “Wave 63 — Vertex AI Feature Store”Adds google_vertex_ai_feature_group on a new vertex_ai barrel (a BigQuery-backed feature group; the big_query config is a structured map), with a new vertex_ai_quickstart that wires a BigQuery dataset + table into the feature group.
Catalog after Wave 63: 310 curated resource factories + 1 data source (311 catalog entries). 56 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_vertex_ai_feature_group | GoogleVertexAiFeatureGroup | vertex_ai | vertex_ai_quickstart |
Wave 62 — Compute network firewall policy
Section titled “Wave 62 — Compute network firewall policy”Adds google_compute_network_firewall_policy on the existing compute barrel — the modern policy-based replacement for standalone VPC firewall rules — exercised by extending compute_route_quickstart.
Catalog after Wave 62: 309 curated resource factories + 1 data source (310 catalog entries). 55 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_compute_network_firewall_policy | GoogleComputeNetworkFirewallPolicy | compute | compute_route_quickstart |
Wave 61 — Cloud Deploy
Section titled “Wave 61 — Cloud Deploy”Adds three Cloud Deploy factories on a new clouddeploy barrel — delivery pipeline, target, and custom target type (nested config passed as structured maps) — and a new clouddeploy_quickstart (a Cloud Run target + pipeline + custom target type).
Catalog after Wave 61: 308 curated resource factories + 1 data source (309 catalog entries). 55 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_clouddeploy_delivery_pipeline | GoogleClouddeployDeliveryPipeline | clouddeploy | clouddeploy_quickstart |
google_clouddeploy_target | GoogleClouddeployTarget | clouddeploy | clouddeploy_quickstart |
google_clouddeploy_custom_target_type | GoogleClouddeployCustomTargetType | clouddeploy | clouddeploy_quickstart |
Wave 60 — GKE Hub fleet scope + namespace
Section titled “Wave 60 — GKE Hub fleet scope + namespace”Adds google_gke_hub_scope and google_gke_hub_namespace on the existing container barrel — fleet team-management scaffolding that needs no cluster — with a new lightweight gke_hub_quickstart.
Catalog after Wave 60: 305 curated resource factories + 1 data source (306 catalog entries). 54 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_gke_hub_scope | GoogleGkeHubScope | container | gke_hub_quickstart |
google_gke_hub_namespace | GoogleGkeHubNamespace | container | gke_hub_quickstart |
Wave 59 — Cloud Healthcare store IAM members
Section titled “Wave 59 — Cloud Healthcare store IAM members”Adds the store-level *_iam_member adjuncts on the existing healthcare barrel — google_healthcare_dicom_store_iam_member, google_healthcare_hl7_v2_store_iam_member, google_healthcare_consent_store_iam_member — exercised by extending healthcare_quickstart with per-store viewer grants.
Catalog after Wave 59: 303 curated resource factories + 1 data source (304 catalog entries). 54 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_healthcare_dicom_store_iam_member | GoogleHealthcareDicomStoreIamMember | healthcare | healthcare_quickstart |
google_healthcare_hl7_v2_store_iam_member | GoogleHealthcareHl7V2StoreIamMember | healthcare | healthcare_quickstart |
google_healthcare_consent_store_iam_member | GoogleHealthcareConsentStoreIamMember | healthcare | healthcare_quickstart |
Wave 58 — BigQuery standalone dataset access
Section titled “Wave 58 — BigQuery standalone dataset access”Adds google_bigquery_dataset_access on the existing bigquery barrel — the standalone (non-inline) counterpart of GoogleBigqueryDataset.access, with typed sealed-style helpers (BigqueryDatasetAccessPredefinedGroup enum, authorized view / routine / dataset blocks). Exercised by extending bigquery_quickstart (synth + terraform validate; bigquery_quickstart is apply-smoke-skip-listed for org-gated datapolicy/analyticshub resources).
Catalog after Wave 58: 300 curated resource factories + 1 data source (301 catalog entries). 54 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_bigquery_dataset_access | GoogleBigqueryDatasetAccess | bigquery | bigquery_quickstart |
Wave 57 — Cloud Healthcare HL7v2 store
Section titled “Wave 57 — Cloud Healthcare HL7v2 store”Adds google_healthcare_hl7_v2_store (with a typed Hl7V2StoreParserConfig block + Hl7V2StoreParserConfigVersion enum) on the existing healthcare barrel, exercised by extending healthcare_quickstart.
Catalog after Wave 57: 299 curated resource factories + 1 data source (300 catalog entries). 54 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_healthcare_hl7_v2_store | GoogleHealthcareHl7V2Store | healthcare | healthcare_quickstart |
Wave 56 — Dialogflow agent
Section titled “Wave 56 — Dialogflow agent”Adds google_dialogflow_agent (+ DialogflowAgentApiVersion / DialogflowAgentMatchMode / DialogflowAgentTier enums) on the existing dialogflow barrel, exercised by extending dialogflow_quickstart with the project’s Dialogflow ES agent.
Catalog after Wave 56: 298 curated resource factories + 1 data source (299 catalog entries). 54 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_dialogflow_agent | GoogleDialogflowAgent | dialogflow | dialogflow_quickstart |
Wave 55 — Cloud Observability
Section titled “Wave 55 — Cloud Observability”Adds google_observability_trace_scope on a new observability barrel and a new observability_quickstart (a Trace scope over the current project).
Catalog after Wave 55: 297 curated resource factories + 1 data source (298 catalog entries). 54 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_observability_trace_scope | GoogleObservabilityTraceScope | observability | observability_quickstart |
Wave 54 — Cloud Healthcare
Section titled “Wave 54 — Cloud Healthcare”Adds four Cloud Healthcare factories on a new healthcare barrel — dataset, DICOM store, consent store, and the dataset *_iam_member adjunct — and a new healthcare_quickstart.
Catalog after Wave 54: 296 curated resource factories + 1 data source (297 catalog entries). 53 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_healthcare_dataset | GoogleHealthcareDataset | healthcare | healthcare_quickstart |
google_healthcare_dicom_store | GoogleHealthcareDicomStore | healthcare | healthcare_quickstart |
google_healthcare_consent_store | GoogleHealthcareConsentStore | healthcare | healthcare_quickstart |
google_healthcare_dataset_iam_member | GoogleHealthcareDatasetIamMember | healthcare | healthcare_quickstart |
Wave 53 — Network Security lists
Section titled “Wave 53 — Network Security lists”Adds google_network_security_address_group (+ NetworkSecurityAddressGroupType enum) and google_network_security_url_lists on the existing network barrel, with a new network_security_lists_quickstart (an IPv4 address group + a URL list).
Catalog after Wave 53: 292 curated resource factories + 1 data source (293 catalog entries). 52 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_network_security_address_group | GoogleNetworkSecurityAddressGroup | network | network_security_lists_quickstart |
google_network_security_url_lists | GoogleNetworkSecurityUrlLists | network | network_security_lists_quickstart |
Wave 52 — Parameter Manager
Section titled “Wave 52 — Parameter Manager”Adds four Parameter Manager factories on a new parameter_manager barrel — global parameter (+ ParameterManagerParameterFormat enum), parameter version, regional parameter (+ enum), and regional parameter version — and a new parameter_manager_quickstart with a global + regional parameter. (The two version factories are tracked in tool/example_debt.yaml: their parameter_data is sensitive, so a literal is rejected by synth and a TF variable would break the applyable example.)
Catalog after Wave 52: 290 curated resource factories + 1 data source (291 catalog entries). 52 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_parameter_manager_parameter | GoogleParameterManagerParameter | parameter_manager | parameter_manager_quickstart |
google_parameter_manager_parameter_version | GoogleParameterManagerParameterVersion | parameter_manager | (tool/example_debt.yaml) |
google_parameter_manager_regional_parameter | GoogleParameterManagerRegionalParameter | parameter_manager | parameter_manager_quickstart |
google_parameter_manager_regional_parameter_version | GoogleParameterManagerRegionalParameterVersion | parameter_manager | (tool/example_debt.yaml) |
Wave 51 — Dataplex lake
Section titled “Wave 51 — Dataplex lake”Adds google_dataplex_lake and google_dataplex_lake_iam_member on the existing dataplex barrel, exercised by extending dataplex_quickstart with a lake + resource-level IAM member.
Catalog after Wave 51: 286 curated resource factories + 1 data source (287 catalog entries). 51 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_dataplex_lake | GoogleDataplexLake | dataplex | dataplex_quickstart |
google_dataplex_lake_iam_member | GoogleDataplexLakeIamMember | dataplex | dataplex_quickstart |
Wave 50 — Document AI
Section titled “Wave 50 — Document AI”Adds google_document_ai_processor on a new document_ai barrel and a new document_ai_quickstart that provisions an OCR processor.
Catalog after Wave 50: 284 curated resource factories + 1 data source (285 catalog entries). 51 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_document_ai_processor | GoogleDocumentAiProcessor | document_ai | document_ai_quickstart |
Wave 49 — Secret Manager regional
Section titled “Wave 49 — Secret Manager regional”Adds three regional Secret Manager factories on the existing secret_manager barrel — regional secret, regional secret version, and the regional secret *_iam_member adjunct — exercised by extending secret_manager_quickstart with a regional secret + accessor IAM member. (The regional version factory is tracked in tool/example_debt.yaml: regional secrets lack a write-only data field, so its sensitive secret_data cannot be supplied as a literal without making the example require a Terraform variable.)
Catalog after Wave 49: 283 curated resource factories + 1 data source (284 catalog entries). 50 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_secret_manager_regional_secret | GoogleSecretManagerRegionalSecret | secret_manager | secret_manager_quickstart |
google_secret_manager_regional_secret_version | GoogleSecretManagerRegionalSecretVersion | secret_manager | (tool/example_debt.yaml) |
google_secret_manager_regional_secret_iam_member | GoogleSecretManagerRegionalSecretIamMember | secret_manager | secret_manager_quickstart |
Wave 48 — Compute static route + project metadata
Section titled “Wave 48 — Compute static route + project metadata”Adds google_compute_route and google_compute_project_metadata_item on the existing compute barrel, exercised by a new lightweight compute_route_quickstart (a custom-mode VPC + static route + project metadata item — all free, no VMs).
Catalog after Wave 48: 280 curated resource factories + 1 data source (281 catalog entries). 50 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_compute_route | GoogleComputeRoute | compute | compute_route_quickstart |
google_compute_project_metadata_item | GoogleComputeProjectMetadataItem | compute | compute_route_quickstart |
Wave 47 — Workflows
Section titled “Wave 47 — Workflows”Adds google_workflows_workflow on a new workflows barrel (with WorkflowsWorkflowCallLogLevel / WorkflowsWorkflowExecutionHistoryLevel enums) and a new workflows_quickstart that defines a workflow from inline YAML.
Catalog after Wave 47: 278 curated resource factories + 1 data source (279 catalog entries). 50 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_workflows_workflow | GoogleWorkflowsWorkflow | workflows | workflows_quickstart |
Wave 46 — Dataplex business glossary
Section titled “Wave 46 — Dataplex business glossary”Adds four Dataplex business-glossary factories on the existing dataplex barrel — glossary, glossary category, glossary term, and the glossary *_iam_member adjunct — exercised by extending dataplex_quickstart.
Catalog after Wave 46: 277 curated resource factories + 1 data source (278 catalog entries). 49 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_dataplex_glossary | GoogleDataplexGlossary | dataplex | dataplex_quickstart |
google_dataplex_glossary_category | GoogleDataplexGlossaryCategory | dataplex | dataplex_quickstart |
google_dataplex_glossary_term | GoogleDataplexGlossaryTerm | dataplex | dataplex_quickstart |
google_dataplex_glossary_iam_member | GoogleDataplexGlossaryIamMember | dataplex | dataplex_quickstart |
Wave 45 — Dataplex Universal Catalog
Section titled “Wave 45 — Dataplex Universal Catalog”Adds six Dataplex Universal Catalog factories on the existing dataplex barrel — entry group, entry type, aspect type, and their *_iam_member adjuncts — exercised by extending dataplex_quickstart.
Catalog after Wave 45: 273 curated resource factories + 1 data source (274 catalog entries). 49 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_dataplex_entry_group | GoogleDataplexEntryGroup | dataplex | dataplex_quickstart |
google_dataplex_entry_type | GoogleDataplexEntryType | dataplex | dataplex_quickstart |
google_dataplex_aspect_type | GoogleDataplexAspectType | dataplex | dataplex_quickstart |
google_dataplex_entry_group_iam_member | GoogleDataplexEntryGroupIamMember | dataplex | dataplex_quickstart |
google_dataplex_entry_type_iam_member | GoogleDataplexEntryTypeIamMember | dataplex | dataplex_quickstart |
google_dataplex_aspect_type_iam_member | GoogleDataplexAspectTypeIamMember | dataplex | dataplex_quickstart |
Wave 44 — Service Directory
Section titled “Wave 44 — Service Directory”Adds five google_service_directory_* factories on a new service_directory barrel with service_directory_quickstart: a namespace, a service, an endpoint, and namespace/service *_iam_member adjuncts.
Catalog after Wave 44: 267 curated resource factories + 1 data source (268 catalog entries). 49 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_service_directory_namespace | GoogleServiceDirectoryNamespace | service_directory | service_directory_quickstart |
google_service_directory_service | GoogleServiceDirectoryService | service_directory | service_directory_quickstart |
google_service_directory_endpoint | GoogleServiceDirectoryEndpoint | service_directory | service_directory_quickstart |
google_service_directory_namespace_iam_member | GoogleServiceDirectoryNamespaceIamMember | service_directory | service_directory_quickstart |
google_service_directory_service_iam_member | GoogleServiceDirectoryServiceIamMember | service_directory | service_directory_quickstart |
Wave 43 — Essential Contacts
Section titled “Wave 43 — Essential Contacts”Adds google_essential_contacts_contact on a new essential_contacts barrel. Exercised by extending monitoring_quickstart with the Essential Contacts API enablement + a technical-notifications contact.
Catalog after Wave 43: 262 curated resource factories + 1 data source (263 catalog entries). 48 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_essential_contacts_contact | GoogleEssentialContactsContact | essential_contacts | monitoring_quickstart |
Wave 42 — Resource Manager Tags
Section titled “Wave 42 — Resource Manager Tags”Adds five google_tags_* factories on a new tags barrel with tags_quickstart: a project-scoped tag key + value, a tag binding on the project, and the tag key/value *_iam_member adjuncts.
Catalog after Wave 42: 261 curated resource factories + 1 data source (262 catalog entries). 47 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_tags_tag_key | GoogleTagsTagKey | tags | tags_quickstart |
google_tags_tag_value | GoogleTagsTagValue | tags | tags_quickstart |
google_tags_tag_binding | GoogleTagsTagBinding | tags | tags_quickstart |
google_tags_tag_key_iam_member | GoogleTagsTagKeyIamMember | tags | tags_quickstart |
google_tags_tag_value_iam_member | GoogleTagsTagValueIamMember | tags | tags_quickstart |
v0.15.0 — Wave 41 — IAM binding/policy adjuncts
Section titled “v0.15.0 — Wave 41 — IAM binding/policy adjuncts”Adds authoritative IAM *_iam_binding and *_iam_policy factories where sibling *_iam_member resources already ship, extending existing quickstarts.
Catalog after Wave 41: 256 curated resource factories + 1 data source (257 catalog entries). 46 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_bigquery_routine_iam_binding | GoogleBigqueryRoutineIamBinding | bigquery | bigquery_quickstart |
google_bigquery_routine_iam_policy | GoogleBigqueryRoutineIamPolicy | bigquery | bigquery_quickstart |
google_compute_region_instant_snapshot_iam_binding | GoogleComputeRegionInstantSnapshotIamBinding | compute | compute_quickstart |
google_compute_region_instant_snapshot_iam_policy | GoogleComputeRegionInstantSnapshotIamPolicy | compute | compute_quickstart |
google_discovery_engine_search_engine_iam_binding | GoogleDiscoveryEngineSearchEngineIamBinding | discovery_engine | discovery_engine_quickstart |
google_discovery_engine_search_engine_iam_policy | GoogleDiscoveryEngineSearchEngineIamPolicy | discovery_engine | discovery_engine_quickstart |
v0.15.0 — Wave 40 — Oracle Exadata
Section titled “v0.15.0 — Wave 40 — Oracle Exadata”Adds four Oracle Exadata factories on the oracle barrel with oracle_exadata_quickstart.
Catalog after Wave 40: 256 curated resource factories + 1 data source (257 catalog entries). 46 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_oracle_database_cloud_exadata_infrastructure | GoogleOracleDatabaseCloudExadataInfrastructure | oracle | oracle_exadata_quickstart |
google_oracle_database_cloud_vm_cluster | GoogleOracleDatabaseCloudVmCluster | oracle | oracle_exadata_quickstart |
google_oracle_database_exadb_vm_cluster | GoogleOracleDatabaseExadbVmCluster | oracle | oracle_exadata_quickstart |
google_oracle_database_exascale_db_storage_vault | GoogleOracleDatabaseExascaleDbStorageVault | oracle | oracle_exadata_quickstart |
v0.15.0 — Wave 39 — Oracle DB System
Section titled “v0.15.0 — Wave 39 — Oracle DB System”Adds google_oracle_database_db_system on the oracle barrel with oracle_db_system_quickstart.
Catalog after Wave 39: 256 curated resource factories + 1 data source (257 catalog entries). 46 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_oracle_database_db_system | GoogleOracleDatabaseDbSystem | oracle | oracle_db_system_quickstart |
v0.15.0 — Wave 38 — Oracle Autonomous Database
Section titled “v0.15.0 — Wave 38 — Oracle Autonomous Database”Adds google_oracle_database_autonomous_database on the oracle barrel with oracle_autonomous_database_quickstart.
Catalog after Wave 38: 245 curated resource factories + 1 data source (246 catalog entries). 46 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_oracle_database_autonomous_database | GoogleOracleDatabaseAutonomousDatabase | oracle | oracle_autonomous_database_quickstart |
v0.15.0 — Wave 37 — Oracle ODB networking
Section titled “v0.15.0 — Wave 37 — Oracle ODB networking”Extends the oracle barrel with ODB network and subnet factories and tightens oracle_goldengate_quickstart to provision VPC → ODB network → subnet before GoldenGate resources.
Catalog after Wave 37: 244 curated resource factories + 1 data source (245 catalog entries). 46 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_oracle_database_odb_network | GoogleOracleDatabaseOdbNetwork | oracle | oracle_goldengate_quickstart |
google_oracle_database_odb_subnet | GoogleOracleDatabaseOdbSubnet | oracle | oracle_goldengate_quickstart |
v0.15.0 — Wave 36 — Oracle GoldenGate
Section titled “v0.15.0 — Wave 36 — Oracle GoldenGate”Adds Oracle Database@Google Cloud GoldenGate deployment, connection, and connection assignment on a new oracle barrel. New oracle_goldengate_quickstart.
Catalog after Wave 36: 242 curated resource factories + 1 data source (243 catalog entries). 46 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_oracle_database_goldengate_deployment | GoogleOracleDatabaseGoldengateDeployment | oracle | oracle_goldengate_quickstart |
google_oracle_database_goldengate_connection | GoogleOracleDatabaseGoldengateConnection | oracle | oracle_goldengate_quickstart |
google_oracle_database_goldengate_connection_assignment | GoogleOracleDatabaseGoldengateConnectionAssignment | oracle | oracle_goldengate_quickstart |
v0.15.0 — Wave 34 — Cloud Filestore
Section titled “v0.15.0 — Wave 34 — Cloud Filestore”Adds managed NFS (google_filestore_instance) plus backup and snapshot adjuncts on a new filestore barrel. Extends compute_quickstart.
Catalog after Wave 34 (stacked on Wave 35): 239 curated resource factories + 1 data source (240 catalog entries). 45 service barrels.
| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_filestore_instance | GoogleFilestoreInstance | filestore | compute_quickstart |
google_filestore_backup | GoogleFilestoreBackup | filestore | compute_quickstart |
google_filestore_snapshot | GoogleFilestoreSnapshot | filestore | compute_quickstart |
v0.12.19 — Wave 32
Section titled “v0.12.19 — Wave 32”v0.12.19 adds TimeProvider / TimeSleep (hashicorp/time), ApisEnablement propagation helper, and Memorystore Redis. Additive — no breaking changes vs 0.12.18.
Catalog after 0.12.19: 199 curated resource factories + 1 data source (200 catalog entries). 31 service barrels.
Wave 32 — Memorystore Redis + API propagation
Section titled “Wave 32 — Memorystore Redis + API propagation”| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
time_sleep | TimeSleep | terradart_core | cloud_run_quickstart |
google_redis_instance | GoogleRedisInstance | redis | cloud_run_quickstart |
Highlights
Apis.enable— registersApis.requiredservices + aTimeSleeppropagation wait in one call (60s default; renamed fromApisEnablement.enablepost-0.12.20).- Redis —
RedisInstanceTier(basic/standardHa),RedisInstanceConnectModefor VPC access patterns. cloud_run_quickstart— Redis cache on the default VPC alongside the existing VPC Access connector.
// Requires `const TimeProvider()` in Stack.providers// (package:terradart_google/time.dart).final apiDeps = Apis.enable( this, barrels: [Barrels.cloudRun, Barrels.serviceNetworking, Barrels.redis], propagationDelay: const Duration(seconds: 60),);
add( GoogleRedisInstance( localName: 'api_cache', name: TfArg.literal('api-cache'), memorySizeGb: TfArg.literal(1), region: TfArg.literal('asia-northeast1'), tier: TfArg.literal(RedisInstanceTier.basic), authorizedNetwork: TfArg.literal('default'), dependsOn: apiDeps, ),);v0.12.18 — Wave 31
Section titled “v0.12.18 — Wave 31”v0.12.18 adds CAS certificate template + pool IAM member factories and upgrades compute_lb_quickstart to an ENTERPRISE CAS pool (required for leaf cert apply). Additive — no breaking changes vs 0.12.17.
Catalog after 0.12.18: 198 curated resource factories + 1 data source (199 catalog entries). 30 service barrels.
Wave 31 — Private CA (template + pool IAM)
Section titled “Wave 31 — Private CA (template + pool IAM)”| Terraform type | Dart factory | Barrel | Example |
|---|---|---|---|
google_privateca_certificate_template | GooglePrivatecaCertificateTemplate | privateca | compute_lb_quickstart |
google_privateca_ca_pool_iam_member | GooglePrivatecaCaPoolIamMember | privateca | compute_lb_quickstart |
Highlights
- Template —
PrivatecaCertificateTemplateIdentityConstraints+PrivatecaCertificateTemplateCelExpressionfor reusable issuance profiles. - Pool IAM — additive
roles/privateca.auditor(or similar) on [GooglePrivatecaCaPool]. - ENTERPRISE pool —
PrivatecaCaPoolTier.enterpriseso [GooglePrivatecaCertificate] can apply against the pool.
GooglePrivatecaCertificateTemplate( localName: 'leaf_template', name: TfArg.literal('app-template'), location: TfArg.literal('us-central1'), identityConstraints: PrivatecaCertificateTemplateIdentityConstraints( allowSubjectAltNamesPassthrough: TfArg.literal(true), allowSubjectPassthrough: TfArg.literal(true), celExpression: PrivatecaCertificateTemplateCelExpression( expression: TfArg.literal('true'), title: TfArg.literal('allow-all'), location: TfArg.literal('any.file.anywhere'), description: TfArg.literal('Always true'), ), ),);Full catalog example coverage
Section titled “Full catalog example coverage”As of PR #127, tool/example_debt.yaml is empty — every curated factory and the GoogleProject data source appears in at least one quickstart synth output (machine-checked by dart tool/check_docs_consistency.dart). Catalog size grows with later Waves (e.g. Wave 33 → 203 entries).
Final backfill (no new catalog entries):
| Quickstart | Factories added |
|---|---|
| compute_lb_quickstart | GoogleIapWebBackendServiceIamBinding (authoritative IAP accessor list; shown alongside the additive *_iam_member) |
| ops_quickstart | GoogleLoggingFolderSink, GoogleLoggingOrganizationSink (ops_folder_id / ops_organization_id Terraform variables — apply needs folder/org permissions) |
Example coverage
Section titled “Example coverage”Quickstarts extended for these waves:
| Release | Quickstart | New factories |
|---|---|---|
0.12.10 | dns_quickstart | policy, record set, response policy + rule |
0.12.10 | eventarc_quickstart | channel config |
0.12.10 | cloud_run_quickstart | worker pool + IAM |
0.12.10 | compute_lb_quickstart | IAP member |
0.12.10 | compute_quickstart | Cloud Router |
0.12.10 | bigquery_quickstart | datapolicy IAM member |
0.12.11 | cloud_run_quickstart | VPC Access connector + template.vpcAccess |
0.12.11 | compute_lb_quickstart | Certificate Manager chain (parallel to Compute SSL cert) |
0.12.13 | compute_lb_quickstart | trust config + issuance config |
0.12.13 | pubsub_quickstart | GoogleProject data source |
0.12.14 | compute_lb_quickstart | Private CA pool → issuance config ref |
0.12.15 | compute_lb_quickstart | Private CA root authority in pool |
| (backfill) | compute_lb_quickstart | IAP binding (*_iam_binding alongside member) |
| (backfill) | ops_quickstart | folder + organization logging sinks |
CI runs terraform validate on each quickstart’s synth output — see Status — Examples matrix.
Using factories in a Stack
Section titled “Using factories in a Stack”Import from the service barrel (not terradart_google.dart re-exports alone — barrel imports keep analyzer scope smaller):
import 'package:terradart_google/dns.dart';import 'package:terradart_google/compute.dart';
final router = GoogleComputeRouter( localName: 'edge', name: TfArg.literal('edge-router'), network: TfArg.ref(vpc.selfLink), bgp: ComputeRouterBgp(asn: TfArg.literal(64514)),);Agents can look up constructor shapes via terradart-mcp (get_resource_schema, list_resources).
Next steps
Section titled “Next steps”- Migrating — enum / nested-helper breaking changes in
0.12.10 - Getting Started — first Stack if you are new to TerraDart
- CHANGELOG — full release notes