Network Endpoint List
A set of network endpoints belonging to a network endpoint group (NEG). A single network endpoint represents a IP address and port combination that is part of a specific network endpoint group (NEG). NEGs are zonal collections of these endpoints for GCP resources within a single subnet. NOTE: Network endpoints cannot be created outside of a network endpoint group. This resource is authoritative for a single NEG. Any endpoints not specified by this resource will be deleted when the resource configuration is applied. To get more information about NetworkEndpoints, see:
How-to Guides
Example Usage
Network Endpoints
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.ComputeFunctions;
import com.pulumi.gcp.compute.inputs.GetImageArgs;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.Subnetwork;
import com.pulumi.gcp.compute.SubnetworkArgs;
import com.pulumi.gcp.compute.Instance;
import com.pulumi.gcp.compute.InstanceArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskInitializeParamsArgs;
import com.pulumi.gcp.compute.inputs.InstanceNetworkInterfaceArgs;
import com.pulumi.gcp.compute.NetworkEndpointList;
import com.pulumi.gcp.compute.NetworkEndpointListArgs;
import com.pulumi.gcp.compute.inputs.NetworkEndpointListNetworkEndpointArgs;
import com.pulumi.gcp.compute.NetworkEndpointGroup;
import com.pulumi.gcp.compute.NetworkEndpointGroupArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var myImage = ComputeFunctions.getImage(GetImageArgs.builder()
.family("debian-11")
.project("debian-cloud")
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.autoCreateSubnetworks(false)
.build());
var defaultSubnetwork = new Subnetwork("defaultSubnetwork", SubnetworkArgs.builder()
.ipCidrRange("10.0.0.1/16")
.region("us-central1")
.network(defaultNetwork.id())
.build());
var endpoint_instance1 = new Instance("endpoint-instance1", InstanceArgs.builder()
.machineType("e2-medium")
.bootDisk(InstanceBootDiskArgs.builder()
.initializeParams(InstanceBootDiskInitializeParamsArgs.builder()
.image(myImage.applyValue(getImageResult -> getImageResult.selfLink()))
.build())
.build())
.networkInterfaces(InstanceNetworkInterfaceArgs.builder()
.subnetwork(defaultSubnetwork.id())
.accessConfigs()
.build())
.build());
var endpoint_instance2 = new Instance("endpoint-instance2", InstanceArgs.builder()
.machineType("e2-medium")
.bootDisk(InstanceBootDiskArgs.builder()
.initializeParams(InstanceBootDiskInitializeParamsArgs.builder()
.image(myImage.applyValue(getImageResult -> getImageResult.selfLink()))
.build())
.build())
.networkInterfaces(InstanceNetworkInterfaceArgs.builder()
.subnetwork(defaultSubnetwork.id())
.accessConfigs()
.build())
.build());
var default_endpoints = new NetworkEndpointList("default-endpoints", NetworkEndpointListArgs.builder()
.networkEndpointGroup(google_compute_network_endpoint_group.neg().name())
.networkEndpoints(
NetworkEndpointListNetworkEndpointArgs.builder()
.instance(endpoint_instance1.name())
.port(google_compute_network_endpoint_group.neg().default_port())
.ipAddress(endpoint_instance1.networkInterfaces().applyValue(networkInterfaces -> networkInterfaces[0].networkIp()))
.build(),
NetworkEndpointListNetworkEndpointArgs.builder()
.instance(endpoint_instance2.name())
.port(google_compute_network_endpoint_group.neg().default_port())
.ipAddress(endpoint_instance2.networkInterfaces().applyValue(networkInterfaces -> networkInterfaces[0].networkIp()))
.build())
.build());
var group = new NetworkEndpointGroup("group", NetworkEndpointGroupArgs.builder()
.network(defaultNetwork.id())
.subnetwork(defaultSubnetwork.id())
.defaultPort("90")
.zone("us-central1-a")
.build());
}
}
Content copied to clipboard
Import
NetworkEndpoints can be imported using any of these accepted formats
$ pulumi import gcp:compute/networkEndpointList:NetworkEndpointList default projects/{{project}}/zones/{{zone}}/networkEndpointGroups/{{network_endpoint_group}}
Content copied to clipboard
$ pulumi import gcp:compute/networkEndpointList:NetworkEndpointList default {{project}}/{{zone}}/{{network_endpoint_group}}
Content copied to clipboard
$ pulumi import gcp:compute/networkEndpointList:NetworkEndpointList default {{zone}}/{{network_endpoint_group}}
Content copied to clipboard
$ pulumi import gcp:compute/networkEndpointList:NetworkEndpointList default {{network_endpoint_group}}
Content copied to clipboard