GoogleDataformRepository class final
Factory wrapper for google_dataform_repository.
A resource represents a Dataform Git repository
Dataform repository — the regional container for SQL workflow code, workspaces, and compilation results.
Creating a repository does not compile SQL or run workflows: BigQuery charges start when a workflow invocation executes the compiled SQL.
serviceAccount is the identity workflow invocations run under; it needs
BigQuery access to the datasets the workflow writes. kmsKeyName is
immutable — it cannot be added or rotated after create.
Cost: gcp-cost: no Cloud Billing Catalog SKU after list_services "Dataform" empty; BigQuery 24E6-581D-38E5 list_skus keyword dataform/repository/compilation/workflow → 0. billing-behavior: repository metadata is free config; BigQuery analysis SKUs fire on workflow invocations, not on repository create.
The Git remote block is deliberately not curated: linking a remote needs an external Git URL plus a Secret Manager token version (or a Developer Connect link), and the API requires exactly one of those three authentication shapes. Repositories created here hold Dataform-managed workspaces.
Example:
GoogleDataformRepository(
'analytics',
name: TfArg.literal('terradart-analytics'),
region: TfArg.literal('us-central1'),
displayName: TfArg.literal('TerraDart analytics'),
);
Constructors
-
GoogleDataformRepository(String localName, {required TfArg<
String> name, TfArg<String> ? region, TfArg<String> ? displayName, RefTo<GoogleServiceAccount> ? serviceAccount, RefTo<GoogleKmsCryptoKey> ? kmsKeyName, TfArg<String> ? npmrcEnvironmentVariablesSecretVersion, DataformRepositoryWorkspaceCompilationOverrides? workspaceCompilationOverrides, TfArg<Map< ? labels, TfArg<String, String> >String> ? deletionPolicy, TfArg<String> ? project, DataformRepositoryGitRemoteSettings? gitRemoteSettings, LifecycleOptions? lifecycle, List<TfAddressed> ? dependsOn, StackProvider? provider, TfTimeouts? timeouts})
Properties
-
argMap
→ Map<
String, TfArg?> -
Argument-name → TfArg map. Keys are snake_case (Terraform JSON name).
Synth emits these keys directly; the factory is responsible for the
camelCase → snake_case translation at construction time.
finalinherited
- defaultProvider → String
-
The provider name a block without provider uses: by default the
prefix of terraformType (
googleforgoogle_pubsub_topic).no setterinherited -
deletionPolicy
→ TfRef<
String> -
Reference to
deletion_policyattribute.no setter -
dependsOn
→ List<
TfAddressed> ? -
Optional
depends_on = [...]: the resources, data sources and module calls this block waits for, e.g.dependsOn: [api, ...apiDeps]. Terraform takes whole blocks only, so an entry is never an attribute.finalinherited -
displayName
→ TfRef<
String> -
Reference to
display_nameattribute.no setter -
effectiveLabels
→ TfRef<
Map< String, String> > -
Reference to
effective_labelsattribute.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
-
id
→ TfRef<
String> -
Reference to
idattribute.no setter - kind → ResourceKind
-
Always
ResourceKind.resource. Overridden byData.no setterinherited -
kmsKeyName
→ TfRef<
String> -
Reference to
kms_key_nameattribute.no setter -
labels
→ TfRef<
Map< String, String> > -
Reference to
labelsattribute.no setter - lifecycle → LifecycleOptions?
-
Optional
lifecycle { ... }block.finalinherited - localName → String
-
User-supplied local name within a Stack.
finalinherited
-
name
→ TfRef<
String> -
Reference to
nameattribute.no setter -
npmrcEnvironmentVariablesSecretVersion
→ TfRef<
String> -
Reference to
npmrc_environment_variables_secret_versionattribute.no setter -
project
→ TfRef<
String> -
Reference to
projectattribute.no setter - provider → StackProvider?
-
Optional Terraform
providermeta-argument: the provider configuration this block uses, e.g. the aliasedGoogleProvider(alias: 'eu')the Stack registered withaddProvider.finalinherited -
ref
→ RefTo<
GoogleDataformRepository> -
A reference to this resource, for arguments typed
RefTo<GoogleDataformRepository>.no setter -
region
→ TfRef<
String> -
Reference to
regionattribute.no setter - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
sensitiveFields
→ Set<
String> -
Field names that are
@Sensitiveper the IR-derived per-resource constant. Curated factories override with a baked-instatic const Set<String>(file-private in v0.5+).no setteroverride -
serviceAccount
→ TfRef<
String> -
Reference to
service_accountattribute.no setter - supportsDeletionProtection → bool
-
Capability flag: true when this resource's underlying Terraform
schema has a
deletion_protectionboolean attribute that the synth-time devMode flow can flip tofalse. Defaults to false; the codegen emitter overrides this totruefor wrappers whose schema includes the attribute.no setterinherited -
terraformLabels
→ TfRef<
Map< String, String> > -
Reference to
terraform_labelsattribute.no setter - terraformType → String
-
Terraform resource type, e.g.
google_pubsub_topic.finalinherited - tfAddress → String
-
Terraform address
<terraformType>.<localName>, e.g.google_pubsub_topic.orders.no setterinherited - timeouts → TfTimeouts?
-
Optional
timeouts { ... }block: how long Terraform waits for each operation. Provider-neutral like lifecycle — synth copies the duration strings verbatim, andterraform validatedecides whether this resource's schema declares the operations set here.finalinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited