{{- if and .Values.crds.datadogMetrics (not (.Capabilities.APIVersions.Has "apiextensions.k8s.io/v1/CustomResourceDefinition")) }}
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.4.1
  creationTimestamp: null
  name: datadogmetrics.datadoghq.com
  labels:
    helm.sh/chart: '{{ include "datadog-crds.chart" . }}'
    app.kubernetes.io/managed-by: '{{ .Release.Service }}'
    app.kubernetes.io/name: '{{ include "datadog-crds.name" . }}'
    app.kubernetes.io/instance: '{{ .Release.Name }}'
spec:
  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
  group: datadoghq.com
  names:
    kind: DatadogMetric
    listKind: DatadogMetricList
    plural: datadogmetrics
    singular: datadogmetric
  scope: Namespaced
  subresources:
    status: {}
  validation:
    openAPIV3Schema:
      description: DatadogMetric allows autoscaling on arbitrary Datadog query
      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
            maxAge:
              description: MaxAge provides the max age for the metric query (overrides the default setting `external_metrics_provider.max_age`)
              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
            currentValue:
              description: Value is the latest value of the metric
              type: string
          required:
            - currentValue
          type: object
      type: object
  version: v1alpha1
  versions:
    - name: v1alpha1
      served: true
      storage: true
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
{{- end }}
