Capability:资源生命周期管理(Core 子域,MVP Mock 实现) 上游来源:
../../../03-ddd-modeling.md§III 战术@ddd-aggregates聚合 2(IV-7, IV-8)+@ddd-domain-interactionsProvisioner 接口 责任聚合:ResourceInstance
每个 requestId SHALL 至多对应一个 ResourceInstance。
ResourceInstance 已存在 with requestId = R-001ResourceProvisionRequested(R-001)ResourceProvisioned(R-001)ResourceInstance 进入 RELEASED 后 SHALL NOT 变回任何活动状态。
ResourceInstance.status = RELEASEDrequestId 的 ResourceProvisionRequestedResourceAlreadyReleased所有 Provisioner 实现(Mock / Aws / Aliyun)SHALL 遵守同一接口契约。
MockProvisioner 收到 provision(req)ResourceProvisioned(requestId, provisionedAt) 事件AwsProvisioner 实例contracts/provisioner.contract.ts 中所有 case配置失败时,上游 ResourceRequest SHALL 保持 APPROVED 状态,不前进也不回滚。
ProvisioningFailedResourceProvisioned 事件ProvisioningFailed(requestId, error) 事件APPROVED,触发 IV-3 超时告警链路| 事件 | 触发条件 | 载荷 |
|---|---|---|
ResourceProvisioned |
Provisioner 成功完成 | requestId, provisionedAt, instanceId |
ProvisioningFailed |
Provisioner 抛错 | requestId, error, failedAt |
interface ResourceInstanceRepository {
findByRequestId(id: RequestId): Promise<ResourceInstance | null>;
save(instance: ResourceInstance): Promise<void>;
}
interface Provisioner {
provision(req: ProvisioningCommand): Promise<void>;
release(requestId: RequestId): Promise<void>;
}