Skip to content

Waves 23–41

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.

Terraform typeDart factoryBarrelExample
google_dns_record_setGoogleDnsRecordSetdnsdns_quickstart
google_dns_policyGoogleDnsPolicydnsdns_quickstart
google_eventarc_google_channel_configGoogleEventarcGoogleChannelConfigeventarceventarc_quickstart
google_cloud_run_v2_worker_poolGoogleCloudRunV2WorkerPoolcloud_runcloud_run_quickstart
google_iap_web_backend_service_iam_memberGoogleIapWebBackendServiceIamMemberiapcompute_lb_quickstart

Highlights

  • DNSGoogleDnsRecordSet supports routing-policy helpers and typed record enums; GoogleDnsPolicy covers inbound forwarding and DNSSEC-related project policy.
  • EventarcGoogleEventarcGoogleChannelConfig configures the Google-owned channel used by Eventarc triggers.
  • Cloud RunGoogleCloudRunV2WorkerPool is the long-running worker pool resource (distinct from Services and Jobs).
  • IAPGoogleIapWebBackendServiceIamMember grants Identity-Aware Proxy access on an HTTPS load-balancer backend.
Terraform typeDart factoryBarrelExample
google_dns_response_policyGoogleDnsResponsePolicydnsdns_quickstart
google_dns_response_policy_ruleGoogleDnsResponsePolicyRulednsdns_quickstart
google_cloud_run_v2_worker_pool_iam_memberGoogleCloudRunV2WorkerPoolIamMembercloud_runcloud_run_quickstart
google_compute_routerGoogleComputeRoutercomputecompute_quickstart
google_bigquery_datapolicy_data_policy_iam_memberGoogleBigqueryDatapolicyDataPolicyIamMemberbigquerybigquery_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.invoker pattern).
  • ComputeGoogleComputeRouter with typed ComputeRouterBgp / ComputeRouterBgpAdvertiseMode for Cloud Router BGP sessions.
  • BigQuery — IAM member on data policies (column-level policy enforcement).

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).

Terraform typeDart factoryBarrelExample
google_vpc_access_connectorGoogleVpcAccessConnectorservice_networkingcloud_run_quickstart

Highlights

  • VPC AccessGoogleVpcAccessConnector is the managed proxy that lets Cloud Run, Cloud Functions, and App Engine reach private VPC resources (Cloud SQL private IP, Memorystore, etc.).
  • Placement — dedicated /28 CIDR (ipCidrRange + network) or an existing subnet via VpcAccessConnectorSubnet.
  • Downstream — wire template.vpcAccess.connector on GoogleCloudRunV2Service with CloudRunV2ServiceVpcAccess.
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,
),
),
Terraform typeDart factoryBarrelExample
google_certificate_manager_dns_authorizationGoogleCertificateManagerDnsAuthorizationcertificate_managercompute_lb_quickstart
google_certificate_manager_certificateGoogleCertificateManagerCertificatecertificate_managercompute_lb_quickstart
google_certificate_manager_certificate_mapGoogleCertificateManagerCertificateMapcertificate_managercompute_lb_quickstart
google_certificate_manager_certificate_map_entryGoogleCertificateManagerCertificateMapEntrycertificate_managercompute_lb_quickstart

Highlights

  • DNS authorization — proves domain ownership for Google-managed certificate provisioning (CertificateManagerDnsAuthorizationType enum).
  • Certificate — sealed CertificateManagerCertificateProvisioningSource: managed (auto-renewed) or self-managed PEM upload; CertificateManagerCertificateScope for scope selection.
  • Certificate map — hostname → certificate routing table for global external HTTPS load balancers; set certificateMap on GoogleComputeTargetHttpsProxy to migrate off classic google_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 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 typeDart factoryBarrelExample
google_certificate_manager_trust_configGoogleCertificateManagerTrustConfigcertificate_managercompute_lb_quickstart
google_certificate_manager_certificate_issuance_configGoogleCertificateManagerCertificateIssuanceConfigcertificate_managercompute_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_pool with 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 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.

Terraform typeDart factoryBarrelExample
google_privateca_ca_poolGooglePrivatecaCaPoolprivatecacompute_lb_quickstart

Highlights

  • CA pool — Certificate Authority Service container referenced by [GoogleCertificateManagerCertificateIssuanceConfig] via caPool: TfArg.ref(pool.id).
  • PrivatecaCaPoolTierENTERPRISE or DEVOPS.
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 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 typeDart factoryBarrelExample
google_privateca_certificate_authorityGooglePrivatecaCertificateAuthorityprivatecacompute_lb_quickstart

Highlights

  • Root CAPrivatecaCertificateAuthorityConfig + PrivatecaCertificateAuthorityX509Config.rootCa() for a cert-signing profile inside a [GooglePrivatecaCaPool].
  • Key specPrivatecaCertificateAuthorityKeySpec with PrivatecaCertificateAuthorityKeyAlgorithm enum.
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 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.

Terraform typeDart factoryBarrelExample
google_privateca_certificateGooglePrivatecaCertificateprivatecacompute_lb_quickstart

Highlights

  • CSR or inline config — issue via pem_csr or typed [PrivatecaCertificateConfig] (subject + optional public_key).
  • Leaf profilePrivatecaCertificateX509Config.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 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.

Terraform typeDart factoryBarrelExample
google_alloydb_clusterGoogleAlloydbClusteralloydbcloud_sql_quickstart
google_alloydb_instanceGoogleAlloydbInstancealloydbcloud_sql_quickstart
google_alloydb_userGoogleAlloydbUseralloydbcloud_sql_quickstart

Highlights

  • PSA reuse — [AlloydbClusterNetworkConfig] pins the same VPC + allocated range as private Cloud SQL.
  • Typed helpersAlloydbInstanceMachineConfig, 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 typeDart factoryBarrelExample
google_alloydb_backupGoogleAlloydbBackupalloydbcloud_sql_quickstart
google_memcache_instanceGoogleMemcacheInstancememcachecloud_run_quickstart
google_spanner_instanceGoogleSpannerInstancespannerops_quickstart
google_spanner_databaseGoogleSpannerDatabasespannerops_quickstart

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 typeDart factoryBarrelExample
google_bigtable_instanceGoogleBigtableInstancebigtablebigtable_quickstart
google_bigtable_tableGoogleBigtableTablebigtablebigtable_quickstart
google_bigtable_app_profileGoogleBigtableAppProfilebigtablebigtable_quickstart
google_bigtable_gc_policyGoogleBigtableGcPolicybigtablebigtable_quickstart
google_bigtable_authorized_viewGoogleBigtableAuthorizedViewbigtablebigtable_quickstart
google_bigtable_logical_viewGoogleBigtableLogicalViewbigtablebigtable_quickstart
google_bigtable_materialized_viewGoogleBigtableMaterializedViewbigtablebigtable_quickstart
google_bigtable_schema_bundleGoogleBigtableSchemaBundlebigtablebigtable_quickstart
google_bigtable_instance_iam_memberGoogleBigtableInstanceIamMemberbigtablebigtable_quickstart
google_bigtable_table_iam_memberGoogleBigtableTableIamMemberbigtablebigtable_quickstart

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 typeDart factoryBarrelExample
google_dataplex_zoneGoogleDataplexZonedataplexdataplex_quickstart
google_dataplex_assetGoogleDataplexAssetdataplexdataplex_quickstart
google_dataplex_zone_iam_memberGoogleDataplexZoneIamMemberdataplexdataplex_quickstart

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 typeDart factoryBarrelExample
google_iap_app_engine_service_iam_memberGoogleIapAppEngineServiceIamMemberiapiam_quickstart
google_iap_app_engine_version_iam_memberGoogleIapAppEngineVersionIamMemberiapiam_quickstart
google_iap_web_type_app_engine_iam_memberGoogleIapWebTypeAppEngineIamMemberiapiam_quickstart

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 typeDart factoryBarrelExample
google_app_engine_applicationGoogleAppEngineApplicationappapp_engine_quickstart
google_app_engine_application_url_dispatch_rulesGoogleAppEngineApplicationUrlDispatchRulesappapp_engine_quickstart
google_app_engine_domain_mappingGoogleAppEngineDomainMappingappapp_engine_quickstart
google_app_engine_firewall_ruleGoogleAppEngineFirewallRuleappapp_engine_quickstart
google_app_engine_flexible_app_versionGoogleAppEngineFlexibleAppVersionappapp_engine_quickstart
google_app_engine_service_network_settingsGoogleAppEngineServiceNetworkSettingsappapp_engine_quickstart
google_app_engine_service_split_trafficGoogleAppEngineServiceSplitTrafficappapp_engine_quickstart
google_app_engine_standard_app_versionGoogleAppEngineStandardAppVersionappapp_engine_quickstart

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 typeDart factoryBarrelExample
google_vertex_ai_cache_configGoogleVertexAiCacheConfigvertex_aivertex_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 typeDart factoryBarrelExample
google_network_connectivity_hubGoogleNetworkConnectivityHubnetworknetwork_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 typeDart factoryBarrelExample
google_vertex_ai_datasetGoogleVertexAiDatasetvertex_aivertex_ai_quickstart
google_vertex_ai_tensorboardGoogleVertexAiTensorboardvertex_aivertex_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 typeDart factoryBarrelExample
google_compute_disk_resource_policy_attachmentGoogleComputeDiskResourcePolicyAttachmentcomputecompute_route_quickstart

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 typeDart factoryBarrelExample
google_compute_resource_policyGoogleComputeResourcePolicycomputecompute_route_quickstart

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 typeDart factoryBarrelExample
google_gemini_gemini_gcp_enablement_settingGoogleGeminiGeminiGcpEnablementSettinggeminigemini_quickstart
google_gemini_logging_settingGoogleGeminiLoggingSettinggeminigemini_quickstart
google_gemini_release_channel_settingGoogleGeminiReleaseChannelSettinggeminigemini_quickstart

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 typeDart factoryBarrelExample
google_biglake_catalogGoogleBiglakeCatalogbiglakebiglake_quickstart
google_biglake_databaseGoogleBiglakeDatabasebiglakebiglake_quickstart
google_biglake_tableGoogleBiglakeTablebiglakebiglake_quickstart

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 typeDart factoryBarrelExample
google_vertex_ai_feature_groupGoogleVertexAiFeatureGroupvertex_aivertex_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 typeDart factoryBarrelExample
google_compute_network_firewall_policyGoogleComputeNetworkFirewallPolicycomputecompute_route_quickstart

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 typeDart factoryBarrelExample
google_clouddeploy_delivery_pipelineGoogleClouddeployDeliveryPipelineclouddeployclouddeploy_quickstart
google_clouddeploy_targetGoogleClouddeployTargetclouddeployclouddeploy_quickstart
google_clouddeploy_custom_target_typeGoogleClouddeployCustomTargetTypeclouddeployclouddeploy_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 typeDart factoryBarrelExample
google_gke_hub_scopeGoogleGkeHubScopecontainergke_hub_quickstart
google_gke_hub_namespaceGoogleGkeHubNamespacecontainergke_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 typeDart factoryBarrelExample
google_healthcare_dicom_store_iam_memberGoogleHealthcareDicomStoreIamMemberhealthcarehealthcare_quickstart
google_healthcare_hl7_v2_store_iam_memberGoogleHealthcareHl7V2StoreIamMemberhealthcarehealthcare_quickstart
google_healthcare_consent_store_iam_memberGoogleHealthcareConsentStoreIamMemberhealthcarehealthcare_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 typeDart factoryBarrelExample
google_bigquery_dataset_accessGoogleBigqueryDatasetAccessbigquerybigquery_quickstart

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 typeDart factoryBarrelExample
google_healthcare_hl7_v2_storeGoogleHealthcareHl7V2Storehealthcarehealthcare_quickstart

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 typeDart factoryBarrelExample
google_dialogflow_agentGoogleDialogflowAgentdialogflowdialogflow_quickstart

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 typeDart factoryBarrelExample
google_observability_trace_scopeGoogleObservabilityTraceScopeobservabilityobservability_quickstart

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 typeDart factoryBarrelExample
google_healthcare_datasetGoogleHealthcareDatasethealthcarehealthcare_quickstart
google_healthcare_dicom_storeGoogleHealthcareDicomStorehealthcarehealthcare_quickstart
google_healthcare_consent_storeGoogleHealthcareConsentStorehealthcarehealthcare_quickstart
google_healthcare_dataset_iam_memberGoogleHealthcareDatasetIamMemberhealthcarehealthcare_quickstart

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 typeDart factoryBarrelExample
google_network_security_address_groupGoogleNetworkSecurityAddressGroupnetworknetwork_security_lists_quickstart
google_network_security_url_listsGoogleNetworkSecurityUrlListsnetworknetwork_security_lists_quickstart

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 typeDart factoryBarrelExample
google_parameter_manager_parameterGoogleParameterManagerParameterparameter_managerparameter_manager_quickstart
google_parameter_manager_parameter_versionGoogleParameterManagerParameterVersionparameter_manager(tool/example_debt.yaml)
google_parameter_manager_regional_parameterGoogleParameterManagerRegionalParameterparameter_managerparameter_manager_quickstart
google_parameter_manager_regional_parameter_versionGoogleParameterManagerRegionalParameterVersionparameter_manager(tool/example_debt.yaml)

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 typeDart factoryBarrelExample
google_dataplex_lakeGoogleDataplexLakedataplexdataplex_quickstart
google_dataplex_lake_iam_memberGoogleDataplexLakeIamMemberdataplexdataplex_quickstart

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 typeDart factoryBarrelExample
google_document_ai_processorGoogleDocumentAiProcessordocument_aidocument_ai_quickstart

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 typeDart factoryBarrelExample
google_secret_manager_regional_secretGoogleSecretManagerRegionalSecretsecret_managersecret_manager_quickstart
google_secret_manager_regional_secret_versionGoogleSecretManagerRegionalSecretVersionsecret_manager(tool/example_debt.yaml)
google_secret_manager_regional_secret_iam_memberGoogleSecretManagerRegionalSecretIamMembersecret_managersecret_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 typeDart factoryBarrelExample
google_compute_routeGoogleComputeRoutecomputecompute_route_quickstart
google_compute_project_metadata_itemGoogleComputeProjectMetadataItemcomputecompute_route_quickstart

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 typeDart factoryBarrelExample
google_workflows_workflowGoogleWorkflowsWorkflowworkflowsworkflows_quickstart

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 typeDart factoryBarrelExample
google_dataplex_glossaryGoogleDataplexGlossarydataplexdataplex_quickstart
google_dataplex_glossary_categoryGoogleDataplexGlossaryCategorydataplexdataplex_quickstart
google_dataplex_glossary_termGoogleDataplexGlossaryTermdataplexdataplex_quickstart
google_dataplex_glossary_iam_memberGoogleDataplexGlossaryIamMemberdataplexdataplex_quickstart

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 typeDart factoryBarrelExample
google_dataplex_entry_groupGoogleDataplexEntryGroupdataplexdataplex_quickstart
google_dataplex_entry_typeGoogleDataplexEntryTypedataplexdataplex_quickstart
google_dataplex_aspect_typeGoogleDataplexAspectTypedataplexdataplex_quickstart
google_dataplex_entry_group_iam_memberGoogleDataplexEntryGroupIamMemberdataplexdataplex_quickstart
google_dataplex_entry_type_iam_memberGoogleDataplexEntryTypeIamMemberdataplexdataplex_quickstart
google_dataplex_aspect_type_iam_memberGoogleDataplexAspectTypeIamMemberdataplexdataplex_quickstart

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 typeDart factoryBarrelExample
google_service_directory_namespaceGoogleServiceDirectoryNamespaceservice_directoryservice_directory_quickstart
google_service_directory_serviceGoogleServiceDirectoryServiceservice_directoryservice_directory_quickstart
google_service_directory_endpointGoogleServiceDirectoryEndpointservice_directoryservice_directory_quickstart
google_service_directory_namespace_iam_memberGoogleServiceDirectoryNamespaceIamMemberservice_directoryservice_directory_quickstart
google_service_directory_service_iam_memberGoogleServiceDirectoryServiceIamMemberservice_directoryservice_directory_quickstart

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 typeDart factoryBarrelExample
google_essential_contacts_contactGoogleEssentialContactsContactessential_contactsmonitoring_quickstart

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 typeDart factoryBarrelExample
google_tags_tag_keyGoogleTagsTagKeytagstags_quickstart
google_tags_tag_valueGoogleTagsTagValuetagstags_quickstart
google_tags_tag_bindingGoogleTagsTagBindingtagstags_quickstart
google_tags_tag_key_iam_memberGoogleTagsTagKeyIamMembertagstags_quickstart
google_tags_tag_value_iam_memberGoogleTagsTagValueIamMembertagstags_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 typeDart factoryBarrelExample
google_bigquery_routine_iam_bindingGoogleBigqueryRoutineIamBindingbigquerybigquery_quickstart
google_bigquery_routine_iam_policyGoogleBigqueryRoutineIamPolicybigquerybigquery_quickstart
google_compute_region_instant_snapshot_iam_bindingGoogleComputeRegionInstantSnapshotIamBindingcomputecompute_quickstart
google_compute_region_instant_snapshot_iam_policyGoogleComputeRegionInstantSnapshotIamPolicycomputecompute_quickstart
google_discovery_engine_search_engine_iam_bindingGoogleDiscoveryEngineSearchEngineIamBindingdiscovery_enginediscovery_engine_quickstart
google_discovery_engine_search_engine_iam_policyGoogleDiscoveryEngineSearchEngineIamPolicydiscovery_enginediscovery_engine_quickstart

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 typeDart factoryBarrelExample
google_oracle_database_cloud_exadata_infrastructureGoogleOracleDatabaseCloudExadataInfrastructureoracleoracle_exadata_quickstart
google_oracle_database_cloud_vm_clusterGoogleOracleDatabaseCloudVmClusteroracleoracle_exadata_quickstart
google_oracle_database_exadb_vm_clusterGoogleOracleDatabaseExadbVmClusteroracleoracle_exadata_quickstart
google_oracle_database_exascale_db_storage_vaultGoogleOracleDatabaseExascaleDbStorageVaultoracleoracle_exadata_quickstart

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 typeDart factoryBarrelExample
google_oracle_database_db_systemGoogleOracleDatabaseDbSystemoracleoracle_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 typeDart factoryBarrelExample
google_oracle_database_autonomous_databaseGoogleOracleDatabaseAutonomousDatabaseoracleoracle_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 typeDart factoryBarrelExample
google_oracle_database_odb_networkGoogleOracleDatabaseOdbNetworkoracleoracle_goldengate_quickstart
google_oracle_database_odb_subnetGoogleOracleDatabaseOdbSubnetoracleoracle_goldengate_quickstart

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 typeDart factoryBarrelExample
google_oracle_database_goldengate_deploymentGoogleOracleDatabaseGoldengateDeploymentoracleoracle_goldengate_quickstart
google_oracle_database_goldengate_connectionGoogleOracleDatabaseGoldengateConnectionoracleoracle_goldengate_quickstart
google_oracle_database_goldengate_connection_assignmentGoogleOracleDatabaseGoldengateConnectionAssignmentoracleoracle_goldengate_quickstart

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 typeDart factoryBarrelExample
google_filestore_instanceGoogleFilestoreInstancefilestorecompute_quickstart
google_filestore_backupGoogleFilestoreBackupfilestorecompute_quickstart
google_filestore_snapshotGoogleFilestoreSnapshotfilestorecompute_quickstart

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 typeDart factoryBarrelExample
time_sleepTimeSleepterradart_corecloud_run_quickstart
google_redis_instanceGoogleRedisInstancerediscloud_run_quickstart

Highlights

  • Apis.enable — registers Apis.required services + a TimeSleep propagation wait in one call (60s default; renamed from ApisEnablement.enable post-0.12.20).
  • RedisRedisInstanceTier (basic / standardHa), RedisInstanceConnectMode for 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 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 typeDart factoryBarrelExample
google_privateca_certificate_templateGooglePrivatecaCertificateTemplateprivatecacompute_lb_quickstart
google_privateca_ca_pool_iam_memberGooglePrivatecaCaPoolIamMemberprivatecacompute_lb_quickstart

Highlights

  • TemplatePrivatecaCertificateTemplateIdentityConstraints + PrivatecaCertificateTemplateCelExpression for reusable issuance profiles.
  • Pool IAM — additive roles/privateca.auditor (or similar) on [GooglePrivatecaCaPool].
  • ENTERPRISE poolPrivatecaCaPoolTier.enterprise so [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'),
),
),
);

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):

QuickstartFactories added
compute_lb_quickstartGoogleIapWebBackendServiceIamBinding (authoritative IAP accessor list; shown alongside the additive *_iam_member)
ops_quickstartGoogleLoggingFolderSink, GoogleLoggingOrganizationSink (ops_folder_id / ops_organization_id Terraform variables — apply needs folder/org permissions)

Quickstarts extended for these waves:

ReleaseQuickstartNew factories
0.12.10dns_quickstartpolicy, record set, response policy + rule
0.12.10eventarc_quickstartchannel config
0.12.10cloud_run_quickstartworker pool + IAM
0.12.10compute_lb_quickstartIAP member
0.12.10compute_quickstartCloud Router
0.12.10bigquery_quickstartdatapolicy IAM member
0.12.11cloud_run_quickstartVPC Access connector + template.vpcAccess
0.12.11compute_lb_quickstartCertificate Manager chain (parallel to Compute SSL cert)
0.12.13compute_lb_quickstarttrust config + issuance config
0.12.13pubsub_quickstartGoogleProject data source
0.12.14compute_lb_quickstartPrivate CA pool → issuance config ref
0.12.15compute_lb_quickstartPrivate CA root authority in pool
(backfill)compute_lb_quickstartIAP binding (*_iam_binding alongside member)
(backfill)ops_quickstartfolder + organization logging sinks

CI runs terraform validate on each quickstart’s synth output — see Status — Examples matrix.

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).