...
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: alpha
24 cnrm.cloud.google.com/system: "true"
25 cnrm.cloud.google.com/tf2crd: "true"
26 name: networkmanagementconnectivitytests.networkmanagement.cnrm.cloud.google.com
27spec:
28 group: networkmanagement.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: NetworkManagementConnectivityTest
33 plural: networkmanagementconnectivitytests
34 shortNames:
35 - gcpnetworkmanagementconnectivitytest
36 - gcpnetworkmanagementconnectivitytests
37 singular: networkmanagementconnectivitytest
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: v1alpha1
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: |-
76 The user-supplied description of the Connectivity Test.
77 Maximum of 512 characters.
78 type: string
79 destination:
80 description: |-
81 Required. Destination specification of the Connectivity Test.
82
83 You can use a combination of destination IP address, Compute
84 Engine VM instance, or VPC network to uniquely identify the
85 destination location.
86
87 Even if the destination IP address is not unique, the source IP
88 location is unique. Usually, the analysis can infer the destination
89 endpoint from route information.
90
91 If the destination you specify is a VM instance and the instance has
92 multiple network interfaces, then you must also specify either a
93 destination IP address or VPC network to identify the destination
94 interface.
95
96 A reachability analysis proceeds even if the destination location
97 is ambiguous. However, the result can include endpoints that you
98 don't intend to test.
99 properties:
100 instance:
101 description: A Compute Engine instance URI.
102 type: string
103 ipAddress:
104 description: |-
105 The IP address of the endpoint, which can be an external or
106 internal IP. An IPv6 address is only allowed when the test's
107 destination is a global load balancer VIP.
108 type: string
109 network:
110 description: A Compute Engine network URI.
111 type: string
112 port:
113 description: |-
114 The IP protocol port of the endpoint. Only applicable when
115 protocol is TCP or UDP.
116 type: integer
117 projectId:
118 description: |-
119 Project ID where the endpoint is located. The Project ID can be
120 derived from the URI if you provide a VM instance or network URI.
121 The following are two cases where you must provide the project ID:
122 1. Only the IP address is specified, and the IP address is within
123 a GCP project. 2. When you are using Shared VPC and the IP address
124 that you provide is from the service project. In this case, the
125 network that the IP address resides in is defined in the host
126 project.
127 type: string
128 type: object
129 projectRef:
130 description: The project that this resource belongs to.
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 `name` field of a `Project` resource.'
148 type: string
149 name:
150 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
151 type: string
152 namespace:
153 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
154 type: string
155 type: object
156 protocol:
157 description: IP Protocol of the test. When not provided, "TCP" is
158 assumed.
159 type: string
160 relatedProjects:
161 description: |-
162 Other projects that may be relevant for reachability analysis.
163 This is applicable to scenarios where a test can cross project
164 boundaries.
165 items:
166 type: string
167 type: array
168 resourceID:
169 description: Immutable. Optional. The name of the resource. Used for
170 creation and acquisition. When unset, the value of `metadata.name`
171 is used as the default.
172 type: string
173 source:
174 description: |-
175 Required. Source specification of the Connectivity Test.
176
177 You can use a combination of source IP address, virtual machine
178 (VM) instance, or Compute Engine network to uniquely identify the
179 source location.
180
181 Examples: If the source IP address is an internal IP address within
182 a Google Cloud Virtual Private Cloud (VPC) network, then you must
183 also specify the VPC network. Otherwise, specify the VM instance,
184 which already contains its internal IP address and VPC network
185 information.
186
187 If the source of the test is within an on-premises network, then
188 you must provide the destination VPC network.
189
190 If the source endpoint is a Compute Engine VM instance with multiple
191 network interfaces, the instance itself is not sufficient to
192 identify the endpoint. So, you must also specify the source IP
193 address or VPC network.
194
195 A reachability analysis proceeds even if the source location is
196 ambiguous. However, the test result may include endpoints that
197 you don't intend to test.
198 properties:
199 instance:
200 description: A Compute Engine instance URI.
201 type: string
202 ipAddress:
203 description: |-
204 The IP address of the endpoint, which can be an external or
205 internal IP. An IPv6 address is only allowed when the test's
206 destination is a global load balancer VIP.
207 type: string
208 network:
209 description: A Compute Engine network URI.
210 type: string
211 networkType:
212 description: 'Type of the network where the endpoint is located.
213 Possible values: ["GCP_NETWORK", "NON_GCP_NETWORK"].'
214 type: string
215 port:
216 description: |-
217 The IP protocol port of the endpoint. Only applicable when
218 protocol is TCP or UDP.
219 type: integer
220 projectId:
221 description: |-
222 Project ID where the endpoint is located. The Project ID can be
223 derived from the URI if you provide a VM instance or network URI.
224 The following are two cases where you must provide the project ID:
225
226 1. Only the IP address is specified, and the IP address is
227 within a GCP project.
228 2. When you are using Shared VPC and the IP address
229 that you provide is from the service project. In this case,
230 the network that the IP address resides in is defined in the
231 host project.
232 type: string
233 type: object
234 required:
235 - destination
236 - projectRef
237 - source
238 type: object
239 status:
240 properties:
241 conditions:
242 description: Conditions represent the latest available observation
243 of the resource's current state.
244 items:
245 properties:
246 lastTransitionTime:
247 description: Last time the condition transitioned from one status
248 to another.
249 type: string
250 message:
251 description: Human-readable message indicating details about
252 last transition.
253 type: string
254 reason:
255 description: Unique, one-word, CamelCase reason for the condition's
256 last transition.
257 type: string
258 status:
259 description: Status is the status of the condition. Can be True,
260 False, Unknown.
261 type: string
262 type:
263 description: Type is the type of the condition.
264 type: string
265 type: object
266 type: array
267 observedGeneration:
268 description: ObservedGeneration is the generation of the resource
269 that was most recently observed by the Config Connector controller.
270 If this is equal to metadata.generation, then that means that the
271 current reported status reflects the most recent desired state of
272 the resource.
273 type: integer
274 type: object
275 required:
276 - spec
277 type: object
278 served: true
279 storage: true
280 subresources:
281 status: {}
282status:
283 acceptedNames:
284 kind: ""
285 plural: ""
286 conditions: []
287 storedVersions: []
View as plain text