...
1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 annotations:
5 cnrm.cloud.google.com/version: 0.0.0-dev
6 creationTimestamp: null
7 labels:
8 cnrm.cloud.google.com/managed-by-kcc: "true"
9 cnrm.cloud.google.com/stability-level: alpha
10 cnrm.cloud.google.com/system: "true"
11 cnrm.cloud.google.com/tf2crd: "true"
12 name: datastreamstreams.datastream.cnrm.cloud.google.com
13spec:
14 group: datastream.cnrm.cloud.google.com
15 names:
16 categories:
17 - gcp
18 kind: DatastreamStream
19 plural: datastreamstreams
20 shortNames:
21 - gcpdatastreamstream
22 - gcpdatastreamstreams
23 singular: datastreamstream
24 preserveUnknownFields: false
25 scope: Namespaced
26 versions:
27 - additionalPrinterColumns:
28 - jsonPath: .metadata.creationTimestamp
29 name: Age
30 type: date
31 - description: When 'True', the most recent reconcile of the resource succeeded
32 jsonPath: .status.conditions[?(@.type=='Ready')].status
33 name: Ready
34 type: string
35 - description: The reason for the value in 'Ready'
36 jsonPath: .status.conditions[?(@.type=='Ready')].reason
37 name: Status
38 type: string
39 - description: The last transition time for the value in 'Status'
40 jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
41 name: Status Age
42 type: date
43 name: v1alpha1
44 schema:
45 openAPIV3Schema:
46 properties:
47 apiVersion:
48 description: 'apiVersion defines the versioned schema of this representation
49 of an object. Servers should convert recognized schemas to the latest
50 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
51 type: string
52 kind:
53 description: 'kind is a string value representing the REST resource this
54 object represents. Servers may infer this from the endpoint the client
55 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
56 type: string
57 metadata:
58 type: object
59 spec:
60 properties:
61 backfillAll:
62 description: Backfill strategy to automatically backfill the Stream's
63 objects. Specific objects can be excluded.
64 properties:
65 mysqlExcludedObjects:
66 description: MySQL data source objects to avoid backfilling.
67 properties:
68 mysqlDatabases:
69 description: MySQL databases on the server.
70 items:
71 properties:
72 database:
73 description: Database name.
74 type: string
75 mysqlTables:
76 description: Tables in the database.
77 items:
78 properties:
79 mysqlColumns:
80 description: MySQL columns in the schema. When
81 unspecified as part of include/exclude objects,
82 includes/excludes everything.
83 items:
84 properties:
85 collation:
86 description: Column collation.
87 type: string
88 column:
89 description: Column name.
90 type: string
91 dataType:
92 description: |-
93 The MySQL data type. Full data types list can be found here:
94 https://dev.mysql.com/doc/refman/8.0/en/data-types.html.
95 type: string
96 length:
97 description: Column length.
98 type: integer
99 nullable:
100 description: Whether or not the column can
101 accept a null value.
102 type: boolean
103 ordinalPosition:
104 description: The ordinal position of the
105 column in the table.
106 type: integer
107 primaryKey:
108 description: Whether or not the column represents
109 a primary key.
110 type: boolean
111 type: object
112 type: array
113 table:
114 description: Table name.
115 type: string
116 required:
117 - table
118 type: object
119 type: array
120 required:
121 - database
122 type: object
123 type: array
124 required:
125 - mysqlDatabases
126 type: object
127 oracleExcludedObjects:
128 description: PostgreSQL data source objects to avoid backfilling.
129 properties:
130 oracleSchemas:
131 description: Oracle schemas/databases in the database server.
132 items:
133 properties:
134 oracleTables:
135 description: Tables in the database.
136 items:
137 properties:
138 oracleColumns:
139 description: Oracle columns in the schema. When
140 unspecified as part of include/exclude objects,
141 includes/excludes everything.
142 items:
143 properties:
144 column:
145 description: Column name.
146 type: string
147 dataType:
148 description: |-
149 The Oracle data type. Full data types list can be found here:
150 https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/Data-Types.html.
151 type: string
152 encoding:
153 description: Column encoding.
154 type: string
155 length:
156 description: Column length.
157 type: integer
158 nullable:
159 description: Whether or not the column can
160 accept a null value.
161 type: boolean
162 ordinalPosition:
163 description: The ordinal position of the
164 column in the table.
165 type: integer
166 precision:
167 description: Column precision.
168 type: integer
169 primaryKey:
170 description: Whether or not the column represents
171 a primary key.
172 type: boolean
173 scale:
174 description: Column scale.
175 type: integer
176 type: object
177 type: array
178 table:
179 description: Table name.
180 type: string
181 required:
182 - table
183 type: object
184 type: array
185 schema:
186 description: Schema name.
187 type: string
188 required:
189 - schema
190 type: object
191 type: array
192 required:
193 - oracleSchemas
194 type: object
195 postgresqlExcludedObjects:
196 description: PostgreSQL data source objects to avoid backfilling.
197 properties:
198 postgresqlSchemas:
199 description: PostgreSQL schemas on the server.
200 items:
201 properties:
202 postgresqlTables:
203 description: Tables in the schema.
204 items:
205 properties:
206 postgresqlColumns:
207 description: PostgreSQL columns in the schema.
208 When unspecified as part of include/exclude
209 objects, includes/excludes everything.
210 items:
211 properties:
212 column:
213 description: Column name.
214 type: string
215 dataType:
216 description: |-
217 The PostgreSQL data type. Full data types list can be found here:
218 https://www.postgresql.org/docs/current/datatype.html.
219 type: string
220 length:
221 description: Column length.
222 type: integer
223 nullable:
224 description: Whether or not the column can
225 accept a null value.
226 type: boolean
227 ordinalPosition:
228 description: The ordinal position of the
229 column in the table.
230 type: integer
231 precision:
232 description: Column precision.
233 type: integer
234 primaryKey:
235 description: Whether or not the column represents
236 a primary key.
237 type: boolean
238 scale:
239 description: Column scale.
240 type: integer
241 type: object
242 type: array
243 table:
244 description: Table name.
245 type: string
246 required:
247 - table
248 type: object
249 type: array
250 schema:
251 description: Database name.
252 type: string
253 required:
254 - schema
255 type: object
256 type: array
257 required:
258 - postgresqlSchemas
259 type: object
260 type: object
261 backfillNone:
262 description: Backfill strategy to disable automatic backfill for the
263 Stream's objects.
264 type: object
265 x-kubernetes-preserve-unknown-fields: true
266 customerManagedEncryptionKey:
267 description: |-
268 Immutable. A reference to a KMS encryption key. If provided, it will be used to encrypt the data. If left blank, data
269 will be encrypted using an internal Stream-specific encryption key provisioned through KMS.
270 type: string
271 desiredState:
272 description: Desired state of the Stream. Set this field to 'RUNNING'
273 to start the stream, and 'PAUSED' to pause the stream.
274 type: string
275 destinationConfig:
276 description: Destination connection profile configuration.
277 properties:
278 bigqueryDestinationConfig:
279 description: A configuration for how data should be loaded to
280 Cloud Storage.
281 properties:
282 dataFreshness:
283 description: |-
284 The guaranteed data freshness (in seconds) when querying tables created by the stream.
285 Editing this field will only affect new tables created in the future, but existing tables
286 will not be impacted. Lower values mean that queries will return fresher data, but may result in higher cost.
287 A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". Defaults to 900s.
288 type: string
289 singleTargetDataset:
290 description: A single target dataset to which all data will
291 be streamed.
292 properties:
293 datasetId:
294 description: |-
295 Dataset ID in the format projects/{project}/datasets/{dataset_id} or
296 {project}:{dataset_id}.
297 type: string
298 required:
299 - datasetId
300 type: object
301 sourceHierarchyDatasets:
302 description: Destination datasets are created so that hierarchy
303 of the destination data objects matches the source hierarchy.
304 properties:
305 datasetTemplate:
306 description: Dataset template used for dynamic dataset
307 creation.
308 properties:
309 datasetIdPrefix:
310 description: |-
311 If supplied, every created dataset will have its name prefixed by the provided value.
312 The prefix and name will be separated by an underscore. i.e. _.
313 type: string
314 kmsKeyName:
315 description: |-
316 Immutable. Describes the Cloud KMS encryption key that will be used to protect destination BigQuery
317 table. The BigQuery Service Account associated with your project requires access to this
318 encryption key. i.e. projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryptoKey}.
319 See https://cloud.google.com/bigquery/docs/customer-managed-encryption for more information.
320 type: string
321 location:
322 description: |-
323 The geographic location where the dataset should reside.
324 See https://cloud.google.com/bigquery/docs/locations for supported locations.
325 type: string
326 required:
327 - location
328 type: object
329 required:
330 - datasetTemplate
331 type: object
332 type: object
333 destinationConnectionProfile:
334 description: 'Immutable. Destination connection profile resource.
335 Format: projects/{project}/locations/{location}/connectionProfiles/{name}.'
336 type: string
337 gcsDestinationConfig:
338 description: A configuration for how data should be loaded to
339 Cloud Storage.
340 properties:
341 avroFileFormat:
342 description: AVRO file format configuration.
343 type: object
344 x-kubernetes-preserve-unknown-fields: true
345 fileRotationInterval:
346 description: |-
347 The maximum duration for which new events are added before a file is closed and a new file is created.
348 A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". Defaults to 900s.
349 type: string
350 fileRotationMb:
351 description: The maximum file size to be saved in the bucket.
352 type: integer
353 jsonFileFormat:
354 description: JSON file format configuration.
355 properties:
356 compression:
357 description: 'Compression of the loaded JSON file. Possible
358 values: ["NO_COMPRESSION", "GZIP"].'
359 type: string
360 schemaFileFormat:
361 description: 'The schema file format along JSON data files.
362 Possible values: ["NO_SCHEMA_FILE", "AVRO_SCHEMA_FILE"].'
363 type: string
364 type: object
365 path:
366 description: Path inside the Cloud Storage bucket to write
367 data to.
368 type: string
369 type: object
370 required:
371 - destinationConnectionProfile
372 type: object
373 displayName:
374 description: Display name.
375 type: string
376 location:
377 description: Immutable. The name of the location this stream is located
378 in.
379 type: string
380 projectRef:
381 description: The project that this resource belongs to.
382 oneOf:
383 - not:
384 required:
385 - external
386 required:
387 - name
388 - not:
389 anyOf:
390 - required:
391 - name
392 - required:
393 - namespace
394 required:
395 - external
396 properties:
397 external:
398 description: 'Allowed value: The `name` field of a `Project` resource.'
399 type: string
400 name:
401 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
402 type: string
403 namespace:
404 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
405 type: string
406 type: object
407 resourceID:
408 description: Immutable. Optional. The streamId of the resource. Used
409 for creation and acquisition. When unset, the value of `metadata.name`
410 is used as the default.
411 type: string
412 sourceConfig:
413 description: Source connection profile configuration.
414 properties:
415 mysqlSourceConfig:
416 description: MySQL data source configuration.
417 properties:
418 excludeObjects:
419 description: MySQL objects to exclude from the stream.
420 properties:
421 mysqlDatabases:
422 description: MySQL databases on the server.
423 items:
424 properties:
425 database:
426 description: Database name.
427 type: string
428 mysqlTables:
429 description: Tables in the database.
430 items:
431 properties:
432 mysqlColumns:
433 description: MySQL columns in the schema.
434 When unspecified as part of include/exclude
435 objects, includes/excludes everything.
436 items:
437 properties:
438 collation:
439 description: Column collation.
440 type: string
441 column:
442 description: Column name.
443 type: string
444 dataType:
445 description: |-
446 The MySQL data type. Full data types list can be found here:
447 https://dev.mysql.com/doc/refman/8.0/en/data-types.html.
448 type: string
449 length:
450 description: Column length.
451 type: integer
452 nullable:
453 description: Whether or not the column
454 can accept a null value.
455 type: boolean
456 ordinalPosition:
457 description: The ordinal position of
458 the column in the table.
459 type: integer
460 primaryKey:
461 description: Whether or not the column
462 represents a primary key.
463 type: boolean
464 type: object
465 type: array
466 table:
467 description: Table name.
468 type: string
469 required:
470 - table
471 type: object
472 type: array
473 required:
474 - database
475 type: object
476 type: array
477 required:
478 - mysqlDatabases
479 type: object
480 includeObjects:
481 description: MySQL objects to retrieve from the source.
482 properties:
483 mysqlDatabases:
484 description: MySQL databases on the server.
485 items:
486 properties:
487 database:
488 description: Database name.
489 type: string
490 mysqlTables:
491 description: Tables in the database.
492 items:
493 properties:
494 mysqlColumns:
495 description: MySQL columns in the schema.
496 When unspecified as part of include/exclude
497 objects, includes/excludes everything.
498 items:
499 properties:
500 collation:
501 description: Column collation.
502 type: string
503 column:
504 description: Column name.
505 type: string
506 dataType:
507 description: |-
508 The MySQL data type. Full data types list can be found here:
509 https://dev.mysql.com/doc/refman/8.0/en/data-types.html.
510 type: string
511 length:
512 description: Column length.
513 type: integer
514 nullable:
515 description: Whether or not the column
516 can accept a null value.
517 type: boolean
518 ordinalPosition:
519 description: The ordinal position of
520 the column in the table.
521 type: integer
522 primaryKey:
523 description: Whether or not the column
524 represents a primary key.
525 type: boolean
526 type: object
527 type: array
528 table:
529 description: Table name.
530 type: string
531 required:
532 - table
533 type: object
534 type: array
535 required:
536 - database
537 type: object
538 type: array
539 required:
540 - mysqlDatabases
541 type: object
542 maxConcurrentBackfillTasks:
543 description: |-
544 Maximum number of concurrent backfill tasks. The number should be non negative.
545 If not set (or set to 0), the system's default value will be used.
546 type: integer
547 maxConcurrentCdcTasks:
548 description: |-
549 Maximum number of concurrent CDC tasks. The number should be non negative.
550 If not set (or set to 0), the system's default value will be used.
551 type: integer
552 type: object
553 oracleSourceConfig:
554 description: MySQL data source configuration.
555 properties:
556 dropLargeObjects:
557 description: Configuration to drop large object values.
558 type: object
559 x-kubernetes-preserve-unknown-fields: true
560 excludeObjects:
561 description: Oracle objects to exclude from the stream.
562 properties:
563 oracleSchemas:
564 description: Oracle schemas/databases in the database
565 server.
566 items:
567 properties:
568 oracleTables:
569 description: Tables in the database.
570 items:
571 properties:
572 oracleColumns:
573 description: Oracle columns in the schema.
574 When unspecified as part of include/exclude
575 objects, includes/excludes everything.
576 items:
577 properties:
578 column:
579 description: Column name.
580 type: string
581 dataType:
582 description: |-
583 The Oracle data type. Full data types list can be found here:
584 https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/Data-Types.html.
585 type: string
586 encoding:
587 description: Column encoding.
588 type: string
589 length:
590 description: Column length.
591 type: integer
592 nullable:
593 description: Whether or not the column
594 can accept a null value.
595 type: boolean
596 ordinalPosition:
597 description: The ordinal position of
598 the column in the table.
599 type: integer
600 precision:
601 description: Column precision.
602 type: integer
603 primaryKey:
604 description: Whether or not the column
605 represents a primary key.
606 type: boolean
607 scale:
608 description: Column scale.
609 type: integer
610 type: object
611 type: array
612 table:
613 description: Table name.
614 type: string
615 required:
616 - table
617 type: object
618 type: array
619 schema:
620 description: Schema name.
621 type: string
622 required:
623 - schema
624 type: object
625 type: array
626 required:
627 - oracleSchemas
628 type: object
629 includeObjects:
630 description: Oracle objects to retrieve from the source.
631 properties:
632 oracleSchemas:
633 description: Oracle schemas/databases in the database
634 server.
635 items:
636 properties:
637 oracleTables:
638 description: Tables in the database.
639 items:
640 properties:
641 oracleColumns:
642 description: Oracle columns in the schema.
643 When unspecified as part of include/exclude
644 objects, includes/excludes everything.
645 items:
646 properties:
647 column:
648 description: Column name.
649 type: string
650 dataType:
651 description: |-
652 The Oracle data type. Full data types list can be found here:
653 https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/Data-Types.html.
654 type: string
655 encoding:
656 description: Column encoding.
657 type: string
658 length:
659 description: Column length.
660 type: integer
661 nullable:
662 description: Whether or not the column
663 can accept a null value.
664 type: boolean
665 ordinalPosition:
666 description: The ordinal position of
667 the column in the table.
668 type: integer
669 precision:
670 description: Column precision.
671 type: integer
672 primaryKey:
673 description: Whether or not the column
674 represents a primary key.
675 type: boolean
676 scale:
677 description: Column scale.
678 type: integer
679 type: object
680 type: array
681 table:
682 description: Table name.
683 type: string
684 required:
685 - table
686 type: object
687 type: array
688 schema:
689 description: Schema name.
690 type: string
691 required:
692 - schema
693 type: object
694 type: array
695 required:
696 - oracleSchemas
697 type: object
698 maxConcurrentBackfillTasks:
699 description: |-
700 Maximum number of concurrent backfill tasks. The number should be non negative.
701 If not set (or set to 0), the system's default value will be used.
702 type: integer
703 maxConcurrentCdcTasks:
704 description: |-
705 Maximum number of concurrent CDC tasks. The number should be non negative.
706 If not set (or set to 0), the system's default value will be used.
707 type: integer
708 streamLargeObjects:
709 description: Configuration to drop large object values.
710 type: object
711 x-kubernetes-preserve-unknown-fields: true
712 type: object
713 postgresqlSourceConfig:
714 description: PostgreSQL data source configuration.
715 properties:
716 excludeObjects:
717 description: PostgreSQL objects to exclude from the stream.
718 properties:
719 postgresqlSchemas:
720 description: PostgreSQL schemas on the server.
721 items:
722 properties:
723 postgresqlTables:
724 description: Tables in the schema.
725 items:
726 properties:
727 postgresqlColumns:
728 description: PostgreSQL columns in the schema.
729 When unspecified as part of include/exclude
730 objects, includes/excludes everything.
731 items:
732 properties:
733 column:
734 description: Column name.
735 type: string
736 dataType:
737 description: |-
738 The PostgreSQL data type. Full data types list can be found here:
739 https://www.postgresql.org/docs/current/datatype.html.
740 type: string
741 length:
742 description: Column length.
743 type: integer
744 nullable:
745 description: Whether or not the column
746 can accept a null value.
747 type: boolean
748 ordinalPosition:
749 description: The ordinal position of
750 the column in the table.
751 type: integer
752 precision:
753 description: Column precision.
754 type: integer
755 primaryKey:
756 description: Whether or not the column
757 represents a primary key.
758 type: boolean
759 scale:
760 description: Column scale.
761 type: integer
762 type: object
763 type: array
764 table:
765 description: Table name.
766 type: string
767 required:
768 - table
769 type: object
770 type: array
771 schema:
772 description: Database name.
773 type: string
774 required:
775 - schema
776 type: object
777 type: array
778 required:
779 - postgresqlSchemas
780 type: object
781 includeObjects:
782 description: PostgreSQL objects to retrieve from the source.
783 properties:
784 postgresqlSchemas:
785 description: PostgreSQL schemas on the server.
786 items:
787 properties:
788 postgresqlTables:
789 description: Tables in the schema.
790 items:
791 properties:
792 postgresqlColumns:
793 description: PostgreSQL columns in the schema.
794 When unspecified as part of include/exclude
795 objects, includes/excludes everything.
796 items:
797 properties:
798 column:
799 description: Column name.
800 type: string
801 dataType:
802 description: |-
803 The PostgreSQL data type. Full data types list can be found here:
804 https://www.postgresql.org/docs/current/datatype.html.
805 type: string
806 length:
807 description: Column length.
808 type: integer
809 nullable:
810 description: Whether or not the column
811 can accept a null value.
812 type: boolean
813 ordinalPosition:
814 description: The ordinal position of
815 the column in the table.
816 type: integer
817 precision:
818 description: Column precision.
819 type: integer
820 primaryKey:
821 description: Whether or not the column
822 represents a primary key.
823 type: boolean
824 scale:
825 description: Column scale.
826 type: integer
827 type: object
828 type: array
829 table:
830 description: Table name.
831 type: string
832 required:
833 - table
834 type: object
835 type: array
836 schema:
837 description: Database name.
838 type: string
839 required:
840 - schema
841 type: object
842 type: array
843 required:
844 - postgresqlSchemas
845 type: object
846 maxConcurrentBackfillTasks:
847 description: |-
848 Maximum number of concurrent backfill tasks. The number should be non
849 negative. If not set (or set to 0), the system's default value will be used.
850 type: integer
851 publication:
852 description: |-
853 The name of the publication that includes the set of all tables
854 that are defined in the stream's include_objects.
855 type: string
856 replicationSlot:
857 description: |-
858 The name of the logical replication slot that's configured with
859 the pgoutput plugin.
860 type: string
861 required:
862 - publication
863 - replicationSlot
864 type: object
865 sourceConnectionProfile:
866 description: 'Immutable. Source connection profile resource. Format:
867 projects/{project}/locations/{location}/connectionProfiles/{name}.'
868 type: string
869 required:
870 - sourceConnectionProfile
871 type: object
872 required:
873 - destinationConfig
874 - displayName
875 - location
876 - projectRef
877 - sourceConfig
878 type: object
879 status:
880 properties:
881 conditions:
882 description: Conditions represent the latest available observation
883 of the resource's current state.
884 items:
885 properties:
886 lastTransitionTime:
887 description: Last time the condition transitioned from one status
888 to another.
889 type: string
890 message:
891 description: Human-readable message indicating details about
892 last transition.
893 type: string
894 reason:
895 description: Unique, one-word, CamelCase reason for the condition's
896 last transition.
897 type: string
898 status:
899 description: Status is the status of the condition. Can be True,
900 False, Unknown.
901 type: string
902 type:
903 description: Type is the type of the condition.
904 type: string
905 type: object
906 type: array
907 name:
908 description: The stream's name.
909 type: string
910 observedGeneration:
911 description: ObservedGeneration is the generation of the resource
912 that was most recently observed by the Config Connector controller.
913 If this is equal to metadata.generation, then that means that the
914 current reported status reflects the most recent desired state of
915 the resource.
916 type: integer
917 state:
918 description: The state of the stream.
919 type: string
920 type: object
921 required:
922 - spec
923 type: object
924 served: true
925 storage: true
926 subresources:
927 status: {}
928status:
929 acceptedNames:
930 kind: ""
931 plural: ""
932 conditions: []
933 storedVersions: []
View as plain text