Class: Google::Apis::ComputeAlpha::NetworkEndpointGroup

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb

Overview

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, seeNetwork endpoint groups overview. Note: Use the following APIs to manage network endpoint groups:

- To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity NEGs): zonal

API

To manage NEGs with regional scope (such as regional internet NEGs, serverless NEGs, Private Service Connect NEGs): regional

API

To manage NEGs with global scope (such as global internet NEGs):global API

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ NetworkEndpointGroup

Returns a new instance of NetworkEndpointGroup.



44005
44006
44007
# File 'lib/google/apis/compute_alpha/classes.rb', line 44005

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#annotationsHash<String,String>

Optional. Metadata defined as annotations on the network endpoint group. Corresponds to the JSON property annotations

Returns:

  • (Hash<String,String>)


43843
43844
43845
# File 'lib/google/apis/compute_alpha/classes.rb', line 43843

def annotations
  @annotations
end

#app_engineGoogle::Apis::ComputeAlpha::NetworkEndpointGroupAppEngine

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. Corresponds to the JSON property appEngine



43853
43854
43855
# File 'lib/google/apis/compute_alpha/classes.rb', line 43853

def app_engine
  @app_engine
end

#cloud_functionGoogle::Apis::ComputeAlpha::NetworkEndpointGroupCloudFunction

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. Corresponds to the JSON property cloudFunction



43861
43862
43863
# File 'lib/google/apis/compute_alpha/classes.rb', line 43861

def cloud_function
  @cloud_function
end

#cloud_runGoogle::Apis::ComputeAlpha::NetworkEndpointGroupCloudRun

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. Corresponds to the JSON property cloudRun



43871
43872
43873
# File 'lib/google/apis/compute_alpha/classes.rb', line 43871

def cloud_run
  @cloud_run
end

#creation_timestampString

Output only. [Output Only] Creation timestamp inRFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)


43877
43878
43879
# File 'lib/google/apis/compute_alpha/classes.rb', line 43877

def creation_timestamp
  @creation_timestamp
end

#default_portFixnum

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. Corresponds to the JSON property defaultPort

Returns:

  • (Fixnum)


43886
43887
43888
# File 'lib/google/apis/compute_alpha/classes.rb', line 43886

def default_port
  @default_port
end

#descriptionString

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

Returns:

  • (String)


43892
43893
43894
# File 'lib/google/apis/compute_alpha/classes.rb', line 43892

def description
  @description
end

#idFixnum

Output only. [Output Only] The unique identifier for the resource. This identifier is defined by the server. Corresponds to the JSON property id

Returns:

  • (Fixnum)


43899
43900
43901
# File 'lib/google/apis/compute_alpha/classes.rb', line 43899

def id
  @id
end

#kindString

Output only. [Output Only] Type of the resource. Alwayscompute# networkEndpointGroup for network endpoint group. Corresponds to the JSON property kind

Returns:

  • (String)


43905
43906
43907
# File 'lib/google/apis/compute_alpha/classes.rb', line 43905

def kind
  @kind
end

#load_balancerGoogle::Apis::ComputeAlpha::NetworkEndpointGroupLbNetworkEndpointGroup

Load balancing specific fields for network endpoint group. Corresponds to the JSON property loadBalancer



43910
43911
43912
# File 'lib/google/apis/compute_alpha/classes.rb', line 43910

def load_balancer
  @load_balancer
end

#nameString

Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply withRFC1035. 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. Corresponds to the JSON property name

Returns:

  • (String)


43921
43922
43923
# File 'lib/google/apis/compute_alpha/classes.rb', line 43921

def name
  @name
end

#networkString

The URL of the network to which all network endpoints in the NEG belong. For networkEndpointType GCE_VM_IP_PORT,GCE_VM_IP_PORTMAP or NON_GCP_PRIVATE_IP_PORT, if this field is not specified, a default network will be used. This field cannot be set for NEGs with networkEndpointType set toSERVERLESS or PRIVATE_SERVICE_CONNECT and for global NEGs. For all other network endpoint types, this field is required. Corresponds to the JSON property network

Returns:

  • (String)


43933
43934
43935
# File 'lib/google/apis/compute_alpha/classes.rb', line 43933

def network
  @network
end

#network_endpoint_typeString

Type of network endpoints in this network endpoint group. Can be one ofGCE_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. Corresponds to the JSON property networkEndpointType

Returns:

  • (String)


43940
43941
43942
# File 'lib/google/apis/compute_alpha/classes.rb', line 43940

def network_endpoint_type
  @network_endpoint_type
end

#psc_dataGoogle::Apis::ComputeAlpha::NetworkEndpointGroupPscData

All data that is specifically relevant to only network endpoint groups of type PRIVATE_SERVICE_CONNECT. Corresponds to the JSON property pscData



43946
43947
43948
# File 'lib/google/apis/compute_alpha/classes.rb', line 43946

def psc_data
  @psc_data
end

#psc_target_serviceString

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. Optional. Only valid when networkEndpointType isPRIVATE_SERVICE_CONNECT. Corresponds to the JSON property pscTargetService

Returns:

  • (String)


43954
43955
43956
# File 'lib/google/apis/compute_alpha/classes.rb', line 43954

def psc_target_service
  @psc_target_service
end

#regionString

Output only. [Output Only] The URL of theregion where the network endpoint group is located. Corresponds to the JSON property region

Returns:

  • (String)


43960
43961
43962
# File 'lib/google/apis/compute_alpha/classes.rb', line 43960

def region
  @region
end

Output only. [Output Only] Server-defined URL for the resource. Corresponds to the JSON property selfLink

Returns:

  • (String)


43965
43966
43967
# File 'lib/google/apis/compute_alpha/classes.rb', line 43965

def self_link
  @self_link
end

Output only. [Output Only] Server-defined URL for this resource with the resource id. Corresponds to the JSON property selfLinkWithId

Returns:

  • (String)


43971
43972
43973
# File 'lib/google/apis/compute_alpha/classes.rb', line 43971

def self_link_with_id
  @self_link_with_id
end

#serverless_deploymentGoogle::Apis::ComputeAlpha::NetworkEndpointGroupServerlessDeployment

Configuration for a serverless network endpoint group (NEG). Theplatform must be provided. Note: The target backend service must be in the same project and located in the same region as the Serverless NEG. Corresponds to the JSON property serverlessDeployment



43979
43980
43981
# File 'lib/google/apis/compute_alpha/classes.rb', line 43979

def serverless_deployment
  @serverless_deployment
end

#sizeFixnum

Output only. [Output only] Number of network endpoints in the network endpoint group. Corresponds to the JSON property size

Returns:

  • (Fixnum)


43985
43986
43987
# File 'lib/google/apis/compute_alpha/classes.rb', line 43985

def size
  @size
end

#subnetworkString

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

Returns:

  • (String)


43991
43992
43993
# File 'lib/google/apis/compute_alpha/classes.rb', line 43991

def subnetwork
  @subnetwork
end

#typeString

Specify the type of this network endpoint group. OnlyLOAD_BALANCING is valid for now. Corresponds to the JSON property type

Returns:

  • (String)


43997
43998
43999
# File 'lib/google/apis/compute_alpha/classes.rb', line 43997

def type
  @type
end

#zoneString

Output only. [Output Only] The URL of thezone where the network endpoint group is located. Corresponds to the JSON property zone

Returns:

  • (String)


44003
44004
44005
# File 'lib/google/apis/compute_alpha/classes.rb', line 44003

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



44010
44011
44012
44013
44014
44015
44016
44017
44018
44019
44020
44021
44022
44023
44024
44025
44026
44027
44028
44029
44030
44031
44032
44033
44034
# File 'lib/google/apis/compute_alpha/classes.rb', line 44010

def update!(**args)
  @annotations = args[:annotations] if args.key?(:annotations)
  @app_engine = args[:app_engine] if args.key?(:app_engine)
  @cloud_function = args[:cloud_function] if args.key?(:cloud_function)
  @cloud_run = args[:cloud_run] if args.key?(:cloud_run)
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
  @default_port = args[:default_port] if args.key?(:default_port)
  @description = args[:description] if args.key?(:description)
  @id = args[:id] if args.key?(:id)
  @kind = args[:kind] if args.key?(:kind)
  @load_balancer = args[:load_balancer] if args.key?(:load_balancer)
  @name = args[:name] if args.key?(:name)
  @network = args[:network] if args.key?(:network)
  @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
  @psc_data = args[:psc_data] if args.key?(:psc_data)
  @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
  @region = args[:region] if args.key?(:region)
  @self_link = args[:self_link] if args.key?(:self_link)
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
  @serverless_deployment = args[:serverless_deployment] if args.key?(:serverless_deployment)
  @size = args[:size] if args.key?(:size)
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
  @type = args[:type] if args.key?(:type)
  @zone = args[:zone] if args.key?(:zone)
end