--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.9.0 creationTimestamp: null name: polardbxbackupschedules.polardbx.aliyun.com spec: group: polardbx.aliyun.com names: kind: PolarDBXBackupSchedule listKind: PolarDBXBackupScheduleList plural: polardbxbackupschedules shortNames: - pxcbackupschedule - pbs singular: polardbxbackupschedule scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .spec.schedule name: SCHEDULE type: string - jsonPath: .status.lastBackupTime name: LAST_BACKUP_TIME type: string - jsonPath: .status.nextBackupTime name: NEXT_BACKUP_TIME type: string - jsonPath: .status.lastBackup name: LAST_BACKUP type: string name: v1 schema: openAPIV3Schema: properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: properties: backupSpec: description: BackupSpec defines spec of each backup. properties: cleanPolicy: default: Retain description: CleanPolicy defines the clean policy when cluster is deleted. Default is Retain. enum: - Retain - Delete - OnFailure type: string cluster: description: Cluster represents the reference of target polardbx cluster to perform the backup action. properties: name: type: string uid: description: UID is a type that holds unique ID values, including UUIDs. Because we don't ONLY use UUIDs, this is an alias to string. Being a type captures intent and helps make sure that UIDs and names do not get conflated. type: string type: object preferredBackupRole: default: follower description: PreferredBackupRole defines the role of node on which backup will happen enum: - leader - follower type: string retentionTime: description: RetentionTime defines the retention time of the backup. The format is the same with metav1.Duration. Must be provided. type: string storageProvider: description: StorageProvider defines the backend storage to store the backup files. properties: sink: description: Sink defines the storage configuration choose to perform backup type: string storageName: description: StorageName defines the storage medium used to perform backup type: string type: object type: object maxBackupCount: default: 0 description: MaxBackupCount defines limit of reserved backup. If backup exceeds the limit, the eldest backup sets will be purged. Default is zero, which means no limit. type: integer schedule: description: Schedule represents backup schedule in format of cron expression. type: string suspend: description: Suspend denotes whether current schedule is paused. type: boolean type: object status: properties: lastBackup: description: LastBackup records the name of the last backup. type: string lastBackupTime: description: LastBackupTime records the time of the last backup. format: date-time type: string nextBackupTime: description: NextBackupTime records the scheduled time of the next backup. format: date-time type: string type: object type: object served: true storage: true subresources: status: {}