{
  "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": "ResticRepositorySpec is the specification for a ResticRepository.",
      "properties": {
        "backupStorageLocation": {
          "description": "BackupStorageLocation is the name of the BackupStorageLocation that should contain this repository.",
          "type": "string"
        },
        "maintenanceFrequency": {
          "description": "MaintenanceFrequency is how often maintenance should be run.",
          "type": "string"
        },
        "resticIdentifier": {
          "description": "ResticIdentifier is the full restic-compatible string for identifying this repository.",
          "type": "string"
        },
        "volumeNamespace": {
          "description": "VolumeNamespace is the namespace this restic repository contains pod volume backups for.",
          "type": "string"
        }
      },
      "required": [
        "backupStorageLocation",
        "maintenanceFrequency",
        "resticIdentifier",
        "volumeNamespace"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "ResticRepositoryStatus is the current status of a ResticRepository.",
      "properties": {
        "lastMaintenanceTime": {
          "description": "LastMaintenanceTime is the last time maintenance was run.",
          "format": "date-time",
          "nullable": true,
          "type": "string"
        },
        "message": {
          "description": "Message is a message about the current status of the ResticRepository.",
          "type": "string"
        },
        "phase": {
          "description": "Phase is the current state of the ResticRepository.",
          "enum": [
            "New",
            "Ready",
            "NotReady"
          ],
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
