Description Scope
Target
Change
DTO
common/dto/manager/v2/object_storage/request.py — 1 field
Adapter
manager/api/adapters/object_storage/adapter.py — 1 branch
CLI
client/cli/v2/object_storage/commands.py L100-103 — SENTINEL → UNSET
Tests
tests/unit/common/dto/manager/v2/object_storage/test_request.py and any other SENTINEL references
Common work
DTO: X | Sentinel | None = Field(default=SENTINEL) → X | None | Unset = Field(default=UNSET), importing from ai.backend.common.tristate.unset
Adapter: TriState.from_unset for nullable columns, OptionalState.from_unset for non-nullable columns
Unify Field(description=...) wording to "Omit to leave unchanged; null clears." (drop "null clears" for non-nullable fields)
Tests: SENTINEL → UNSET, Sentinel → Unset
News fragment changes/<PR#>.enhance.md
Done when
Zero Sentinel / SENTINEL references remain in this domain
Verified with ./bai admin object-storage update: field omitted → unchanged, null → cleared, value → updated
JIRA Issue: BA-7746
Reactions are currently unavailable
You can’t perform that action at this time.
Scope
common/dto/manager/v2/object_storage/request.py— 1 fieldmanager/api/adapters/object_storage/adapter.py— 1 branchclient/cli/v2/object_storage/commands.pyL100-103 —SENTINEL→UNSETtests/unit/common/dto/manager/v2/object_storage/test_request.pyand any otherSENTINELreferencesCommon work
X | Sentinel | None = Field(default=SENTINEL)→X | None | Unset = Field(default=UNSET), importing fromai.backend.common.tristate.unsetTriState.from_unsetfor nullable columns,OptionalState.from_unsetfor non-nullable columnsField(description=...)wording to "Omit to leave unchanged; null clears." (drop "null clears" for non-nullable fields)SENTINEL→UNSET,Sentinel→Unsetchanges/<PR#>.enhance.mdDone when
Sentinel/SENTINELreferences remain in this domain./bai admin object-storage update: field omitted → unchanged,null→ cleared, value → updatedJIRA Issue: BA-7746