|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package cdssdk
-
- import (
- "fmt"
-
- "gitlink.org.cn/cloudream/common/pkgs/types"
- "gitlink.org.cn/cloudream/common/utils/serder"
- )
-
- type PublicStoreConfig interface {
- GetPublicStoreType() string
- // 输出调试用的字符串,不要包含敏感信息
- String() string
- }
-
- var _ = serder.UseTypeUnionInternallyTagged(types.Ref(types.NewTypeUnion[PublicStoreConfig](
- (*LocalPublicStorage)(nil),
- (*S3PublicStorage)(nil),
- )), "type")
-
- type LocalPublicStorage struct {
- serder.Metadata `union:"Local"`
- Type string `json:"type"`
- // 调度Package时的Package的根路径
- LoadBase string `json:"loadBase"`
- }
-
- func (s *LocalPublicStorage) GetPublicStoreType() string {
- return "Local"
- }
-
- func (s *LocalPublicStorage) String() string {
- return fmt.Sprintf("Local[LoadBase=%v]", s.LoadBase)
- }
-
- type S3PublicStorage struct {
- serder.Metadata `union:"S3"`
- Type string `json:"type"`
- LoadBase string `json:"loadBase"`
- }
-
- func (s *S3PublicStorage) GetPublicStoreType() string {
- return "S3"
- }
-
- func (s *S3PublicStorage) String() string {
- return fmt.Sprintf("S3[LoadBase=%v]", s.LoadBase)
- }
|