Class: Google::Apis::NetworkservicesV1::Gateway

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

Overview

Gateway represents the configuration for a proxy, typically a load balancer. It captures the ip:port over which the services are exposed by the proxy, along with any policy configurations. Routes have reference to to Gateways to dictate how requests should be routed by this Gateway.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Gateway

Returns a new instance of Gateway.



504
505
506
# File 'lib/google/apis/networkservices_v1/classes.rb', line 504

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

Instance Attribute Details

#create_timeString

Output only. The timestamp when the resource was created. Corresponds to the JSON property createTime

Returns:

  • (String)


447
448
449
# File 'lib/google/apis/networkservices_v1/classes.rb', line 447

def create_time
  @create_time
end

#descriptionString

Optional. A free-text description of the resource. Max length 1024 characters. Corresponds to the JSON property description

Returns:

  • (String)


452
453
454
# File 'lib/google/apis/networkservices_v1/classes.rb', line 452

def description
  @description
end

#labelsHash<String,String>

Optional. Set of label tags associated with the Gateway resource. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


457
458
459
# File 'lib/google/apis/networkservices_v1/classes.rb', line 457

def labels
  @labels
end

#nameString

Required. Name of the Gateway resource. It matches pattern projects/*/ locations/*/gateways/. Corresponds to the JSON property name

Returns:

  • (String)


463
464
465
# File 'lib/google/apis/networkservices_v1/classes.rb', line 463

def name
  @name
end

#portsArray<Fixnum>

Required. One or more port numbers (1-65535), on which the Gateway will receive traffic. The proxy binds to the specified ports. Gateways of type ' SECURE_WEB_GATEWAY' are limited to 1 port. Gateways of type 'OPEN_MESH' listen on 0.0.0.0 and support multiple ports. Corresponds to the JSON property ports

Returns:

  • (Array<Fixnum>)


471
472
473
# File 'lib/google/apis/networkservices_v1/classes.rb', line 471

def ports
  @ports
end

#scopeString

Required. Immutable. Scope determines how configuration across multiple Gateway instances are merged. The configuration for multiple Gateway instances with the same scope will be merged as presented as a single coniguration to the proxy/load balancer. Max length 64 characters. Scope should start with a letter and can only have letters, numbers, hyphens. Corresponds to the JSON property scope

Returns:

  • (String)


480
481
482
# File 'lib/google/apis/networkservices_v1/classes.rb', line 480

def scope
  @scope
end

Output only. Server-defined URL of this resource Corresponds to the JSON property selfLink

Returns:

  • (String)


485
486
487
# File 'lib/google/apis/networkservices_v1/classes.rb', line 485

def self_link
  @self_link
end

#server_tls_policyString

Optional. A fully-qualified ServerTLSPolicy URL reference. Specifies how TLS traffic is terminated. If empty, TLS termination is disabled. Corresponds to the JSON property serverTlsPolicy

Returns:

  • (String)


491
492
493
# File 'lib/google/apis/networkservices_v1/classes.rb', line 491

def server_tls_policy
  @server_tls_policy
end

#typeString

Immutable. The type of the customer managed gateway. This field is required. If unspecified, an error is returned. Corresponds to the JSON property type

Returns:

  • (String)


497
498
499
# File 'lib/google/apis/networkservices_v1/classes.rb', line 497

def type
  @type
end

#update_timeString

Output only. The timestamp when the resource was updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


502
503
504
# File 'lib/google/apis/networkservices_v1/classes.rb', line 502

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



509
510
511
512
513
514
515
516
517
518
519
520
# File 'lib/google/apis/networkservices_v1/classes.rb', line 509

def update!(**args)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @labels = args[:labels] if args.key?(:labels)
  @name = args[:name] if args.key?(:name)
  @ports = args[:ports] if args.key?(:ports)
  @scope = args[:scope] if args.key?(:scope)
  @self_link = args[:self_link] if args.key?(:self_link)
  @server_tls_policy = args[:server_tls_policy] if args.key?(:server_tls_policy)
  @type = args[:type] if args.key?(:type)
  @update_time = args[:update_time] if args.key?(:update_time)
end