...
Text file
src/edge-infra.dev/test/fixtures/crds/gcp/compute.cnrm.cloud.google.com_computepacketmirrorings.yaml
1---
2apiVersion: apiextensions.k8s.io/v1
3kind: CustomResourceDefinition
4metadata:
5 annotations:
6 controller-gen.kubebuilder.io/version: (unknown)
7 name: computepacketmirrorings.compute.cnrm.cloud.google.com
8spec:
9 group: compute.cnrm.cloud.google.com
10 names:
11 kind: ComputePacketMirroring
12 listKind: ComputePacketMirroringList
13 plural: computepacketmirrorings
14 singular: computepacketmirroring
15 scope: Namespaced
16 versions:
17 - name: v1beta1
18 schema:
19 openAPIV3Schema:
20 description: ComputePacketMirroring is the Schema for the compute API
21 properties:
22 apiVersion:
23 description: |-
24 APIVersion defines the versioned schema of this representation of an object.
25 Servers should convert recognized schemas to the latest internal value, and
26 may reject unrecognized values.
27 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
28 type: string
29 kind:
30 description: |-
31 Kind is a string value representing the REST resource this object represents.
32 Servers may infer this from the endpoint the client submits requests to.
33 Cannot be updated.
34 In CamelCase.
35 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
36 type: string
37 metadata:
38 type: object
39 spec:
40 properties:
41 collectorIlb:
42 description: The Forwarding Rule resource of type `loadBalancingScheme=INTERNAL`
43 that will be used as collector for mirrored traffic. The specified
44 forwarding rule must have `isMirroringCollector` set to true.
45 properties:
46 urlRef:
47 properties:
48 external:
49 description: The external name of the referenced resource
50 type: string
51 kind:
52 description: Kind of the referent.
53 type: string
54 name:
55 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
56 type: string
57 namespace:
58 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
59 type: string
60 type: object
61 required:
62 - urlRef
63 type: object
64 description:
65 description: An optional description of this resource. Provide this
66 property when you create the resource.
67 type: string
68 enable:
69 description: Indicates whether or not this packet mirroring takes
70 effect. If set to FALSE, this packet mirroring policy will not be
71 enforced on the network. The default is TRUE.
72 type: string
73 filter:
74 description: Filter for mirrored traffic. If unspecified, all traffic
75 is mirrored.
76 properties:
77 cidrRanges:
78 description: IP CIDR ranges that apply as filter on the source
79 (ingress) or destination (egress) IP in the IP header. Only
80 IPv4 is supported. If no ranges are specified, all traffic that
81 matches the specified IPProtocols is mirrored. If neither cidrRanges
82 nor IPProtocols is specified, all traffic is mirrored.
83 items:
84 type: string
85 type: array
86 direction:
87 description: Direction of traffic to mirror, either INGRESS, EGRESS,
88 or BOTH. The default is BOTH.
89 type: string
90 ipProtocols:
91 description: Protocols that apply as filter on mirrored traffic.
92 If no protocols are specified, all traffic that matches the
93 specified CIDR ranges is mirrored. If neither cidrRanges nor
94 IPProtocols is specified, all traffic is mirrored.
95 items:
96 type: string
97 type: array
98 type: object
99 location:
100 description: Immutable. The location for the resource
101 type: string
102 mirroredResources:
103 description: PacketMirroring mirroredResourceInfos. MirroredResourceInfo
104 specifies a set of mirrored VM instances, subnetworks and/or tags
105 for which traffic from/to all VM instances will be mirrored.
106 properties:
107 instances:
108 description: A set of virtual machine instances that are being
109 mirrored. They must live in zones contained in the same region
110 as this packetMirroring. Note that this config will apply only
111 to those network interfaces of the Instances that belong to
112 the network specified in this packetMirroring. You may specify
113 a maximum of 50 Instances.
114 items:
115 properties:
116 canonicalUrl:
117 description: Immutable. Output only. Unique identifier for
118 the instance; defined by the server.
119 type: string
120 urlRef:
121 properties:
122 external:
123 description: The external name of the referenced resource
124 type: string
125 kind:
126 description: Kind of the referent.
127 type: string
128 name:
129 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
130 type: string
131 namespace:
132 description: 'Namespace of the referent. More info:
133 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
134 type: string
135 type: object
136 type: object
137 type: array
138 subnetworks:
139 description: Immutable. A set of subnetworks for which traffic
140 from/to all VM instances will be mirrored. They must live in
141 the same region as this packetMirroring. You may specify a maximum
142 of 5 subnetworks.
143 items:
144 properties:
145 canonicalUrl:
146 description: Immutable. Output only. Unique identifier for
147 the subnetwork; defined by the server.
148 type: string
149 urlRef:
150 description: Immutable.
151 properties:
152 external:
153 description: The external name of the referenced resource
154 type: string
155 kind:
156 description: Kind of the referent.
157 type: string
158 name:
159 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
160 type: string
161 namespace:
162 description: 'Namespace of the referent. More info:
163 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
164 type: string
165 type: object
166 type: object
167 type: array
168 tags:
169 description: A set of mirrored tags. Traffic from/to all VM instances
170 that have one or more of these tags will be mirrored.
171 items:
172 type: string
173 type: array
174 type: object
175 network:
176 description: Immutable. Specifies the mirrored VPC network. Only packets
177 in this network will be mirrored. All mirrored VMs should have a
178 NIC in the given network. All mirrored subnetworks should belong
179 to the given network.
180 properties:
181 urlRef:
182 description: Immutable.
183 properties:
184 external:
185 description: The external name of the referenced resource
186 type: string
187 kind:
188 description: Kind of the referent.
189 type: string
190 name:
191 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
192 type: string
193 namespace:
194 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
195 type: string
196 type: object
197 required:
198 - urlRef
199 type: object
200 priority:
201 description: The priority of applying this configuration. Priority
202 is used to break ties in cases where there is more than one matching
203 rule. In the case of two rules that apply for a given Instance,
204 the one with the lowest-numbered priority value wins. Default value
205 is 1000. Valid range is 0 through 65535.
206 type: integer
207 projectRef:
208 description: Immutable. The Project that this resource belongs to.
209 properties:
210 external:
211 description: The external name of the referenced resource
212 type: string
213 kind:
214 description: Kind of the referent.
215 type: string
216 name:
217 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
218 type: string
219 namespace:
220 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
221 type: string
222 type: object
223 resourceID:
224 description: Immutable. Optional. The name of the resource. Used for
225 creation and acquisition. When unset, the value of `metadata.name`
226 is used as the default.
227 type: string
228 required:
229 - collectorIlb
230 - location
231 - mirroredResources
232 - network
233 - projectRef
234 type: object
235 status:
236 properties:
237 collectorIlb:
238 properties:
239 canonicalUrl:
240 description: Output only. Unique identifier for the forwarding
241 rule; defined by the server.
242 type: string
243 type: object
244 conditions:
245 description: |-
246 Conditions represent the latest available observations of the
247 ComputePacketMirroring's current state.
248 items:
249 properties:
250 lastTransitionTime:
251 description: Last time the condition transitioned from one status
252 to another.
253 type: string
254 message:
255 description: Human-readable message indicating details about
256 last transition.
257 type: string
258 reason:
259 description: |-
260 Unique, one-word, CamelCase reason for the condition's last
261 transition.
262 type: string
263 status:
264 description: Status is the status of the condition. Can be True,
265 False, Unknown.
266 type: string
267 type:
268 description: Type is the type of the condition.
269 type: string
270 type: object
271 type: array
272 id:
273 description: Output only. The unique identifier for the resource.
274 This identifier is defined by the server.
275 type: integer
276 network:
277 properties:
278 canonicalUrl:
279 description: Output only. Unique identifier for the network; defined
280 by the server.
281 type: string
282 type: object
283 observedGeneration:
284 description: ObservedGeneration is the generation of the resource
285 that was most recently observed by the Config Connector controller.
286 If this is equal to metadata.generation, then that means that the
287 current reported status reflects the most recent desired state of
288 the resource.
289 type: integer
290 region:
291 description: URI of the region where the packetMirroring resides.
292 type: string
293 selfLink:
294 description: Server-defined URL for the resource.
295 type: string
296 type: object
297 type: object
298 served: true
299 storage: true
View as plain text