|
- 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 DataBinding interface {
- Noop()
- }
-
- var DataBindingTypeUnion = types.NewTypeUnion[DataBinding](
- (*DatasetBinding)(nil),
- (*ModelBinding)(nil),
- (*CodeBinding)(nil),
- (*ImageBinding)(nil),
- (*HPCBinding)(nil),
- )
-
- var _ = serder.UseTypeUnionInternallyTagged(&DataBindingTypeUnion, "type")
-
- type DataBindingBase struct {
- RootPath string `json:"rootPath"`
- }
-
- func (d *DataBindingBase) Noop() {}
-
- type DatasetBinding struct {
- serder.Metadata `union:"dataset"`
- DataBindingBase
- Type string `json:"type"`
- Name string `json:"name"`
- OperateType string `json:"operateType"`
- ClusterIDs []ClusterID `json:"clusterIDs"`
- Description string `json:"description"`
- Category string `json:"category"`
- PackageID cdssdk.PackageID `json:"packageID"`
- RepositoryName string `json:"repositoryName"`
- ConsumptionPoints int64 `json:"points"`
- }
-
- type ModelBinding struct {
- serder.Metadata `union:"model"`
- DataBindingBase
- Type string `json:"type"`
- Name string `json:"name"`
- OperateType string `json:"operateType"`
- ClusterIDs []ClusterID `json:"clusterIDs"`
- Description string `json:"description"`
- Category string `json:"category"`
- ModelType string `json:"modelType"`
- Env string `json:"env"`
- Version string `json:"version"`
- PackageID cdssdk.PackageID `json:"packageID"`
- RepositoryName string `json:"repositoryName"`
- }
-
- type CodeBinding struct {
- serder.Metadata `union:"code"`
- DataBindingBase
- Type string `json:"type"`
- Name string `json:"name"`
- OperateType string `json:"operateType"`
- ClusterID ClusterID `json:"clusterID"`
- Description string `json:"description"`
- ImageID ImageID `json:"imageID"`
- BootstrapObjectID cdssdk.ObjectID `json:"bootstrapObjectID"`
- FilePath string `json:"filePath"` //当BootstrapObjectID为空时,filePath为必填
- PackageID cdssdk.PackageID `json:"packageID"`
- Output string `json:"output"`
- // 当集群为openi的时候,需要传入分支
- Branch string `json:"branch"`
- }
-
- type HPCBinding struct {
- serder.Metadata `union:"HPCSlurm"`
- DataBindingBase
- Type string `json:"type"`
- Name string `json:"name"`
- OperateType string `json:"operateType"`
- ClusterIDs []ClusterID `json:"clusterIDs"`
- Description string `json:"description"`
- PackageID cdssdk.PackageID `json:"packageID"`
- }
-
- type ImageBinding struct {
- serder.Metadata `union:"image"`
- DataBindingBase
- Type string `json:"type"`
- ID int64 `json:"id"`
- OperateType string `json:"operateType"`
- Name string `json:"name"`
- IDType string `json:"idType"`
- ImageID string `json:"imageID"`
- ClusterID ClusterID `json:"clusterID"`
- }
|