GoogleComputeFirewall class final

Factory wrapper for google_compute_firewall.

Each network has its own firewall controlling access to and from the instances.

All traffic to instances, even from other instances, is blocked by the firewall unless firewall rules are created to allow it.

The default network has automatically created firewall rules that are shown in default firewall rules. No manually created network has automatically created firewall rules except for a default "allow" rule for outgoing traffic and a default "deny" for incoming traffic. For all networks except the default network, you must create any firewall rules you need.

This resource models a VPC firewall rule.

Required identity:

  • localName: Terraform local name (the address segment after google_compute_firewall.).
  • name: GCP firewall rule name.
  • network: VPC network this rule attaches to. Typically TfArg.ref(vpc.selfLink) where vpc is a GoogleComputeNetwork.

Choose exactly one ComputeFirewallRulePolicy:

Example:

final allowSsh = GoogleComputeFirewall(
  localName: 'allow_ssh',
  name: TfArg.literal('allow-ssh'),
  network: TfArg.ref(vpc.selfLink),
  direction: TfArg.literal(FirewallDirection.ingress),
  priority: TfArg.literal(1000),
  rulePolicy: ComputeFirewallAllowPolicy(
    protocol: TfArg.literal('tcp'),
    ports: ['22'],
  ),
  sourceRanges: TfArg.literal(['10.0.0.0/8']),
);

Composition pattern: extends Resource for runtime behavior. The allow / deny list-typed blocks and the single log_config block are modeled as helper classes in the prelude below.

Constructors

GoogleComputeFirewall({required String localName, required TfArg<String> name, required TfArg<String> network, TfArg<FirewallDirection>? direction, TfArg<num>? priority, required ComputeFirewallRulePolicy rulePolicy, TfArg<List<String>>? sourceRanges, TfArg<List<String>>? sourceTags, TfArg<List<String>>? sourceServiceAccounts, TfArg<List<String>>? targetTags, TfArg<List<String>>? targetServiceAccounts, TfArg<List<String>>? destinationRanges, ComputeFirewallFirewallLogConfig? logConfig, TfArg<bool>? disabled, TfArg<bool>? enableLogging, TfArg<String>? description, TfArg<String>? project, LifecycleOptions? lifecycle, List<DependencyTarget>? dependsOn})

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
creationTimestamp → TfRef<String>
Reference to creation_timestamp 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
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
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
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 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
no setterinherited

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