Class: Google::Apis::NetworkservicesV1beta1::Gateway
- Inherits:
-
Object
- Object
- Google::Apis::NetworkservicesV1beta1::Gateway
- 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
-
#addresses ⇒ Array<String>
Optional.
-
#all_ports ⇒ Boolean
(also: #all_ports?)
Optional.
-
#allow_global_access ⇒ Boolean
(also: #allow_global_access?)
Optional.
-
#certificate_urls ⇒ Array<String>
Optional.
-
#create_time ⇒ String
Output only.
-
#description ⇒ String
Optional.
-
#envoy_headers ⇒ String
Optional.
-
#gateway_security_policy ⇒ String
Optional.
-
#ip_version ⇒ String
Optional.
-
#labels ⇒ Hash<String,String>
Optional.
-
#name ⇒ String
Identifier.
-
#network ⇒ String
Optional.
-
#ports ⇒ Array<Fixnum>
Required.
-
#routing_mode ⇒ String
Optional.
-
#scope ⇒ String
Optional.
-
#self_link ⇒ String
Output only.
-
#server_tls_policy ⇒ String
Optional.
-
#subnetwork ⇒ String
Optional.
-
#type ⇒ String
Immutable.
-
#update_time ⇒ String
Output only.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Gateway
constructor
A new instance of Gateway.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Gateway
Returns a new instance of Gateway.
1465 1466 1467 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1465 def initialize(**args) update!(**args) end |
Instance Attribute Details
#addresses ⇒ Array<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
1337 1338 1339 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1337 def addresses @addresses end |
#all_ports ⇒ Boolean 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
1344 1345 1346 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1344 def all_ports @all_ports end |
#allow_global_access ⇒ Boolean 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
1352 1353 1354 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1352 def allow_global_access @allow_global_access end |
#certificate_urls ⇒ Array<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
1360 1361 1362 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1360 def certificate_urls @certificate_urls end |
#create_time ⇒ String
Output only. The timestamp when the resource was created.
Corresponds to the JSON property createTime
1365 1366 1367 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1365 def create_time @create_time end |
#description ⇒ String
Optional. A free-text description of the resource. Max length 1024 characters.
Corresponds to the JSON property description
1370 1371 1372 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1370 def description @description end |
#envoy_headers ⇒ String
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
1377 1378 1379 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1377 def envoy_headers @envoy_headers end |
#gateway_security_policy ⇒ String
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
1385 1386 1387 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1385 def gateway_security_policy @gateway_security_policy end |
#ip_version ⇒ String
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
1391 1392 1393 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1391 def ip_version @ip_version end |
#labels ⇒ Hash<String,String>
Optional. Set of label tags associated with the Gateway resource.
Corresponds to the JSON property labels
1396 1397 1398 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1396 def labels @labels end |
#name ⇒ String
Identifier. Name of the Gateway resource. It matches pattern projects/*/
locations/*/gateways/.
Corresponds to the JSON property name
1402 1403 1404 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1402 def name @name end |
#network ⇒ String
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
1409 1410 1411 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1409 def network @network end |
#ports ⇒ Array<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
1417 1418 1419 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1417 def ports @ports end |
#routing_mode ⇒ String
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
1424 1425 1426 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1424 def routing_mode @routing_mode end |
#scope ⇒ String
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
1433 1434 1435 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1433 def scope @scope end |
#self_link ⇒ String
Output only. Server-defined URL of this resource
Corresponds to the JSON property selfLink
1438 1439 1440 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1438 def self_link @self_link end |
#server_tls_policy ⇒ String
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
1444 1445 1446 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1444 def server_tls_policy @server_tls_policy end |
#subnetwork ⇒ String
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
1452 1453 1454 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1452 def subnetwork @subnetwork end |
#type ⇒ String
Immutable. The type of the customer managed gateway. This field is required.
If unspecified, an error is returned.
Corresponds to the JSON property type
1458 1459 1460 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1458 def type @type end |
#update_time ⇒ String
Output only. The timestamp when the resource was updated.
Corresponds to the JSON property updateTime
1463 1464 1465 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1463 def update_time @update_time end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1470 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 |