apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: datadogmetrics.datadoghq.com
spec:
  group: datadoghq.com
  names:
    kind: DatadogMetric
    listKind: DatadogMetricList
    plural: datadogmetrics
    singular: datadogmetric
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.conditions[?(@.type=='Active')].status
      name: active
      type: string
    - jsonPath: .status.conditions[?(@.type=='Valid')].status
      name: valid
      type: string
    - jsonPath: .status.currentValue
      name: value
      type: string
    - jsonPath: .status.autoscalerReferences
      name: references
      type: string
    - jsonPath: .status.conditions[?(@.type=='Updated')].lastUpdateTime
      name: update time
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: DatadogMetric is the Schema for the datadogmetrics 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: DatadogMetricSpec defines the desired state of DatadogMetric
            properties:
              externalMetricName:
                description: ExternalMetricName is reversed for internal use
                type: string
              query:
                description: Query is the raw datadog query
                type: string
            type: object
          status:
            description: DatadogMetricStatus defines the observed state of DatadogMetric
            properties:
              autoscalerReferences:
                description: List of autoscalers currently using this DatadogMetric
                type: string
              conditions:
                description: Conditions Represents the latest available observations
                  of a DatadogMetric's current state.
                items:
                  description: DatadogMetricCondition describes the state of a DatadogMetric
                    at a certain point.
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another.
                      format: date-time
                      type: string
                    lastUpdateTime:
                      description: Last time the condition was updated.
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition.
                      type: string
                    reason:
                      description: The reason for the condition's last transition.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type of DatadogMetric condition.
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
                x-kubernetes-list-map-keys:
                - type
                x-kubernetes-list-type: map
              currentValue:
                description: Value is the latest value of the metric
                type: string
            required:
            - currentValue
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
