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: appenginestandardappversions.appengine.cnrm.cloud.google.com
27spec:
28 group: appengine.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: AppEngineStandardAppVersion
33 plural: appenginestandardappversions
34 shortNames:
35 - gcpappenginestandardappversion
36 - gcpappenginestandardappversions
37 singular: appenginestandardappversion
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 appEngineApis:
75 description: Allows App Engine second generation runtimes to access
76 the legacy bundled services.
77 type: boolean
78 automaticScaling:
79 description: Automatic scaling is based on request rate, response
80 latencies, and other application metrics.
81 properties:
82 maxConcurrentRequests:
83 description: |-
84 Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.
85
86 Defaults to a runtime-specific value.
87 type: integer
88 maxIdleInstances:
89 description: Maximum number of idle instances that should be maintained
90 for this version.
91 type: integer
92 maxPendingLatency:
93 description: |-
94 Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.
95 A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
96 type: string
97 minIdleInstances:
98 description: Minimum number of idle instances that should be maintained
99 for this version. Only applicable for the default version of
100 a service.
101 type: integer
102 minPendingLatency:
103 description: |-
104 Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.
105 A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
106 type: string
107 standardSchedulerSettings:
108 description: Scheduler settings for standard environment.
109 properties:
110 maxInstances:
111 description: Maximum number of instances to run for this version.
112 Set to zero to disable maxInstances configuration.
113 type: integer
114 minInstances:
115 description: Minimum number of instances to run for this version.
116 Set to zero to disable minInstances configuration.
117 type: integer
118 targetCpuUtilization:
119 description: Target CPU utilization ratio to maintain when
120 scaling. Should be a value in the range [0.50, 0.95], zero,
121 or a negative value.
122 type: number
123 targetThroughputUtilization:
124 description: Target throughput utilization ratio to maintain
125 when scaling. Should be a value in the range [0.50, 0.95],
126 zero, or a negative value.
127 type: number
128 type: object
129 type: object
130 basicScaling:
131 description: Basic scaling creates instances when your application
132 receives requests. Each instance will be shut down when the application
133 becomes idle. Basic scaling is ideal for work that is intermittent
134 or driven by user activity.
135 properties:
136 idleTimeout:
137 description: |-
138 Duration of time after the last request that an instance must wait before the instance is shut down.
139 A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". Defaults to 900s.
140 type: string
141 maxInstances:
142 description: Maximum number of instances to create for this version.
143 Must be in the range [1.0, 200.0].
144 type: integer
145 required:
146 - maxInstances
147 type: object
148 deleteServiceOnDestroy:
149 description: If set to 'true', the service will be deleted if it is
150 the last version.
151 type: boolean
152 deployment:
153 description: Code and application artifacts that make up this version.
154 properties:
155 files:
156 description: |-
157 Manifest of the files stored in Google Cloud Storage that are included as part of this version.
158 All files must be readable using the credentials supplied with this call.
159 items:
160 properties:
161 name:
162 type: string
163 sha1Sum:
164 description: SHA1 checksum of the file.
165 type: string
166 sourceUrl:
167 description: Source URL.
168 type: string
169 required:
170 - name
171 - sourceUrl
172 type: object
173 type: array
174 zip:
175 description: Zip File.
176 properties:
177 filesCount:
178 description: files count.
179 type: integer
180 sourceUrl:
181 description: Source URL.
182 type: string
183 required:
184 - sourceUrl
185 type: object
186 type: object
187 entrypoint:
188 description: The entrypoint for the application.
189 properties:
190 shell:
191 description: The format should be a shell command that can be
192 fed to bash -c.
193 type: string
194 required:
195 - shell
196 type: object
197 envVariables:
198 additionalProperties:
199 type: string
200 description: Environment variables available to the application.
201 type: object
202 handlers:
203 description: |-
204 An ordered list of URL-matching patterns that should be applied to incoming requests.
205 The first matching URL handles the request and other request handlers are not attempted.
206 items:
207 properties:
208 authFailAction:
209 description: 'Actions to take when the user is not logged in.
210 Possible values: ["AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED"].'
211 type: string
212 login:
213 description: 'Methods to restrict access to a URL based on login
214 status. Possible values: ["LOGIN_OPTIONAL", "LOGIN_ADMIN",
215 "LOGIN_REQUIRED"].'
216 type: string
217 redirectHttpResponseCode:
218 description: '30x code to use when performing redirects for
219 the secure field. Possible values: ["REDIRECT_HTTP_RESPONSE_CODE_301",
220 "REDIRECT_HTTP_RESPONSE_CODE_302", "REDIRECT_HTTP_RESPONSE_CODE_303",
221 "REDIRECT_HTTP_RESPONSE_CODE_307"].'
222 type: string
223 script:
224 description: |-
225 Executes a script to handle the requests that match this URL pattern.
226 Only the auto value is supported for Node.js in the App Engine standard environment, for example "script:" "auto".
227 properties:
228 scriptPath:
229 description: Path to the script from the application root
230 directory.
231 type: string
232 required:
233 - scriptPath
234 type: object
235 securityLevel:
236 description: 'Security (HTTPS) enforcement for this URL. Possible
237 values: ["SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL",
238 "SECURE_ALWAYS"].'
239 type: string
240 staticFiles:
241 description: Files served directly to the user for a given URL,
242 such as images, CSS stylesheets, or JavaScript source files.
243 Static file handlers describe which files in the application
244 directory are static files, and which URLs serve them.
245 properties:
246 applicationReadable:
247 description: |-
248 Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as
249 static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged
250 against both your code and static data storage resource quotas.
251 type: boolean
252 expiration:
253 description: |-
254 Time a static file served by this handler should be cached by web proxies and browsers.
255 A duration in seconds with up to nine fractional digits, terminated by 's'. Example "3.5s".
256 type: string
257 httpHeaders:
258 additionalProperties:
259 type: string
260 description: |-
261 HTTP headers to use for all responses from these URLs.
262 An object containing a list of "key:value" value pairs.".
263 type: object
264 mimeType:
265 description: |-
266 MIME type used to serve all files served by this handler.
267 Defaults to file-specific MIME types, which are derived from each file's filename extension.
268 type: string
269 path:
270 description: Path to the static files matched by the URL
271 pattern, from the application root directory. The path
272 can refer to text matched in groupings in the URL pattern.
273 type: string
274 requireMatchingFile:
275 description: Whether this handler should match the request
276 if the file referenced by the handler does not exist.
277 type: boolean
278 uploadPathRegex:
279 description: Regular expression that matches the file paths
280 for all files that should be referenced by this handler.
281 type: string
282 type: object
283 urlRegex:
284 description: |-
285 URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings.
286 All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.
287 type: string
288 type: object
289 type: array
290 inboundServices:
291 description: 'A list of the types of messages that this application
292 is able to receive. Possible values: ["INBOUND_SERVICE_MAIL", "INBOUND_SERVICE_MAIL_BOUNCE",
293 "INBOUND_SERVICE_XMPP_ERROR", "INBOUND_SERVICE_XMPP_MESSAGE", "INBOUND_SERVICE_XMPP_SUBSCRIBE",
294 "INBOUND_SERVICE_XMPP_PRESENCE", "INBOUND_SERVICE_CHANNEL_PRESENCE",
295 "INBOUND_SERVICE_WARMUP"].'
296 items:
297 type: string
298 type: array
299 instanceClass:
300 description: |-
301 Instance class that is used to run this version. Valid values are
302 AutomaticScaling: F1, F2, F4, F4_1G
303 BasicScaling or ManualScaling: B1, B2, B4, B4_1G, B8
304 Defaults to F1 for AutomaticScaling and B2 for ManualScaling and BasicScaling. If no scaling is specified, AutomaticScaling is chosen.
305 type: string
306 libraries:
307 description: Configuration for third-party Python runtime libraries
308 that are required by the application.
309 items:
310 properties:
311 name:
312 description: Name of the library. Example "django".
313 type: string
314 version:
315 description: Version of the library to select, or "latest".
316 type: string
317 type: object
318 type: array
319 manualScaling:
320 description: A service with manual scaling runs continuously, allowing
321 you to perform complex initialization and rely on the state of its
322 memory over time.
323 properties:
324 instances:
325 description: |-
326 Number of instances to assign to the service at the start.
327
328 **Note:** When managing the number of instances at runtime through the App Engine Admin API or the (now deprecated) Python 2
329 Modules API set_num_instances() you must use 'lifecycle.ignore_changes = ["manual_scaling"[0].instances]' to prevent drift detection.
330 type: integer
331 required:
332 - instances
333 type: object
334 noopOnDestroy:
335 description: If set to 'true', the application version will not be
336 deleted.
337 type: boolean
338 project:
339 description: Immutable.
340 type: string
341 resourceID:
342 description: Immutable. Optional. The versionId of the resource. Used
343 for creation and acquisition. When unset, the value of `metadata.name`
344 is used as the default.
345 type: string
346 runtime:
347 description: Desired runtime. Example python27.
348 type: string
349 runtimeApiVersion:
350 description: |-
351 The version of the API in the given runtime environment.
352 Please see the app.yaml reference for valid values at 'https://cloud.google.com/appengine/docs/standard/<language>/config/appref'\
353 Substitute '<language>' with 'python', 'java', 'php', 'ruby', 'go' or 'nodejs'.
354 type: string
355 serviceAccount:
356 description: The identity that the deployed version will run as. Admin
357 API will use the App Engine Appspot service account as default if
358 this field is neither provided in app.yaml file nor through CLI
359 flag.
360 type: string
361 serviceRef:
362 oneOf:
363 - not:
364 required:
365 - external
366 required:
367 - name
368 - not:
369 anyOf:
370 - required:
371 - name
372 - required:
373 - namespace
374 required:
375 - external
376 properties:
377 external:
378 description: 'Allowed value: The `name` field of an `AppEngineService`
379 resource.'
380 type: string
381 name:
382 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
383 type: string
384 namespace:
385 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
386 type: string
387 type: object
388 threadsafe:
389 description: Whether multiple requests can be dispatched to this version
390 at once.
391 type: boolean
392 vpcAccessConnector:
393 description: Enables VPC connectivity for standard apps.
394 properties:
395 egressSetting:
396 description: The egress setting for the connector, controlling
397 what traffic is diverted through it.
398 type: string
399 name:
400 description: Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.
401 type: string
402 required:
403 - name
404 type: object
405 required:
406 - deployment
407 - entrypoint
408 - runtime
409 - serviceRef
410 type: object
411 status:
412 properties:
413 conditions:
414 description: Conditions represent the latest available observation
415 of the resource's current state.
416 items:
417 properties:
418 lastTransitionTime:
419 description: Last time the condition transitioned from one status
420 to another.
421 type: string
422 message:
423 description: Human-readable message indicating details about
424 last transition.
425 type: string
426 reason:
427 description: Unique, one-word, CamelCase reason for the condition's
428 last transition.
429 type: string
430 status:
431 description: Status is the status of the condition. Can be True,
432 False, Unknown.
433 type: string
434 type:
435 description: Type is the type of the condition.
436 type: string
437 type: object
438 type: array
439 name:
440 description: Full path to the Version resource in the API. Example,
441 "v1".
442 type: string
443 observedGeneration:
444 description: ObservedGeneration is the generation of the resource
445 that was most recently observed by the Config Connector controller.
446 If this is equal to metadata.generation, then that means that the
447 current reported status reflects the most recent desired state of
448 the resource.
449 type: integer
450 type: object
451 required:
452 - spec
453 type: object
454 served: true
455 storage: true
456 subresources:
457 status: {}
458status:
459 acceptedNames:
460 kind: ""
461 plural: ""
462 conditions: []
463 storedVersions: []
View as plain text