GoogleFirebaseAppHostingBuild class final

Factory wrapper for google_firebase_app_hosting_build (provider hashicorp/google ~> 7.0).

Required identity:

  • localName: Terraform local name (the address segment after google_firebase_app_hosting_build.).
  • backend: ID of the backend this build belongs to. Typically TfArg.ref(backend.backendIdRef) where backend is a GoogleFirebaseAppHostingBackend.
  • location: GCP region of the backend.
  • build_id: Stable user-chosen identifier of this build.
  • source: required AppHostingBuildSource. Pick exactly one of AppHostingBuildSourceCodebase (commit ref into the configured Developer Connect repository) or AppHostingBuildSourceContainer (point at a prebuilt Artifact Registry image, skipping the Cloud Build step).

Example (build from a git branch HEAD):

final build = GoogleFirebaseAppHostingBuild(
  localName: 'v1',
  backend: TfArg.ref(backend.backendIdRef),
  location: TfArg.literal('us-central1'),
  buildId: TfArg.literal('v1'),
  source: AppHostingBuildSourceCodebase(
    branch: TfArg.literal('main'),
  ),
  displayName: TfArg.literal('First release'),
);

Example (build from a prebuilt image):

final build = GoogleFirebaseAppHostingBuild(
  localName: 'v1',
  backend: TfArg.ref(backend.backendIdRef),
  location: TfArg.literal('us-central1'),
  buildId: TfArg.literal('v1'),
  source: AppHostingBuildSourceContainer(
    image: TfArg.literal(
      'us-central1-docker.pkg.dev/p/r/web:1.2.3',
    ),
  ),
);

Manages a single immutable App Hosting build. Builds are the artifact referenced by GoogleFirebaseAppHostingTraffic.target when shaping traffic across revisions. Schema-side state and error_source (computed) carry enum-like wire values; they are exposed as raw TfRef<String> getters rather than typed enums because they are read- only and the wire values are best consumed as-is.

Constructors

GoogleFirebaseAppHostingBuild({required String localName, required TfArg<String> backend, required TfArg<String> location, required TfArg<String> buildId, required AppHostingBuildSource source, TfArg<String>? displayName, TfArg<Map<String, String>>? annotations, TfArg<Map<String, String>>? labels, TfArg<String>? project, LifecycleOptions? lifecycle, List<DependencyTarget>? dependsOn})

Properties

$sensitiveFields Set<String>
Field names that are @Sensitive per the IR-derived per-resource constant. Curated factories override with a baked-in static const Set<String> (file-private in v0.5+).
no setter
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
buildIdRef → TfRef<String>
Reference to build_id -- the segment downstream Traffic resources pass to AppHostingTrafficSplit.build.
no setter
buildLogsUri → TfRef<String>
Reference to build_logs_uri -- link to the Cloud Build logs page.
no setter
dependsOn List<DependencyTarget>?
Optional depends_on = [...]. Each entry is a DependencyTarget — either a wholesale resource (rendered as bare address) or an explicit TfRef (rendered via bareAddress).
finalinherited
errorSource → TfRef<String>
Reference to error_source -- one of CLOUD_BUILD, CLOUD_RUN. Populated only when state is FAILED.
no setter
etag → TfRef<String>
Reference to etag (used for optimistic concurrency).
no setter
hashCode int
The hash code for this object.
no setterinherited
id → TfRef<String>
Reference to id attribute. Same as nameRef for this resource.
no setter
image → TfRef<String>
Reference to image -- the Artifact Registry image URI Cloud Run will pull when serving traffic to this build.
no setter
kind → ResourceKind
Always ResourceKind.resource. Overridden by Data.
no setterinherited
lifecycle → LifecycleOptions?
Optional lifecycle { ... } block.
finalinherited
localName String
User-supplied local name within a Stack.
finalinherited
nameRef → TfRef<String>
Reference to name attribute (full resource path projects/{project}/locations/{location}/backends/{backend}/builds/{build_id}).
no setter
provider → ProviderBinding?
Optional explicit provider binding. Only the type is referenced here; the concrete Provider class lives in terradart_google (provider classes are defined per-provider, outside the core runtime).
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
state → TfRef<String>
Reference to state -- one of BUILDING, BUILT, DEPLOYING, READY, FAILED. Server-set; surfaced as a string for parity with other Cloud Build-backed resources.
no setter
terraformType String
Terraform resource type, e.g. google_pubsub_topic.
finalinherited
tfAddress String
no setterinherited
uid → TfRef<String>
Reference to uid (server-assigned unique identifier).
no setter

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

Constants

$tfType → const String