...
1# Copyright 2020 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15apiVersion: apiextensions.k8s.io/v1
16kind: CustomResourceDefinition
17metadata:
18 annotations:
19 cnrm.cloud.google.com/version: 1.106.0
20 creationTimestamp: null
21 labels:
22 cnrm.cloud.google.com/managed-by-kcc: "true"
23 cnrm.cloud.google.com/stability-level: stable
24 cnrm.cloud.google.com/system: "true"
25 cnrm.cloud.google.com/tf2crd: "true"
26 name: computevpntunnels.compute.cnrm.cloud.google.com
27spec:
28 group: compute.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: ComputeVPNTunnel
33 plural: computevpntunnels
34 shortNames:
35 - gcpcomputevpntunnel
36 - gcpcomputevpntunnels
37 singular: computevpntunnel
38 scope: Namespaced
39 versions:
40 - additionalPrinterColumns:
41 - jsonPath: .metadata.creationTimestamp
42 name: Age
43 type: date
44 - description: When 'True', the most recent reconcile of the resource succeeded
45 jsonPath: .status.conditions[?(@.type=='Ready')].status
46 name: Ready
47 type: string
48 - description: The reason for the value in 'Ready'
49 jsonPath: .status.conditions[?(@.type=='Ready')].reason
50 name: Status
51 type: string
52 - description: The last transition time for the value in 'Status'
53 jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
54 name: Status Age
55 type: date
56 name: v1beta1
57 schema:
58 openAPIV3Schema:
59 properties:
60 apiVersion:
61 description: 'apiVersion defines the versioned schema of this representation
62 of an object. Servers should convert recognized schemas to the latest
63 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
64 type: string
65 kind:
66 description: 'kind is a string value representing the REST resource this
67 object represents. Servers may infer this from the endpoint the client
68 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
69 type: string
70 metadata:
71 type: object
72 spec:
73 properties:
74 description:
75 description: Immutable. An optional description of this resource.
76 type: string
77 ikeVersion:
78 description: |-
79 Immutable. IKE protocol version to use when establishing the VPN tunnel with
80 peer VPN gateway.
81 Acceptable IKE versions are 1 or 2. Default version is 2.
82 type: integer
83 localTrafficSelector:
84 description: |-
85 Immutable. Local traffic selector to use when establishing the VPN tunnel with
86 peer VPN gateway. The value should be a CIDR formatted string,
87 for example '192.168.0.0/16'. The ranges should be disjoint.
88 Only IPv4 is supported.
89 items:
90 type: string
91 type: array
92 peerExternalGatewayInterface:
93 description: Immutable. The interface ID of the external VPN gateway
94 to which this VPN tunnel is connected.
95 type: integer
96 peerExternalGatewayRef:
97 description: |-
98 The peer side external VPN gateway to which this VPN tunnel
99 is connected.
100 oneOf:
101 - not:
102 required:
103 - external
104 required:
105 - name
106 - not:
107 anyOf:
108 - required:
109 - name
110 - required:
111 - namespace
112 required:
113 - external
114 properties:
115 external:
116 description: 'Allowed value: The `selfLink` field of a `ComputeExternalVPNGateway`
117 resource.'
118 type: string
119 name:
120 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
121 type: string
122 namespace:
123 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
124 type: string
125 type: object
126 peerGCPGatewayRef:
127 description: |-
128 The peer side HA GCP VPN gateway to which this VPN tunnel is
129 connected. If provided, the VPN tunnel will automatically use the
130 same VPN gateway interface ID in the peer GCP VPN gateway.
131 oneOf:
132 - not:
133 required:
134 - external
135 required:
136 - name
137 - not:
138 anyOf:
139 - required:
140 - name
141 - required:
142 - namespace
143 required:
144 - external
145 properties:
146 external:
147 description: 'Allowed value: The `selfLink` field of a `ComputeVPNGateway`
148 resource.'
149 type: string
150 name:
151 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
152 type: string
153 namespace:
154 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
155 type: string
156 type: object
157 peerIp:
158 description: Immutable. IP address of the peer VPN gateway. Only IPv4
159 is supported.
160 type: string
161 region:
162 description: Immutable. The region where the tunnel is located. If
163 unset, is set to the region of 'target_vpn_gateway'.
164 type: string
165 remoteTrafficSelector:
166 description: |-
167 Immutable. Remote traffic selector to use when establishing the VPN tunnel with
168 peer VPN gateway. The value should be a CIDR formatted string,
169 for example '192.168.0.0/16'. The ranges should be disjoint.
170 Only IPv4 is supported.
171 items:
172 type: string
173 type: array
174 resourceID:
175 description: Immutable. Optional. The name of the resource. Used for
176 creation and acquisition. When unset, the value of `metadata.name`
177 is used as the default.
178 type: string
179 routerRef:
180 description: The router to be used for dynamic routing.
181 oneOf:
182 - not:
183 required:
184 - external
185 required:
186 - name
187 - not:
188 anyOf:
189 - required:
190 - name
191 - required:
192 - namespace
193 required:
194 - external
195 properties:
196 external:
197 description: 'Allowed value: The `selfLink` field of a `ComputeRouter`
198 resource.'
199 type: string
200 name:
201 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
202 type: string
203 namespace:
204 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
205 type: string
206 type: object
207 sharedSecret:
208 description: |-
209 Immutable. Shared secret used to set the secure session between the Cloud VPN
210 gateway and the peer VPN gateway.
211 oneOf:
212 - not:
213 required:
214 - valueFrom
215 required:
216 - value
217 - not:
218 required:
219 - value
220 required:
221 - valueFrom
222 properties:
223 value:
224 description: Value of the field. Cannot be used if 'valueFrom'
225 is specified.
226 type: string
227 valueFrom:
228 description: Source for the field's value. Cannot be used if 'value'
229 is specified.
230 properties:
231 secretKeyRef:
232 description: Reference to a value with the given key in the
233 given Secret in the resource's namespace.
234 properties:
235 key:
236 description: Key that identifies the value to be extracted.
237 type: string
238 name:
239 description: Name of the Secret to extract a value from.
240 type: string
241 required:
242 - name
243 - key
244 type: object
245 type: object
246 type: object
247 targetVPNGatewayRef:
248 description: |-
249 The ComputeTargetVPNGateway with which this VPN tunnel is
250 associated.
251 oneOf:
252 - not:
253 required:
254 - external
255 required:
256 - name
257 - not:
258 anyOf:
259 - required:
260 - name
261 - required:
262 - namespace
263 required:
264 - external
265 properties:
266 external:
267 description: 'Allowed value: The `selfLink` field of a `ComputeTargetVPNGateway`
268 resource.'
269 type: string
270 name:
271 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
272 type: string
273 namespace:
274 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
275 type: string
276 type: object
277 vpnGatewayInterface:
278 description: Immutable. The interface ID of the VPN gateway with which
279 this VPN tunnel is associated.
280 type: integer
281 vpnGatewayRef:
282 description: |-
283 The ComputeVPNGateway with which this VPN tunnel is associated.
284 This must be used if a High Availability VPN gateway resource is
285 created.
286 oneOf:
287 - not:
288 required:
289 - external
290 required:
291 - name
292 - not:
293 anyOf:
294 - required:
295 - name
296 - required:
297 - namespace
298 required:
299 - external
300 properties:
301 external:
302 description: 'Allowed value: The `selfLink` field of a `ComputeVPNGateway`
303 resource.'
304 type: string
305 name:
306 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
307 type: string
308 namespace:
309 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
310 type: string
311 type: object
312 required:
313 - region
314 - sharedSecret
315 type: object
316 status:
317 properties:
318 conditions:
319 description: Conditions represent the latest available observation
320 of the resource's current state.
321 items:
322 properties:
323 lastTransitionTime:
324 description: Last time the condition transitioned from one status
325 to another.
326 type: string
327 message:
328 description: Human-readable message indicating details about
329 last transition.
330 type: string
331 reason:
332 description: Unique, one-word, CamelCase reason for the condition's
333 last transition.
334 type: string
335 status:
336 description: Status is the status of the condition. Can be True,
337 False, Unknown.
338 type: string
339 type:
340 description: Type is the type of the condition.
341 type: string
342 type: object
343 type: array
344 creationTimestamp:
345 description: Creation timestamp in RFC3339 text format.
346 type: string
347 detailedStatus:
348 description: Detailed status message for the VPN tunnel.
349 type: string
350 labelFingerprint:
351 description: |-
352 The fingerprint used for optimistic locking of this resource. Used
353 internally during updates.
354 type: string
355 observedGeneration:
356 description: ObservedGeneration is the generation of the resource
357 that was most recently observed by the Config Connector controller.
358 If this is equal to metadata.generation, then that means that the
359 current reported status reflects the most recent desired state of
360 the resource.
361 type: integer
362 selfLink:
363 type: string
364 sharedSecretHash:
365 description: Hash of the shared secret.
366 type: string
367 tunnelId:
368 description: The unique identifier for the resource. This identifier
369 is defined by the server.
370 type: string
371 type: object
372 required:
373 - spec
374 type: object
375 served: true
376 storage: true
377 subresources:
378 status: {}
379status:
380 acceptedNames:
381 kind: ""
382 plural: ""
383 conditions: []
384 storedVersions: []
View as plain text