Skip to content
ocx
install

CopyReport (1 of 2)

CopyReportclassdataclass#

Re-exported from ocx_sdk._resultsView source
class CopyReport(source: str, target: str, status: str, platforms: tuple[CopiedPlatformRow, ...], cascade_tags_written: tuple[str, ...], keep_tags_written: tuple[str, ...], referrers_copied: int, sidecars_copied: int, sidecar_conflicts: tuple[str, ...], blobs: BlobSummary, description: str | None)

ocx package copy (C-015).

Payload is bare (D11) — from_json reads the JSON root directly, no envelope to unwrap. Non-empty sidecar_conflicts means exit 65 and therefore raises; because the payload is bare, partial_report(err) returns the same document this from_json parses, so the conflict list is readable from the failure itself.

All eleven fields verified always present against package_copy.rs:97-124 — no skip_serializing_if anywhere on this struct, description included (upstream comment: “serializes as null, so the key is always there to branch on”). No D7 reordering needed: this is upstream’s own field order, verbatim.

Attributes

NameTypeDescription
sourcestrThe identifier that was copied.
targetstrWhere it was copied to.
statusstrWhat happened, e.g. "copied", or "planned" under dry_run=True.
platformstuple[CopiedPlatformRow, ...]One row per platform manifest carried over.
cascade_tags_writtentuple[str, ...]Cascading tags updated at the target.
keep_tags_writtentuple[str, ...]__ocx.keep.sha256-<hex> tags written at the target, one per platform manifest.
referrers_copiedintReferrer-API attachments carried over.
sidecars_copiedintSidecar-tag attachments carried over.
sidecar_conflictstuple[str, ...]Sidecar tags that already existed at the target with different content. Non-empty means the call raised.
blobsBlobSummaryBlob transfer counts.
descriptionstr | NoneA DescriptionOutcome value — "copied", "absent", or "skipped-dry-run" — not the description text itself. Always present (null when there is nothing to report), not absent-when-unset.

blobsattributeinstance attribute#

blobs: BlobSummary

cascade_tags_writtenattributeinstance attribute#

cascade_tags_written: tuple[str, ...]

descriptionattributeinstance attribute#

description: str | None

keep_tags_writtenattributeinstance attribute#

keep_tags_written: tuple[str, ...]

platformsattributeinstance attribute#

platforms: tuple[CopiedPlatformRow, ...]

referrers_copiedattributeinstance attribute#

referrers_copied: int