EdgeContainerVpnConnection
Property | Value |
---|---|
Google Cloud Service Name | Edge container |
Google Cloud Service Documentation | /distributed-cloud/edge/latest/docs |
Google Cloud REST Resource Name | v1beta1.projects.locations.vpnConnections |
Google Cloud REST Resource Documentation | /distributed-cloud/edge/latest/docs/reference/container/rest/v1/projects.locations.vpnConnections |
Config Connector Resource Short Names | gcpedgecontainervpnconnection gcpedgecontainervpnconnections edgecontainervpnconnection |
Config Connector Service Name | edgecontainer.googleapis.com |
Config Connector Resource Fully Qualified Name | edgecontainervpnconnections.edgecontainer.cnrm.cloud.google.com |
Can Be Referenced by IAMPolicy/IAMPolicyMember | No |
Config Connector Default Average Reconcile Interval In Seconds | 600 |
Custom Resource Definition Properties
Spec
Schema
clusterRef:
external: string
name: string
namespace: string
enableHighAvailability: boolean
location: string
natGatewayIp: string
projectRef:
external: string
name: string
namespace: string
resourceID: string
router: string
vpc: string
vpcProject:
projectId: string
Fields | |
---|---|
Required |
|
Optional |
Allowed value: The `name` field of an `EdgeContainerCluster` resource. |
Optional |
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
Optional |
Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
Optional |
Immutable. Whether this VPN connection has HA enabled on cluster side. If enabled, when creating VPN connection we will attempt to use 2 ANG floating IPs. |
Required |
Immutable. Google Cloud Platform location. |
Optional |
Immutable. NAT gateway IP, or WAN IP address. If a customer has multiple NAT IPs, the customer needs to configure NAT such that only one external IP maps to the GMEC Anthos cluster. This is empty if NAT is not used. |
Required |
The project that this resource belongs to. |
Optional |
Allowed value: The `name` field of a `Project` resource. |
Optional |
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
Optional |
Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
Optional |
Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. |
Optional |
The VPN connection Cloud Router name. |
Optional |
Immutable. The network ID of VPC to connect to. |
Optional |
Project detail of the VPC network. Required if VPC is in a different project than the cluster project. |
Optional |
Immutable. The project of the VPC to connect to. If not specified, it is the same as the cluster project. |
Status
Schema
conditions:
- lastTransitionTime: string
message: string
reason: string
status: string
type: string
createTime: string
details:
- cloudRouter:
- name: string
cloudVpns:
- gateway: string
error: string
state: string
observedGeneration: integer
updateTime: string
Fields | |
---|---|
conditions |
Conditions represent the latest available observation of the resource's current state. |
conditions[] |
|
conditions[].lastTransitionTime |
Last time the condition transitioned from one status to another. |
conditions[].message |
Human-readable message indicating details about last transition. |
conditions[].reason |
Unique, one-word, CamelCase reason for the condition's last transition. |
conditions[].status |
Status is the status of the condition. Can be True, False, Unknown. |
conditions[].type |
Type is the type of the condition. |
createTime |
The time when the VPN connection was created. |
details |
A nested object resource. |
details[] |
|
details[].cloudRouter |
The Cloud Router info. |
details[].cloudRouter[] |
|
details[].cloudRouter[].name |
The associated Cloud Router name. |
details[].cloudVpns |
Each connection has multiple Cloud VPN gateways. |
details[].cloudVpns[] |
|
details[].cloudVpns[].gateway |
The created Cloud VPN gateway name. |
details[].error |
The error message. This is only populated when state=ERROR. |
details[].state |
The current connection state. |
observedGeneration |
ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. |
updateTime |
The time when the VPN connection was last updated. |
Sample YAML(s)
Typical Use Case
# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: edgecontainer.cnrm.cloud.google.com/v1beta1
kind: EdgeContainerVpnConnection
metadata:
name: vpnconnection-sample
spec:
projectRef:
# Replace ${PROJECT_ID?} with your Google Cloud project id
external: ${PROJECT_ID?}
location: us-central1
clusterRef:
name: edgecontainercluster-local-control-plane-dep
enable_high_availability: true
---
apiVersion: edgecontainer.cnrm.cloud.google.com/v1beta1
kind: EdgeContainerCluster
metadata:
name: edgecontainercluster-remote-control-plane-dep
labels:
label-one: "value-one"
spec:
projectRef:
# Replace ${PROJECT_ID?} with your Google Cloud project id
external: ${PROJECT_ID?}
location: us-central1
networking:
clusterIpv4CidrBlocks: ["10.0.0.0/16"]
servicesIpv4CidrBlocks: ["10.1.0.0/16"]
fleet:
projectRef:
# Replace ${PROJECT_NUMBER?} with your Google Cloud project number
external: projects/${PROJECT_NUMBER?}
authorization:
adminUsers:
usernameRef:
# Replace ${CLUSTER_ADMIN_ACCOUNT?} with your user account or service account
external: ${CLUSTER_ADMIN_ACCOUNT?}
maintenancePolicy:
window:
recurringWindow:
window:
startTime: "2023-01-01T08:00:00Z"
endTime: "2023-01-01T17:00:00Z"
recurrence: "FREQ=WEEKLY;BYDAY=SA"