apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: ocsinitializations.ocs.openshift.io
spec:
  group: ocs.openshift.io
  names:
    kind: OCSInitialization
    listKind: OCSInitializationList
    plural: ocsinitializations
    singular: ocsinitialization
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    - description: Current Phase
      jsonPath: .status.phase
      name: Phase
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Created At
      type: string
    name: v1
    schema:
      openAPIV3Schema:
        description: OCSInitialization is the Schema for the ocsinitialization API
        type: object
        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: OCSInitializationSpec defines the desired state of OCSInitialization
            type: object
            properties:
              enableCephTools:
                description: EnableCephTools toggles on whether or not the ceph tools
                  pod should be deployed. Defaults to false
                type: boolean
          status:
            description: OCSInitializationStatus defines the observed state of OCSInitialization
            type: object
            properties:
              conditions:
                description: Conditions describes the state of the OCSInitialization
                  resource.
                type: array
                items:
                  description: Condition represents the state of the operator's reconciliation
                    functionality.
                  type: object
                  required:
                  - status
                  - type
                  properties:
                    lastHeartbeatTime:
                      type: string
                      format: date-time
                    lastTransitionTime:
                      type: string
                      format: date-time
                    message:
                      type: string
                    reason:
                      type: string
                    status:
                      type: string
                    type:
                      description: ConditionType is the state of the operator's reconciliation
                        functionality.
                      type: string
              errorMessage:
                type: string
              phase:
                description: Phase describes the Phase of OCSInitialization This is
                  used by OLM UI to provide status information to the user
                type: string
              relatedObjects:
                description: RelatedObjects is a list of objects created and maintained
                  by this operator. Object references will be added to this list after
                  they have been created AND found in the cluster.
                type: array
                items:
                  description: ObjectReference contains enough information to let
                    you inspect or modify the referred object.
                  type: object
                  properties:
                    apiVersion:
                      description: API version of the referent.
                      type: string
                    fieldPath:
                      description: 'If referring to a piece of an object instead of
                        an entire object, this string should contain a valid JSON/Go
                        field access statement, such as desiredState.manifest.containers[2].
                        For example, if the object reference is to a container within
                        a pod, this would take on a value like: "spec.containers{name}"
                        (where "name" refers to the name of the container that triggered
                        the event) or if no container name is specified "spec.containers[2]"
                        (container with index 2 in this pod). This syntax is chosen
                        only to have some well-defined way of referencing a part of
                        an object. TODO: this design is not final and this field is
                        subject to change in the future.'
                      type: string
                    kind:
                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                      type: string
                    namespace:
                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                      type: string
                    resourceVersion:
                      description: 'Specific resourceVersion to which this reference
                        is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                      type: string
                    uid:
                      description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                      type: string
              rookCephOperatorConfigCreated:
                type: boolean
              sCCsCreated:
                type: boolean
    served: true
    storage: true
    subresources:
      status: {}
