...
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: gkebackupbackupplans.gkebackup.cnrm.cloud.google.com
13spec:
14 group: gkebackup.cnrm.cloud.google.com
15 names:
16 categories:
17 - gcp
18 kind: GKEBackupBackupPlan
19 plural: gkebackupbackupplans
20 shortNames:
21 - gcpgkebackupbackupplan
22 - gcpgkebackupbackupplans
23 singular: gkebackupbackupplan
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 backupConfig:
62 description: Defines the configuration of Backups created via this
63 BackupPlan.
64 properties:
65 allNamespaces:
66 description: If True, include all namespaced resources.
67 type: boolean
68 encryptionKey:
69 description: |-
70 This defines a customer managed encryption key that will be used to encrypt the "config"
71 portion (the Kubernetes resources) of Backups created via this plan.
72 properties:
73 gcpKmsEncryptionKey:
74 description: 'Google Cloud KMS encryption key. Format: projects/*/locations/*/keyRings/*/cryptoKeys/*.'
75 type: string
76 required:
77 - gcpKmsEncryptionKey
78 type: object
79 includeSecrets:
80 description: |-
81 This flag specifies whether Kubernetes Secret resources should be included
82 when they fall into the scope of Backups.
83 type: boolean
84 includeVolumeData:
85 description: |-
86 This flag specifies whether volume data should be backed up when PVCs are
87 included in the scope of a Backup.
88 type: boolean
89 selectedApplications:
90 description: A list of namespaced Kubernetes Resources.
91 properties:
92 namespacedNames:
93 description: A list of namespaced Kubernetes resources.
94 items:
95 properties:
96 name:
97 description: The name of a Kubernetes Resource.
98 type: string
99 namespace:
100 description: The namespace of a Kubernetes Resource.
101 type: string
102 required:
103 - name
104 - namespace
105 type: object
106 type: array
107 required:
108 - namespacedNames
109 type: object
110 selectedNamespaces:
111 description: If set, include just the resources in the listed
112 namespaces.
113 properties:
114 namespaces:
115 description: A list of Kubernetes Namespaces.
116 items:
117 type: string
118 type: array
119 required:
120 - namespaces
121 type: object
122 type: object
123 backupSchedule:
124 description: Defines a schedule for automatic Backup creation via
125 this BackupPlan.
126 properties:
127 cronSchedule:
128 description: |-
129 A standard cron string that defines a repeating schedule for
130 creating Backups via this BackupPlan.
131 If this is defined, then backupRetainDays must also be defined.
132 type: string
133 paused:
134 description: This flag denotes whether automatic Backup creation
135 is paused for this BackupPlan.
136 type: boolean
137 type: object
138 cluster:
139 description: Immutable. The source cluster from which Backups will
140 be created via this BackupPlan.
141 type: string
142 deactivated:
143 description: |-
144 This flag indicates whether this BackupPlan has been deactivated.
145 Setting this field to True locks the BackupPlan such that no further updates will be allowed
146 (except deletes), including the deactivated field itself. It also prevents any new Backups
147 from being created via this BackupPlan (including scheduled Backups).
148 type: boolean
149 description:
150 description: User specified descriptive string for this BackupPlan.
151 type: string
152 location:
153 description: Immutable. The region of the Backup Plan.
154 type: string
155 projectRef:
156 description: The project that this resource belongs to.
157 oneOf:
158 - not:
159 required:
160 - external
161 required:
162 - name
163 - not:
164 anyOf:
165 - required:
166 - name
167 - required:
168 - namespace
169 required:
170 - external
171 properties:
172 external:
173 description: 'Allowed value: The `name` field of a `Project` resource.'
174 type: string
175 name:
176 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
177 type: string
178 namespace:
179 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
180 type: string
181 type: object
182 resourceID:
183 description: Immutable. Optional. The name of the resource. Used for
184 creation and acquisition. When unset, the value of `metadata.name`
185 is used as the default.
186 type: string
187 retentionPolicy:
188 description: RetentionPolicy governs lifecycle of Backups created
189 under this plan.
190 properties:
191 backupDeleteLockDays:
192 description: |-
193 Minimum age for a Backup created via this BackupPlan (in days).
194 Must be an integer value between 0-90 (inclusive).
195 A Backup created under this BackupPlan will not be deletable
196 until it reaches Backup's (create time + backup_delete_lock_days).
197 Updating this field of a BackupPlan does not affect existing Backups.
198 Backups created after a successful update will inherit this new value.
199 type: integer
200 backupRetainDays:
201 description: |-
202 The default maximum age of a Backup created via this BackupPlan.
203 This field MUST be an integer value >= 0 and <= 365. If specified,
204 a Backup created under this BackupPlan will be automatically deleted
205 after its age reaches (createTime + backupRetainDays).
206 If not specified, Backups created under this BackupPlan will NOT be
207 subject to automatic deletion. Updating this field does NOT affect
208 existing Backups under it. Backups created AFTER a successful update
209 will automatically pick up the new value.
210 NOTE: backupRetainDays must be >= backupDeleteLockDays.
211 If cronSchedule is defined, then this must be <= 360 * the creation interval.].
212 type: integer
213 locked:
214 description: |-
215 This flag denotes whether the retention policy of this BackupPlan is locked.
216 If set to True, no further update is allowed on this policy, including
217 the locked field itself.
218 type: boolean
219 type: object
220 required:
221 - cluster
222 - location
223 - projectRef
224 type: object
225 status:
226 properties:
227 conditions:
228 description: Conditions represent the latest available observation
229 of the resource's current state.
230 items:
231 properties:
232 lastTransitionTime:
233 description: Last time the condition transitioned from one status
234 to another.
235 type: string
236 message:
237 description: Human-readable message indicating details about
238 last transition.
239 type: string
240 reason:
241 description: Unique, one-word, CamelCase reason for the condition's
242 last transition.
243 type: string
244 status:
245 description: Status is the status of the condition. Can be True,
246 False, Unknown.
247 type: string
248 type:
249 description: Type is the type of the condition.
250 type: string
251 type: object
252 type: array
253 etag:
254 description: |-
255 etag is used for optimistic concurrency control as a way to help prevent simultaneous
256 updates of a backup plan from overwriting each other. It is strongly suggested that
257 systems make use of the 'etag' in the read-modify-write cycle to perform BackupPlan updates
258 in order to avoid race conditions: An etag is returned in the response to backupPlans.get,
259 and systems are expected to put that etag in the request to backupPlans.patch or
260 backupPlans.delete to ensure that their change will be applied to the same version of the resource.
261 type: string
262 observedGeneration:
263 description: ObservedGeneration is the generation of the resource
264 that was most recently observed by the Config Connector controller.
265 If this is equal to metadata.generation, then that means that the
266 current reported status reflects the most recent desired state of
267 the resource.
268 type: integer
269 protectedPodCount:
270 description: The number of Kubernetes Pods backed up in the last successful
271 Backup created via this BackupPlan.
272 type: integer
273 uid:
274 description: Server generated, unique identifier of UUID format.
275 type: string
276 type: object
277 required:
278 - spec
279 type: object
280 served: true
281 storage: true
282 subresources:
283 status: {}
284status:
285 acceptedNames:
286 kind: ""
287 plural: ""
288 conditions: []
289 storedVersions: []
View as plain text