---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: awxrestores.awx.ansible.com
spec:
  group: awx.ansible.com
  names:
    kind: AWXRestore
    listKind: AWXRestoreList
    plural: awxrestores
    singular: awxrestore
  scope: Namespaced
  versions:
    - name: v1beta1
      served: true
      storage: true
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          type: object
          x-kubernetes-preserve-unknown-fields: true
          description: Schema validation for the AWXRestore CRD
          properties:
            spec:
              type: object
              properties:
                backup_source:
                  description: Backup source
                  type: string
                  enum:
                    - CR
                    - PVC
                deployment_name:
                  description: Name of the deployment to be restored to
                  type: string
                backup_name:
                  description: AWXBackup object name
                  type: string
                backup_pvc:
                  description: Name of the PVC to be restored from, set as a status found on the awxbackup object (backupClaim)
                  type: string
                backup_pvc_namespace:
                  description: Namespace the PVC is in
                  type: string
                backup_dir:
                  description: Backup directory name, set as a status found on the awxbackup object (backupDirectory)
                  type: string
                postgres_label_selector:
                  description: Label selector used to identify postgres pod for backing up data
                  type: string
                postgres_image:
                  description: Registry path to the PostgreSQL container to use
                  type: string
                postgres_image_version:
                  description: PostgreSQL container image version to use
                  type: string
            status:
              type: object
              properties:
                conditions:
                  description: The resulting conditions when a Service Telemetry is instantiated
                  items:
                    properties:
                      lastTransitionTime:
                        type: string
                      reason:
                        type: string
                      status:
                        type: string
                      type:
                        type: string
                    type: object
                  type: array
                restoreComplete:
                  description: Restore process complete
                  type: boolean
