...
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/dcl2crd: "true"
23 cnrm.cloud.google.com/managed-by-kcc: "true"
24 cnrm.cloud.google.com/stability-level: stable
25 cnrm.cloud.google.com/system: "true"
26 name: networkservicesgateways.networkservices.cnrm.cloud.google.com
27spec:
28 group: networkservices.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: NetworkServicesGateway
33 plural: networkservicesgateways
34 shortNames:
35 - gcpnetworkservicesgateway
36 - gcpnetworkservicesgateways
37 singular: networkservicesgateway
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 addresses:
75 description: One or more addresses with ports in format of ":" that
76 the Gateway must receive traffic on. The proxy binds to the ports
77 specified. IP address can be anything that is allowed by the underlying
78 infrastructure (auto-allocation, static IP, BYOIP).
79 items:
80 type: string
81 type: array
82 description:
83 description: Optional. A free-text description of the resource. Max
84 length 1024 characters.
85 type: string
86 location:
87 description: Immutable. The location for the resource
88 type: string
89 ports:
90 description: Required. One or more ports that the Gateway must receive
91 traffic on. The proxy binds to the ports specified. Gateway listen
92 on 0.0.0.0 on the ports specified below.
93 items:
94 format: int64
95 type: integer
96 type: array
97 projectRef:
98 description: Immutable. The Project that this resource belongs to.
99 oneOf:
100 - not:
101 required:
102 - external
103 required:
104 - name
105 - not:
106 anyOf:
107 - required:
108 - name
109 - required:
110 - namespace
111 required:
112 - external
113 properties:
114 external:
115 description: |-
116 The project for the resource
117
118 Allowed value: The Google Cloud resource name of a `Project` resource (format: `projects/{{name}}`).
119 type: string
120 name:
121 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
122 type: string
123 namespace:
124 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
125 type: string
126 type: object
127 resourceID:
128 description: Immutable. Optional. The name of the resource. Used for
129 creation and acquisition. When unset, the value of `metadata.name`
130 is used as the default.
131 type: string
132 scope:
133 description: Immutable. Required. Immutable. Scope determines how
134 configuration across multiple Gateway instances are merged. The
135 configuration for multiple Gateway instances with the same scope
136 will be merged as presented as a single coniguration to the proxy/load
137 balancer. Max length 64 characters. Scope should start with a letter
138 and can only have letters, numbers, hyphens.
139 type: string
140 serverTlsPolicyRef:
141 oneOf:
142 - not:
143 required:
144 - external
145 required:
146 - name
147 - not:
148 anyOf:
149 - required:
150 - name
151 - required:
152 - namespace
153 required:
154 - external
155 properties:
156 external:
157 description: |-
158 Optional. A fully-qualified ServerTLSPolicy URL reference. Specifies how TLS traffic is terminated. If empty, TLS termination is disabled.
159
160 Allowed value: The Google Cloud resource name of a `NetworkSecurityServerTLSPolicy` resource (format: `projects/{{project}}/locations/{{location}}/serverTlsPolicies/{{name}}`).
161 type: string
162 name:
163 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
164 type: string
165 namespace:
166 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
167 type: string
168 type: object
169 type:
170 description: 'Immutable. Immutable. The type of the customer managed
171 gateway. Possible values: TYPE_UNSPECIFIED, OPEN_MESH, SECURE_WEB_GATEWAY'
172 type: string
173 required:
174 - location
175 - ports
176 - projectRef
177 - scope
178 type: object
179 status:
180 properties:
181 conditions:
182 description: Conditions represent the latest available observation
183 of the resource's current state.
184 items:
185 properties:
186 lastTransitionTime:
187 description: Last time the condition transitioned from one status
188 to another.
189 type: string
190 message:
191 description: Human-readable message indicating details about
192 last transition.
193 type: string
194 reason:
195 description: Unique, one-word, CamelCase reason for the condition's
196 last transition.
197 type: string
198 status:
199 description: Status is the status of the condition. Can be True,
200 False, Unknown.
201 type: string
202 type:
203 description: Type is the type of the condition.
204 type: string
205 type: object
206 type: array
207 createTime:
208 description: Output only. The timestamp when the resource was created.
209 format: date-time
210 type: string
211 observedGeneration:
212 description: ObservedGeneration is the generation of the resource
213 that was most recently observed by the Config Connector controller.
214 If this is equal to metadata.generation, then that means that the
215 current reported status reflects the most recent desired state of
216 the resource.
217 type: integer
218 selfLink:
219 description: Output only. Server-defined URL of this resource
220 type: string
221 updateTime:
222 description: Output only. The timestamp when the resource was updated.
223 format: date-time
224 type: string
225 type: object
226 required:
227 - spec
228 type: object
229 served: true
230 storage: true
231 subresources:
232 status: {}
233status:
234 acceptedNames:
235 kind: ""
236 plural: ""
237 conditions: []
238 storedVersions: []
View as plain text