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, see Setting up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S) Load Balancing with serverless NEGs. (== resource_for $api_version. networkEndpointGroups ==) (== resource_for $api_version. globalNetworkEndpointGroups ==) (== resource_for $api_version. regionNetworkEndpointGroups ==)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ NetworkEndpointGroup

Returns a new instance of NetworkEndpointGroup.



23100
23101
23102
# File 'lib/google/apis/compute_alpha/classes.rb', line 23100

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

Instance Attribute Details

#annotationsHash<String,String>

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

Returns:

  • (Hash<String,String>)


22962
22963
22964
# File 'lib/google/apis/compute_alpha/classes.rb', line 22962

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



22972
22973
22974
# File 'lib/google/apis/compute_alpha/classes.rb', line 22972

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



22980
22981
22982
# File 'lib/google/apis/compute_alpha/classes.rb', line 22980

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



22989
22990
22991
# File 'lib/google/apis/compute_alpha/classes.rb', line 22989

def cloud_run
  @cloud_run
end

#creation_timestampString

[Output Only] Creation timestamp in RFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)


22994
22995
22996
# File 'lib/google/apis/compute_alpha/classes.rb', line 22994

def creation_timestamp
  @creation_timestamp
end

#default_portFixnum

The default port used if the port number is not specified in the network endpoint. Corresponds to the JSON property defaultPort

Returns:

  • (Fixnum)


23000
23001
23002
# File 'lib/google/apis/compute_alpha/classes.rb', line 23000

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)


23006
23007
23008
# File 'lib/google/apis/compute_alpha/classes.rb', line 23006

def description
  @description
end

#idFixnum

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

Returns:

  • (Fixnum)


23012
23013
23014
# File 'lib/google/apis/compute_alpha/classes.rb', line 23012

def id
  @id
end

#kindString

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

Returns:

  • (String)


23018
23019
23020
# File 'lib/google/apis/compute_alpha/classes.rb', line 23018

def kind
  @kind
end

#load_balancerGoogle::Apis::ComputeAlpha::NetworkEndpointGroupLbNetworkEndpointGroup

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



23023
23024
23025
# File 'lib/google/apis/compute_alpha/classes.rb', line 23023

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

Returns:

  • (String)


23033
23034
23035
# File 'lib/google/apis/compute_alpha/classes.rb', line 23033

def name
  @name
end

#networkString

The URL of the network to which all network endpoints in the NEG belong. Uses " default" project network if unspecified. Corresponds to the JSON property network

Returns:

  • (String)


23039
23040
23041
# File 'lib/google/apis/compute_alpha/classes.rb', line 23039

def network
  @network
end

#network_endpoint_typeString

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

Returns:

  • (String)


23046
23047
23048
# File 'lib/google/apis/compute_alpha/classes.rb', line 23046

def network_endpoint_type
  @network_endpoint_type
end

#psc_target_serviceString

The target service url used to set up private service connection to a Google API. An example value is: "asia-northeast3-cloudkms.googleapis.com" Corresponds to the JSON property pscTargetService

Returns:

  • (String)


23052
23053
23054
# File 'lib/google/apis/compute_alpha/classes.rb', line 23052

def psc_target_service
  @psc_target_service
end

#regionString

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

Returns:

  • (String)


23058
23059
23060
# File 'lib/google/apis/compute_alpha/classes.rb', line 23058

def region
  @region
end

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

Returns:

  • (String)


23063
23064
23065
# File 'lib/google/apis/compute_alpha/classes.rb', line 23063

def self_link
  @self_link
end

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

Returns:

  • (String)


23068
23069
23070
# File 'lib/google/apis/compute_alpha/classes.rb', line 23068

def self_link_with_id
  @self_link_with_id
end

#serverless_deploymentGoogle::Apis::ComputeAlpha::NetworkEndpointGroupServerlessDeployment

Configuration for a serverless network endpoint group (NEG). The platform 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



23076
23077
23078
# File 'lib/google/apis/compute_alpha/classes.rb', line 23076

def serverless_deployment
  @serverless_deployment
end

#sizeFixnum

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

Returns:

  • (Fixnum)


23081
23082
23083
# File 'lib/google/apis/compute_alpha/classes.rb', line 23081

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)


23087
23088
23089
# File 'lib/google/apis/compute_alpha/classes.rb', line 23087

def subnetwork
  @subnetwork
end

#typeString

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

Returns:

  • (String)


23093
23094
23095
# File 'lib/google/apis/compute_alpha/classes.rb', line 23093

def type
  @type
end

#zoneString

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

Returns:

  • (String)


23098
23099
23100
# File 'lib/google/apis/compute_alpha/classes.rb', line 23098

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



23105
23106
23107
23108
23109
23110
23111
23112
23113
23114
23115
23116
23117
23118
23119
23120
23121
23122
23123
23124
23125
23126
23127
23128
# File 'lib/google/apis/compute_alpha/classes.rb', line 23105

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_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