external_vpn_gateways
Creates, updates, deletes, gets or lists an external_vpn_gateways resource.
Overview
| Name | external_vpn_gateways |
| Type | Resource |
| Id | google.compute.external_vpn_gateways |
Fields
The following fields are returned by SELECT queries:
- get
- list
| Name | Datatype | Description |
|---|---|---|
id | string (uint64) | Output only. [Output Only] The unique identifier for the resource. This identifier is defined by the server. |
name | string | Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply withRFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. (pattern: [a-z](?:[-a-z0-9]{0,61}[a-z0-9])?) |
creationTimestamp | string | Output only. [Output Only] Creation timestamp inRFC3339 text format. |
description | string | An optional description of this resource. Provide this property when you create the resource. |
interfaces | array | A list of interfaces for this external VPN gateway. If your peer-side gateway is an on-premises gateway and non-AWS cloud providers' gateway, at most two interfaces can be provided for an external VPN gateway. If your peer side is an AWS virtual private gateway, four interfaces should be provided for an external VPN gateway. |
kind | string | Output only. [Output Only] Type of the resource. Alwayscompute#externalVpnGateway for externalVpnGateways. (default: compute#externalVpnGateway) |
labelFingerprint | string (byte) | A fingerprint for the labels being applied to this ExternalVpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an ExternalVpnGateway. |
labels | object | Labels for this resource. These can only be added or modified by thesetLabels method. Each label key/value pair must comply withRFC1035. Label values may be empty. |
params | object | Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. (id: ExternalVpnGatewayParams) |
redundancyType | string | Indicates the user-supplied redundancy type of this external VPN gateway. (FOUR_IPS_REDUNDANCY, SINGLE_IP_INTERNALLY_REDUNDANT, TWO_IPS_REDUNDANCY) |
selfLink | string | Output only. [Output Only] Server-defined URL for the resource. |
| Name | Datatype | Description |
|---|---|---|
id | string | [Output Only] Unique identifier for the resource; defined by the server. |
etag | string | |
items | array | A list of ExternalVpnGateway resources. |
kind | string | Output only. [Output Only] Type of resource. Always compute#externalVpnGatewayList for lists of externalVpnGateways. (default: compute#externalVpnGatewayList) |
nextPageToken | string | [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. |
selfLink | string | Output only. [Output Only] Server-defined URL for this resource. |
warning | object | [Output Only] Informational warning message. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | project, externalVpnGateway | Returns the specified externalVpnGateway. Get a list of available externalVpnGateways by making a list() request. | |
list | select | project | returnPartialSuccess, orderBy, maxResults, pageToken, filter | Retrieves the list of ExternalVpnGateway available to the specified project. |
insert | insert | project | requestId | Creates a ExternalVpnGateway in the specified project using the data included in the request. |
delete | delete | project, externalVpnGateway | requestId | Deletes the specified externalVpnGateway. |
set_labels | exec | project, resource | Sets the labels on an ExternalVpnGateway. To learn more about labels, read the Labeling Resources documentation. |
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 |
|---|---|---|
externalVpnGateway | string | |
project | string | |
resource | string | |
filter | string | |
maxResults | integer (uint32) | |
orderBy | string | |
pageToken | string | |
requestId | string | |
returnPartialSuccess | boolean |
SELECT examples
- get
- list
Returns the specified externalVpnGateway. Get a list of available
externalVpnGateways by making a list() request.
SELECT
id,
name,
creationTimestamp,
description,
interfaces,
kind,
labelFingerprint,
labels,
params,
redundancyType,
selfLink
FROM google.compute.external_vpn_gateways
WHERE project = '{{ project }}' -- required
AND externalVpnGateway = '{{ externalVpnGateway }}' -- required
;
Retrieves the list of ExternalVpnGateway available to the specified
project.
SELECT
id,
etag,
items,
kind,
nextPageToken,
selfLink,
warning
FROM google.compute.external_vpn_gateways
WHERE project = '{{ project }}' -- required
AND returnPartialSuccess = '{{ returnPartialSuccess }}'
AND orderBy = '{{ orderBy }}'
AND maxResults = '{{ maxResults }}'
AND pageToken = '{{ pageToken }}'
AND filter = '{{ filter }}'
;
INSERT examples
- insert
- Manifest
Creates a ExternalVpnGateway in the specified project using
the data included in the request.
INSERT INTO google.compute.external_vpn_gateways (
data__name,
data__interfaces,
data__params,
data__labelFingerprint,
data__labels,
data__description,
data__redundancyType,
project,
requestId
)
SELECT
'{{ name }}',
'{{ interfaces }}',
'{{ params }}',
'{{ labelFingerprint }}',
'{{ labels }}',
'{{ description }}',
'{{ redundancyType }}',
'{{ project }}',
'{{ requestId }}'
RETURNING
id,
name,
clientOperationId,
creationTimestamp,
description,
endTime,
error,
getVersionOperationMetadata,
httpErrorMessage,
httpErrorStatusCode,
insertTime,
instancesBulkInsertOperationMetadata,
kind,
operationGroupId,
operationType,
progress,
region,
selfLink,
setCommonInstanceMetadataOperationMetadata,
startTime,
status,
statusMessage,
targetId,
targetLink,
user,
warnings,
zone
;
# Description fields are for documentation purposes
- name: external_vpn_gateways
props:
- name: project
value: "{{ project }}"
description: Required parameter for the external_vpn_gateways resource.
- name: name
value: "{{ name }}"
description: |
Name of the resource. Provided by the client when the resource is created.
The name must be 1-63 characters long, and comply withRFC1035.
Specifically, the name must be 1-63 characters long and match the regular
expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
character must be a lowercase letter, and all following characters must be
a dash, lowercase letter, or digit, except the last character, which cannot
be a dash.
- name: interfaces
description: |
A list of interfaces for this external VPN gateway.
If your peer-side gateway is an on-premises gateway and non-AWS cloud
providers' gateway, at most two interfaces can be provided for an external
VPN gateway. If your peer side is an AWS virtual private gateway, four
interfaces should be provided for an external VPN gateway.
value:
- id: {{ id }}
ipAddress: "{{ ipAddress }}"
ipv6Address: "{{ ipv6Address }}"
- name: params
description: |
Input only. [Input Only] Additional params passed with the request, but not persisted
as part of resource payload.
value:
resourceManagerTags: "{{ resourceManagerTags }}"
- name: labelFingerprint
value: "{{ labelFingerprint }}"
description: |
A fingerprint for the labels being applied to this ExternalVpnGateway,
which is essentially a hash of the labels set used for optimistic locking.
The fingerprint is initially generated by Compute Engine and changes after
every request to modify or update labels. You must always provide an
up-to-date fingerprint hash in order to update or change labels,
otherwise the request will fail with error412 conditionNotMet.
To see the latest fingerprint, make a get() request to
retrieve an ExternalVpnGateway.
- name: labels
value: "{{ labels }}"
description: |
Labels for this resource. These can only be added or modified by thesetLabels method. Each label key/value pair must comply withRFC1035.
Label values may be empty.
- name: description
value: "{{ description }}"
description: |
An optional description of this resource. Provide this property when you
create the resource.
- name: redundancyType
value: "{{ redundancyType }}"
description: |
Indicates the user-supplied redundancy type of this external VPN gateway.
valid_values: ['FOUR_IPS_REDUNDANCY', 'SINGLE_IP_INTERNALLY_REDUNDANT', 'TWO_IPS_REDUNDANCY']
- name: requestId
value: "{{ requestId }}"
DELETE examples
- delete
Deletes the specified externalVpnGateway.
DELETE FROM google.compute.external_vpn_gateways
WHERE project = '{{ project }}' --required
AND externalVpnGateway = '{{ externalVpnGateway }}' --required
AND requestId = '{{ requestId }}'
;
Lifecycle Methods
- set_labels
Sets the labels on an ExternalVpnGateway. To learn more about labels,
read the Labeling
Resources documentation.
EXEC google.compute.external_vpn_gateways.set_labels
@project='{{ project }}' --required,
@resource='{{ resource }}' --required
@@json=
'{
"labels": "{{ labels }}",
"labelFingerprint": "{{ labelFingerprint }}"
}'
;