GoogleProjectServiceIdentity class final

Hand-written wrapper for google_project_service_identity (hashicorp/google-beta).

Mints the Google-managed service agent for service via Service Usage generateServiceIdentity. Enabling the API with GoogleProjectService does not create that agent — topic/project IAM then 400s with "Service account … does not exist".

Always emits provider = google-beta. Add GoogleBetaProvider to Stack.providers next to GoogleProvider.

final assetSa = GoogleProjectServiceIdentity(
  localName: 'cloudasset',
  service: TfArg.literal('cloudasset.googleapis.com'),
);

Constructors

GoogleProjectServiceIdentity({required String localName, required TfArg<String> service, TfArg<String>? project, List<DependencyTarget>? dependsOn, LifecycleOptions? lifecycle})

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
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
email → TfRef<String>
Google-managed agent email (service-{number}@gcp-sa-….gserviceaccount.com).
no setter
hashCode int
The hash code for this object.
no setterinherited
id → TfRef<String>
Terraform id.
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
member → TfRef<String>
IAM member string (serviceAccount:{email}).
no setter
provider String?
Optional Terraform provider meta-argument (e.g. 'google-beta').
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
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
supportsDeletionProtection bool
Capability flag: true when this resource's underlying Terraform schema has a deletion_protection boolean attribute that the synth-time devMode flow can flip to false. Defaults to false; the codegen emitter overrides this to true for wrappers whose schema includes the attribute.
no setterinherited
terraformType String
Terraform resource type, e.g. google_pubsub_topic.
finalinherited
tfAddress String
no setterinherited

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