REST Resource: globalNetworkEndpointGroups

Resource: NetworkEndpointGroup

Represents a collection of network endpoints.

A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs for different use cases, see Network endpoint groups overview.

JSON representation
{
  "kind": string,
  "id": string,
  "creationTimestamp": string,
  "selfLink": string,
  "name": string,
  "description": string,
  "networkEndpointType": enum (NetworkEndpointType),
  "size": integer,
  "region": string,
  "zone": string,
  "network": string,
  "subnetwork": string,
  "defaultPort": integer,
  "annotations": {
    string: string,
    ...
  },
  "cloudRun": {
    object (CloudRun)
  },
  "appEngine": {
    object (AppEngine)
  },
  "cloudFunction": {
    object (CloudFunction)
  },
  "pscTargetService": string,
  "pscData": {
    object (PscData)
  }
}
Fields
kind

string

[Output Only] Type of the resource. Always

compute#networkEndpointGroup

for network endpoint group.

id

string (uint64 format)

[Output Only] The unique identifier for the resource. This identifier is defined by the server.

creationTimestamp

string

[Output Only] Creation timestamp in RFC3339 text format.

name

string

Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

description

string

An optional description of this resource. Provide this property when you create the resource.

networkEndpointType

enum (NetworkEndpointType)

Type of network endpoints in this network endpoint group. Can be one of

GCE_VM_IP

,

GCE_VM_IP_PORT

,

NON_GCP_PRIVATE_IP_PORT

,

INTERNET_FQDN_PORT

,

INTERNET_IP_PORT

,

SERVERLESS

,

PRIVATE_SERVICE_CONNECT

,

GCE_VM_IP_PORTMAP

.

size

integer

[Output only] Number of network endpoints in the network endpoint group.

region

string

[Output Only] The URL of the region where the network endpoint group is located.

zone

string

[Output Only] The URL of the zone where the network endpoint group is located.

network

string

The URL of the network to which all network endpoints in the NEG belong. Uses

default

project network if unspecified.

subnetwork

string

Optional URL of the subnetwork to which all network endpoints in the NEG belong.

defaultPort

integer

The default port used if the port number is not specified in the network endpoint.

Optional. If the network endpoint type is either

GCE_VM_IP

,

SERVERLESS

or

PRIVATE_SERVICE_CONNECT

, this field must not be specified.

annotations

map (key: string, value: string)

Optional. Metadata defined as annotations on the network endpoint group.

cloudRun

object (CloudRun)

Optional. Only valid when

networkEndpointType

is

SERVERLESS. Only one of cloudRun

,

appEngine

or

cloudFunction

may be set.

appEngine

object (AppEngine)

Optional. Only valid when

networkEndpointType

is

SERVERLESS

. Only one of

cloudRun

,

appEngine

or

cloudFunction

may be set.

cloudFunction

object (CloudFunction)

Optional. Only valid when

networkEndpointType

is

SERVERLESS

. Only one of

cloudRun

,

appEngine

or

cloudFunction

may be set.

pscTargetService

string

The target service url used to set up private service connection to a Trusted Cloud API or a PSC Producer Service Attachment. An example value is:

asia-northeast3-cloudkms.googleapis.com

.

Optional. Only valid when

networkEndpointType

is

PRIVATE_SERVICE_CONNECT

.

pscData

object (PscData)

Optional. Only valid when

networkEndpointType

is

PRIVATE_SERVICE_CONNECT

.

NetworkEndpointType

Type of network endpoints in the network endpoint group.

Enums
GCE_VM_IP The network endpoint is represented by an IP address.
GCE_VM_IP_PORT The network endpoint is represented by IP address and port pair.
NON_GCP_PRIVATE_IP_PORT The network endpoint is represented by an IP address and port. The endpoint belongs to a VM or pod running in a customer's on-premises.
INTERNET_IP_PORT The network endpoint is represented by an internet IP address and port.
INTERNET_FQDN_PORT The network endpoint is represented by fully qualified domain name and port.
SERVERLESS The network endpoint is handled by specified serverless infrastructure.
PRIVATE_SERVICE_CONNECT The network endpoint is either public Trusted Cloud APIs or services exposed by other GCP Project with a Service Attachment. The connection is set up by private service connect
GCE_VM_IP_PORTMAP The network endpoint is represented by an IP, Port and Client Destination Port.

CloudRun

Configuration for a Cloud Run network endpoint group (NEG). The

service

must be provided explicitly or in the URL mask. The

tag

is optional, may be provided explicitly or in the URL mask.

Note: Cloud Run service must be in the same project and located in the same region as the Serverless NEG.

JSON representation
{
  "service": string,
  "tag": string,
  "urlMask": string
}
Fields
service

string

Cloud Run service is the main resource of Cloud Run.

The

service

must be 1-63 characters long, and comply with RFC1035.

Example value: "run-service".

tag

string

Optional Cloud Run tag represents the "named-revision" to provide additional fine-grained traffic routing information.

The

tag

must be 1-63 characters long, and comply with RFC1035.

Example value: "revision-0010".

urlMask

string

An URL mask is one of the main components of the Cloud Function.

A template to parse

<service>

and

<tag>

fields from a request URL. URL mask allows for routing to multiple Run services without having to create multiple network endpoint groups and backend services.

For example, request URLs

foo1.domain.com/bar1

and

foo1.domain.com/bar2

can be backed by the same Serverless Network Endpoint Group (NEG) with URL mask

<tag>.domain.com/<service>

. The URL mask will parse them to

{ service="bar1", tag="foo1" }

and

{ service="bar2", tag="foo2" }

respectively.

AppEngine

Configuration for an App Engine network endpoint group (NEG). The

service

is optional, may be provided explicitly or in the URL mask. The

version

is optional and can only be provided explicitly or in the URL mask when

service

is present.

Note: App Engine service must be in the same project and located in the same region as the Serverless NEG.

JSON representation
{
  "service": string,
  "version": string,
  "urlMask": string
}
Fields
service

string

Optional serving service.

The

service

name is case-sensitive and must be 1-63 characters long.

Example value:

default

,

my-service

.

version

string

Optional serving version.

The

version

name is case-sensitive and must be 1-100 characters long.

Example value:

v1

,

v2

.

urlMask

string

An URL mask is one of the main components of the Cloud Function.

A template to parse

service

and

version

fields from a request URL. URL mask allows for routing to multiple App Engine services without having to create multiple Network Endpoint Groups and backend services.

For example, the request URLs

foo1-dot-appname.appspot.com/v1

and

foo1-dot-appname.appspot.com/v2

can be backed by the same Serverless NEG with URL mask

<service>-dot-appname.appspot.com/<version>

. The URL mask will parse them to

{ service = "foo1", version = "v1" }

and

{ service = "foo1", version = "v2" }

respectively.

CloudFunction

Configuration for a Cloud Function network endpoint group (NEG). The

function

must be provided explicitly or in the URL mask.

Note: Cloud Function must be in the same project and located in the same region as the Serverless NEG.

JSON representation
{
  "function": string,
  "urlMask": string
}
Fields
function

string

A user-defined name of the Cloud Function.

The

function

name is case-sensitive and must be 1-63 characters long.

Example value:

func1

.

urlMask

string

An URL mask is one of the main components of the Cloud Function.

A template to parse

function

field from a request URL. URL mask allows for routing to multiple Cloud Functions without having to create multiple Network Endpoint Groups and backend services.

For example, request URLs

mydomain.com/function1

and

mydomain.com/function2

can be backed by the same Serverless NEG with URL mask

/<function>

. The URL mask will parse them to

{ function = "function1" }

and

{ function = "function2" }

respectively.

PscData

All data that is specifically relevant to only network endpoint groups of type

PRIVATE_SERVICE_CONNECT

.

JSON representation
{
  "consumerPscAddress": string,
  "pscConnectionId": string,
  "pscConnectionStatus": enum (PscConnectionStatus),
  "producerPort": integer
}
Fields
consumerPscAddress

string

[Output Only] Address allocated from given subnetwork for PSC. This IP address acts as a VIP for a PSC NEG, allowing it to act as an endpoint in L7 PSC-XLB.

pscConnectionId

string (uint64 format)

[Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.

pscConnectionStatus

enum (PscConnectionStatus)

[Output Only] The connection status of the PSC Forwarding Rule.

producerPort

integer

The psc producer port is used to connect PSC NEG with specific port on the PSC Producer side; should only be used for the PRIVATE_SERVICE_CONNECT NEG type

PscConnectionStatus

Enums
STATUS_UNSPECIFIED
PENDING The connection is pending acceptance by the producer.
ACCEPTED The connection has been accepted by the producer.
REJECTED The connection has been rejected by the producer.
CLOSED The connection has been closed by the producer and will not serve traffic going forward.
NEEDS_ATTENTION The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.

Methods

attachNetworkEndpoints

The method compute.v1.GlobalNetworkEndpointGroupsService.AttachNetworkEndpoints is not available in Trusted Cloud by S3NS.

delete

The method compute.v1.GlobalNetworkEndpointGroupsService.Delete is not available in Trusted Cloud by S3NS.

detachNetworkEndpoints

The method compute.v1.GlobalNetworkEndpointGroupsService.DetachNetworkEndpoints is not available in Trusted Cloud by S3NS.

get

The method compute.v1.GlobalNetworkEndpointGroupsService.Get is not available in Trusted Cloud by S3NS.

insert

The method compute.v1.GlobalNetworkEndpointGroupsService.Insert is not available in Trusted Cloud by S3NS.

list

The method compute.v1.GlobalNetworkEndpointGroupsService.List is not available in Trusted Cloud by S3NS.

listNetworkEndpoints

The method compute.v1.GlobalNetworkEndpointGroupsService.ListNetworkEndpoints is not available in Trusted Cloud by S3NS.