feat: a missing license can say what the device withholds without it (4.15.0)
CI / test (3.10) (push) Failing after 19s
CI / test (3.11) (push) Successful in 25s
CI / test (3.12) (push) Successful in 29s
CI / test (3.13) (push) Successful in 28s
CI / test (3.10) (pull_request) Failing after 20s
CI / test (3.11) (pull_request) Successful in 26s
CI / test (3.12) (pull_request) Successful in 30s
CI / test (3.13) (pull_request) Successful in 32s
CI / test (3.10) (push) Failing after 19s
CI / test (3.11) (push) Successful in 25s
CI / test (3.12) (push) Successful in 29s
CI / test (3.13) (push) Successful in 28s
CI / test (3.10) (pull_request) Failing after 20s
CI / test (3.11) (pull_request) Successful in 26s
CI / test (3.12) (pull_request) Successful in 30s
CI / test (3.13) (pull_request) Successful in 32s
LicenseDict gets withholds: NotRequired[List[str]]: what a device keeps back for want of a license while the rest of it answers. A Supermicro X10 with only SFT-OOB-LIC answers Redfish but withholds its drives and firmware inventory until DCMS is activated. That makes it partly licensed, not unlicensed, and the caller can tell the two apart (NetOrk/netork#1111).
This commit is contained in:
1 parent
87c9b06bf3
commit
2d1c40c87d
4 files changed
+21
-3
No files matched your search
@@ -22,6 +22,11 @@ class LicenseMixin:
|
||||
Example::
|
||||
|
||||
[{"name": "pve-subscription", "status": "none"},
|
||||
{"name": "vSphere", "status": "active", "edition": "Free"}]
|
||||
{"name": "vSphere", "status": "active", "edition": "Free"},
|
||||
{"name": "DCMS", "status": "missing",
|
||||
"withholds": ["drives", "firmware inventory"]}]
|
||||
|
||||
``withholds`` names what a device keeps back for want of a license while
|
||||
the rest of it answers; a missing license without it may keep back all.
|
||||
"""
|
||||
...
|
||||
@@ -1008,6 +1008,11 @@ class LicenseDict(TypedDict):
|
||||
edition: NotRequired[str] # the edition or level, e.g. "Free", "Enterprise Plus"
|
||||
expires: NotRequired[Optional[str]] # ISO date, None for no expiry
|
||||
detail: NotRequired[str] # the device's own words, e.g. why a feature is refused
|
||||
# What the device withholds without it while the rest works, e.g. ["drives",
|
||||
# "firmware inventory"] on a BMC that answers but wants a further license.
|
||||
# Absent: the device says nothing of the kind, or withholds everything it
|
||||
# would offer with it.
|
||||
withholds: NotRequired[List[str]]
|
||||
|
||||
|
||||
class HypervisorHostDict(TypedDict):
|
||||
|
||||
Reference in new issue
Block a user