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

clusterRef

Required

object

clusterRef.external

Optional

string

Allowed value: The `name` field of an `EdgeContainerCluster` resource.

clusterRef.name

Optional

string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

clusterRef.namespace

Optional

string

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

enableHighAvailability

Optional

boolean

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.

location

Required

string

Immutable. Google Cloud Platform location.

natGatewayIp

Optional

string

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.

projectRef

Required

object

The project that this resource belongs to.

projectRef.external

Optional

string

Allowed value: The `name` field of a `Project` resource.

projectRef.name

Optional

string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

projectRef.namespace

Optional

string

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceID

Optional

string

Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.

router

Optional

string

The VPN connection Cloud Router name.

vpc

Optional

string

Immutable. The network ID of VPC to connect to.

vpcProject

Optional

object

Project detail of the VPC network. Required if VPC is in a different project than the cluster project.

vpcProject.projectId

Optional

string

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

list (object)

Conditions represent the latest available observation of the resource's current state.

conditions[]

object

conditions[].lastTransitionTime

string

Last time the condition transitioned from one status to another.

conditions[].message

string

Human-readable message indicating details about last transition.

conditions[].reason

string

Unique, one-word, CamelCase reason for the condition's last transition.

conditions[].status

string

Status is the status of the condition. Can be True, False, Unknown.

conditions[].type

string

Type is the type of the condition.

createTime

string

The time when the VPN connection was created.

details

list (object)

A nested object resource.

details[]

object

details[].cloudRouter

list (object)

The Cloud Router info.

details[].cloudRouter[]

object

details[].cloudRouter[].name

string

The associated Cloud Router name.

details[].cloudVpns

list (object)

Each connection has multiple Cloud VPN gateways.

details[].cloudVpns[]

object

details[].cloudVpns[].gateway

string

The created Cloud VPN gateway name.

details[].error

string

The error message. This is only populated when state=ERROR.

details[].state

string

The current connection state.

observedGeneration

integer

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

string

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"