- integrations
- Python
- ocx_sdk
CopyReport (1 of 2)
CopyReportclassdataclass#
Re-exported from
ocx_sdk._resultsView sourceclass 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
| Name | Type | Description |
|---|---|---|
source | str | The identifier that was copied. |
target | str | Where it was copied to. |
status | str | What happened, e.g. "copied", or "planned" under
dry_run=True. |
platforms | tuple[CopiedPlatformRow, ...] | One row per platform manifest carried over. |
cascade_tags_written | tuple[str, ...] | Cascading tags updated at the target. |
keep_tags_written | tuple[str, ...] | __ocx.keep.sha256-<hex> tags written at the
target, one per platform manifest. |
referrers_copied | int | Referrer-API attachments carried over. |
sidecars_copied | int | Sidecar-tag attachments carried over. |
sidecar_conflicts | tuple[str, ...] | Sidecar tags that already existed at the target with different content. Non-empty means the call raised. |
blobs | BlobSummary | Blob transfer counts. |
description | str | None | A 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: BlobSummarycascade_tags_writtenattributeinstance attribute#
cascade_tags_written: tuple[str, ...]descriptionattributeinstance attribute#
description: str | Nonekeep_tags_writtenattributeinstance attribute#
keep_tags_written: tuple[str, ...]platformsattributeinstance attribute#
platforms: tuple[CopiedPlatformRow, ...]referrers_copiedattributeinstance attribute#
referrers_copied: int