...
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: cloudfunctions2functions.cloudfunctions2.cnrm.cloud.google.com
27spec:
28 group: cloudfunctions2.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: CloudFunctions2Function
33 plural: cloudfunctions2functions
34 shortNames:
35 - gcpcloudfunctions2function
36 - gcpcloudfunctions2functions
37 singular: cloudfunctions2function
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 buildConfig:
75 description: |-
76 Describes the Build step of the function that builds a container
77 from the given source.
78 properties:
79 build:
80 description: |-
81 The Cloud Build name of the latest successful
82 deployment of the function.
83 type: string
84 dockerRepository:
85 description: User managed repository created in Artifact Registry
86 optionally with a customer managed encryption key.
87 type: string
88 entryPoint:
89 description: |-
90 The name of the function (as defined in source code) that will be executed.
91 Defaults to the resource name suffix, if not specified. For backward
92 compatibility, if function with given name is not found, then the system
93 will try to use function named "function". For Node.js this is name of a
94 function exported by the module specified in source_location.
95 type: string
96 environmentVariables:
97 additionalProperties:
98 type: string
99 description: User-provided build-time environment variables for
100 the function.
101 type: object
102 runtime:
103 description: |-
104 The runtime in which to run the function. Required when deploying a new
105 function, optional when updating an existing function.
106 type: string
107 source:
108 description: The location of the function source code.
109 properties:
110 repoSource:
111 description: If provided, get the source from this location
112 in a Cloud Source Repository.
113 properties:
114 branchName:
115 description: Regex matching branches to build.
116 type: string
117 commitSha:
118 description: Regex matching tags to build.
119 type: string
120 dir:
121 description: Directory, relative to the source root, in
122 which to run the build.
123 type: string
124 invertRegex:
125 description: |-
126 Only trigger a build if the revision regex does
127 NOT match the revision regex.
128 type: boolean
129 projectId:
130 description: |-
131 Immutable. ID of the project that owns the Cloud Source Repository. If omitted, the
132 project ID requesting the build is assumed.
133 type: string
134 repoName:
135 description: Name of the Cloud Source Repository.
136 type: string
137 tagName:
138 description: Regex matching tags to build.
139 type: string
140 type: object
141 storageSource:
142 description: If provided, get the source from this location
143 in Google Cloud Storage.
144 properties:
145 bucket:
146 description: Google Cloud Storage bucket containing the
147 source.
148 type: string
149 generation:
150 description: |-
151 Google Cloud Storage generation for the object. If the generation
152 is omitted, the latest generation will be used.
153 type: integer
154 object:
155 description: Google Cloud Storage object containing the
156 source.
157 type: string
158 type: object
159 type: object
160 workerPool:
161 description: Name of the Cloud Build Custom Worker Pool that should
162 be used to build the function.
163 type: string
164 type: object
165 description:
166 description: User-provided description of a function.
167 type: string
168 eventTrigger:
169 description: |-
170 An Eventarc trigger managed by Google Cloud Functions that fires events in
171 response to a condition in another service.
172 properties:
173 eventFilters:
174 description: Criteria used to filter events.
175 items:
176 properties:
177 attribute:
178 description: |-
179 'Required. The name of a CloudEvents attribute.
180 Currently, only a subset of attributes are supported for filtering. Use the 'gcloud eventarc providers describe' command to learn more about events and their attributes.
181 Do not filter for the 'type' attribute here, as this is already achieved by the resource's 'event_type' attribute.
182 type: string
183 operator:
184 description: |-
185 Optional. The operator used for matching the events with the value of
186 the filter. If not specified, only events that have an exact key-value
187 pair specified in the filter are matched.
188 The only allowed value is 'match-path-pattern'.
189 [See documentation on path patterns here](https://cloud.google.com/eventarc/docs/path-patterns)'.
190 type: string
191 value:
192 description: |-
193 Required. The value for the attribute.
194 If the operator field is set as 'match-path-pattern', this value can be a path pattern instead of an exact value.
195 type: string
196 required:
197 - attribute
198 - value
199 type: object
200 type: array
201 eventType:
202 description: Required. The type of event to observe.
203 type: string
204 pubsubTopic:
205 description: |-
206 The name of a Pub/Sub topic in the same project that will be used
207 as the transport topic for the event delivery.
208 type: string
209 retryPolicy:
210 description: |-
211 Describes the retry policy in case of function's execution failure.
212 Retried execution is charged as any other execution. Possible values: ["RETRY_POLICY_UNSPECIFIED", "RETRY_POLICY_DO_NOT_RETRY", "RETRY_POLICY_RETRY"].
213 type: string
214 serviceAccountEmail:
215 description: The email of the service account for this function.
216 type: string
217 trigger:
218 description: Output only. The resource name of the Eventarc trigger.
219 type: string
220 triggerRegion:
221 description: |-
222 The region that the trigger will be in. The trigger will only receive
223 events originating in this region. It can be the same
224 region as the function, a different region or multi-region, or the global
225 region. If not provided, defaults to the same region as the function.
226 type: string
227 type: object
228 location:
229 description: Immutable. The location of this cloud function.
230 type: string
231 projectRef:
232 description: The project that this resource belongs to.
233 oneOf:
234 - not:
235 required:
236 - external
237 required:
238 - name
239 - not:
240 anyOf:
241 - required:
242 - name
243 - required:
244 - namespace
245 required:
246 - external
247 properties:
248 external:
249 description: 'Allowed value: The `name` field of a `Project` resource.'
250 type: string
251 name:
252 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
253 type: string
254 namespace:
255 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
256 type: string
257 type: object
258 resourceID:
259 description: Immutable. Optional. The name of the resource. Used for
260 creation and acquisition. When unset, the value of `metadata.name`
261 is used as the default.
262 type: string
263 serviceConfig:
264 description: Describes the Service being deployed.
265 properties:
266 allTrafficOnLatestRevision:
267 description: Whether 100% of traffic is routed to the latest revision.
268 Defaults to true.
269 type: boolean
270 availableCpu:
271 description: The number of CPUs used in a single container instance.
272 Default value is calculated from available memory.
273 type: string
274 availableMemory:
275 description: |-
276 The amount of memory available for a function.
277 Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is
278 supplied the value is interpreted as bytes.
279 type: string
280 environmentVariables:
281 additionalProperties:
282 type: string
283 description: Environment variables that shall be available during
284 function execution.
285 type: object
286 gcfUri:
287 description: URIs of the Service deployed.
288 type: string
289 ingressSettings:
290 description: 'Available ingress settings. Defaults to "ALLOW_ALL"
291 if unspecified. Default value: "ALLOW_ALL" Possible values:
292 ["ALLOW_ALL", "ALLOW_INTERNAL_ONLY", "ALLOW_INTERNAL_AND_GCLB"].'
293 type: string
294 maxInstanceCount:
295 description: |-
296 The limit on the maximum number of function instances that may coexist at a
297 given time.
298 type: integer
299 maxInstanceRequestConcurrency:
300 description: Sets the maximum number of concurrent requests that
301 each instance can receive. Defaults to 1.
302 type: integer
303 minInstanceCount:
304 description: |-
305 The limit on the minimum number of function instances that may coexist at a
306 given time.
307 type: integer
308 secretEnvironmentVariables:
309 description: Secret environment variables configuration.
310 items:
311 properties:
312 key:
313 description: Name of the environment variable.
314 type: string
315 projectId:
316 description: Project identifier (preferrably project number
317 but can also be the project ID) of the project that contains
318 the secret. If not set, it will be populated with the
319 function's project assuming that the secret exists in
320 the same project as of the function.
321 type: string
322 secret:
323 description: Name of the secret in secret manager (not the
324 full resource name).
325 type: string
326 version:
327 description: Version of the secret (version number or the
328 string 'latest'). It is recommended to use a numeric version
329 for secret environment variables as any updates to the
330 secret value is not reflected until new instances start.
331 type: string
332 required:
333 - key
334 - projectId
335 - secret
336 - version
337 type: object
338 type: array
339 secretVolumes:
340 description: Secret volumes configuration.
341 items:
342 properties:
343 mountPath:
344 description: 'The path within the container to mount the
345 secret volume. For example, setting the mountPath as /etc/secrets
346 would mount the secret value files under the /etc/secrets
347 directory. This directory will also be completely shadowed
348 and unavailable to mount any other secrets. Recommended
349 mount path: /etc/secrets.'
350 type: string
351 projectId:
352 description: Project identifier (preferrably project number
353 but can also be the project ID) of the project that contains
354 the secret. If not set, it will be populated with the
355 function's project assuming that the secret exists in
356 the same project as of the function.
357 type: string
358 secret:
359 description: Name of the secret in secret manager (not the
360 full resource name).
361 type: string
362 versions:
363 description: List of secret versions to mount for this secret.
364 If empty, the latest version of the secret will be made
365 available in a file named after the secret under the mount
366 point.'.
367 items:
368 properties:
369 path:
370 description: Relative path of the file under the mount
371 path where the secret value for this version will
372 be fetched and made available. For example, setting
373 the mountPath as '/etc/secrets' and path as secret_foo
374 would mount the secret value file at /etc/secrets/secret_foo.
375 type: string
376 version:
377 description: Version of the secret (version number
378 or the string 'latest'). It is preferable to use
379 latest version with secret volumes as secret value
380 changes are reflected immediately.
381 type: string
382 required:
383 - path
384 - version
385 type: object
386 type: array
387 required:
388 - mountPath
389 - projectId
390 - secret
391 type: object
392 type: array
393 service:
394 description: Name of the service associated with a Function.
395 type: string
396 serviceAccountEmail:
397 description: The email of the service account for this function.
398 type: string
399 timeoutSeconds:
400 description: |-
401 The function execution timeout. Execution is considered failed and
402 can be terminated if the function is not completed at the end of the
403 timeout period. Defaults to 60 seconds.
404 type: integer
405 uri:
406 description: URI of the Service deployed.
407 type: string
408 vpcConnector:
409 description: The Serverless VPC Access connector that this cloud
410 function can connect to.
411 type: string
412 vpcConnectorEgressSettings:
413 description: 'Available egress settings. Possible values: ["VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED",
414 "PRIVATE_RANGES_ONLY", "ALL_TRAFFIC"].'
415 type: string
416 type: object
417 required:
418 - location
419 - projectRef
420 type: object
421 status:
422 properties:
423 conditions:
424 description: Conditions represent the latest available observation
425 of the resource's current state.
426 items:
427 properties:
428 lastTransitionTime:
429 description: Last time the condition transitioned from one status
430 to another.
431 type: string
432 message:
433 description: Human-readable message indicating details about
434 last transition.
435 type: string
436 reason:
437 description: Unique, one-word, CamelCase reason for the condition's
438 last transition.
439 type: string
440 status:
441 description: Status is the status of the condition. Can be True,
442 False, Unknown.
443 type: string
444 type:
445 description: Type is the type of the condition.
446 type: string
447 type: object
448 type: array
449 environment:
450 description: The environment the function is hosted on.
451 type: string
452 observedGeneration:
453 description: ObservedGeneration is the generation of the resource
454 that was most recently observed by the Config Connector controller.
455 If this is equal to metadata.generation, then that means that the
456 current reported status reflects the most recent desired state of
457 the resource.
458 type: integer
459 state:
460 description: Describes the current state of the function.
461 type: string
462 updateTime:
463 description: The last update timestamp of a Cloud Function.
464 type: string
465 type: object
466 required:
467 - spec
468 type: object
469 served: true
470 storage: true
471 subresources:
472 status: {}
473status:
474 acceptedNames:
475 kind: ""
476 plural: ""
477 conditions: []
478 storedVersions: []
View as plain text