{
  "description": "RecurringJob is where Longhorn stores recurring job object.",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": [
        "string",
        "null"
      ]
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": [
        "string",
        "null"
      ]
    },
    "metadata": {
      "type": [
        "object",
        "null"
      ]
    },
    "spec": {
      "additionalProperties": false,
      "description": "RecurringJobSpec defines the desired state of the Longhorn recurring job",
      "properties": {
        "concurrency": {
          "description": "The concurrency of taking the snapshot/backup.",
          "type": [
            "integer",
            "null"
          ]
        },
        "cron": {
          "description": "The cron setting.",
          "type": [
            "string",
            "null"
          ]
        },
        "groups": {
          "description": "The recurring job group.",
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The label of the snapshot/backup.",
          "type": [
            "object",
            "null"
          ]
        },
        "name": {
          "description": "The recurring job name.",
          "type": [
            "string",
            "null"
          ]
        },
        "parameters": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The parameters of the snapshot/backup.\nSupport parameters: \"full-backup-interval\", \"volume-backup-policy\".",
          "type": [
            "object",
            "null"
          ]
        },
        "retain": {
          "description": "The retain count of the snapshot/backup.",
          "type": [
            "integer",
            "null"
          ]
        },
        "task": {
          "description": "The recurring job task.\nCan be \"snapshot\", \"snapshot-force-create\", \"snapshot-cleanup\", \"snapshot-delete\", \"backup\", \"backup-force-create\", \"filesystem-trim\" or \"system-backup\".",
          "enum": [
            "snapshot",
            "snapshot-force-create",
            "snapshot-cleanup",
            "snapshot-delete",
            "backup",
            "backup-force-create",
            "filesystem-trim",
            "system-backup"
          ],
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    },
    "status": {
      "additionalProperties": false,
      "description": "RecurringJobStatus defines the observed state of the Longhorn recurring job",
      "properties": {
        "executionCount": {
          "description": "The number of jobs that have been triggered.",
          "type": [
            "integer",
            "null"
          ]
        },
        "ownerID": {
          "description": "The owner ID which is responsible to reconcile this recurring job CR.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    }
  },
  "type": "object"
}