---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: ocsinitializations.ocs.openshift.io
spec:
  additionalPrinterColumns:
  - JSONPath: .metadata.creationTimestamp
    name: Age
    type: date
  - JSONPath: .status.phase
    description: Current Phase
    name: Phase
    type: string
  - JSONPath: .metadata.creationTimestamp
    name: Created At
    type: string
  group: ocs.openshift.io
  names:
    kind: OCSInitialization
    listKind: OCSInitializationList
    plural: ocsinitializations
    singular: ocsinitialization
  scope: Namespaced
  subresources:
    status: {}
  validation:
    openAPIV3Schema:
      description: OCSInitialization is the Schema for the ocsinitialization API
      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
          properties:
            enableCephTools:
              description: EnableCephTools toggles on whether or not the ceph tools
                pod should be deployed. Defaults to false
              type: boolean
          type: object
        status:
          description: OCSInitializationStatus defines the observed state of OCSInitialization
          properties:
            conditions:
              description: Conditions describes the state of the OCSInitialization
                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
            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.
              items:
                description: ObjectReference contains enough information to let you
                  inspect or modify the referred 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
                type: object
              type: array
            rookCephOperatorConfigCreated:
              type: boolean
            sCCsCreated:
              type: boolean
          type: object
      type: object
  version: v1
  versions:
  - name: v1
    served: true
    storage: true
