GoogleClouddeployAutomation class final

Factory wrapper for google_clouddeploy_automation.

An Automation enables the automation of manually driven actions for a Delivery Pipeline, which includes Release promotion amongst Targets, Rollout repair and Rollout deployment strategy advancement.

Cloud Deploy automation — promotes / advances / repairs rollouts on a GoogleClouddeployDeliveryPipeline. Nested rules and selector blocks are passed as structured maps (same as the other Cloud Deploy factories). Set suspended to true so the automation does not fire rollouts.

Cost: gcp-cost: Cloud Deploy C3AD-803F-FC89 Active Multiple Target Delivery Pipelines E1A5-8E1F-C1DE $5/count. billing-behavior: automations are pipeline config — the catalog SKU is for active multi-target pipelines, not for creating an automation. Enable clouddeploy.googleapis.com before apply.

Example:

GoogleClouddeployAutomation(
  localName: 'promote',
  name: TfArg.literal('terradart-automation'),
  location: TfArg.literal('us-central1'),
  deliveryPipeline: TfArg.ref(pipeline.nameRef),
  serviceAccount: TfArg.ref(deployer.email),
  suspended: TfArg.literal(true),
  selector: TfArg.literal(<String, Object?>{
    'targets': [
      {'id': 'terradart-run-target'},
    ],
  }),
  rules: TfArg.literal([
    {
      'promote_release_rule': {'id': 'promote-release'},
    },
  ]),
);

Constructors

GoogleClouddeployAutomation({required String localName, required TfArg<String> name, required TfArg<String> location, required TfArg<String> deliveryPipeline, required TfArg<String> serviceAccount, required TfArg<Map<String, dynamic>> selector, required TfArg<List<Map<String, dynamic>>> rules, TfArg<bool>? suspended, TfArg<String>? description, TfArg<Map<String, String>>? annotations, TfArg<Map<String, String>>? labels, TfArg<String>? deletionPolicy, TfArg<String>? project, LifecycleOptions? lifecycle, List<DependencyTarget>? dependsOn, String? 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
createTime → TfRef<String>
Reference to create_time attribute.
no setter
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
effectiveAnnotations → TfRef<Map<String, String>>
Reference to effective_annotations attribute.
no setter
effectiveLabels → TfRef<Map<String, String>>
Reference to effective_labels attribute.
no setter
etag → TfRef<String>
Reference to etag 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
lifecycle → LifecycleOptions?
Optional lifecycle { ... } block.
finalinherited
localName String
User-supplied local name within a Stack.
finalinherited
nameRef → TfRef<String>
Reference to name attribute.
no setter
provider String?
Optional Terraform provider meta-argument: a provider name ('google-beta' on a GA type) or a name.alias pair ('google.eu').
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
terraformLabels → TfRef<Map<String, String>>
Reference to terraform_labels attribute.
no setter
terraformType String
Terraform resource type, e.g. google_pubsub_topic.
finalinherited
tfAddress String
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
uid → TfRef<String>
Reference to uid attribute.
no setter
updateTime → TfRef<String>
Reference to update_time 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