Zum Inhalt
HALOWERK

Finopswerk

incremental snapshot retained blocks

From original one-volume writes and completed snapshot/delete events reconstruct logical images, referenced generations, perstep additions/frees and surviving block counts. Shared versions remain after deletion; deleting a snapshot does not alter live volume. One missing write effect preserves both whole histories. Logical nonempty equal-block units only, no physical compression/GB/price/bill certification, archive/recycle/AMI/Backup behavior or cloud operation. A schema-valid unknown is a.

POST https://finops.halowerk.com/v1/incremental-snapshot-retained-blocks

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
block_countintegerJa
operationsarrayJa
reportobjectJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "properties": {
    "block_count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 8
    },
    "operations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "kind": {
            "enum": [
              "write",
              "snapshot",
              "delete"
            ]
          },
          "block": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 7
              },
              {
                "type": "null"
              }
            ]
          },
          "version": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[a-z][a-z0-9_]{0,15}$",
                "minLength": 1,
                "maxLength": 16
              },
              {
                "type": "null"
              }
            ]
          },
          "snapshot": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[a-z][a-z0-9_]{0,15}$",
                "minLength": 1,
                "maxLength": 16
              },
              {
                "type": "null"
              }
            ]
          },
          "applied": {
            "enum": [
              true,
              false,
              null
            ]
          }
        },
        "required": [
          "kind",
          "block",
          "version",
          "snapshot",
          "applied"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 12
    },
    "report": {
      "type": "object",
      "properties": {
        "events": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "live_snapshots": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 32
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "logical_blocks": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 32
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "retained_blocks": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 32
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "added_blocks": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 32
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "freed_blocks": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 32
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "live_snapshots",
              "logical_blocks",
              "retained_blocks",
              "added_blocks",
              "freed_blocks"
            ],
            "additionalProperties": false
          },
          "minItems": 1,
          "maxItems": 12
        },
        "snapshots": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^[a-z][a-z0-9_]{0,15}$",
                    "minLength": 1,
                    "maxLength": 16
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "versions": {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^[a-z][a-z0-9_]{0,15}$",
                      "minLength": 1,
                      "maxLength": 16
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "minItems": 1,
                "maxItems": 8
              }
            },
            "required": [
              "id",
              "versions"
            ],
            "additionalProperties": false
          },
          "minItems": 0,
          "maxItems": 4
        },
        "live_volume": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[a-z][a-z0-9_]{0,15}$",
                "minLength": 1,
                "maxLength": 16
              },
              {
                "type": "null"
              }
            ]
          },
          "minItems": 1,
          "maxItems": 8
        },
        "version_refs": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "version": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^[a-z][a-z0-9_]{0,15}$",
                    "minLength": 1,
                    "maxLength": 16
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "refs": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 32
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "version",
              "refs"
            ],
            "additionalProperties": false
          },
          "minItems": 0,
          "maxItems": 12
        }
      },
      "required": [
        "events",
        "snapshots",
        "live_volume",
        "version_refs"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "block_count",
    "operations",
    "report"
  ],
  "additionalProperties": false
}

Originalschema öffnen

Veröffentlichtes Eingabebeispiel

{
  "block_count": 4,
  "operations": [
    {
      "kind": "write",
      "block": 0,
      "version": "v1",
      "snapshot": null,
      "applied": true
    },
    {
      "kind": "write",
      "block": 1,
      "version": "v2",
      "snapshot": null,
      "applied": true
    },
    {
      "kind": "snapshot",
      "block": null,
      "version": null,
      "snapshot": "s1",
      "applied": true
    },
    {
      "kind": "write",
      "block": 0,
      "version": "v3",
      "snapshot": null,
      "applied": true
    },
    {
      "kind": "snapshot",
      "block": null,
      "version": null,
      "snapshot": "s2",
      "applied": true
    },
    {
      "kind": "snapshot",
      "block": null,
      "version": null,
      "snapshot": "s3",
      "applied": true
    },
    {
      "kind": "delete",
      "block": null,
      "version": null,
      "snapshot": "s1",
      "applied": true
    },
    {
      "kind": "write",
      "block": 2,
      "version": "v4",
      "snapshot": null,
      "applied": true
    },
    {
      "kind": "snapshot",
      "block": null,
      "version": null,
      "snapshot": "s4",
      "applied": true
    },
    {
      "kind": "delete",
      "block": null,
      "version": null,
      "snapshot": "s3",
      "applied": true
    }
  ],
  "report": {
    "events": [
      {
        "live_snapshots": 0,
        "logical_blocks": 0,
        "retained_blocks": 0,
        "added_blocks": 0,
        "freed_blocks": 0
      },
      {
        "live_snapshots": 0,
        "logical_blocks": 0,
        "retained_blocks": 0,
        "added_blocks": 0,
        "freed_blocks": 0
      },
      {
        "live_snapshots": 1,
        "logical_blocks": 2,
        "retained_blocks": 2,
        "added_blocks": 2,
        "freed_blocks": 0
      },
      {
        "live_snapshots": 1,
        "logical_blocks": 2,
        "retained_blocks": 2,
        "added_blocks": 0,
        "freed_blocks": 0
      },
      {
        "live_snapshots": 2,
        "logical_blocks": 4,
        "retained_blocks": 3,
        "added_blocks": 1,
        "freed_blocks": 0
      },
      {
        "live_snapshots": 3,
        "logical_blocks": 6,
        "retained_blocks": 3,
        "added_blocks": 0,
        "freed_blocks": 0
      },
      {
        "live_snapshots": 2,
        "logical_blocks": 4,
        "retained_blocks": 2,
        "added_blocks": 0,
        "freed_blocks": 1
      },
      {
        "live_snapshots": 2,
        "logical_blocks": 4,
        "retained_blocks": 2,
        "added_blocks": 0,
        "freed_blocks": 0
      },
      {
        "live_snapshots": 3,
        "logical_blocks": 7,
        "retained_blocks": 3,
        "added_blocks": 1,
        "freed_blocks": 0
      },
      {
        "live_snapshots": 2,
        "logical_blocks": 5,
        "retained_blocks": 3,
        "added_blocks": 0,
        "freed_blocks": 0
      }
    ],
    "snapshots": [
      {
        "id": "s2",
        "versions": [
          "v3",
          "v2",
          "empty",
          "empty"
        ]
      },
      {
        "id": "s4",
        "versions": [
          "v3",
          "v2",
          "v4",
          "empty"
        ]
      }
    ],
    "live_volume": [
      "v3",
      "v2",
      "v4",
      "empty"
    ],
    "version_refs": [
      {
        "version": "v1",
        "refs": 0
      },
      {
        "version": "v2",
        "refs": 2
      },
      {
        "version": "v3",
        "refs": 2
      },
      {
        "version": "v4",
        "refs": 1
      }
    ]
  }
}

Ergebnis & Dokumentation

Maschinenlesbare Dokumentation dieses Hubs

Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-07, 02:42 UTC.

Weitere Endpunkte dieses Hubs

Alle Endpunkte dieses Hubs →