|
- package schsdk
-
- import (
- "gitlink.org.cn/cloudream/common/pkgs/types"
- cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
- "gitlink.org.cn/cloudream/common/utils/serder"
- )
-
- type AppInstanceID string
-
- type AppSetInfo struct {
- Apps []AppInfo `json:"apps"`
- }
-
- type AppInfo interface {
- GetLocalJobID() string
- GetAppInstanceID() int64
- }
-
- var AppInfoTypeUnion = types.NewTypeUnion[AppInfo](
- (*FederatedLearningAppInfo)(nil),
- (*OtherAppInfo)(nil),
- )
-
- var _ = serder.UseTypeUnionInternallyTagged(&AppInfoTypeUnion, "type")
-
- type AppInfoBase struct {
- LocalJobID string `json:"localJobID"`
- AppInstanceID int64 `json:"appInstanceID"` // 应用实例ID
- }
-
- func (i *AppInfoBase) GetLocalJobID() string {
- return i.LocalJobID
- }
-
- func (i *AppInfoBase) GetAppInstanceID() int64 {
- return i.AppInstanceID
- }
-
- // FederatedLearningAppInfo 云际联邦学习应用信息
- type FederatedLearningAppInfo struct {
- serder.Metadata `union:"federatedLearning"`
- AppInfoBase
- Type string `json:"type"`
-
- AppInstanceID string `json:"appInstanceID"`
- Name string `json:"name"`
- Description string `json:"description"`
-
- ParticipantCount int `json:"participantcount"` //参与者人数
- JobResources JobResources `json:"jobResources"` //作业资源
- ClientObjectID cdssdk.ObjectID `json:"clientObjectID"` //client代码
- ServerObjectID cdssdk.ObjectID `json:"serverObjectID"` //server代码
- ModelBindID cdssdk.ObjectID `json:"modelBindID"` //模型绑定id
- DatasetBindID cdssdk.ObjectID `json:"datasetBindID"` //数据集绑定id
- ImageBindID cdssdk.ObjectID `json:"imageBindID"` //镜像绑定id
- JobSetID JobSetID `json:"jobSetID"` //工作集ID
- Role string `json:"role"` //角色,initiator/participant
- DataReturnJobInfo DataReturnJobInfo `json:"dataReturnJobInfo"` //数据返回作业信息
- }
-
- type OtherAppInfo struct {
- serder.Metadata `union:"other"`
- AppInfoBase
- Type string `json:"type"`
- Name string `json:"name"`
- Description string `json:"description"`
- }
|