GoogleComputeNetworkEndpointGroup class final
Factory wrapper for google_compute_network_endpoint_group.
Network endpoint groups (NEGs) are zonal resources that represent collections of IP address and port combinations for GCP resources within a single subnet. Each IP address and port combination is called a network endpoint.
Network endpoint groups can be used as backends in backend services for HTTP(S), TCP proxy, and SSL proxy load balancers. You cannot use NEGs as a backend with internal load balancers. Because NEG backends allow you to specify IP addresses and ports, you can distribute traffic in a granular fashion among applications or containers running within VM instances.
Recreating a network endpoint group that's in use by another resource will
give a resourceInUseByAnotherResource error. Use
lifecycle.create_before_destroy to avoid this type of error.
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.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).
When renaming or recreating an in-use NEG, detaching it from the backend
service first avoids the create_before_destroy cascade to dependents.
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),
);
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 -
generatedId
→ TfRef<
num> -
Reference to
generated_idattribute.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
-
id
→ TfRef<
String> -
Reference to
idattribute.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.no setter - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
selfLink
→ TfRef<
String> -
Reference to
self_linkattribute.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 -
size
→ TfRef<
num> -
Reference to
sizeattribute.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