gateways
Creates, updates, deletes, gets or lists a gateways resource.
Overview
| Name | gateways |
| Type | Resource |
| Id | google.networkservices.gateways |
Fields
The following fields are returned by SELECT queries:
- get
- list
| Name | Datatype | Description |
|---|---|---|
name | string | Identifier. Name of the Gateway resource. It matches pattern projects/*/locations/*/gateways/. |
addresses | array | 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. |
allPorts | boolean | 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'. |
allowGlobalAccess | boolean | 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. |
certificateUrls | array | 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'. |
createTime | string (google-datetime) | Output only. The timestamp when the resource was created. |
description | string | Optional. A free-text description of the resource. Max length 1024 characters. |
envoyHeaders | 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. (ENVOY_HEADERS_UNSPECIFIED, NONE, DEBUG_HEADERS) |
gatewaySecurityPolicy | 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'. |
ipVersion | string | Optional. The IP Version that will be used by this gateway. Valid options are IPV4 or IPV6. Default is IPV4. (IP_VERSION_UNSPECIFIED, IPV4, IPV6) |
labels | object | Optional. Set of label tags associated with the Gateway resource. |
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'. |
ports | array | 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. |
routingMode | 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. (EXPLICIT_ROUTING_MODE, NEXT_HOP_ROUTING_MODE) |
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. |
selfLink | string | Output only. Server-defined URL of this resource |
serverTlsPolicy | string | Optional. A fully-qualified ServerTLSPolicy URL reference. Specifies how TLS traffic is terminated. If empty, TLS termination is disabled. |
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". |
type | string | Immutable. The type of the customer managed gateway. This field is required. If unspecified, an error is returned. (TYPE_UNSPECIFIED, OPEN_MESH, SECURE_WEB_GATEWAY) |
updateTime | string (google-datetime) | Output only. The timestamp when the resource was updated. |
| Name | Datatype | Description |
|---|---|---|
name | string | Identifier. Name of the Gateway resource. It matches pattern projects/*/locations/*/gateways/. |
addresses | array | 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. |
allPorts | boolean | 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'. |
allowGlobalAccess | boolean | 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. |
certificateUrls | array | 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'. |
createTime | string (google-datetime) | Output only. The timestamp when the resource was created. |
description | string | Optional. A free-text description of the resource. Max length 1024 characters. |
envoyHeaders | 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. (ENVOY_HEADERS_UNSPECIFIED, NONE, DEBUG_HEADERS) |
gatewaySecurityPolicy | 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'. |
ipVersion | string | Optional. The IP Version that will be used by this gateway. Valid options are IPV4 or IPV6. Default is IPV4. (IP_VERSION_UNSPECIFIED, IPV4, IPV6) |
labels | object | Optional. Set of label tags associated with the Gateway resource. |
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'. |
ports | array | 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. |
routingMode | 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. (EXPLICIT_ROUTING_MODE, NEXT_HOP_ROUTING_MODE) |
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. |
selfLink | string | Output only. Server-defined URL of this resource |
serverTlsPolicy | string | Optional. A fully-qualified ServerTLSPolicy URL reference. Specifies how TLS traffic is terminated. If empty, TLS termination is disabled. |
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". |
type | string | Immutable. The type of the customer managed gateway. This field is required. If unspecified, an error is returned. (TYPE_UNSPECIFIED, OPEN_MESH, SECURE_WEB_GATEWAY) |
updateTime | string (google-datetime) | Output only. The timestamp when the resource was updated. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | projectsId, locationsId, gatewaysId | Gets details of a single Gateway. | |
list | select | projectsId, locationsId | pageSize, pageToken | Lists Gateways in a given project and location. |
create | insert | projectsId, locationsId | gatewayId | Creates a new Gateway in a given project and location. |
patch | update | projectsId, locationsId, gatewaysId | updateMask | Updates the parameters of a single Gateway. |
delete | delete | projectsId, locationsId, gatewaysId | Deletes a single Gateway. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
gatewaysId | string | |
locationsId | string | |
projectsId | string | |
gatewayId | string | |
pageSize | integer (int32) | |
pageToken | string | |
updateMask | string (google-fieldmask) |
SELECT examples
- get
- list
Gets details of a single Gateway.
SELECT
name,
addresses,
allPorts,
allowGlobalAccess,
certificateUrls,
createTime,
description,
envoyHeaders,
gatewaySecurityPolicy,
ipVersion,
labels,
network,
ports,
routingMode,
scope,
selfLink,
serverTlsPolicy,
subnetwork,
type,
updateTime
FROM google.networkservices.gateways
WHERE projectsId = '{{ projectsId }}' -- required
AND locationsId = '{{ locationsId }}' -- required
AND gatewaysId = '{{ gatewaysId }}' -- required
;
Lists Gateways in a given project and location.
SELECT
name,
addresses,
allPorts,
allowGlobalAccess,
certificateUrls,
createTime,
description,
envoyHeaders,
gatewaySecurityPolicy,
ipVersion,
labels,
network,
ports,
routingMode,
scope,
selfLink,
serverTlsPolicy,
subnetwork,
type,
updateTime
FROM google.networkservices.gateways
WHERE projectsId = '{{ projectsId }}' -- required
AND locationsId = '{{ locationsId }}' -- required
AND pageSize = '{{ pageSize }}'
AND pageToken = '{{ pageToken }}'
;
INSERT examples
- create
- Manifest
Creates a new Gateway in a given project and location.
INSERT INTO google.networkservices.gateways (
data__name,
data__labels,
data__description,
data__type,
data__addresses,
data__ports,
data__allPorts,
data__scope,
data__serverTlsPolicy,
data__certificateUrls,
data__gatewaySecurityPolicy,
data__network,
data__subnetwork,
data__ipVersion,
data__envoyHeaders,
data__routingMode,
data__allowGlobalAccess,
projectsId,
locationsId,
gatewayId
)
SELECT
'{{ name }}',
'{{ labels }}',
'{{ description }}',
'{{ type }}',
'{{ addresses }}',
'{{ ports }}',
{{ allPorts }},
'{{ scope }}',
'{{ serverTlsPolicy }}',
'{{ certificateUrls }}',
'{{ gatewaySecurityPolicy }}',
'{{ network }}',
'{{ subnetwork }}',
'{{ ipVersion }}',
'{{ envoyHeaders }}',
'{{ routingMode }}',
{{ allowGlobalAccess }},
'{{ projectsId }}',
'{{ locationsId }}',
'{{ gatewayId }}'
RETURNING
name,
done,
error,
metadata,
response
;
# Description fields are for documentation purposes
- name: gateways
props:
- name: projectsId
value: "{{ projectsId }}"
description: Required parameter for the gateways resource.
- name: locationsId
value: "{{ locationsId }}"
description: Required parameter for the gateways resource.
- name: name
value: "{{ name }}"
description: |
Identifier. Name of the Gateway resource. It matches pattern `projects/*/locations/*/gateways/`.
- name: labels
value: "{{ labels }}"
description: |
Optional. Set of label tags associated with the Gateway resource.
- name: description
value: "{{ description }}"
description: |
Optional. A free-text description of the resource. Max length 1024 characters.
- name: type
value: "{{ type }}"
description: |
Immutable. The type of the customer managed gateway. This field is required. If unspecified, an error is returned.
valid_values: ['TYPE_UNSPECIFIED', 'OPEN_MESH', 'SECURE_WEB_GATEWAY']
- name: addresses
value:
- "{{ addresses }}"
description: |
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.
- name: ports
value:
- {{ ports }}
description: |
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.
- name: allPorts
value: {{ allPorts }}
description: |
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'.
- name: scope
value: "{{ scope }}"
description: |
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.
- name: serverTlsPolicy
value: "{{ serverTlsPolicy }}"
description: |
Optional. A fully-qualified ServerTLSPolicy URL reference. Specifies how TLS traffic is terminated. If empty, TLS termination is disabled.
- name: certificateUrls
value:
- "{{ certificateUrls }}"
description: |
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'.
- name: gatewaySecurityPolicy
value: "{{ gatewaySecurityPolicy }}"
description: |
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'.
- name: network
value: "{{ network }}"
description: |
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'.
- name: subnetwork
value: "{{ subnetwork }}"
description: |
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".
- name: ipVersion
value: "{{ ipVersion }}"
description: |
Optional. The IP Version that will be used by this gateway. Valid options are IPV4 or IPV6. Default is IPV4.
valid_values: ['IP_VERSION_UNSPECIFIED', 'IPV4', 'IPV6']
- name: envoyHeaders
value: "{{ envoyHeaders }}"
description: |
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.
valid_values: ['ENVOY_HEADERS_UNSPECIFIED', 'NONE', 'DEBUG_HEADERS']
- name: routingMode
value: "{{ routingMode }}"
description: |
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.
valid_values: ['EXPLICIT_ROUTING_MODE', 'NEXT_HOP_ROUTING_MODE']
- name: allowGlobalAccess
value: {{ allowGlobalAccess }}
description: |
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.
- name: gatewayId
value: "{{ gatewayId }}"
UPDATE examples
- patch
Updates the parameters of a single Gateway.
UPDATE google.networkservices.gateways
SET
data__name = '{{ name }}',
data__labels = '{{ labels }}',
data__description = '{{ description }}',
data__type = '{{ type }}',
data__addresses = '{{ addresses }}',
data__ports = '{{ ports }}',
data__allPorts = {{ allPorts }},
data__scope = '{{ scope }}',
data__serverTlsPolicy = '{{ serverTlsPolicy }}',
data__certificateUrls = '{{ certificateUrls }}',
data__gatewaySecurityPolicy = '{{ gatewaySecurityPolicy }}',
data__network = '{{ network }}',
data__subnetwork = '{{ subnetwork }}',
data__ipVersion = '{{ ipVersion }}',
data__envoyHeaders = '{{ envoyHeaders }}',
data__routingMode = '{{ routingMode }}',
data__allowGlobalAccess = {{ allowGlobalAccess }}
WHERE
projectsId = '{{ projectsId }}' --required
AND locationsId = '{{ locationsId }}' --required
AND gatewaysId = '{{ gatewaysId }}' --required
AND updateMask = '{{ updateMask}}'
RETURNING
name,
done,
error,
metadata,
response;
DELETE examples
- delete
Deletes a single Gateway.
DELETE FROM google.networkservices.gateways
WHERE projectsId = '{{ projectsId }}' --required
AND locationsId = '{{ locationsId }}' --required
AND gatewaysId = '{{ gatewaysId }}' --required
;