TimeSleep class final

Hand-written wrapper for time_sleep (hashicorp/time).

Waits after create (and optionally before destroy) — commonly inserted to absorb eventual consistency, such as GCP API enablement propagation (terradart_google's enableApis wires this automatically) or AWS IAM role propagation.

Durations are Terraform duration strings; use TfArg.duration to convert from a Dart Duration:

TimeSleep(
  'wait',
  createDuration: TfArg.duration(const Duration(seconds: 60)),
);

triggers re-creates the sleep (and so re-runs the wait) whenever any map value changes; use upstream attribute interpolations (ref.interpolation) as values to key the wait to those resources.

Requires TimeProvider in Stack.providers — synth fails fast when the time provider is missing.

Inheritance

Constructors

TimeSleep(String localName, {required TfArg<String> createDuration, TfArg<String>? destroyDuration, TfArg<Map<String, String>>? triggers, List<TfAddressed>? dependsOn, LifecycleOptions? lifecycle, StackProvider? provider})
Creates a time_sleep resource addressed as time_sleep.<localName>.

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
defaultProvider → String
The provider name a block without provider uses: by default the prefix of terraformType (google for google_pubsub_topic).
no setterinherited
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
hashCode → int
The hash code for this object.
no setterinherited
id → TfRef<String>
Reference to id (RFC3339 timestamp of the completed wait).
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
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
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 setteroverride
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

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