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, see Network endpoint groups overview.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ NetworkEndpointGroup

Returns a new instance of NetworkEndpointGroup.



28388
28389
28390
# File 'lib/google/apis/compute_alpha/classes.rb', line 28388

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


28241
28242
28243
# File 'lib/google/apis/compute_alpha/classes.rb', line 28241

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



28250
28251
28252
# File 'lib/google/apis/compute_alpha/classes.rb', line 28250

def app_engine
  @app_engine
end

#client_port_mapping_modeString

Only valid when networkEndpointType is GCE_VM_IP_PORT and the NEG is regional. Corresponds to the JSON property clientPortMappingMode

Returns:

  • (String)


28255
28256
28257
# File 'lib/google/apis/compute_alpha/classes.rb', line 28255

def client_port_mapping_mode
  @client_port_mapping_mode
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



28262
28263
28264
# File 'lib/google/apis/compute_alpha/classes.rb', line 28262

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



28270
28271
28272
# File 'lib/google/apis/compute_alpha/classes.rb', line 28270

def cloud_run
  @cloud_run
end

#creation_timestampString

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

Returns:

  • (String)


28275
28276
28277
# File 'lib/google/apis/compute_alpha/classes.rb', line 28275

def creation_timestamp
  @creation_timestamp
end

#default_portFixnum

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

Returns:

  • (Fixnum)


28282
28283
28284
# File 'lib/google/apis/compute_alpha/classes.rb', line 28282

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)


28288
28289
28290
# File 'lib/google/apis/compute_alpha/classes.rb', line 28288

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)


28294
28295
28296
# File 'lib/google/apis/compute_alpha/classes.rb', line 28294

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)


28300
28301
28302
# File 'lib/google/apis/compute_alpha/classes.rb', line 28300

def kind
  @kind
end

#load_balancerGoogle::Apis::ComputeAlpha::NetworkEndpointGroupLbNetworkEndpointGroup

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



28305
28306
28307
# File 'lib/google/apis/compute_alpha/classes.rb', line 28305

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)


28315
28316
28317
# File 'lib/google/apis/compute_alpha/classes.rb', line 28315

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)


28321
28322
28323
# File 'lib/google/apis/compute_alpha/classes.rb', line 28321

def network
  @network
end

#network_endpoint_typeString

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

Returns:

  • (String)


28328
28329
28330
# File 'lib/google/apis/compute_alpha/classes.rb', line 28328

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



28334
28335
28336
# File 'lib/google/apis/compute_alpha/classes.rb', line 28334

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

Returns:

  • (String)


28341
28342
28343
# File 'lib/google/apis/compute_alpha/classes.rb', line 28341

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)


28347
28348
28349
# File 'lib/google/apis/compute_alpha/classes.rb', line 28347

def region
  @region
end

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

Returns:

  • (String)


28352
28353
28354
# File 'lib/google/apis/compute_alpha/classes.rb', line 28352

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)


28357
28358
28359
# File 'lib/google/apis/compute_alpha/classes.rb', line 28357

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



28364
28365
28366
# File 'lib/google/apis/compute_alpha/classes.rb', line 28364

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)


28369
28370
28371
# File 'lib/google/apis/compute_alpha/classes.rb', line 28369

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)


28375
28376
28377
# File 'lib/google/apis/compute_alpha/classes.rb', line 28375

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)


28381
28382
28383
# File 'lib/google/apis/compute_alpha/classes.rb', line 28381

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)


28386
28387
28388
# File 'lib/google/apis/compute_alpha/classes.rb', line 28386

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



28393
28394
28395
28396
28397
28398
28399
28400
28401
28402
28403
28404
28405
28406
28407
28408
28409
28410
28411
28412
28413
28414
28415
28416
28417
28418
# File 'lib/google/apis/compute_alpha/classes.rb', line 28393

def update!(**args)
  @annotations = args[:annotations] if args.key?(:annotations)
  @app_engine = args[:app_engine] if args.key?(:app_engine)
  @client_port_mapping_mode = args[:client_port_mapping_mode] if args.key?(:client_port_mapping_mode)
  @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