Add tenant module entitlement administration
This commit is contained in:
@@ -120,6 +120,61 @@ class ModuleStateUpdateRequest(BaseModel):
|
||||
change_request_id: str | None = None
|
||||
|
||||
|
||||
class TenantModuleEntitlementItem(BaseModel):
|
||||
id: str
|
||||
name: str
|
||||
dependencies: list[str] = Field(default_factory=list)
|
||||
runtime_active: bool
|
||||
availability: Literal["unavailable", "available", "forced"]
|
||||
selected: bool
|
||||
effective: bool
|
||||
forced: bool
|
||||
derived_dependency: bool
|
||||
tenant_can_toggle: bool
|
||||
reason: str | None = None
|
||||
|
||||
|
||||
class TenantModuleEntitlementResponse(BaseModel):
|
||||
tenant_id: str
|
||||
revision: int
|
||||
configured: bool
|
||||
available_modules: list[str] = Field(default_factory=list)
|
||||
forced_modules: list[str] = Field(default_factory=list)
|
||||
selected_modules: list[str] = Field(default_factory=list)
|
||||
effective_modules: list[str] = Field(default_factory=list)
|
||||
derived_dependencies: list[str] = Field(default_factory=list)
|
||||
modules: list[TenantModuleEntitlementItem] = Field(default_factory=list)
|
||||
diagnostics: list[dict[str, str]] = Field(default_factory=list)
|
||||
|
||||
|
||||
class TenantModuleTargetItem(BaseModel):
|
||||
id: str
|
||||
slug: str
|
||||
name: str
|
||||
is_active: bool
|
||||
|
||||
|
||||
class TenantModuleTargetListResponse(BaseModel):
|
||||
tenants: list[TenantModuleTargetItem] = Field(default_factory=list)
|
||||
|
||||
|
||||
class SystemTenantModulePolicyUpdateRequest(BaseModel):
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
|
||||
available_modules: list[str] = Field(default_factory=list, max_length=1000)
|
||||
forced_modules: list[str] = Field(default_factory=list, max_length=1000)
|
||||
enabled_modules: list[str] = Field(default_factory=list, max_length=1000)
|
||||
expected_revision: int | None = Field(default=None, ge=0)
|
||||
change_request_id: str | None = None
|
||||
|
||||
|
||||
class TenantModuleSelectionUpdateRequest(BaseModel):
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
|
||||
enabled_modules: list[str] = Field(default_factory=list, max_length=1000)
|
||||
expected_revision: int | None = Field(default=None, ge=0)
|
||||
|
||||
|
||||
class ModuleInstallPlanItem(BaseModel):
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user