Base of every user-instantiable Terraform resource.
Plan 5.X (v0.5.0-dev) removed the <S> generic and the schema field —
the schemantic-backed dead chain that motivated them is fully retired.
Resource is now flat: factories pass argMap and sensitiveFields,
synth consumes both directly.
- Implemented types
- Implementers
- GoogleActiveDirectoryPeering
- GoogleApiGatewayApi
- GoogleApiGatewayApiConfig
- GoogleApiGatewayApiConfigIamBinding
- GoogleApiGatewayApiConfigIamMember
- GoogleApiGatewayApiConfigIamPolicy
- GoogleApiGatewayApiIamBinding
- GoogleApiGatewayApiIamMember
- GoogleApiGatewayApiIamPolicy
- GoogleApiGatewayGateway
- GoogleApiGatewayGatewayIamBinding
- GoogleApiGatewayGatewayIamMember
- GoogleApiGatewayGatewayIamPolicy
- GoogleArtifactRegistryVpcscConfig
- GoogleBigqueryAnalyticsHubDataExchangeSubscription
- GoogleCesEvaluation
- GoogleCesSecuritySettings
- GoogleChronicleSoarDomain
- GoogleCloudIdentityPolicy
- GoogleComputeBackendBucketIamBinding
- GoogleComputeBackendBucketIamMember
- GoogleComputeBackendBucketIamPolicy
- GoogleComputeBackendServiceIamBinding
- GoogleComputeBackendServiceIamMember
- GoogleComputeBackendServiceIamPolicy
- GoogleComputeFutureReservation
- GoogleComputeInstanceFromMachineImage
- GoogleComputeMachineImage
- GoogleComputeMachineImageIamBinding
- GoogleComputeMachineImageIamMember
- GoogleComputeMachineImageIamPolicy
- GoogleComputeNetworkFirewallPolicyPacketMirroringRule
- GoogleComputeRegionBackendBucket
- GoogleComputeRegionBackendBucketIamBinding
- GoogleComputeRegionBackendBucketIamMember
- GoogleComputeRegionBackendBucketIamPolicy
- GoogleComputeRegionBackendServiceIamBinding
- GoogleComputeRegionBackendServiceIamMember
- GoogleComputeRegionBackendServiceIamPolicy
- GoogleComputeRegionNetworkPolicy
- GoogleComputeRegionNetworkPolicyTrafficClassificationRule
- GoogleDataflowFlexTemplateJob
- GoogleDataformConfig
- GoogleDataformRepositoryReleaseConfig
- GoogleDataformRepositoryWorkflowConfig
- GoogleDataplexDataAsset
- GoogleFirebaseAiLogicConfig
- GoogleFirebaseAiLogicPromptTemplate
- GoogleFirebaseAiLogicPromptTemplateLock
- GoogleFirebaseAndroidApp
- GoogleFirebaseAppleApp
- GoogleFirebaseDatabaseInstance
- GoogleFirebaseExtensionsInstance
- GoogleFirebaseHostingChannel
- GoogleFirebaseHostingCustomDomain
- GoogleFirebaseHostingRelease
- GoogleFirebaseHostingSite
- GoogleFirebaseHostingVersion
- GoogleFirebaseProject
- GoogleFirebaseStorageBucket
- GoogleFirebaseStorageDefaultBucket
- GoogleFirebaseWebApp
- GoogleFolderServiceIdentity
- GoogleGkeHubMembershipRbacRoleBinding
- GoogleKmsFolderKajPolicyConfig
- GoogleKmsOrganizationKajPolicyConfig
- GoogleKmsProjectKajPolicyConfig
- GoogleNetworkSecurityAuthorizationPolicy
- GoogleNetworkSecuritySacAttachment
- GoogleNetworkSecuritySacRealm
- GoogleNetworkServicesServiceLbPolicies
- GoogleOrganizationServiceIdentity
- GoogleOsConfigGuestPolicies
- GooglePrivilegedAccessManagerSettings
- GoogleProjectServiceIdentity
- GoogleRuntimeconfigConfig
- GoogleRuntimeconfigConfigIamBinding
- GoogleRuntimeconfigConfigIamMember
- GoogleRuntimeconfigConfigIamPolicy
- GoogleRuntimeconfigVariable
- GoogleSaasRuntimeRelease
- GoogleSaasRuntimeRolloutKind
- GoogleSaasRuntimeSaas
- GoogleSaasRuntimeTenant
- GoogleSaasRuntimeUnit
- GoogleSaasRuntimeUnitKind
- GoogleSaasRuntimeUnitOperation
- GoogleSecurityScannerScanConfig
- GoogleServiceUsageConsumerQuotaOverride
- GoogleTagsTagBindingCollection
- GoogleTpuV2QueuedResource
- GoogleTpuV2Vm
- GoogleVertexAiEndpointIamBinding
- GoogleVertexAiEndpointIamMember
- GoogleVertexAiEndpointIamPolicy
- GoogleVertexAiFeatureGroupIamBinding
- GoogleVertexAiFeatureGroupIamMember
- GoogleVertexAiFeatureGroupIamPolicy
- GoogleVertexAiFeatureOnlineStoreFeatureviewIamBinding
- GoogleVertexAiFeatureOnlineStoreFeatureviewIamMember
- GoogleVertexAiFeatureOnlineStoreFeatureviewIamPolicy
- GoogleVertexAiFeatureOnlineStoreIamBinding
- GoogleVertexAiFeatureOnlineStoreIamMember
- GoogleVertexAiFeatureOnlineStoreIamPolicy
- GoogleVertexAiFeaturestoreEntitytypeIamBinding
- GoogleVertexAiFeaturestoreEntitytypeIamMember
- GoogleVertexAiFeaturestoreEntitytypeIamPolicy
- GoogleVertexAiFeaturestoreIamBinding
- GoogleVertexAiFeaturestoreIamMember
- GoogleVertexAiFeaturestoreIamPolicy
- GoogleVertexAiMetadataStore
- GoogleVertexAiModelGardenEnableModel
Constructors
-
Resource(String localName, {required String terraformType, required Map<
String, TfArg?> argMap, 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.
final
- defaultProvider → String
-
The provider name a block without provider uses: by default the
prefix of terraformType (
googleforgoogle_pubsub_topic).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.final - hashCode → int
-
The hash code for this object.
no setterinherited
- kind → ResourceKind
-
Always
ResourceKind.resource. Overridden byData.no setter - lifecycle → LifecycleOptions?
-
Optional
lifecycle { ... }block.final - localName → String
-
User-supplied local name within a Stack.
final
- provider → StackProvider?
-
Optional Terraform
providermeta-argument: the provider configuration this block uses, e.g. the aliasedGoogleProvider(alias: 'eu')the Stack registered withaddProvider.final - 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 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 setter - terraformType → String
-
Terraform resource type, e.g.
google_pubsub_topic.final - tfAddress → String
-
Terraform address
<terraformType>.<localName>, e.g.google_pubsub_topic.orders.no setteroverride - 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.final
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