compute library
Compute Engine beta-only types: machine images, future reservations, region backend buckets, network policies, and backend IAM adjuncts.
Classes
-
AppConstant<
T> -
A value the Stack hands to application code as a
static constin the generated AppExports file — known when synth runs, so the app compiles against it. - AppExports
-
Where synth writes the Dart file application code imports: the Stack's
constants, as the
static constmembers of<name>Constants, and a typed reader of its Terraform outputs,<name>Outputs. -
AttributeRef<
T> -
Public for sealed pattern matching, but constructor is private — only
TfRef.attribute()may construct instances. - ComputeBackendBucketIamBindingCondition
-
Typed helper for the
conditionblock ofgoogle_compute_backend_bucket_iam_binding(derived from provider schema). - ComputeBackendBucketIamMemberCondition
-
Typed helper for the
conditionblock ofgoogle_compute_backend_bucket_iam_member(derived from provider schema). - ComputeBackendServiceIamBindingCondition
-
Typed helper for the
conditionblock ofgoogle_compute_backend_service_iam_binding(derived from provider schema). - ComputeBackendServiceIamMemberCondition
-
Typed helper for the
conditionblock ofgoogle_compute_backend_service_iam_member(derived from provider schema). - ComputeFutureReservationAccelerator
-
Typed helper for the
aggregate_reservation.reserved_resources.acceleratorblock ofgoogle_compute_future_reservation(derived from provider schema). - ComputeFutureReservationAggregateReservation
-
Typed helper for the
aggregate_reservationblock ofgoogle_compute_future_reservation(derived from provider schema). - ComputeFutureReservationAutoCreatedReservationsDuration
-
Typed helper for the
auto_created_reservations_durationblock ofgoogle_compute_future_reservation(derived from provider schema). - ComputeFutureReservationCommitmentInfo
-
Typed helper for the
commitment_infoblock ofgoogle_compute_future_reservation(derived from provider schema). - ComputeFutureReservationDuration
-
Typed helper for the
time_window.durationblock ofgoogle_compute_future_reservation(derived from provider schema). - ComputeFutureReservationGuestAccelerators
-
Typed helper for the
specific_sku_properties.instance_properties.guest_acceleratorsblock ofgoogle_compute_future_reservation(derived from provider schema). - ComputeFutureReservationInstanceProperties
-
Typed helper for the
specific_sku_properties.instance_propertiesblock ofgoogle_compute_future_reservation(derived from provider schema). - ComputeFutureReservationLocalSsds
-
Typed helper for the
specific_sku_properties.instance_properties.local_ssdsblock ofgoogle_compute_future_reservation(derived from provider schema). - ComputeFutureReservationParams
-
Typed helper for the
paramsblock ofgoogle_compute_future_reservation(derived from provider schema). - ComputeFutureReservationProjectMap
-
Typed helper for the
share_settings.project_mapblock ofgoogle_compute_future_reservation(derived from provider schema). - ComputeFutureReservationReservedResources
-
Typed helper for the
aggregate_reservation.reserved_resourcesblock ofgoogle_compute_future_reservation(derived from provider schema). -
Typed helper for the
share_settingsblock ofgoogle_compute_future_reservation(derived from provider schema). - ComputeFutureReservationSpecificSkuProperties
-
Typed helper for the
specific_sku_propertiesblock ofgoogle_compute_future_reservation(derived from provider schema). - ComputeFutureReservationTimeWindow
-
Typed helper for the
time_windowblock ofgoogle_compute_future_reservation(derived from provider schema). - ComputeInstanceFromMachineImageAccessConfig
-
Typed helper for the
network_interface.access_configblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageAdvancedMachineFeatures
-
Typed helper for the
advanced_machine_featuresblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageAliasIpRange
-
Typed helper for the
network_interface.alias_ip_rangeblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageAliasIpv6Range
-
Typed helper for the
network_interface.alias_ipv6_rangeblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageConfidentialInstanceConfig
-
Typed helper for the
confidential_instance_configblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageGracefulShutdown
-
Typed helper for the
scheduling.graceful_shutdownblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageGuestAccelerator
-
Typed helper for the
guest_acceleratorblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageInstanceEncryptionKey
-
Typed helper for the
instance_encryption_keyblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageIpv6AccessConfig
-
Typed helper for the
network_interface.ipv6_access_configblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageLocalSsdRecoveryTimeout
-
Typed helper for the
scheduling.local_ssd_recovery_timeoutblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageMaxDuration
-
Typed helper for the
scheduling.graceful_shutdown.max_durationblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageMaxRunDuration
-
Typed helper for the
scheduling.max_run_durationblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageNetworkInterface
-
Typed helper for the
network_interfaceblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageNetworkPerformanceConfig
-
Typed helper for the
network_performance_configblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageNodeAffinities
-
Typed helper for the
scheduling.node_affinitiesblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageOnInstanceStopAction
-
Typed helper for the
scheduling.on_instance_stop_actionblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageParams
-
Typed helper for the
paramsblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImagePreemptionNoticeDuration
-
Typed helper for the
scheduling.preemption_notice_durationblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageReservationAffinity
-
Typed helper for the
reservation_affinityblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageScheduling
-
Typed helper for the
schedulingblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageServiceAccount
-
Typed helper for the
service_accountblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageShieldedInstanceConfig
-
Typed helper for the
shielded_instance_configblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageSourceMachineImageEncryptionKey
-
Typed helper for the
source_machine_image_encryption_keyblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageSpecificReservation
-
Typed helper for the
reservation_affinity.specific_reservationblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeInstanceFromMachineImageWorkloadIdentityConfig
-
Typed helper for the
workload_identity_configblock ofgoogle_compute_instance_from_machine_image(derived from provider schema). - ComputeMachineImageEncryptionKey
-
Typed helper for the
machine_image_encryption_keyblock ofgoogle_compute_machine_image(derived from provider schema). - ComputeMachineImageIamBindingCondition
-
Typed helper for the
conditionblock ofgoogle_compute_machine_image_iam_binding(derived from provider schema). - ComputeMachineImageIamMemberCondition
-
Typed helper for the
conditionblock ofgoogle_compute_machine_image_iam_member(derived from provider schema). - ComputeMachineImageParams
-
Typed helper for the
paramsblock ofgoogle_compute_machine_image(derived from provider schema). - ComputeNetworkFirewallPolicyPacketMirroringRuleLayer4Configs
-
Typed helper for the
match.layer4_configsblock ofgoogle_compute_network_firewall_policy_packet_mirroring_rule(derived from provider schema). - ComputeNetworkFirewallPolicyPacketMirroringRuleMatch
-
Typed helper for the
matchblock ofgoogle_compute_network_firewall_policy_packet_mirroring_rule(derived from provider schema). - ComputeNetworkFirewallPolicyPacketMirroringRuleTargetSecureTags
-
Typed helper for the
target_secure_tagsblock ofgoogle_compute_network_firewall_policy_packet_mirroring_rule(derived from provider schema). - ComputeRegionBackendBucketIamBindingCondition
-
Typed helper for the
conditionblock ofgoogle_compute_region_backend_bucket_iam_binding(derived from provider schema). - ComputeRegionBackendBucketIamMemberCondition
-
Typed helper for the
conditionblock ofgoogle_compute_region_backend_bucket_iam_member(derived from provider schema). - ComputeRegionBackendServiceIamBindingCondition
-
Typed helper for the
conditionblock ofgoogle_compute_region_backend_service_iam_binding(derived from provider schema). - ComputeRegionBackendServiceIamMemberCondition
-
Typed helper for the
conditionblock ofgoogle_compute_region_backend_service_iam_member(derived from provider schema). - ComputeRegionNetworkPolicyTrafficClassificationRuleAction
-
Typed helper for the
actionblock ofgoogle_compute_region_network_policy_traffic_classification_rule(derived from provider schema). - ComputeRegionNetworkPolicyTrafficClassificationRuleLayer4Configs
-
Typed helper for the
match.layer4_configsblock ofgoogle_compute_region_network_policy_traffic_classification_rule(derived from provider schema). - ComputeRegionNetworkPolicyTrafficClassificationRuleMatch
-
Typed helper for the
matchblock ofgoogle_compute_region_network_policy_traffic_classification_rule(derived from provider schema). - ComputeRegionNetworkPolicyTrafficClassificationRuleTarget
-
At most one of
target_service_accounts,target_secure_tagsongoogle_compute_region_network_policy_traffic_classification_rule: the provider rejects more than one, so each variant sets one of them and a null choice sets none. - ComputeRegionNetworkPolicyTrafficClassificationRuleTargetSecureTags
-
Typed helper for the
target_secure_tagsblock ofgoogle_compute_region_network_policy_traffic_classification_rule(derived from provider schema). - ComputeRegionNetworkPolicyTrafficClassificationRuleTargetSecureTagsChoice
-
The ComputeRegionNetworkPolicyTrafficClassificationRuleTarget.targetSecureTags choice: sets
target_secure_tags. - ComputeRegionNetworkPolicyTrafficClassificationRuleTargetServiceAccounts
-
The ComputeRegionNetworkPolicyTrafficClassificationRuleTarget.targetServiceAccounts choice: sets
target_service_accounts. - DartDefineOutput
-
An
outputwhose value is the client build's--dart-definefile, registered withStack.addDartDefineOutput. - Data
-
Base of every user-instantiable Terraform
datablock. -
DataRef<
T> -
Public for sealed pattern matching, but constructor is private — only
TfRef.data()may construct instances. - EnvironmentConstant
- The AppConstant.fromEnvironment choice.
- GcsBackend
-
terraform { backend "gcs" { ... } }configuration. - GoogleComputeBackendBucketIamBinding
-
Factory wrapper for
google_compute_backend_bucket_iam_binding. - GoogleComputeBackendBucketIamMember
-
Factory wrapper for
google_compute_backend_bucket_iam_member. - GoogleComputeBackendBucketIamPolicy
-
Factory wrapper for
google_compute_backend_bucket_iam_policy. - GoogleComputeBackendServiceIamBinding
-
Factory wrapper for
google_compute_backend_service_iam_binding. - GoogleComputeBackendServiceIamMember
-
Factory wrapper for
google_compute_backend_service_iam_member. - GoogleComputeBackendServiceIamPolicy
-
Factory wrapper for
google_compute_backend_service_iam_policy. - GoogleComputeFutureReservation
-
Factory wrapper for
google_compute_future_reservation. - GoogleComputeInstanceFromMachineImage
-
Factory wrapper for
google_compute_instance_from_machine_image. - GoogleComputeMachineImage
-
Factory wrapper for
google_compute_machine_image. - GoogleComputeMachineImageIamBinding
-
Factory wrapper for
google_compute_machine_image_iam_binding. - GoogleComputeMachineImageIamMember
-
Factory wrapper for
google_compute_machine_image_iam_member. - GoogleComputeMachineImageIamPolicy
-
Factory wrapper for
google_compute_machine_image_iam_policy. - GoogleComputeNetworkFirewallPolicyPacketMirroringRule
-
Factory wrapper for
google_compute_network_firewall_policy_packet_mirroring_rule. - GoogleComputeRegionBackendBucket
-
Factory wrapper for
google_compute_region_backend_bucket. - GoogleComputeRegionBackendBucketIamBinding
-
Factory wrapper for
google_compute_region_backend_bucket_iam_binding. - GoogleComputeRegionBackendBucketIamMember
-
Factory wrapper for
google_compute_region_backend_bucket_iam_member. - GoogleComputeRegionBackendBucketIamPolicy
-
Factory wrapper for
google_compute_region_backend_bucket_iam_policy. - GoogleComputeRegionBackendServiceIamBinding
-
Factory wrapper for
google_compute_region_backend_service_iam_binding. - GoogleComputeRegionBackendServiceIamMember
-
Factory wrapper for
google_compute_region_backend_service_iam_member. - GoogleComputeRegionBackendServiceIamPolicy
-
Factory wrapper for
google_compute_region_backend_service_iam_policy. - GoogleComputeRegionNetworkPolicy
-
Factory wrapper for
google_compute_region_network_policy. - GoogleComputeRegionNetworkPolicyTrafficClassificationRule
-
Factory wrapper for
google_compute_region_network_policy_traffic_classification_rule. - IgnoreAllChanges
- IgnoreChanges.all.
- IgnoreAttributes
- IgnoreChanges.of.
- IgnoreChanges
-
What
ignore_changescovers: every attribute, or the listed ones. - InvalidDartDefineOutput
-
An output of
Stack.addDartDefineOutputthat cannot carry what it names: an output that is not registered, is sensitive or has no environment value, two outputs read from one variable, or no output at all. - InvalidLifecycle
-
A
lifecycleblock Terraform rejects: a data source (or one of its attributes) inreplaceTriggeredBy,allinside IgnoreChanges.of, or a condition with an empty error message. - InvalidMoveTarget
-
A
movedblock whosetonames no resource of the Stack. - InvalidTimeout
-
A negative
timeoutsduration. - LifecycleCondition
-
A
preconditionorpostconditionblock: Terraform fails the plan (LifecycleCondition.pre) or the apply (LifecycleCondition.post) with errorMessage when condition is false. - LifecycleOptions
-
lifecycle { ... }block on a resource. - LocalBackend
-
terraform { backend "local" { ... } }configuration. - MissingProvider
-
A block needs a provider configuration the Stack does not register:
the provider its type implies (
googleforgoogle_pubsub_topic), the one itsprovidermeta-argument names, or one a module call passes on. - ModuleCall
-
A
module "<localName>" { ... }call as a Dart value. - NoProviders
- The Stack registers no provider, but declares resources or data sources.
- ProviderConflict
- Two provider registrations Terraform rejects together: two defaults of one name, a repeated alias, an alias that is not an identifier, or configurations of one name with different source / version constraints.
-
RefConstant<
T> - The AppConstant.ref choice.
- ReplaceTrigger
-
What
lifecycle.replaceTriggeredBylists: a resource of the Stack or an attribute getter of one.Resourceand TfRef implement it; synth reports a data source or a data-source attribute as anInvalidLifecycle. - Resource
- Base of every user-instantiable Terraform resource.
- ResourceRef
-
Public for sealed pattern matching, but constructor is private — only
TfRef.resource()may construct instances. - S3Backend
-
terraform { backend "s3" { ... } }configuration. -
Sensitive<
T> -
What an argument Terraform marks sensitive takes: a variable, an
expression or an attribute getter — a value Terraform resolves, never a
Dart literal that would be written into
main.tf.json. - SensitiveLiteral
-
A sensitive field is set to a literal, which would write the secret in
plain text into
main.tf.json. - Stack
- User-extended IaC composition root.
- StackBackend
-
Lightweight backend hook. Core ships
GcsBackend,S3Backend, andLocalBackend; anything else implements this interface in the caller. TheStackonly stores the value and exposes a discriminator for synth'sterraform { backend ... }emitter. - StackProvider
-
Coordination interface between
Stack(in this package) and concrete providers (e.g.GoogleProviderinterradart_google). Concrete providers implement every getter using their baked-in constants from Stage 2 codegen. - SynthIssue
- One reason a Stack cannot be synthesized.
- SynthResult
-
Bundle returned by
StackSynth.synth. - TfAddressed
-
Anything that exposes a Terraform address, e.g.
google_pubsub_topic.orders. -
TfArg<
T> - A Terraform argument: a Dart-side literal, a reference to another block's attribute (TfRef), a variable or a raw expression.
-
TfArgExpression<
T> - A raw Terraform expression — the tf.json template string, verbatim.
-
TfArgLiteral<
T> -
TfArgVariable<
T> - TfCollectionType
-
list(...),set(...)ormap(...). - TfMoved
-
One
moved { from = ... to = ... }block: the state object at from now belongs to the resource at to, so a rename does not become a destroy-and-create. - TfObjectType
-
object({ ... }). - TfOptionalType
-
optional(<type>[, <default>]). -
TfOutput<
T> -
An
output "<name>" { value = ... }block, registered withStack.addOutput. - TfPrimitiveType
-
string,number,boolorany. -
TfRef<
T> - A Terraform-side reference: an attribute of a resource (AttributeRef) or a data source (DataRef), or a whole resource (ResourceRef).
- TfTimeouts
-
timeouts { ... }on a resource or data source: how long Terraform waits for each operation before giving up. - TfTupleType
-
tuple([...]). - TfType
-
A Terraform type constraint:
string,list(number),object({ name = string }). - TfVariable
-
One
variable "<name>" { ... }declaration. - UndeclaredVariable
-
A
TfArg.variableorvar.<name>in an expression names a variable the Stack does not declare. - UnregisteredReference
-
A block references another block that was never registered on the
Stack: built, but not passed to
add(...)/addModule(...). - UnresolvableConstant
-
An
AppConstant.refwhose value is not known at synth: the attribute is not set to a literal, is sensitive, does not match the constant's type, or belongs to a block that is not registered. -
ValueConstant<
T> - The AppConstant.value choice.
Enums
- ResourceKind
-
Whether a Stack entry is a
resourceblock or adatablock in Terraform JSON.
Extension Types
- ComputeFutureReservationCommitmentPlan
-
commitment_plan— derived from the provider schema description. - ComputeFutureReservationDeploymentType
-
Compute Future Reservation Deployment enum for
deployment_type. - ComputeFutureReservationInterface
-
interface— derived from the provider schema description. - ComputeFutureReservationMaintenanceInterval
-
maintenance_interval— derived from the provider schema description. - ComputeFutureReservationMode
-
Compute Future Reservation enum for
reservation_mode. - ComputeFutureReservationPlanningStatus
-
Compute Future Reservation Planning enum for
planning_status. - ComputeFutureReservationPreviousCommitmentTerms
-
previous_commitment_terms— derived from the provider schema description. - ComputeFutureReservationSchedulingType
-
Compute Future Reservation Scheduling enum for
scheduling_type. -
share_type— derived from the provider schema description. - ComputeFutureReservationVmFamily
-
vm_family— derived from the provider schema description. - ComputeFutureReservationWorkloadType
-
workload_type— derived from the provider schema description. - ComputeInstanceFromMachineImageNicType
-
nic_type— derived from the provider schema description. - ComputeInstanceFromMachineImageTotalEgressBandwidthTier
-
total_egress_bandwidth_tier— derived from the provider schema description. - ComputeNetworkFirewallPolicyPacketMirroringRuleDirection
-
Compute Network Firewall Policy Packet Mirroring Rule enum for
direction. - ComputeRegionBackendBucketLoadBalancingScheme
-
Compute Region Backend Bucket Load Balancing enum for
load_balancing_scheme. - ComputeRegionNetworkPolicyTrafficClassificationRuleDscpMode
-
dscp_mode— derived from the provider schema description. - ComputeRegionNetworkPolicyTrafficClassificationRuleTrafficClass
-
traffic_class— derived from the provider schema description. - ComputeRegionNetworkPolicyTrafficClassificationRuleType
-
type— derived from the provider schema description. - OutputEnvironment
-
The environment
Stack.outputEnvironmentreturns: each variable and its value, in registration order. - RefTo
-
A reference to a resource of type
R, for an argument that names another resource (network,vpc_id,role_arn, ...).
Extensions
-
RefToList
on TfArg<
List< RefTo< >R> > -
A list-valued reference argument (
security_group_ids,subnet_ids): a literal list of RefTos, or one value that is the whole list (TfArg.variable('subnet_ids'),TfArg.expression(...)). - TerraformDurationExt on Duration
- Converts a Dart Duration into a Terraform duration string ("604800s").
Constants
- terradartManifestVariable → const String
-
The environment variable the
terradartcommand sets to the file runStack and runEnvironments describe what they wrote in.
Functions
-
runEnvironments<
E extends Enum> (List< String> args, List<E> environments, Stack build(E env), {String dir(E env)?, String? workspace(E env)?, List<String> backendConfig(E env)?, E? defaultEnv}) → Future<void> -
The entry point of a project with one Stack per environment. The
environments are the members of an enum of the project's own — any
names, each carrying its values — so the Stack takes a typed
envand derives everything per environment from it, its backend included: -
runStack(
List< String> args, Stack build(), {String out = 'tf-out'}) → Future<void> -
The entry point of a project with one Stack: writes it to
out.
Exceptions / Errors
- DuplicateModuleError
-
A
ModuleCallregistered twice under one name. - DuplicateResourceError
-
Thrown by
Stack.addwhen an entry with the same(kind, terraformType, localName)triple is registered twice. - SynthException
-
Thrown by
Stack.synth()andStack.writeTo()when the Stack has one or more SynthIssues. Nothing is written.