RegionNetworkEndpoint class
A Region network endpoint represents a IP address/FQDN and port combination that is part of a specific network endpoint group (NEG).
> NOTE: Network endpoints cannot be created outside of a network endpoint group.
To get more information about RegionNetworkEndpoint, see:
Example Usage
Region Network Endpoint Internet Ip Port
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.compute.Network("default", {
name: "network",
autoCreateSubnetworks: false,
});
const group = new gcp.compute.RegionNetworkEndpointGroup("group", {
name: "ip-port-neg",
network: _default.id,
region: "us-central1",
networkEndpointType: "INTERNET_IP_PORT",
});
const region_internet_ip_port_endpoint = new gcp.compute.RegionNetworkEndpoint("region-internet-ip-port-endpoint", {
regionNetworkEndpointGroup: group.name,
region: "us-central1",
ipAddress: "8.8.8.8",
port: 443,
});
import pulumi
import pulumi_gcp as gcp
default = gcp.compute.Network("default",
name="network",
auto_create_subnetworks=False)
group = gcp.compute.RegionNetworkEndpointGroup("group",
name="ip-port-neg",
network=default.id,
region="us-central1",
network_endpoint_type="INTERNET_IP_PORT")
region_internet_ip_port_endpoint = gcp.compute.RegionNetworkEndpoint("region-internet-ip-port-endpoint",
region_network_endpoint_group=group.name,
region="us-central1",
ip_address="8.8.8.8",
port=443)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @default = new Gcp.Compute.Network("default", new()
{
Name = "network",
AutoCreateSubnetworks = false,
});
var @group = new Gcp.Compute.RegionNetworkEndpointGroup("group", new()
{
Name = "ip-port-neg",
Network = @default.Id,
Region = "us-central1",
NetworkEndpointType = "INTERNET_IP_PORT",
});
var region_internet_ip_port_endpoint = new Gcp.Compute.RegionNetworkEndpoint("region-internet-ip-port-endpoint", new()
{
RegionNetworkEndpointGroup = @group.Name,
Region = "us-central1",
IpAddress = "8.8.8.8",
Port = 443,
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
Name: pulumi.String("network"),
AutoCreateSubnetworks: pulumi.Bool(false),
})
if err != nil {
return err
}
group, err := compute.NewRegionNetworkEndpointGroup(ctx, "group", &compute.RegionNetworkEndpointGroupArgs{
Name: pulumi.String("ip-port-neg"),
Network: _default.ID().ToIDOutput().ToStringOutput(),
Region: pulumi.String("us-central1"),
NetworkEndpointType: pulumi.String("INTERNET_IP_PORT"),
})
if err != nil {
return err
}
_, err = compute.NewRegionNetworkEndpoint(ctx, "region-internet-ip-port-endpoint", &compute.RegionNetworkEndpointArgs{
RegionNetworkEndpointGroup: group.Name,
Region: pulumi.String("us-central1"),
IpAddress: pulumi.String("8.8.8.8"),
Port: pulumi.Int(443),
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_compute_regionnetworkendpoint" "region-internet-ip-port-endpoint" {
region_network_endpoint_group = gcp_compute_regionnetworkendpointgroup.group.name
region = "us-central1"
ip_address = "8.8.8.8"
port = 443
}
resource "gcp_compute_regionnetworkendpointgroup" "group" {
name = "ip-port-neg"
network = gcp_compute_network.default.id
region = "us-central1"
network_endpoint_type = "INTERNET_IP_PORT"
}
resource "gcp_compute_network" "default" {
name = "network"
auto_create_subnetworks = false
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.RegionNetworkEndpointGroup;
import com.pulumi.gcp.compute.RegionNetworkEndpointGroupArgs;
import com.pulumi.gcp.compute.RegionNetworkEndpoint;
import com.pulumi.gcp.compute.RegionNetworkEndpointArgs;
import java.util.ArrayList;
import java.util.Arrays;
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) {
var default_ = new Network("default", NetworkArgs.builder()
.name("network")
.autoCreateSubnetworks(false)
.build());
var group = new RegionNetworkEndpointGroup("group", RegionNetworkEndpointGroupArgs.builder()
.name("ip-port-neg")
.network(default_.id())
.region("us-central1")
.networkEndpointType("INTERNET_IP_PORT")
.build());
var region_internet_ip_port_endpoint = new RegionNetworkEndpoint("region-internet-ip-port-endpoint", RegionNetworkEndpointArgs.builder()
.regionNetworkEndpointGroup(group.name())
.region("us-central1")
.ipAddress("8.8.8.8")
.port(443)
.build());
}
}
resources:
region-internet-ip-port-endpoint:
type: gcp:compute:RegionNetworkEndpoint
properties:
regionNetworkEndpointGroup: ${group.name}
region: us-central1
ipAddress: 8.8.8.8
port: 443
group:
type: gcp:compute:RegionNetworkEndpointGroup
properties:
name: ip-port-neg
network: ${default.id}
region: us-central1
networkEndpointType: INTERNET_IP_PORT
default:
type: gcp:compute:Network
properties:
name: network
autoCreateSubnetworks: false
Region Network Endpoint Internet Fqdn Port
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.compute.Network("default", {
name: "network",
autoCreateSubnetworks: false,
});
const group = new gcp.compute.RegionNetworkEndpointGroup("group", {
name: "fqdn-port-neg",
network: _default.id,
region: "us-central1",
networkEndpointType: "INTERNET_FQDN_PORT",
});
const region_internet_fqdn_port_endpoint = new gcp.compute.RegionNetworkEndpoint("region-internet-fqdn-port-endpoint", {
regionNetworkEndpointGroup: group.name,
region: "us-central1",
fqdn: "backend.example.com",
port: 443,
});
import pulumi
import pulumi_gcp as gcp
default = gcp.compute.Network("default",
name="network",
auto_create_subnetworks=False)
group = gcp.compute.RegionNetworkEndpointGroup("group",
name="fqdn-port-neg",
network=default.id,
region="us-central1",
network_endpoint_type="INTERNET_FQDN_PORT")
region_internet_fqdn_port_endpoint = gcp.compute.RegionNetworkEndpoint("region-internet-fqdn-port-endpoint",
region_network_endpoint_group=group.name,
region="us-central1",
fqdn="backend.example.com",
port=443)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @default = new Gcp.Compute.Network("default", new()
{
Name = "network",
AutoCreateSubnetworks = false,
});
var @group = new Gcp.Compute.RegionNetworkEndpointGroup("group", new()
{
Name = "fqdn-port-neg",
Network = @default.Id,
Region = "us-central1",
NetworkEndpointType = "INTERNET_FQDN_PORT",
});
var region_internet_fqdn_port_endpoint = new Gcp.Compute.RegionNetworkEndpoint("region-internet-fqdn-port-endpoint", new()
{
RegionNetworkEndpointGroup = @group.Name,
Region = "us-central1",
Fqdn = "backend.example.com",
Port = 443,
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
Name: pulumi.String("network"),
AutoCreateSubnetworks: pulumi.Bool(false),
})
if err != nil {
return err
}
group, err := compute.NewRegionNetworkEndpointGroup(ctx, "group", &compute.RegionNetworkEndpointGroupArgs{
Name: pulumi.String("fqdn-port-neg"),
Network: _default.ID().ToIDOutput().ToStringOutput(),
Region: pulumi.String("us-central1"),
NetworkEndpointType: pulumi.String("INTERNET_FQDN_PORT"),
})
if err != nil {
return err
}
_, err = compute.NewRegionNetworkEndpoint(ctx, "region-internet-fqdn-port-endpoint", &compute.RegionNetworkEndpointArgs{
RegionNetworkEndpointGroup: group.Name,
Region: pulumi.String("us-central1"),
Fqdn: pulumi.String("backend.example.com"),
Port: pulumi.Int(443),
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_compute_regionnetworkendpoint" "region-internet-fqdn-port-endpoint" {
region_network_endpoint_group = gcp_compute_regionnetworkendpointgroup.group.name
region = "us-central1"
fqdn = "backend.example.com"
port = 443
}
resource "gcp_compute_regionnetworkendpointgroup" "group" {
name = "fqdn-port-neg"
network = gcp_compute_network.default.id
region = "us-central1"
network_endpoint_type = "INTERNET_FQDN_PORT"
}
resource "gcp_compute_network" "default" {
name = "network"
auto_create_subnetworks = false
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.RegionNetworkEndpointGroup;
import com.pulumi.gcp.compute.RegionNetworkEndpointGroupArgs;
import com.pulumi.gcp.compute.RegionNetworkEndpoint;
import com.pulumi.gcp.compute.RegionNetworkEndpointArgs;
import java.util.ArrayList;
import java.util.Arrays;
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) {
var default_ = new Network("default", NetworkArgs.builder()
.name("network")
.autoCreateSubnetworks(false)
.build());
var group = new RegionNetworkEndpointGroup("group", RegionNetworkEndpointGroupArgs.builder()
.name("fqdn-port-neg")
.network(default_.id())
.region("us-central1")
.networkEndpointType("INTERNET_FQDN_PORT")
.build());
var region_internet_fqdn_port_endpoint = new RegionNetworkEndpoint("region-internet-fqdn-port-endpoint", RegionNetworkEndpointArgs.builder()
.regionNetworkEndpointGroup(group.name())
.region("us-central1")
.fqdn("backend.example.com")
.port(443)
.build());
}
}
resources:
region-internet-fqdn-port-endpoint:
type: gcp:compute:RegionNetworkEndpoint
properties:
regionNetworkEndpointGroup: ${group.name}
region: us-central1
fqdn: backend.example.com
port: 443
group:
type: gcp:compute:RegionNetworkEndpointGroup
properties:
name: fqdn-port-neg
network: ${default.id}
region: us-central1
networkEndpointType: INTERNET_FQDN_PORT
default:
type: gcp:compute:Network
properties:
name: network
autoCreateSubnetworks: false
Region Network Endpoint Portmap
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.compute.Network("default", {
name: "network",
autoCreateSubnetworks: false,
});
const defaultSubnetwork = new gcp.compute.Subnetwork("default", {
name: "subnetwork",
ipCidrRange: "10.0.0.0/16",
region: "us-central1",
network: _default.id,
});
const defaultRegionNetworkEndpointGroup = new gcp.compute.RegionNetworkEndpointGroup("default", {
name: "portmap-neg",
region: "us-central1",
network: _default.id,
subnetwork: defaultSubnetwork.id,
networkEndpointType: "GCE_VM_IP_PORTMAP",
});
const myImage = gcp.compute.getImage({
family: "debian-11",
project: "debian-cloud",
});
const defaultInstance = new gcp.compute.Instance("default", {
networkInterfaces: [{
accessConfigs: [{}],
subnetwork: defaultSubnetwork.id,
}],
name: "instance",
machineType: "e2-medium",
zone: "us-central1-a",
bootDisk: {
initializeParams: {
image: myImage.then(myImage => myImage.selfLink),
},
},
});
const regionNetworkEndpointPortmap = new gcp.compute.RegionNetworkEndpoint("region_network_endpoint_portmap", {
regionNetworkEndpointGroup: defaultRegionNetworkEndpointGroup.name,
region: "us-central1",
instance: defaultInstance.selfLink,
port: 80,
ipAddress: defaultInstance.networkInterfaces[0].networkIp,
clientDestinationPort: 8080,
});
import pulumi
import pulumi_gcp as gcp
default = gcp.compute.Network("default",
name="network",
auto_create_subnetworks=False)
default_subnetwork = gcp.compute.Subnetwork("default",
name="subnetwork",
ip_cidr_range="10.0.0.0/16",
region="us-central1",
network=default.id)
default_region_network_endpoint_group = gcp.compute.RegionNetworkEndpointGroup("default",
name="portmap-neg",
region="us-central1",
network=default.id,
subnetwork=default_subnetwork.id,
network_endpoint_type="GCE_VM_IP_PORTMAP")
my_image = gcp.compute.get_image(family="debian-11",
project="debian-cloud")
default_instance = gcp.compute.Instance("default",
network_interfaces=[{
"access_configs": [{}],
"subnetwork": default_subnetwork.id,
}],
name="instance",
machine_type="e2-medium",
zone="us-central1-a",
boot_disk={
"initialize_params": {
"image": my_image.self_link,
},
})
region_network_endpoint_portmap = gcp.compute.RegionNetworkEndpoint("region_network_endpoint_portmap",
region_network_endpoint_group=default_region_network_endpoint_group.name,
region="us-central1",
instance=default_instance.self_link,
port=80,
ip_address=default_instance.network_interfaces[0].network_ip,
client_destination_port=8080)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @default = new Gcp.Compute.Network("default", new()
{
Name = "network",
AutoCreateSubnetworks = false,
});
var defaultSubnetwork = new Gcp.Compute.Subnetwork("default", new()
{
Name = "subnetwork",
IpCidrRange = "10.0.0.0/16",
Region = "us-central1",
Network = @default.Id,
});
var defaultRegionNetworkEndpointGroup = new Gcp.Compute.RegionNetworkEndpointGroup("default", new()
{
Name = "portmap-neg",
Region = "us-central1",
Network = @default.Id,
Subnetwork = defaultSubnetwork.Id,
NetworkEndpointType = "GCE_VM_IP_PORTMAP",
});
var myImage = Gcp.Compute.GetImage.Invoke(new()
{
Family = "debian-11",
Project = "debian-cloud",
});
var defaultInstance = new Gcp.Compute.Instance("default", new()
{
NetworkInterfaces = new[]
{
new Gcp.Compute.Inputs.InstanceNetworkInterfaceArgs
{
AccessConfigs = new[]
{
null,
},
Subnetwork = defaultSubnetwork.Id,
},
},
Name = "instance",
MachineType = "e2-medium",
Zone = "us-central1-a",
BootDisk = new Gcp.Compute.Inputs.InstanceBootDiskArgs
{
InitializeParams = new Gcp.Compute.Inputs.InstanceBootDiskInitializeParamsArgs
{
Image = myImage.Apply(getImageResult => getImageResult.SelfLink),
},
},
});
var regionNetworkEndpointPortmap = new Gcp.Compute.RegionNetworkEndpoint("region_network_endpoint_portmap", new()
{
RegionNetworkEndpointGroup = defaultRegionNetworkEndpointGroup.Name,
Region = "us-central1",
Instance = defaultInstance.SelfLink,
Port = 80,
IpAddress = defaultInstance.NetworkInterfaces.Apply(networkInterfaces => networkInterfaces[0].NetworkIp),
ClientDestinationPort = 8080,
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
Name: pulumi.String("network"),
AutoCreateSubnetworks: pulumi.Bool(false),
})
if err != nil {
return err
}
defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
Name: pulumi.String("subnetwork"),
IpCidrRange: pulumi.String("10.0.0.0/16"),
Region: pulumi.String("us-central1"),
Network: _default.ID().ToIDOutput().ToStringOutput(),
})
if err != nil {
return err
}
defaultRegionNetworkEndpointGroup, err := compute.NewRegionNetworkEndpointGroup(ctx, "default", &compute.RegionNetworkEndpointGroupArgs{
Name: pulumi.String("portmap-neg"),
Region: pulumi.String("us-central1"),
Network: _default.ID().ToIDOutput().ToStringOutput(),
Subnetwork: defaultSubnetwork.ID().ToIDOutput().ToStringOutput(),
NetworkEndpointType: pulumi.String("GCE_VM_IP_PORTMAP"),
})
if err != nil {
return err
}
myImage, err := compute.LookupImage(ctx, &compute.LookupImageArgs{
Family: pulumi.StringRef("debian-11"),
Project: pulumi.StringRef("debian-cloud"),
}, nil)
if err != nil {
return err
}
defaultInstance, err := compute.NewInstance(ctx, "default", &compute.InstanceArgs{
NetworkInterfaces: compute.InstanceNetworkInterfaceArray{
&compute.InstanceNetworkInterfaceArgs{
AccessConfigs: compute.InstanceNetworkInterfaceAccessConfigArray{
&compute.InstanceNetworkInterfaceAccessConfigArgs{},
},
Subnetwork: defaultSubnetwork.ID().ToIDOutput().ToStringOutput(),
},
},
Name: pulumi.String("instance"),
MachineType: pulumi.String("e2-medium"),
Zone: pulumi.String("us-central1-a"),
BootDisk: &compute.InstanceBootDiskArgs{
InitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{
Image: pulumi.String(myImage.SelfLink),
},
},
})
if err != nil {
return err
}
_, err = compute.NewRegionNetworkEndpoint(ctx, "region_network_endpoint_portmap", &compute.RegionNetworkEndpointArgs{
RegionNetworkEndpointGroup: defaultRegionNetworkEndpointGroup.Name,
Region: pulumi.String("us-central1"),
Instance: defaultInstance.SelfLink,
Port: pulumi.Int(80),
IpAddress: defaultInstance.NetworkInterfaces.ApplyT(func(networkInterfaces []compute.InstanceNetworkInterface) (*string, error) {
return networkInterfaces[0].NetworkIp, nil
}).(pulumi.StringPtrOutput),
ClientDestinationPort: pulumi.Int(8080),
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
data "gcp_compute_getimage" "myImage" {
family = "debian-11"
project = "debian-cloud"
}
resource "gcp_compute_network" "default" {
name = "network"
auto_create_subnetworks = false
}
resource "gcp_compute_subnetwork" "default" {
name = "subnetwork"
ip_cidr_range = "10.0.0.0/16"
region = "us-central1"
network = gcp_compute_network.default.id
}
resource "gcp_compute_regionnetworkendpointgroup" "default" {
name = "portmap-neg"
region = "us-central1"
network = gcp_compute_network.default.id
subnetwork = gcp_compute_subnetwork.default.id
network_endpoint_type = "GCE_VM_IP_PORTMAP"
}
resource "gcp_compute_regionnetworkendpoint" "region_network_endpoint_portmap" {
region_network_endpoint_group = gcp_compute_regionnetworkendpointgroup.default.name
region = "us-central1"
instance = gcp_compute_instance.default.self_link
port = 80
ip_address = gcp_compute_instance.default.network_interfaces[0].network_ip
client_destination_port = 8080
}
resource "gcp_compute_instance" "default" {
network_interfaces {
access_configs {
}
subnetwork = gcp_compute_subnetwork.default.id
}
name = "instance"
machine_type = "e2-medium"
zone = "us-central1-a"
boot_disk = {
initialize_params = {
image = data.gcp_compute_getimage.myImage.self_link
}
}
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
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.RegionNetworkEndpointGroup;
import com.pulumi.gcp.compute.RegionNetworkEndpointGroupArgs;
import com.pulumi.gcp.compute.ComputeFunctions;
import com.pulumi.gcp.compute.inputs.GetImageArgs;
import com.pulumi.gcp.compute.Instance;
import com.pulumi.gcp.compute.InstanceArgs;
import com.pulumi.gcp.compute.inputs.InstanceNetworkInterfaceArgs;
import com.pulumi.gcp.compute.inputs.InstanceNetworkInterfaceAccessConfigArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskInitializeParamsArgs;
import com.pulumi.gcp.compute.RegionNetworkEndpoint;
import com.pulumi.gcp.compute.RegionNetworkEndpointArgs;
import java.util.ArrayList;
import java.util.Arrays;
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) {
var default_ = new Network("default", NetworkArgs.builder()
.name("network")
.autoCreateSubnetworks(false)
.build());
var defaultSubnetwork = new Subnetwork("defaultSubnetwork", SubnetworkArgs.builder()
.name("subnetwork")
.ipCidrRange("10.0.0.0/16")
.region("us-central1")
.network(default_.id())
.build());
var defaultRegionNetworkEndpointGroup = new RegionNetworkEndpointGroup("defaultRegionNetworkEndpointGroup", RegionNetworkEndpointGroupArgs.builder()
.name("portmap-neg")
.region("us-central1")
.network(default_.id())
.subnetwork(defaultSubnetwork.id())
.networkEndpointType("GCE_VM_IP_PORTMAP")
.build());
final var myImage = ComputeFunctions.getImage(GetImageArgs.builder()
.family("debian-11")
.project("debian-cloud")
.build());
var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.networkInterfaces(InstanceNetworkInterfaceArgs.builder()
.accessConfigs(InstanceNetworkInterfaceAccessConfigArgs.builder()
.build())
.subnetwork(defaultSubnetwork.id())
.build())
.name("instance")
.machineType("e2-medium")
.zone("us-central1-a")
.bootDisk(InstanceBootDiskArgs.builder()
.initializeParams(InstanceBootDiskInitializeParamsArgs.builder()
.image(myImage.selfLink())
.build())
.build())
.build());
var regionNetworkEndpointPortmap = new RegionNetworkEndpoint("regionNetworkEndpointPortmap", RegionNetworkEndpointArgs.builder()
.regionNetworkEndpointGroup(defaultRegionNetworkEndpointGroup.name())
.region("us-central1")
.instance(defaultInstance.selfLink())
.port(80)
.ipAddress(defaultInstance.networkInterfaces().applyValue(_networkInterfaces -> _networkInterfaces.get(0).networkIp()))
.clientDestinationPort(8080)
.build());
}
}
resources:
default:
type: gcp:compute:Network
properties:
name: network
autoCreateSubnetworks: false
defaultSubnetwork:
type: gcp:compute:Subnetwork
name: default
properties:
name: subnetwork
ipCidrRange: 10.0.0.0/16
region: us-central1
network: ${default.id}
defaultRegionNetworkEndpointGroup:
type: gcp:compute:RegionNetworkEndpointGroup
name: default
properties:
name: portmap-neg
region: us-central1
network: ${default.id}
subnetwork: ${defaultSubnetwork.id}
networkEndpointType: GCE_VM_IP_PORTMAP
regionNetworkEndpointPortmap:
type: gcp:compute:RegionNetworkEndpoint
name: region_network_endpoint_portmap
properties:
regionNetworkEndpointGroup: ${defaultRegionNetworkEndpointGroup.name}
region: us-central1
instance: ${defaultInstance.selfLink}
port: 80
ipAddress: ${defaultInstance.networkInterfaces[0].networkIp}
clientDestinationPort: 8080
defaultInstance:
type: gcp:compute:Instance
name: default
properties:
networkInterfaces:
- accessConfigs:
- {}
subnetwork: ${defaultSubnetwork.id}
name: instance
machineType: e2-medium
zone: us-central1-a
bootDisk:
initializeParams:
image: ${myImage.selfLink}
variables:
myImage:
fn::invoke:
function: gcp:compute:getImage
arguments:
family: debian-11
project: debian-cloud
Import
RegionNetworkEndpoint can be imported using any of these accepted formats:
projects/{{project}}/regions/{{region}}/networkEndpointGroups/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}{{project}}/{{region}}/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}{{region}}/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}
When using the pulumi import command, RegionNetworkEndpoint can be imported using one of the formats above. For example:
$ pulumi import gcp:compute/regionNetworkEndpoint:RegionNetworkEndpoint default projects/{{project}}/regions/{{region}}/networkEndpointGroups/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}
$ pulumi import gcp:compute/regionNetworkEndpoint:RegionNetworkEndpoint default {{project}}/{{region}}/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}
$ pulumi import gcp:compute/regionNetworkEndpoint:RegionNetworkEndpoint default {{region}}/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}
$ pulumi import gcp:compute/regionNetworkEndpoint:RegionNetworkEndpoint default {{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}
Constructors
- RegionNetworkEndpoint(String name, {RegionNetworkEndpointArgs? args, CustomResourceOptions? options})
-
Creates a new RegionNetworkEndpoint.
nameThe Pulumi resource name.argsArguments used to configure this RegionNetworkEndpoint. The set of arguments for RegionNetworkEndpoint.optionsResource options controlling this resource's behavior. - RegionNetworkEndpoint.reference(String urn)
- Creates a typed reference to an existing RegionNetworkEndpoint resource.
Properties
-
childResources
→ Set<
Resource> -
finalinherited
-
clientDestinationPort
↔ Output<
int?> -
Client destination port for the
GCE_VM_IP_PORTMAPNEG.latefinal -
completionSources
↔ Map<
String, IOutputCompletionSource> -
latefinalinherited
-
deletionPolicy
↔ Output<
String> -
Whether Terraform will be prevented from destroying the resource. Defaults to DELETE.
When a 'terraform destroy' or 'pulumi up' would delete the resource,
the command will fail if this field is set to "PREVENT" in Terraform state.
When set to "ABANDON", the command will remove the resource from Terraform
management without updating or deleting the resource in the API.
When set to "DELETE", deleting the resource is allowed.
latefinal
-
fqdn
↔ Output<
String?> -
Fully qualified domain name of network endpoint.
This can only be specified when networkEndpointType of the NEG is INTERNET_FQDN_PORT.
latefinal
- hashCode → int
-
The hash code for this object.
no setterinherited
-
id
↔ Output<
String> -
getter/setter pairinherited
-
instance
↔ Output<
String?> -
The name for a specific VM instance that the IP address belongs to.
This is required for network endpoints of type GCE_VM_IP_PORTMAP.
latefinal
-
ipAddress
↔ Output<
String?> -
IPv4 address external endpoint.
This can only be specified when networkEndpointType of the NEG is INTERNET_IP_PORT.
latefinal
- isCustom → bool
-
Returns whether this resource is provider-managed.
no setterinherited
- isProtected → bool
-
Returns whether this resource is protected from deletion.
no setterinherited
- isRemote → bool
-
Whether this resource is registered as remote.
no setterinherited
- isResourceReference → bool
-
Whether this instance represents a resource value returned over RPC.
finalinherited
-
networkEndpointId
↔ Output<
int> -
The unique identifier number for the resource. This identifier is defined by the server.
latefinal
-
port
↔ Output<
int> -
Port number of network endpoint.
latefinal
-
project
↔ Output<
String> -
The ID of the project in which the resource belongs.
If it is not provided, the provider project is used.
latefinal
-
region
↔ Output<
String> -
Region where the containing network endpoint group is located.
latefinal
-
regionNetworkEndpointGroup
↔ Output<
String> -
The network endpoint group this endpoint is part of.
latefinal
-
resourceTransforms
→ List<
ResourceTransform> -
Inherited/explicit async transforms.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
transformations
→ List<
ResourceTransformation> -
Inherited/explicit legacy transformations.
no setterinherited
-
urn
↔ Output<
String> -
latefinalinherited
Methods
-
failId(
Object error) → void -
Completes this resource ID with an error when registration fails.
inherited
-
failOutputs(
Object error) → void -
Completes all output properties with
error.inherited -
failUrn(
Object error) → void -
Completes this resource URN with an error when registration fails.
inherited
-
getProvider(
String moduleMember) → ProviderResource? -
Returns provider for
moduleMember's package, if configured.inherited -
getResourceName(
) → String -
Returns this resource's logical name.
inherited
-
getResourceType(
) → String -
Returns this resource's Pulumi type token.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
registerOutput<
T> (String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output< T> -
Registers a dynamic output property for this resource.
inherited
-
resolveId(
String? value, {required bool isKnown}) → void -
Resolves the provider-assigned ID for this resource.
inherited
-
resolveOutputs(
Struct outputs) → void -
Resolves all output properties from a monitor response payload.
inherited
-
resolveUrn(
String value) → void -
Resolves this resource's URN once assigned by the engine.
inherited
-
serializeProperties(
Map< String, dynamic> properties) → Future<Struct> -
Serializes resource properties for RPC transmission.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
get(
String name, Input< String> id, {RegionNetworkEndpointState? state, CustomResourceOptions? options}) → RegionNetworkEndpoint -
Gets an existing RegionNetworkEndpoint resource's state with the given
nameandid.