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.



22136
22137
22138
# File 'lib/google/apis/compute_alpha/classes.rb', line 22136

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


21998
21999
22000
# File 'lib/google/apis/compute_alpha/classes.rb', line 21998

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



22008
22009
22010
# File 'lib/google/apis/compute_alpha/classes.rb', line 22008

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



22016
22017
22018
# File 'lib/google/apis/compute_alpha/classes.rb', line 22016

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



22025
22026
22027
# File 'lib/google/apis/compute_alpha/classes.rb', line 22025

def cloud_run
  @cloud_run
end

#creation_timestampString

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

Returns:

  • (String)


22030
22031
22032
# File 'lib/google/apis/compute_alpha/classes.rb', line 22030

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)


22036
22037
22038
# File 'lib/google/apis/compute_alpha/classes.rb', line 22036

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)


22042
22043
22044
# File 'lib/google/apis/compute_alpha/classes.rb', line 22042

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)


22048
22049
22050
# File 'lib/google/apis/compute_alpha/classes.rb', line 22048

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)


22054
22055
22056
# File 'lib/google/apis/compute_alpha/classes.rb', line 22054

def kind
  @kind
end

#load_balancerGoogle::Apis::ComputeAlpha::NetworkEndpointGroupLbNetworkEndpointGroup

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



22059
22060
22061
# File 'lib/google/apis/compute_alpha/classes.rb', line 22059

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)


22069
22070
22071
# File 'lib/google/apis/compute_alpha/classes.rb', line 22069

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)


22075
22076
22077
# File 'lib/google/apis/compute_alpha/classes.rb', line 22075

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)


22082
22083
22084
# File 'lib/google/apis/compute_alpha/classes.rb', line 22082

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)


22088
22089
22090
# File 'lib/google/apis/compute_alpha/classes.rb', line 22088

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)


22094
22095
22096
# File 'lib/google/apis/compute_alpha/classes.rb', line 22094

def region
  @region
end

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

Returns:

  • (String)


22099
22100
22101
# File 'lib/google/apis/compute_alpha/classes.rb', line 22099

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)


22104
22105
22106
# File 'lib/google/apis/compute_alpha/classes.rb', line 22104

def self_link_with_id
  @self_link_with_id
end

#serverless_deploymentGoogle::Apis::ComputeAlpha::NetworkEndpointGroupServerlessDeployment

Configuration for a Serverless Deployment 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



22112
22113
22114
# File 'lib/google/apis/compute_alpha/classes.rb', line 22112

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)


22117
22118
22119
# File 'lib/google/apis/compute_alpha/classes.rb', line 22117

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)


22123
22124
22125
# File 'lib/google/apis/compute_alpha/classes.rb', line 22123

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)


22129
22130
22131
# File 'lib/google/apis/compute_alpha/classes.rb', line 22129

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)


22134
22135
22136
# File 'lib/google/apis/compute_alpha/classes.rb', line 22134

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



22141
22142
22143
22144
22145
22146
22147
22148
22149
22150
22151
22152
22153
22154
22155
22156
22157
22158
22159
22160
22161
22162
22163
22164
# File 'lib/google/apis/compute_alpha/classes.rb', line 22141

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