apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: testkind2s.testapp.ext.grafana.app
spec:
  group: testapp.ext.grafana.app
  names:
    kind: TestKind2
    plural: testkind2s
  scope: Namespaced
  versions:
  - name: v1
    schema:
      openAPIV3Schema:
        properties:
          spec:
            properties:
              testField:
                type: string
            required:
            - testField
            type: object
          status:
            properties:
              additionalFields:
                description: additionalFields is reserved for future use
                type: object
                x-kubernetes-preserve-unknown-fields: true
              operatorStates:
                additionalProperties:
                  properties:
                    descriptiveState:
                      description: descriptiveState is an optional more descriptive
                        state field which has no requirements on format
                      type: string
                    details:
                      description: details contains any extra information that is
                        operator-specific
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    lastEvaluation:
                      description: lastEvaluation is the ResourceVersion last evaluated
                      type: string
                    state:
                      description: |-
                        state describes the state of the lastEvaluation.
                        It is limited to three possible states for machine evaluation.
                      enum:
                      - success
                      - in_progress
                      - failed
                      type: string
                  required:
                  - lastEvaluation
                  - state
                  type: object
                description: |-
                  operatorStates is a map of operator ID to operator state evaluations.
                  Any operator which consumes this kind SHOULD add its state evaluation information to this field.
                type: object
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
