apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: extendeddaemonsets.datadoghq.com
spec:
  additionalPrinterColumns:
  - JSONPath: .status.desired
    name: desired
    type: integer
  - JSONPath: .status.current
    name: current
    type: integer
  - JSONPath: .status.ready
    name: ready
    type: integer
  - JSONPath: .status.upToDate
    name: up-to-date
    type: integer
  - JSONPath: .status.available
    name: available
    type: integer
  - JSONPath: .status.state
    name: status
    type: string
  - JSONPath: .status.activeReplicaSet
    name: active rs
    type: string
  - JSONPath: .status.canary.replicaSet
    name: canary rs
    type: string
  - JSONPath: .metadata.creationTimestamp
    name: age
    type: date
  group: datadoghq.com
  names:
    kind: ExtendedDaemonSet
    listKind: ExtendedDaemonSetList
    plural: extendeddaemonsets
    shortNames:
    - eds
    singular: extendeddaemonset
  scope: Namespaced
  subresources:
    status: {}
  validation:
    openAPIV3Schema:
      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/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/api-conventions.md#types-kinds'
          type: string
        metadata:
          type: object
        spec:
          properties:
            selector:
              description: 'A label query over pods that are managed by the daemon
                set. Must match in order to be controlled. If empty, defaulted to
                labels on Pod template. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors'
              type: object
            strategy:
              description: Daemonset deployment strategy
              properties:
                canary:
                  description: Canary deployment configuration
                  properties:
                    duration:
                      type: string
                    replicas:
                      format: int32
                      type: integer
                  type: object
                rollingUpdate:
                  properties:
                    maxParallelPodCreation:
                      description: The maxium number of pods created in parallel.
                        Default value is 250.
                      format: int32
                      type: integer
                    maxPodSchedulerFailure:
                      anyOf:
                      - type: string
                      - type: integer
                      description: 'MaxPodSchedulerFailure the maxinum number of not
                        scheduled on its Node due to a scheduler failure: resource
                        constraints. Value can be an absolute number (ex: 5) or a
                        percentage of total number of DaemonSet pods at the start
                        of the update (ex: 10%). Absolute'
                    maxUnavailable:
                      anyOf:
                      - type: string
                      - type: integer
                      description: 'The maximum number of DaemonSet pods that can
                        be unavailable during the update. Value can be an absolute
                        number (ex: 5) or a percentage of total number of DaemonSet
                        pods at the start of the update (ex: 10%). Absolute number
                        is calculated from percentage by rounding up. This cannot
                        be 0. Default value is 1.'
                    slowStartAdditiveIncrease:
                      anyOf:
                      - type: string
                      - type: integer
                      description: 'SlowStartAdditiveIncrease Value can be an absolute
                        number (ex: 5) or a percentage of total number of DaemonSet
                        pods at the start of the update (ex: 10%). Default value is
                        5.'
                    slowStartIntervalDuration:
                      description: SlowStartIntervalDuration the duration between
                        to 2 Default value is 1min.
                      type: string
                  type: object
              type: object
            template:
              description: 'An object that describes the pod that will be created.
                The ExtendedDaemonSet will create exactly one copy of this pod on
                every node that matches the template''s node selector (or on every
                node if no node selector is specified). More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template'
              type: object
          required:
          - template
          - strategy
          type: object
        status:
          properties:
            activeReplicaSet:
              type: string
            available:
              format: int32
              type: integer
            canary:
              properties:
                nodes:
                  items:
                    type: string
                  type: array
                replicaSet:
                  type: string
              required:
              - replicaSet
              type: object
            current:
              format: int32
              type: integer
            desired:
              format: int32
              type: integer
            ready:
              format: int32
              type: integer
            state:
              type: string
            upToDate:
              format: int32
              type: integer
          required:
          - desired
          - current
          - ready
          - available
          - upToDate
          - activeReplicaSet
          type: object
  version: v1alpha1
  versions:
  - name: v1alpha1
    served: true
    storage: true
