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,
  "size": integer,
  "loadBalancer": {
    "zone": string,
    "network": string,
    "subnetwork": string,
    "defaultPort": integer
  },
  "region": string,
  "zone": string,
  "network": string,
  "subnetwork": string,
  "defaultPort": integer,
  "annotations": {
    string: string,
    ...
  },
  "cloudRun": {
    "service": string,
    "tag": string,
    "urlMask": string
  },
  "appEngine": {
    "service": string,
    "version": string,
    "urlMask": string
  },
  "cloudFunction": {
    "function": string,
    "urlMask": string
  },
  "serverlessDeployment": {
    "platform": string,
    "resource": string,
    "version": string,
    "urlMask": string
  },
  "pscTargetService": string,
  "pscData": {
    "consumerPscAddress": string,
    "pscConnectionId": string,
    "pscConnectionStatus": enum,
    "producerPort": integer
  }
}
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

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.

loadBalancer
(deprecated)

object

This field is only valid when the network endpoint group is used for load balancing. [Deprecated] This field is deprecated.

loadBalancer
(deprecated).zone
(deprecated)

string

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

loadBalancer
(deprecated).network
(deprecated)

string

The URL of the network to which all network endpoints in the NEG belong. Uses default project network if unspecified. [Deprecated] This field is deprecated.

loadBalancer
(deprecated).subnetwork
(deprecated)

string

Optional URL of the subnetwork to which all network endpoints in the NEG belong. [Deprecated] This field is deprecated.

loadBalancer
(deprecated).defaultPort
(deprecated)

integer

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

If the network endpoint type is either GCE_VM_IP, SERVERLESS or PRIVATE_SERVICE_CONNECT, this field must not be specified. [Deprecated] This field is deprecated.

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.

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)

Metadata defined as annotations on the network endpoint group.

cloudRun

object

Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set.

cloudRun.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".

cloudRun.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".

cloudRun.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

object

Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set.

appEngine.service

string

Optional serving service.

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

Example value: default, my-service.

appEngine.version

string

Optional serving version.

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

Example value: v1, v2.

appEngine.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

object

Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set.

cloudFunction.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.

cloudFunction.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.

serverlessDeployment

object

Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine, cloudFunction or serverlessDeployment may be set.

serverlessDeployment.platform

string

The platform of the backend target(s) of this NEG. The only supported value is API Gateway: apigateway.googleapis.com.

serverlessDeployment.resource

string

The user-defined name of the workload/instance. This value must be provided explicitly or in the urlMask. The resource identified by this value is platform-specific and is as follows:

  1. API Gateway: The gateway ID
  2. App Engine: The service name
  3. Cloud Functions: The function name
  4. Cloud Run: The service name
serverlessDeployment.version

string

The optional resource version. The version identified by this value is platform-specific and is follows:

  1. API Gateway: Unused
  2. App Engine: The service version
  3. Cloud Functions: Unused
  4. Cloud Run: The service tag
serverlessDeployment.urlMask

string

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

A template to parse platform-specific fields from a request URL. URL mask allows for routing to multiple resources on the same serverless platform without having to create multiple Network Endpoint Groups and backend resources. The fields parsed by this template are platform-specific and are as follows:

  1. API Gateway: The gateway ID
  2. App Engine: The service and version
  3. Cloud Functions: The function name
  4. Cloud Run: The service and tag
pscTargetService

string

The target service url used to set up private service connection to a Google API or a PSC Producer Service Attachment. An example value is: asia-northeast3-cloudkms.googleapis.com

pscData

object

pscData.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.

pscData.pscConnectionId

string (uint64 format)

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

pscData.pscConnectionStatus

enum

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

pscData.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

Methods

attachNetworkEndpoints

Attach a network endpoint to the specified network endpoint group.

delete

Deletes the specified network endpoint group.Note that the NEG cannot be deleted if there are backend services referencing it.

detachNetworkEndpoints

Detach the network endpoint from the specified network endpoint group.

get

Returns the specified network endpoint group.

insert

Creates a network endpoint group in the specified project using the parameters that are included in the request.

list

Retrieves the list of network endpoint groups that are located in the specified project.

listNetworkEndpoints

Lists the network endpoints in the specified network endpoint group.