Class: Google::Apis::NetworkservicesV1beta1::Gateway

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/networkservices_v1beta1/classes.rb,
lib/google/apis/networkservices_v1beta1/representations.rb,
lib/google/apis/networkservices_v1beta1/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.



611
612
613
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 611

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

Instance Attribute Details

#addressesArray<String>

Optional. Zero or one IPv4 or IPv6 address on which the Gateway will receive the traffic. When no address is provided, an IP from the subnetwork is allocated This field only applies to gateways of type 'SECURE_WEB_GATEWAY'. Gateways of type 'OPEN_MESH' listen on 0.0.0.0 for IPv4 and :: for IPv6. Corresponds to the JSON property addresses

Returns:

  • (Array<String>)


519
520
521
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 519

def addresses
  @addresses
end

#certificate_urlsArray<String>

Optional. A fully-qualified Certificates URL reference. The proxy presents a Certificate (selected based on SNI) when establishing a TLS connection. This feature only applies to gateways of type 'SECURE_WEB_GATEWAY'. Corresponds to the JSON property certificateUrls

Returns:

  • (Array<String>)


526
527
528
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 526

def certificate_urls
  @certificate_urls
end

#create_timeString

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

Returns:

  • (String)


531
532
533
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 531

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)


536
537
538
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 536

def description
  @description
end

#gateway_security_policyString

Optional. A fully-qualified GatewaySecurityPolicy URL reference. Defines how a server should apply security policy to inbound (VM to Proxy) initiated connections. For example: projects/*/locations/*/gatewaySecurityPolicies/swg- policy. This policy is specific to gateways of type 'SECURE_WEB_GATEWAY'. Corresponds to the JSON property gatewaySecurityPolicy

Returns:

  • (String)


544
545
546
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 544

def gateway_security_policy
  @gateway_security_policy
end

#labelsHash<String,String>

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

Returns:

  • (Hash<String,String>)


549
550
551
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 549

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)


555
556
557
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 555

def name
  @name
end

#networkString

Optional. The relative resource name identifying the VPC network that is using this configuration. For example: projects/*/global/networks/network-1. Currently, this field is specific to gateways of type 'SECURE_WEB_GATEWAY'. Corresponds to the JSON property network

Returns:

  • (String)


562
563
564
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 562

def network
  @network
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 for IPv4 and :: for IPv6 and support multiple ports. Corresponds to the JSON property ports

Returns:

  • (Array<Fixnum>)


570
571
572
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 570

def ports
  @ports
end

#scopeString

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


579
580
581
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 579

def scope
  @scope
end

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

Returns:

  • (String)


584
585
586
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 584

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)


590
591
592
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 590

def server_tls_policy
  @server_tls_policy
end

#subnetworkString

Optional. The relative resource name identifying the subnetwork in which this SWG is allocated. For example: projects/*/regions/us-central1/subnetworks/ network-1 Currently, this field is specific to gateways of type ' SECURE_WEB_GATEWAY". Corresponds to the JSON property subnetwork

Returns:

  • (String)


598
599
600
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 598

def subnetwork
  @subnetwork
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)


604
605
606
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 604

def type
  @type
end

#update_timeString

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

Returns:

  • (String)


609
610
611
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 609

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 616

def update!(**args)
  @addresses = args[:addresses] if args.key?(:addresses)
  @certificate_urls = args[:certificate_urls] if args.key?(:certificate_urls)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @gateway_security_policy = args[:gateway_security_policy] if args.key?(:gateway_security_policy)
  @labels = args[:labels] if args.key?(:labels)
  @name = args[:name] if args.key?(:name)
  @network = args[:network] if args.key?(:network)
  @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)
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
  @type = args[:type] if args.key?(:type)
  @update_time = args[:update_time] if args.key?(:update_time)
end