1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 annotations:
5 cnrm.cloud.google.com/version: 0.0.0-dev
6 creationTimestamp: null
7 labels:
8 cnrm.cloud.google.com/managed-by-kcc: "true"
9 cnrm.cloud.google.com/stability-level: stable
10 cnrm.cloud.google.com/system: "true"
11 cnrm.cloud.google.com/tf2crd: "true"
12 name: computeinterconnectattachments.compute.cnrm.cloud.google.com
13spec:
14 group: compute.cnrm.cloud.google.com
15 names:
16 categories:
17 - gcp
18 kind: ComputeInterconnectAttachment
19 plural: computeinterconnectattachments
20 shortNames:
21 - gcpcomputeinterconnectattachment
22 - gcpcomputeinterconnectattachments
23 singular: computeinterconnectattachment
24 preserveUnknownFields: false
25 scope: Namespaced
26 versions:
27 - additionalPrinterColumns:
28 - jsonPath: .metadata.creationTimestamp
29 name: Age
30 type: date
31 - description: When 'True', the most recent reconcile of the resource succeeded
32 jsonPath: .status.conditions[?(@.type=='Ready')].status
33 name: Ready
34 type: string
35 - description: The reason for the value in 'Ready'
36 jsonPath: .status.conditions[?(@.type=='Ready')].reason
37 name: Status
38 type: string
39 - description: The last transition time for the value in 'Status'
40 jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
41 name: Status Age
42 type: date
43 name: v1beta1
44 schema:
45 openAPIV3Schema:
46 properties:
47 apiVersion:
48 description: 'apiVersion defines the versioned schema of this representation
49 of an object. Servers should convert recognized schemas to the latest
50 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
51 type: string
52 kind:
53 description: 'kind is a string value representing the REST resource this
54 object represents. Servers may infer this from the endpoint the client
55 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
56 type: string
57 metadata:
58 type: object
59 spec:
60 properties:
61 adminEnabled:
62 description: |-
63 Whether the VLAN attachment is enabled or disabled. When using
64 PARTNER type this will Pre-Activate the interconnect attachment.
65 type: boolean
66 bandwidth:
67 description: |-
68 Provisioned bandwidth capacity for the interconnect attachment.
69 For attachments of type DEDICATED, the user can set the bandwidth.
70 For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth.
71 Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED,
72 Defaults to BPS_10G Possible values: ["BPS_50M", "BPS_100M", "BPS_200M", "BPS_300M", "BPS_400M", "BPS_500M", "BPS_1G", "BPS_2G", "BPS_5G", "BPS_10G", "BPS_20G", "BPS_50G"].
73 type: string
74 candidateSubnets:
75 description: |-
76 Immutable. Up to 16 candidate prefixes that can be used to restrict the allocation
77 of cloudRouterIpAddress and customerRouterIpAddress for this attachment.
78 All prefixes must be within link-local address space (169.254.0.0/16)
79 and must be /29 or shorter (/28, /27, etc). Google will attempt to select
80 an unused /29 from the supplied candidate prefix(es). The request will
81 fail if all possible /29s are in use on Google's edge. If not supplied,
82 Google will randomly select an unused /29 from all of link-local space.
83 items:
84 type: string
85 type: array
86 description:
87 description: An optional description of this resource.
88 type: string
89 edgeAvailabilityDomain:
90 description: |-
91 Immutable. Desired availability domain for the attachment. Only available for type
92 PARTNER, at creation time. For improved reliability, customers should
93 configure a pair of attachments with one per availability domain. The
94 selected availability domain will be provided to the Partner via the
95 pairing key so that the provisioned circuit will lie in the specified
96 domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
97 type: string
98 encryption:
99 description: |-
100 Immutable. Indicates the user-supplied encryption option of this interconnect
101 attachment. Can only be specified at attachment creation for PARTNER or
102 DEDICATED attachments.
103
104 * NONE - This is the default value, which means that the VLAN attachment
105 carries unencrypted traffic. VMs are able to send traffic to, or receive
106 traffic from, such a VLAN attachment.
107
108 * IPSEC - The VLAN attachment carries only encrypted traffic that is
109 encrypted by an IPsec device, such as an HA VPN gateway or third-party
110 IPsec VPN. VMs cannot directly send traffic to, or receive traffic from,
111 such a VLAN attachment. To use HA VPN over Cloud Interconnect, the VLAN
112 attachment must be created with this option. Default value: "NONE" Possible values: ["NONE", "IPSEC"].
113 type: string
114 interconnect:
115 description: |-
116 Immutable. URL of the underlying Interconnect object that this attachment's
117 traffic will traverse through. Required if type is DEDICATED, must not
118 be set if type is PARTNER.
119 type: string
120 ipsecInternalAddresses:
121 items:
122 description: |-
123 Immutable. The addresses that have been reserved for the
124 interconnect attachment. Used only for interconnect attachment that
125 has the encryption option as IPSEC.
126
127 The addresses must be RFC 1918 IP address ranges. When creating HA
128 VPN gateway over the interconnect attachment, if the attachment is
129 configured to use an RFC 1918 IP address, then the VPN gateway's IP
130 address will be allocated from the IP address range specified
131 here.
132
133 For example, if the HA VPN gateway's interface 0 is paired to this
134 interconnect attachment, then an RFC 1918 IP address for the VPN
135 gateway interface 0 will be allocated from the IP address specified
136 for this interconnect attachment.
137
138 If this field is not specified for interconnect attachment that has
139 encryption option as IPSEC, later on when creating HA VPN gateway on
140 this interconnect attachment, the HA VPN gateway's IP address will
141 be allocated from regional external IP address pool.
142 oneOf:
143 - not:
144 required:
145 - external
146 required:
147 - name
148 - not:
149 anyOf:
150 - required:
151 - name
152 - required:
153 - namespace
154 required:
155 - external
156 properties:
157 external:
158 description: 'Allowed value: The `selfLink` field of a `ComputeAddress`
159 resource.'
160 type: string
161 name:
162 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
163 type: string
164 namespace:
165 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
166 type: string
167 type: object
168 type: array
169 mtu:
170 description: |-
171 Maximum Transmission Unit (MTU), in bytes, of packets passing through
172 this interconnect attachment. Currently, only 1440 and 1500 are allowed. If not specified, the value will default to 1440.
173 type: string
174 region:
175 description: Region where the regional interconnect attachment resides.
176 type: string
177 resourceID:
178 description: Immutable. Optional. The name of the resource. Used for
179 creation and acquisition. When unset, the value of `metadata.name`
180 is used as the default.
181 type: string
182 routerRef:
183 description: |-
184 The Cloud Router to be used for dynamic routing. This router must
185 be in the same region as this ComputeInterconnectAttachment. The
186 ComputeInterconnectAttachment will automatically connect the
187 interconnect to the network & region within which the Cloud Router
188 is configured.
189 oneOf:
190 - not:
191 required:
192 - external
193 required:
194 - name
195 - not:
196 anyOf:
197 - required:
198 - name
199 - required:
200 - namespace
201 required:
202 - external
203 properties:
204 external:
205 description: 'Allowed value: The `selfLink` field of a `ComputeRouter`
206 resource.'
207 type: string
208 name:
209 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
210 type: string
211 namespace:
212 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
213 type: string
214 type: object
215 type:
216 description: |-
217 Immutable. The type of InterconnectAttachment you wish to create. Defaults to
218 DEDICATED. Possible values: ["DEDICATED", "PARTNER", "PARTNER_PROVIDER"].
219 type: string
220 vlanTag8021q:
221 description: |-
222 Immutable. The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. When
223 using PARTNER type this will be managed upstream.
224 type: integer
225 required:
226 - region
227 - routerRef
228 type: object
229 status:
230 properties:
231 cloudRouterIpAddress:
232 description: |-
233 IPv4 address + prefix length to be configured on Cloud Router
234 Interface for this interconnect attachment.
235 type: string
236 conditions:
237 description: Conditions represent the latest available observation
238 of the resource's current state.
239 items:
240 properties:
241 lastTransitionTime:
242 description: Last time the condition transitioned from one status
243 to another.
244 type: string
245 message:
246 description: Human-readable message indicating details about
247 last transition.
248 type: string
249 reason:
250 description: Unique, one-word, CamelCase reason for the condition's
251 last transition.
252 type: string
253 status:
254 description: Status is the status of the condition. Can be True,
255 False, Unknown.
256 type: string
257 type:
258 description: Type is the type of the condition.
259 type: string
260 type: object
261 type: array
262 creationTimestamp:
263 description: Creation timestamp in RFC3339 text format.
264 type: string
265 customerRouterIpAddress:
266 description: |-
267 IPv4 address + prefix length to be configured on the customer
268 router subinterface for this interconnect attachment.
269 type: string
270 googleReferenceId:
271 description: |-
272 Google reference ID, to be used when raising support tickets with
273 Google or otherwise to debug backend connectivity issues.
274 type: string
275 observedGeneration:
276 description: ObservedGeneration is the generation of the resource
277 that was most recently observed by the Config Connector controller.
278 If this is equal to metadata.generation, then that means that the
279 current reported status reflects the most recent desired state of
280 the resource.
281 type: integer
282 pairingKey:
283 description: |-
284 [Output only for type PARTNER. Not present for DEDICATED]. The opaque
285 identifier of an PARTNER attachment used to initiate provisioning with
286 a selected partner. Of the form "XXXXX/region/domain".
287 type: string
288 partnerAsn:
289 description: |-
290 [Output only for type PARTNER. Not present for DEDICATED]. Optional
291 BGP ASN for the router that should be supplied by a layer 3 Partner if
292 they configured BGP on behalf of the customer.
293 type: string
294 privateInterconnectInfo:
295 description: |-
296 Information specific to an InterconnectAttachment. This property
297 is populated if the interconnect that this is attached to is of type DEDICATED.
298 properties:
299 tag8021q:
300 description: |-
301 802.1q encapsulation tag to be used for traffic between
302 Google and the customer, going to and from this network and region.
303 type: integer
304 type: object
305 selfLink:
306 type: string
307 state:
308 description: '[Output Only] The current state of this attachment''s
309 functionality.'
310 type: string
311 type: object
312 required:
313 - spec
314 type: object
315 served: true
316 storage: true
317 subresources:
318 status: {}
319status:
320 acceptedNames:
321 kind: ""
322 plural: ""
323 conditions: []
324 storedVersions: []
View as plain text