ai-native-devops

Spec · resource-management

Capability:资源生命周期管理(Core 子域,MVP Mock 实现) 上游来源../../../03-ddd-modeling.md §III 战术 @ddd-aggregates 聚合 2(IV-7, IV-8)+ @ddd-domain-interactions Provisioner 接口 责任聚合ResourceInstance


ADDED Requirements

Requirement: 资源实例唯一性(IV-7)

每个 requestId SHALL 至多对应一个 ResourceInstance

Scenario: 重复配置请求被去重


Requirement: 释放后不可重新激活(IV-8)

ResourceInstance 进入 RELEASED 后 SHALL NOT 变回任何活动状态。

Scenario: 释放后再次配置被拒


Requirement: Provisioner 接口契约(D1)

所有 Provisioner 实现(Mock / Aws / Aliyun)SHALL 遵守同一接口契约。

Scenario: MockProvisioner 异步完成

Scenario: 真实 SDK 实现通过同一契约测试


Requirement: 配置失败保留申请状态

配置失败时,上游 ResourceRequest SHALL 保持 APPROVED 状态,不前进也不回滚。

Scenario: Provisioner 抛错


Events

事件 触发条件 载荷
ResourceProvisioned Provisioner 成功完成 requestId, provisionedAt, instanceId
ProvisioningFailed Provisioner 抛错 requestId, error, failedAt

Repository

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>;
}