apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: multiclusterengines.multicluster.openshift.io
spec:
  group: multicluster.openshift.io
  names:
    kind: MultiClusterEngine
    listKind: MultiClusterEngineList
    plural: multiclusterengines
    shortNames:
    - mce
    singular: multiclusterengine
  scope: Cluster
  versions:
  - additionalPrinterColumns:
    - description: The overall state of the MultiClusterEngine
      jsonPath: .status.phase
      name: Status
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: MultiClusterEngine is the Schema for the multiclusterengines
          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: MultiClusterEngineSpec defines the desired state of MultiClusterEngine
            properties:
              imagePullSecret:
                description: Override pull secret for accessing MultiClusterEngine
                  operand and endpoint images
                type: string
              nodeSelector:
                additionalProperties:
                  type: string
                description: Set the nodeselectors
                type: object
              targetNamespace:
                description: Location where MCE resources will be placed
                type: string
              tolerations:
                description: Tolerations causes all components to tolerate any taints.
                items:
                  description: The pod this Toleration is attached to tolerates any
                    taint that matches the triple <key,value,effect> using the matching
                    operator <operator>.
                  properties:
                    effect:
                      description: Effect indicates the taint effect to match. Empty
                        means match all taint effects. When specified, allowed values
                        are NoSchedule, PreferNoSchedule and NoExecute.
                      type: string
                    key:
                      description: Key is the taint key that the toleration applies
                        to. Empty means match all taint keys. If the key is empty,
                        operator must be Exists; this combination means to match all
                        values and all keys.
                      type: string
                    operator:
                      description: Operator represents a key's relationship to the
                        value. Valid operators are Exists and Equal. Defaults to Equal.
                        Exists is equivalent to wildcard for value, so that a pod
                        can tolerate all taints of a particular category.
                      type: string
                    tolerationSeconds:
                      description: TolerationSeconds represents the period of time
                        the toleration (which must be of effect NoExecute, otherwise
                        this field is ignored) tolerates the taint. By default, it
                        is not set, which means tolerate the taint forever (do not
                        evict). Zero and negative values will be treated as 0 (evict
                        immediately) by the system.
                      format: int64
                      type: integer
                    value:
                      description: Value is the taint value the toleration matches
                        to. If the operator is Exists, the value should be empty,
                        otherwise just a regular string.
                      type: string
                  type: object
                type: array
            type: object
          status:
            description: MultiClusterEngineStatus defines the observed state of MultiClusterEngine
            properties:
              components:
                items:
                  description: ComponentCondition contains condition information for
                    tracked components
                  properties:
                    kind:
                      description: The resource kind this condition represents
                      type: string
                    lastTransitionTime:
                      description: LastTransitionTime is the last time the condition
                        changed from one status to another.
                      format: date-time
                      type: string
                    message:
                      description: Message is a human-readable message indicating
                        details about the last status change.
                      type: string
                    name:
                      description: The component name
                      type: string
                    reason:
                      description: Reason is a (brief) reason for the condition's
                        last status change.
                      type: string
                    status:
                      description: Status is the status of the condition. One of True,
                        False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the cluster condition.
                      type: string
                  type: object
                type: array
              conditions:
                items:
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time the condition
                        changed from one status to another.
                      format: date-time
                      type: string
                    lastUpdateTime:
                      description: The last time this condition was updated.
                      format: date-time
                      type: string
                    message:
                      description: Message is a human-readable message indicating
                        details about the last status change.
                      type: string
                    reason:
                      description: Reason is a (brief) reason for the condition's
                        last status change.
                      type: string
                    status:
                      description: Status is the status of the condition. One of True,
                        False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the cluster condition.
                      type: string
                  type: object
                type: array
              phase:
                description: Latest observed overall state
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []