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, see Setting up internet NEGs, Setting up zonal NEGs, or Setting up serverless NEGs.

JSON representation
{
  "id": string,
  "creationTimestamp": string,
  "selfLink": string,
  "name": string,
  "description": string,
  "networkEndpointType": enum,
  "size": 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
  },
  "kind": string
}
Fields
id

string (fixed64 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_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, or SERVERLESS.

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.

annotations

map (key: string, value: string)

Metadata defined as annotations on the network endpoint group.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

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

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 ".domain.com/". 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

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 "-dot-appname.appspot.com/". 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

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 "/". The URL mask will parse them to { function = "function1" } and { function = "function2" } respectively.

kind

string

[Output Only] Type of the resource. Always compute#networkEndpointGroup for network endpoint group.

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.