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. Next id: 29
Instance Attribute Summary collapse
-
#addresses ⇒ Array<String>
Optional.
-
#certificate_urls ⇒ Array<String>
Optional.
-
#create_time ⇒ String
Output only.
-
#description ⇒ String
Optional.
-
#gateway_security_policy ⇒ String
Optional.
-
#ip_version ⇒ String
Optional.
-
#labels ⇒ Hash<String,String>
Optional.
-
#name ⇒ String
Required.
-
#network ⇒ String
Optional.
-
#ports ⇒ Array<Fixnum>
Required.
-
#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.
623 624 625 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 623 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
525 526 527 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 525 def addresses @addresses 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
532 533 534 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 532 def certificate_urls @certificate_urls end |
#create_time ⇒ String
Output only. The timestamp when the resource was created.
Corresponds to the JSON property createTime
537 538 539 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 537 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
542 543 544 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 542 def description @description 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
550 551 552 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 550 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
556 557 558 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 556 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
561 562 563 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 561 def labels @labels end |
#name ⇒ String
Required. Name of the Gateway resource. It matches pattern projects/*/
locations/*/gateways/.
Corresponds to the JSON property name
567 568 569 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 567 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
574 575 576 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 574 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 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
582 583 584 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 582 def ports @ports 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 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
591 592 593 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 591 def scope @scope end |
#self_link ⇒ String
Output only. Server-defined URL of this resource
Corresponds to the JSON property selfLink
596 597 598 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 596 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
602 603 604 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 602 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
610 611 612 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 610 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
616 617 618 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 616 def type @type end |
#update_time ⇒ String
Output only. The timestamp when the resource was updated.
Corresponds to the JSON property updateTime
621 622 623 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 621 def update_time @update_time end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 628 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) @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) @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 |