---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.17.2
    helm.sh/resource-policy: keep
  name: scheduledbackups.postgresql.cnpg.io
spec:
  group: postgresql.cnpg.io
  names:
    kind: ScheduledBackup
    listKind: ScheduledBackupList
    plural: scheduledbackups
    singular: scheduledbackup
  scope: Namespaced
  versions:
    - additionalPrinterColumns:
        - jsonPath: .metadata.creationTimestamp
          name: Age
          type: date
        - jsonPath: .spec.cluster.name
          name: Cluster
          type: string
        - jsonPath: .status.lastScheduleTime
          name: Last Backup
          type: date
      name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              type: string
            kind:
              type: string
            metadata:
              type: object
            spec:
              properties:
                backupOwnerReference:
                  default: none
                  enum:
                    - none
                    - self
                    - cluster
                  type: string
                cluster:
                  properties:
                    name:
                      type: string
                  required:
                    - name
                  type: object
                immediate:
                  type: boolean
                method:
                  default: barmanObjectStore
                  enum:
                    - barmanObjectStore
                    - volumeSnapshot
                    - plugin
                  type: string
                online:
                  type: boolean
                onlineConfiguration:
                  properties:
                    immediateCheckpoint:
                      type: boolean
                    waitForArchive:
                      default: true
                      type: boolean
                  type: object
                pluginConfiguration:
                  properties:
                    name:
                      type: string
                    parameters:
                      additionalProperties:
                        type: string
                      type: object
                  required:
                    - name
                  type: object
                schedule:
                  type: string
                suspend:
                  type: boolean
                target:
                  enum:
                    - primary
                    - prefer-standby
                  type: string
              required:
                - cluster
                - schedule
              type: object
            status:
              properties:
                lastCheckTime:
                  format: date-time
                  type: string
                lastScheduleTime:
                  format: date-time
                  type: string
                nextScheduleTime:
                  format: date-time
                  type: string
              type: object
          required:
            - metadata
            - spec
          type: object
      served: true
      storage: true
      subresources:
        status: {}
