...
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: computerouterpeers.compute.cnrm.cloud.google.com
27spec:
28 group: compute.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: ComputeRouterPeer
33 plural: computerouterpeers
34 shortNames:
35 - gcpcomputerouterpeer
36 - gcpcomputerouterpeers
37 singular: computerouterpeer
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 advertiseMode:
75 description: |-
76 User-specified flag to indicate which mode to use for advertisement.
77 Valid values of this enum field are: 'DEFAULT', 'CUSTOM' Default value: "DEFAULT" Possible values: ["DEFAULT", "CUSTOM"].
78 type: string
79 advertisedGroups:
80 description: |-
81 User-specified list of prefix groups to advertise in custom
82 mode, which can take one of the following options:
83
84 * 'ALL_SUBNETS': Advertises all available subnets, including peer VPC subnets.
85 * 'ALL_VPC_SUBNETS': Advertises the router's own VPC subnets.
86 * 'ALL_PEER_VPC_SUBNETS': Advertises peer subnets of the router's VPC network.
87
88
89 Note that this field can only be populated if advertiseMode is 'CUSTOM'
90 and overrides the list defined for the router (in the "bgp" message).
91 These groups are advertised in addition to any specified prefixes.
92 Leave this field blank to advertise no custom groups.
93 items:
94 type: string
95 type: array
96 advertisedIpRanges:
97 description: |-
98 User-specified list of individual IP ranges to advertise in
99 custom mode. This field can only be populated if advertiseMode
100 is 'CUSTOM' and is advertised to all peers of the router. These IP
101 ranges will be advertised in addition to any specified groups.
102 Leave this field blank to advertise no custom IP ranges.
103 items:
104 properties:
105 description:
106 description: User-specified description for the IP range.
107 type: string
108 range:
109 description: |-
110 The IP range to advertise. The value must be a
111 CIDR-formatted string.
112 type: string
113 required:
114 - range
115 type: object
116 type: array
117 advertisedRoutePriority:
118 description: |-
119 The priority of routes advertised to this BGP peer.
120 Where there is more than one matching route of maximum
121 length, the routes with the lowest priority value win.
122 type: integer
123 bfd:
124 description: BFD configuration for the BGP peering.
125 properties:
126 minReceiveInterval:
127 description: |-
128 The minimum interval, in milliseconds, between BFD control packets
129 received from the peer router. The actual value is negotiated
130 between the two routers and is equal to the greater of this value
131 and the transmit interval of the other router. If set, this value
132 must be between 1000 and 30000.
133 type: integer
134 minTransmitInterval:
135 description: |-
136 The minimum interval, in milliseconds, between BFD control packets
137 transmitted to the peer router. The actual value is negotiated
138 between the two routers and is equal to the greater of this value
139 and the corresponding receive interval of the other router. If set,
140 this value must be between 1000 and 30000.
141 type: integer
142 multiplier:
143 description: |-
144 The number of consecutive BFD packets that must be missed before
145 BFD declares that a peer is unavailable. If set, the value must
146 be a value between 5 and 16.
147 type: integer
148 sessionInitializationMode:
149 description: |-
150 The BFD session initialization mode for this BGP peer.
151 If set to 'ACTIVE', the Cloud Router will initiate the BFD session
152 for this BGP peer. If set to 'PASSIVE', the Cloud Router will wait
153 for the peer router to initiate the BFD session for this BGP peer.
154 If set to 'DISABLED', BFD is disabled for this BGP peer. Possible values: ["ACTIVE", "DISABLED", "PASSIVE"].
155 type: string
156 required:
157 - sessionInitializationMode
158 type: object
159 enable:
160 description: |-
161 The status of the BGP peer connection. If set to false, any active session
162 with the peer is terminated and all associated routing information is removed.
163 If set to true, the peer connection can be established with routing information.
164 The default is true.
165 type: boolean
166 enableIpv6:
167 description: Enable IPv6 traffic over BGP Peer. If not specified,
168 it is disabled by default.
169 type: boolean
170 ipAddress:
171 description: |-
172 IP address of the interface inside Google Cloud Platform.
173 Only IPv4 is supported.
174 properties:
175 external:
176 type: string
177 type: object
178 ipv6NexthopAddress:
179 description: |-
180 IPv6 address of the interface inside Google Cloud Platform.
181 The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64.
182 If you do not specify the next hop addresses, Google Cloud automatically
183 assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you.
184 type: string
185 peerAsn:
186 description: |-
187 Peer BGP Autonomous System Number (ASN).
188 Each BGP interface may use a different value.
189 type: integer
190 peerIpAddress:
191 description: |-
192 IP address of the BGP interface outside Google Cloud Platform.
193 Only IPv4 is supported.
194 type: string
195 peerIpv6NexthopAddress:
196 description: |-
197 IPv6 address of the BGP interface outside Google Cloud Platform.
198 The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64.
199 If you do not specify the next hop addresses, Google Cloud automatically
200 assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you.
201 type: string
202 region:
203 description: |-
204 Immutable. Region where the router and BgpPeer reside.
205 If it is not provided, the provider region is used.
206 type: string
207 resourceID:
208 description: Immutable. Optional. The name of the resource. Used for
209 creation and acquisition. When unset, the value of `metadata.name`
210 is used as the default.
211 type: string
212 routerApplianceInstanceRef:
213 description: |-
214 The URI of the VM instance that is used as third-party router
215 appliances such as Next Gen Firewalls, Virtual Routers, or Router
216 Appliances. The VM instance must be located in zones contained in
217 the same region as this Cloud Router. The VM instance is the peer
218 side of the BGP session.
219 oneOf:
220 - not:
221 required:
222 - external
223 required:
224 - name
225 - not:
226 anyOf:
227 - required:
228 - name
229 - required:
230 - namespace
231 required:
232 - external
233 properties:
234 external:
235 description: 'Allowed value: The `selfLink` field of a `ComputeInstance`
236 resource.'
237 type: string
238 name:
239 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
240 type: string
241 namespace:
242 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
243 type: string
244 type: object
245 routerInterfaceRef:
246 description: The interface the BGP peer is associated with.
247 oneOf:
248 - not:
249 required:
250 - external
251 required:
252 - name
253 - not:
254 anyOf:
255 - required:
256 - name
257 - required:
258 - namespace
259 required:
260 - external
261 properties:
262 external:
263 description: 'Allowed value: The `name` field of a `ComputeRouterInterface`
264 resource.'
265 type: string
266 name:
267 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
268 type: string
269 namespace:
270 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
271 type: string
272 type: object
273 routerRef:
274 description: The Cloud Router in which this BGP peer will be configured.
275 oneOf:
276 - not:
277 required:
278 - external
279 required:
280 - name
281 - not:
282 anyOf:
283 - required:
284 - name
285 - required:
286 - namespace
287 required:
288 - external
289 properties:
290 external:
291 description: 'Allowed value: The `name` field of a `ComputeRouter`
292 resource.'
293 type: string
294 name:
295 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
296 type: string
297 namespace:
298 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
299 type: string
300 type: object
301 required:
302 - peerAsn
303 - peerIpAddress
304 - region
305 - routerInterfaceRef
306 - routerRef
307 type: object
308 status:
309 properties:
310 conditions:
311 description: Conditions represent the latest available observation
312 of the resource's current state.
313 items:
314 properties:
315 lastTransitionTime:
316 description: Last time the condition transitioned from one status
317 to another.
318 type: string
319 message:
320 description: Human-readable message indicating details about
321 last transition.
322 type: string
323 reason:
324 description: Unique, one-word, CamelCase reason for the condition's
325 last transition.
326 type: string
327 status:
328 description: Status is the status of the condition. Can be True,
329 False, Unknown.
330 type: string
331 type:
332 description: Type is the type of the condition.
333 type: string
334 type: object
335 type: array
336 managementType:
337 description: |-
338 The resource that configures and manages this BGP peer.
339
340 * 'MANAGED_BY_USER' is the default value and can be managed by
341 you or other users
342 * 'MANAGED_BY_ATTACHMENT' is a BGP peer that is configured and
343 managed by Cloud Interconnect, specifically by an
344 InterconnectAttachment of type PARTNER. Google automatically
345 creates, updates, and deletes this type of BGP peer when the
346 PARTNER InterconnectAttachment is created, updated,
347 or deleted.
348 type: string
349 observedGeneration:
350 description: ObservedGeneration is the generation of the resource
351 that was most recently observed by the Config Connector controller.
352 If this is equal to metadata.generation, then that means that the
353 current reported status reflects the most recent desired state of
354 the resource.
355 type: integer
356 type: object
357 required:
358 - spec
359 type: object
360 served: true
361 storage: true
362 subresources:
363 status: {}
364status:
365 acceptedNames:
366 kind: ""
367 plural: ""
368 conditions: []
369 storedVersions: []
View as plain text