Loading src/open_exposure_gateway/domain/edge_application_management.py +25 −0 Original line number Diff line number Diff line Loading @@ -363,3 +363,28 @@ class AppInstanceStatusChangeCloudEvent(BaseModel): time: str datacontenttype: str = "application/json" data: AppInstanceStatusChangeData class AppDeploymentStatusChangeData(BaseModel): # Same per-instance shape as AppInstanceStatusChangeData plus appDeploymentId: # the multi-zone deployment callback delivers an array of these (one per # instance), and the consumer subscribed at the deployment level needs the # aggregate id to tie the array back to its POST /deployments (ADR-0008). appDeploymentId: UUID appInstanceId: UUID appId: UUID edgeCloudZoneId: UUID status: str class AppDeploymentStatusChangeCloudEvent(BaseModel): # Identical CloudEvents v1.0 envelope to AppInstanceStatusChangeCloudEvent; # only `type` and the `data` payload differ. onAppDeploymentStatusChange # delivers these as a JSON array (vendored spec: maxItems 100). id: str = Field(max_length=256) source: str = Field(min_length=1, max_length=2048) specversion: str = "1.0" type: str = "org.camaraproject.edge-application-management.v0.app-deployment-status-change" time: str datacontenttype: str = "application/json" data: AppDeploymentStatusChangeData Loading
src/open_exposure_gateway/domain/edge_application_management.py +25 −0 Original line number Diff line number Diff line Loading @@ -363,3 +363,28 @@ class AppInstanceStatusChangeCloudEvent(BaseModel): time: str datacontenttype: str = "application/json" data: AppInstanceStatusChangeData class AppDeploymentStatusChangeData(BaseModel): # Same per-instance shape as AppInstanceStatusChangeData plus appDeploymentId: # the multi-zone deployment callback delivers an array of these (one per # instance), and the consumer subscribed at the deployment level needs the # aggregate id to tie the array back to its POST /deployments (ADR-0008). appDeploymentId: UUID appInstanceId: UUID appId: UUID edgeCloudZoneId: UUID status: str class AppDeploymentStatusChangeCloudEvent(BaseModel): # Identical CloudEvents v1.0 envelope to AppInstanceStatusChangeCloudEvent; # only `type` and the `data` payload differ. onAppDeploymentStatusChange # delivers these as a JSON array (vendored spec: maxItems 100). id: str = Field(max_length=256) source: str = Field(min_length=1, max_length=2048) specversion: str = "1.0" type: str = "org.camaraproject.edge-application-management.v0.app-deployment-status-change" time: str datacontenttype: str = "application/json" data: AppDeploymentStatusChangeData