GoogleComputeNetworkEndpointGroup class final
Factory wrapper for google_compute_network_endpoint_group (provider
hashicorp/google ~> 7.0).
Manages a zonal Network Endpoint Group (NEG). A NEG is a collection of IP+port combinations that backend services in HTTP(S), TCP proxy, and SSL proxy load balancers can target at a granularity finer than whole VM instances.
Use this resource for the dominant L7 LB pattern: zonal VM-IP+port
endpoints in a single subnet, attached to a backend service. For
internet-fronted (hybrid) endpoints with no GCP backing VM, see
GoogleComputeGlobalNetworkEndpointGroup. For regional Serverless / PSC
NEGs, see GoogleComputeRegionNetworkEndpointGroup.
Required identity:
localName: Terraform local name (the address segment aftergoogle_compute_network_endpoint_group.).name: GCP-internal NEG resource name. Must comply with RFC1035.zone: the zone the NEG (and its member endpoints) lives in.network: self-link of the VPC the endpoints belong to. PassTfArg.ref(vpc.selfLink).
Recreating a NEG that is already attached to a backend service produces
a resourceInUseByAnotherResource error; use
lifecycle.create_before_destroy (or detach first) when destructive
changes are unavoidable.
Example (zonal VM-IP+port NEG fronting a regional internal L7 LB):
final neg = GoogleComputeNetworkEndpointGroup(
localName: 'app_neg',
name: TfArg.literal('app-neg-usc1a'),
zone: TfArg.literal('us-central1-a'),
network: TfArg.ref(vpc.selfLink),
subnetwork: TfArg.ref(subnet.selfLink),
networkEndpointType:
TfArg.literal(NetworkEndpointGroupType.gceVmIpPort),
defaultPort: TfArg.literal(8080),
);
Composition pattern: extends Resource
for runtime behavior.
Constructors
-
GoogleComputeNetworkEndpointGroup({required String localName, required TfArg<
String> name, TfArg<String> ? zone, required TfArg<String> network, TfArg<String> ? subnetwork, TfArg<NetworkEndpointGroupType> ? networkEndpointType, TfArg<num> ? defaultPort, 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
-
dependsOn
→ List<
DependencyTarget> ? -
Optional
depends_on = [...]. Each entry is aDependencyTarget— either a wholesale resource (rendered as bare address) or an explicitTfRef(rendered viabareAddress).finalinherited - hashCode → int
-
The hash code for this object.
no setterinherited
-
id
→ TfRef<
String> -
Reference to
idattribute (full pathprojects/{project}/zones/{zone}/networkEndpointGroups/{name}).no setter - kind → ResourceKind
-
Always
ResourceKind.resource. Overridden byData.no setterinherited - lifecycle → LifecycleOptions?
-
Optional
lifecycle { ... }block.finalinherited - localName → String
-
User-supplied local name within a Stack.
finalinherited
-
nameRef
→ TfRef<
String> -
Reference to
nameattribute. Use this when downstream consumers (e.g.google_compute_backend_service.backend[*].group) need the NEG by name rather than full self_link.no setter - provider → ProviderBinding?
-
Optional explicit provider binding. Only the type is referenced here;
the concrete
Providerclass lives interradart_google(provider classes are defined per-provider, outside the core runtime).finalinherited - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
selfLink
→ TfRef<
String> -
Reference to
self_linkattribute. Pass this as thegroupargument of agoogle_compute_backend_servicebackend block when wiring the NEG into a load balancer.no setter -
sensitiveFields
→ Set<
String> -
Field names that are
@Sensitiveper the IR-derived per-resource constant. Curated factories override with a baked-instatic const Set<String>(file-private in v0.5+).no setter -
sizeRef
→ TfRef<
num> -
Reference to
sizeattribute — the live count of endpoints registered in the group. Available after apply.no setter - supportsDeletionProtection → bool
-
Capability flag: true when this resource's underlying Terraform
schema has a
deletion_protectionboolean attribute that the synth-time devMode flow can flip tofalse. Defaults to false; the codegen emitter overrides this totruefor 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