{{- if .Values.crds.managed }}

---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.2.9
  creationTimestamp: null
  name: advancedcronjobs.apps.kruise.io
spec:
  additionalPrinterColumns:
  - JSONPath: .spec.schedule
    description: The schedule of advanced cron job.
    name: Schedule
    type: string
  - JSONPath: .status.type
    description: Type of cron job.
    name: Type
    type: string
  - JSONPath: .status.lastScheduleTime
    description: The last time at which job was scheduled.
    name: LastScheduleTime
    type: date
  - JSONPath: .metadata.creationTimestamp
    description: CreationTimestamp is a timestamp representing the server time when
      this object was created. It is not guaranteed to be set in happens-before order
      across separate operations. Clients may not set this value. It is represented
      in RFC3339 form and is in UTC.
    name: AGE
    type: date
  group: apps.kruise.io
  names:
    kind: AdvancedCronJob
    listKind: AdvancedCronJobList
    plural: advancedcronjobs
    shortNames:
    - acj
    singular: advancedcronjob
  scope: Namespaced
  subresources:
    status: {}
  validation:
    openAPIV3Schema:
      description: AdvancedCronJob is the Schema for the advancedcronjobs 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: AdvancedCronJobSpec defines the desired state of AdvancedCronJob
          properties:
            concurrencyPolicy:
              description: 'Specifies how to treat concurrent executions of a Job.
                Valid values are: - "Allow" (default): allows CronJobs to run concurrently;
                - "Forbid": forbids concurrent runs, skipping next run if previous
                run hasn''t finished yet; - "Replace": cancels currently running job
                and replaces it with a new one'
              enum:
              - Allow
              - Forbid
              - Replace
              type: string
            failedJobsHistoryLimit:
              description: The number of failed finished jobs to retain. This is a
                pointer to distinguish between explicit zero and not specified.
              format: int32
              minimum: 0
              type: integer
            paused:
              description: Paused will pause the cron job.
              type: boolean
            schedule:
              description: The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
              minLength: 0
              type: string
            startingDeadlineSeconds:
              description: Optional deadline in seconds for starting the job if it
                misses scheduled time for any reason.  Missed jobs executions will
                be counted as failed ones.
              format: int64
              minimum: 0
              type: integer
            successfulJobsHistoryLimit:
              description: The number of successful finished jobs to retain. This
                is a pointer to distinguish between explicit zero and not specified.
              format: int32
              minimum: 0
              type: integer
            template:
              description: Specifies the job that will be created when executing a
                CronJob.
              properties:
                broadcastJobTemplate:
                  description: Specifies the broadcastjob that will be created when
                    executing a BroadcastCronJob.
                  properties:
                    metadata:
                      description: Standard object's metadata of the jobs created
                        from this template.
                      type: object
                    spec:
                      description: Specification of the desired behavior of the broadcastjob.
                      properties:
                        completionPolicy:
                          description: CompletionPolicy indicates the completion policy
                            of the job. Default is Always CompletionPolicyType
                          properties:
                            activeDeadlineSeconds:
                              description: ActiveDeadlineSeconds specifies the duration
                                in seconds relative to the startTime that the job
                                may be active before the system tries to terminate
                                it; value must be positive integer. Only works for
                                Always type.
                              format: int64
                              type: integer
                            ttlSecondsAfterFinished:
                              description: ttlSecondsAfterFinished limits the lifetime
                                of a Job that has finished execution (either Complete
                                or Failed). If this field is set, ttlSecondsAfterFinished
                                after the Job finishes, it is eligible to be automatically
                                deleted. When the Job is being deleted, its lifecycle
                                guarantees (e.g. finalizers) will be honored. If this
                                field is unset, the Job won't be automatically deleted.
                                If this field is set to zero, the Job becomes eligible
                                to be deleted immediately after it finishes. This
                                field is alpha-level and is only honored by servers
                                that enable the TTLAfterFinished feature. Only works
                                for Always type
                              format: int32
                              type: integer
                            type:
                              description: Type indicates the type of the CompletionPolicy
                                Default is Always
                              type: string
                          type: object
                        failurePolicy:
                          description: FailurePolicy indicates the behavior of the
                            job, when failed pod is found.
                          properties:
                            restartLimit:
                              description: RestartLimit specifies the number of retries
                                before marking the pod failed.
                              format: int32
                              type: integer
                            type:
                              description: Type indicates the type of FailurePolicyType.
                              type: string
                          type: object
                        parallelism:
                          anyOf:
                          - type: integer
                          - type: string
                          description: Parallelism specifies the maximum desired number
                            of pods the job should run at any given time. The actual
                            number of pods running in steady state will be less than
                            this number when the work left to do is less than max
                            parallelism. Not setting this value means no limit.
                          x-kubernetes-int-or-string: true
                        paused:
                          description: Paused will pause the job.
                          type: boolean
                        template:
                          description: Template describes the pod that will be created
                            when executing a job.
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                      required:
                      - template
                      type: object
                  type: object
                jobTemplate:
                  description: Specifies the job that will be created when executing
                    a CronJob.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
              type: object
          required:
          - schedule
          - template
          type: object
        status:
          description: AdvancedCronJobStatus defines the observed state of AdvancedCronJob
          properties:
            active:
              description: A list of pointers to currently running jobs.
              items:
                description: ObjectReference contains enough information to let you
                  inspect or modify the referred object.
                type: object
                x-kubernetes-preserve-unknown-fields: true
              type: array
            lastScheduleTime:
              description: Information when was the last time the job was successfully
                scheduled.
              format: date-time
              type: string
            type:
              type: string
          type: object
      type: object
  version: v1alpha1
  versions:
  - name: v1alpha1
    served: true
    storage: true
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
{{- end }}
