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.



1106
1107
1108
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1106

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


978
979
980
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 978

def addresses
  @addresses
end

#all_portsBoolean Also known as: all_ports?

Optional. If true, the Gateway will listen on all ports. This is mutually exclusive with the ports field. This field only applies to gateways of type ' SECURE_WEB_GATEWAY'. Corresponds to the JSON property allPorts

Returns:

  • (Boolean)


985
986
987
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 985

def all_ports
  @all_ports
end

#allow_global_accessBoolean Also known as: allow_global_access?

Optional. If true, the gateway will allow traffic from clients outside of the region where the gateway is located. This field is configurable only for gateways of type SECURE_WEB_GATEWAY. Corresponds to the JSON property allowGlobalAccess

Returns:

  • (Boolean)


993
994
995
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 993

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


1001
1002
1003
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1001

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)


1006
1007
1008
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1006

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)


1011
1012
1013
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1011

def description
  @description
end

#envoy_headersString

Optional. Determines if envoy will insert internal debug headers into upstream requests. Other Envoy headers may still be injected. By default, envoy will not insert any debug headers. Corresponds to the JSON property envoyHeaders

Returns:

  • (String)


1018
1019
1020
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1018

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


1026
1027
1028
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1026

def gateway_security_policy
  @gateway_security_policy
end

#ip_versionString

Optional. The IP Version that will be used by this gateway. Valid options are IPV4 or IPV6. Default is IPV4. Corresponds to the JSON property ipVersion

Returns:

  • (String)


1032
1033
1034
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1032

def ip_version
  @ip_version
end

#labelsHash<String,String>

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

Returns:

  • (Hash<String,String>)


1037
1038
1039
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1037

def labels
  @labels
end

#nameString

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

Returns:

  • (String)


1043
1044
1045
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1043

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)


1050
1051
1052
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1050

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 5 ports. 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>)


1058
1059
1060
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1058

def ports
  @ports
end

#routing_modeString

Optional. The routing mode of the Gateway. This field is configurable only for gateways of type SECURE_WEB_GATEWAY. This field is required for gateways of type SECURE_WEB_GATEWAY. Corresponds to the JSON property routingMode

Returns:

  • (String)


1065
1066
1067
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1065

def routing_mode
  @routing_mode
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 configuration 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)


1074
1075
1076
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1074

def scope
  @scope
end

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

Returns:

  • (String)


1079
1080
1081
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1079

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)


1085
1086
1087
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1085

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)


1093
1094
1095
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1093

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)


1099
1100
1101
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1099

def type
  @type
end

#update_timeString

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

Returns:

  • (String)


1104
1105
1106
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1104

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1111

def update!(**args)
  @addresses = args[:addresses] if args.key?(:addresses)
  @all_ports = args[:all_ports] if args.key?(:all_ports)
  @allow_global_access = args[:allow_global_access] if args.key?(:allow_global_access)
  @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)
  @envoy_headers = args[:envoy_headers] if args.key?(:envoy_headers)
  @gateway_security_policy = args[:gateway_security_policy] if args.key?(:gateway_security_policy)
  @ip_version = args[:ip_version] if args.key?(:ip_version)
  @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)
  @routing_mode = args[:routing_mode] if args.key?(:routing_mode)
  @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