---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  labels:
    operator.cdi.kubevirt.io: ""
  name: cdis.cdi.kubevirt.io
spec:
  conversion:
    strategy: None
  group: cdi.kubevirt.io
  names:
    kind: CDI
    listKind: CDIList
    plural: cdis
    shortNames:
    - cdi
    - cdis
    singular: cdi
  scope: Cluster
  versions:
  - additionalPrinterColumns:
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    - jsonPath: .status.phase
      name: Phase
      type: string
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: CDI is the CDI Operator CRD
        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:
            description: CDISpec defines our specification for the CDI installation
            properties:
              imagePullPolicy:
                description: PullPolicy describes a policy for if/when to pull a container image
                enum:
                - Always
                - IfNotPresent
                - Never
                type: string
              uninstallStrategy:
                description: CDIUninstallStrategy defines the state to leave CDI on uninstall
                enum:
                - RemoveWorkloads
                - BlockUninstallIfWorkloadsExist
                type: string
            type: object
          status:
            description: CDIStatus defines the status of the CDI installation
            properties:
              conditions:
                description: A list of current conditions of the CDI resource
                items:
                  description: Condition represents the state of the operator's reconciliation functionality.
                  properties:
                    lastHeartbeatTime:
                      format: date-time
                      type: string
                    lastTransitionTime:
                      format: date-time
                      type: string
                    message:
                      type: string
                    reason:
                      type: string
                    status:
                      type: string
                    type:
                      description: ConditionType is the state of the operator's reconciliation functionality.
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              observedVersion:
                description: The observed version of the CDI resource
                type: string
              operatorVersion:
                description: The version of the CDI resource as defined by the operator
                type: string
              phase:
                description: CDIPhase is the current phase of the CDI deployment
                type: string
              targetVersion:
                description: The desired version of the CDI resource
                type: string
            type: object
        required:
        - spec
        type: object
    served: true
    storage: false
    subresources: {}
  - additionalPrinterColumns:
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    - jsonPath: .status.phase
      name: Phase
      type: string
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: CDI is the CDI Operator CRD
        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:
            description: CDISpec defines our specification for the CDI installation
            properties:
              imagePullPolicy:
                description: PullPolicy describes a policy for if/when to pull a container image
                enum:
                - Always
                - IfNotPresent
                - Never
                type: string
              uninstallStrategy:
                description: CDIUninstallStrategy defines the state to leave CDI on uninstall
                enum:
                - RemoveWorkloads
                - BlockUninstallIfWorkloadsExist
                type: string
            type: object
          status:
            description: CDIStatus defines the status of the CDI installation
            properties:
              conditions:
                description: A list of current conditions of the CDI resource
                items:
                  description: Condition represents the state of the operator's reconciliation functionality.
                  properties:
                    lastHeartbeatTime:
                      format: date-time
                      type: string
                    lastTransitionTime:
                      format: date-time
                      type: string
                    message:
                      type: string
                    reason:
                      type: string
                    status:
                      type: string
                    type:
                      description: ConditionType is the state of the operator's reconciliation functionality.
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              observedVersion:
                description: The observed version of the CDI resource
                type: string
              operatorVersion:
                description: The version of the CDI resource as defined by the operator
                type: string
              phase:
                description: CDIPhase is the current phase of the CDI deployment
                type: string
              targetVersion:
                description: The desired version of the CDI resource
                type: string
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
    subresources: {}
