Plan#

pydantic model nublado.purger.models.plan.Plan#

List of files to be purged, and why.

Parameters:

data (Any)

Show JSON schema
{
   "title": "Plan",
   "description": "List of files to be purged, and why.",
   "type": "object",
   "properties": {
      "directories": {
         "items": {
            "format": "path",
            "type": "string"
         },
         "title": "Directories considered",
         "type": "array"
      },
      "files": {
         "items": {
            "$ref": "#/$defs/FileRecord"
         },
         "title": "Files to purge",
         "type": "array"
      }
   },
   "$defs": {
      "FileClass": {
         "description": "Whether a file is large or small.",
         "enum": [
            "LARGE",
            "SMALL"
         ],
         "title": "FileClass",
         "type": "string"
      },
      "FileReason": {
         "description": "Whether a file is to be purged on access, creation, or modification\ntime grounds.",
         "enum": [
            "ATIME",
            "CTIME",
            "MTIME"
         ],
         "title": "FileReason",
         "type": "string"
      },
      "FileRecord": {
         "description": "A file to be purged, and why.",
         "properties": {
            "path": {
               "format": "path",
               "title": "Path for file to purge.",
               "type": "string"
            },
            "fileClass": {
               "$ref": "#/$defs/FileClass",
               "title": "Class of file to purge (large or small)."
            },
            "fileReason": {
               "$ref": "#/$defs/FileReason",
               "title": "Reason to purge file (access, creation, or modification time)."
            },
            "fileInterval": {
               "format": "duration",
               "title": "Time since the appropriate timestamp.",
               "type": "string"
            },
            "criterionInterval": {
               "format": "duration",
               "title": "Interval at which file is marked for deletion.",
               "type": "string"
            }
         },
         "required": [
            "path",
            "fileClass",
            "fileReason",
            "fileInterval",
            "criterionInterval"
         ],
         "title": "FileRecord",
         "type": "object"
      }
   },
   "required": [
      "directories",
      "files"
   ]
}

Fields:
field directories: Annotated[list[Path]] [Required]#
field files: Annotated[list[FileRecord]] [Required]#