GoogleComputeReservation class final

Factory wrapper for google_compute_reservation.

Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running.

Reservations apply only to Compute Engine, Cloud Dataproc, and Google Kubernetes Engine VM usage.Reservations do not apply to f1-micro or g1-small machine types, preemptible VMs, sole tenant nodes, or other services not listed above like Cloud SQL and Dataflow.

Compute Engine reservation — reserved zonal VM / GPU capacity that bills at on-demand rates while the reservation exists, whether or not matching VMs consume it.

Cost / apply: gcp-cost: Compute Engine 6F81-5844-456A N4A Custom Instance Core Iowa SKU F179-06F3-16EC $0.027783/h (on-demand; Flexible CUD 1y/3y lower); 1/8 vGPU no-LSSD Iowa SKU D5C5-C5F4-086C $0.64688/h. billing-behavior: reserved specific_reservation capacity accrues those SKUs for the reservation lifetime (GPU shapes are especially costly); destroy stops the charge. Never wire into apply-smoke.

specificReservation is required. Prefer deleteAtTime / deleteAfterDuration when experimenting outside CI.

Inheritance

Constructors

GoogleComputeReservation(String localName, {required TfArg<String> name, required TfArg<String> zone, required ComputeReservationSpecificReservation specificReservation, TfArg<String>? description, TfArg<bool>? specificReservationRequired, ComputeReservationShareSettings? shareSettings, ComputeReservationSharingPolicy? reservationSharingPolicy, ComputeReservationParams? params, TfArg<String>? deleteAtTime, ComputeReservationDeleteAfterDuration? deleteAfterDuration, TfArg<String>? deletionPolicy, TfArg<String>? project, 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
blockNames → TfRef<List<String>>
Reference to block_names attribute.
no setter
commitment → TfRef<String>
Reference to commitment attribute.
no setter
creationTimestamp → TfRef<String>
Reference to creation_timestamp attribute.
no setter
defaultProvider → String
The provider name a block without provider uses: by default the prefix of terraformType (google for google_pubsub_topic).
no setterinherited
deleteAtTime → TfRef<String>
Reference to delete_at_time attribute.
no setter
deletionPolicy → TfRef<String>
Reference to deletion_policy attribute.
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
description → TfRef<String>
Reference to description attribute.
no setter
hashCode → int
The hash code for this object.
no setterinherited
id → TfRef<String>
Reference to id attribute.
no setter
kind → ResourceKind
Always ResourceKind.resource. Overridden by Data.
no setterinherited
kindAttr → TfRef<String>
Reference to kind attribute.
no setter
lifecycle → LifecycleOptions?
Optional lifecycle { ... } block.
finalinherited
linkedCommitments → TfRef<List<String>>
Reference to linked_commitments attribute.
no setter
localName → String
User-supplied local name within a Stack.
finalinherited
name → TfRef<String>
Reference to name attribute.
no setter
project → TfRef<String>
Reference to project attribute.
no setter
provider → StackProvider?
Optional Terraform provider meta-argument: the provider configuration this block uses, e.g. the aliased GoogleProvider(alias: 'eu') the Stack registered with addProvider.
finalinherited
ref → RefTo<GoogleComputeReservation>
A reference to this resource, for arguments typed RefTo<GoogleComputeReservation>.
no setter
resourceStatus → TfRef<List<Map<String, Object?>>>
Reference to resource_status attribute.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
satisfiesPzs → TfRef<bool>
Reference to satisfies_pzs attribute.
no setter
Reference to self_link attribute.
no setter
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 setteroverride
specificReservationRequired → TfRef<bool>
Reference to specific_reservation_required attribute.
no setter
status → TfRef<String>
Reference to status attribute.
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
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, and terraform validate decides whether this resource's schema declares the operations set here.
finalinherited
zone → TfRef<String>
Reference to zone attribute.
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