Documentation
¶
Index ¶
- Constants
- type APIV1Client
- func (c *APIV1Client) Cluster() ClusterInterface
- func (c *APIV1Client) FileSystem() FileSystemInterface
- func (c *APIV1Client) Flavour() FlavourInterface
- func (c *APIV1Client) Job() JobInterface
- func (c *APIV1Client) Queue() QueueInterface
- func (c *APIV1Client) RESTClient() *core.PaddleFlowClient
- func (c *APIV1Client) User() UserInterface
- type APIV1Interface
- type ClusterCommonInfo
- type ClusterGetter
- type ClusterInfo
- type ClusterInterface
- type CommonJobInfo
- type CreateClusterRequest
- type CreateClusterResponse
- type CreateDisJobRequest
- type CreateFileSystemRequest
- type CreateFileSystemResponse
- type CreateFlavourRequest
- type CreateFlavourResponse
- type CreateJobResponse
- type CreateQueueRequest
- type CreateQueueResponse
- type CreateSingleJobRequest
- type CreateWfJobRequest
- type DeleteFileSystemRequest
- type DistributedJobSpec
- type DistributedRuntimeInfo
- type FileSystemGetter
- type FileSystemInterface
- type Flavour
- type FlavourGetter
- type FlavourInterface
- type GetClusterResponse
- type GetFileSystemRequest
- type GetFileSystemResponse
- type GetJobResponse
- type GetQueueResponse
- type JobGetter
- type JobInterface
- type JobSpec
- type ListClusterRequest
- type ListClusterResponse
- type ListFlavourRequest
- type ListFlavourResponse
- type ListJobRequest
- type ListJobResponse
- type ListQueueRequest
- type ListQueueResponse
- type LoginInfo
- type LoginResponse
- type Member
- type MemberSpec
- type Queue
- type QueueGetter
- type QueueInterface
- type RuntimeInfo
- type SchedulingPolicy
- type UpdateClusterRequest
- type UpdateClusterResponse
- type UpdateFlavourRequest
- type UpdateFlavourResponse
- type UpdateJobRequest
- type UpdateQueueRequest
- type UpdateQueueResponse
- type UserGetter
- type UserInterface
- type WorkflowRuntimeInfo
Constants ¶
const ( ClusterApi = Prefix + "/cluster" KeyMarker = "marker" KeyMaxKeys = "maxKeys" KeyClusterNameList = "clusterNames" KeyClusterStatus = "clusterStatus" )
const ( FsApi = Prefix + "/fs" KeyUsername = "username" )
const ( JobApi = Prefix + "/job" TypeSingle = "single" TypeDistributed = "distributed" TypeWorkflow = "workflow" KeyAction = "action" KeyStatus = "status" KeyTimestamp = "timestamp" KeyStartTime = "startTime" KeyQueue = "queue" KeyLabels = "labels" )
const ( QueueApi = Prefix + "/queue" KeyName = "name" )
const ( Prefix = util.PaddleflowRouterPrefix + util.PaddleflowRouterVersionV1 LoginApi = Prefix + "/login" )
const (
FlavourAPI = Prefix + "/flavour"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIV1Client ¶
type APIV1Client struct {
// contains filtered or unexported fields
}
APIV1Client is used to interact with features provided by the group.
func NewForConfig ¶
func NewForConfig(config *core.PaddleFlowClientConfiguration) (*APIV1Client, error)
func (*APIV1Client) Cluster ¶
func (c *APIV1Client) Cluster() ClusterInterface
func (*APIV1Client) FileSystem ¶
func (c *APIV1Client) FileSystem() FileSystemInterface
func (*APIV1Client) Flavour ¶ added in v0.14.3
func (c *APIV1Client) Flavour() FlavourInterface
func (*APIV1Client) Job ¶
func (c *APIV1Client) Job() JobInterface
func (*APIV1Client) Queue ¶
func (c *APIV1Client) Queue() QueueInterface
func (*APIV1Client) RESTClient ¶
func (c *APIV1Client) RESTClient() *core.PaddleFlowClient
RESTClient returns a RESTClient that is used to communicate with API server by this client implementation.
func (*APIV1Client) User ¶
func (c *APIV1Client) User() UserInterface
type APIV1Interface ¶
type APIV1Interface interface { UserGetter FileSystemGetter ClusterGetter QueueGetter FlavourGetter JobGetter }
type ClusterCommonInfo ¶ added in v0.14.3
type ClusterCommonInfo struct { ID string `json:"clusterId"` // 集群id Description string `json:"description"` // 集群描述 Endpoint string `json:"endpoint"` // 集群endpoint, 比如 http://10.11.11.47:8080 Source string `json:"source"` // 来源, 比如 OnPremise (内部部署)、AWS、CCE ClusterType string `json:"clusterType"` // 集群类型,比如kubernetes/local/yarn Version string `json:"version"` // 集群版本v1.16 Status string `json:"status"` // 集群状态,可选值为online, offline Credential string `json:"credential"` // 用于存储集群的凭证信息,比如k8s的kube_config配置 Setting string `json:"setting"` // 存储额外配置信息 NamespaceList []string `json:"namespaceList"` // 命名空间列表,json类型,如["ns1", "ns2"] }
type ClusterGetter ¶
type ClusterGetter interface {
Cluster() ClusterInterface
}
type ClusterInfo ¶ added in v0.14.3
type ClusterInfo struct { ID string CreatedAt time.Time UpdatedAt time.Time Name string `json:"clusterName"` // 集群名字 Description string `json:"description"` // 集群描述 Endpoint string `json:"endpoint"` // 集群endpoint, 比如 http://10.11.11.47:8080 Source string `json:"source"` // 来源, 比如 OnPremise (内部部署)、AWS、CCE ClusterType string `json:"clusterType"` // 集群类型,比如Kubernetes/Local Version string `json:"version"` // 集群版本,比如v1.16 Status string `json:"status"` // 集群状态,可选值为online, offline Credential string `json:"credential"` // 用于存储集群的凭证信息,比如k8s的kube_config配置 Setting string `json:"setting"` // 存储额外配置信息 RawNamespaceList string `json:"-"` // 命名空间列表,json类型,如["ns1", "ns2"] NamespaceList []string `json:"namespaceList"` // 命名空间列表,json类型,如["ns1", "ns2"] DeletedAt string `json:"-"` // 删除标识,非空表示软删除 }
type ClusterInterface ¶
type ClusterInterface interface { Create(ctx context.Context, request *CreateClusterRequest, token string) (*CreateClusterResponse, error) Get(ctx context.Context, clusterName string, token string) (*GetClusterResponse, error) List(ctx context.Context, request *ListClusterRequest, token string) (*ListClusterResponse, error) Update(ctx context.Context, clusterName string, request *UpdateClusterRequest, token string) (*UpdateClusterResponse, error) Delete(ctx context.Context, clusterName string, token string) error }
type CommonJobInfo ¶ added in v0.14.3
type CommonJobInfo struct { ID string `json:"id"` Name string `json:"name"` Labels map[string]string `json:"labels"` Annotations map[string]string `json:"annotations"` SchedulingPolicy SchedulingPolicy `json:"schedulingPolicy"` UserName string `json:",omitempty"` }
CommonJobInfo the common fields for jobs
type CreateClusterRequest ¶ added in v0.14.3
type CreateClusterRequest struct { ClusterCommonInfo Name string `json:"clusterName"` // 集群名字 }
type CreateClusterResponse ¶ added in v0.14.3
type CreateClusterResponse struct { ID string CreatedAt time.Time UpdatedAt time.Time Name string // 集群名字 Description string // 集群描述 Endpoint string // 集群endpoint, 比如 http://10.11.11.47:8080 Source string // 来源, 比如 OnPremise (内部部署)、AWS、CCE ClusterType string // 集群类型,比如Kubernetes/Local Version string // 集群版本,比如v1.16 Status string // 集群状态,可选值为online, offline Credential string // 用于存储集群的凭证信息,比如k8s的kube_config配置 Setting string // 存储额外配置信息 RawNamespaceList string // 命名空间列表,json类型,如["ns1", "ns2"] NamespaceList []string // 命名空间列表,json类型,如["ns1", "ns2"] DeletedAt string // 删除标识,非空表示软删除 }
type CreateDisJobRequest ¶ added in v0.14.3
type CreateDisJobRequest struct { CommonJobInfo `json:",inline"` Framework schema.Framework `json:"framework"` Members []MemberSpec `json:"members"` ExtensionTemplate map[string]interface{} `json:"extensionTemplate"` }
CreateDisJobRequest convey request for create distributed job
type CreateFileSystemRequest ¶ added in v0.14.3
type CreateFileSystemResponse ¶ added in v0.14.3
type CreateFlavourRequest ¶ added in v0.14.3
type CreateFlavourRequest struct { Name string `json:"name"` CPU string `json:"cpu"` Mem string `json:"mem"` ScalarResources schema.ScalarResourcesType `json:"scalarResources,omitempty"` }
CreateFlavourRequest convey request for create flavour
type CreateFlavourResponse ¶ added in v0.14.3
type CreateFlavourResponse struct {
FlavourName string `json:"name"`
}
CreateFlavourResponse convey response for create flavour
type CreateJobResponse ¶ added in v0.14.3
type CreateJobResponse struct {
ID string `json:"id"`
}
CreateJobResponse convey response for create job
type CreateQueueRequest ¶ added in v0.14.3
type CreateQueueRequest struct { Name string `json:"name"` Namespace string `json:"namespace"` ClusterName string `json:"clusterName"` QuotaType string `json:"quotaType"` MaxResources schema.ResourceInfo `json:"maxResources"` MinResources schema.ResourceInfo `json:"minResources"` Location map[string]string `json:"location"` // 任务调度策略 SchedulingPolicy []string `json:"schedulingPolicy,omitempty"` Status string `json:"-"` }
type CreateQueueResponse ¶ added in v0.14.3
type CreateQueueResponse struct {
QueueName string `json:"name"`
}
type CreateSingleJobRequest ¶ added in v0.14.3
type CreateSingleJobRequest struct { CommonJobInfo `json:",inline"` JobSpec `json:",inline"` }
CreateSingleJobRequest convey request for create job
type CreateWfJobRequest ¶ added in v0.14.3
type CreateWfJobRequest struct { CommonJobInfo `json:",inline"` Framework schema.Framework `json:"framework"` Members []MemberSpec `json:"members"` ExtensionTemplate map[string]interface{} `json:"extensionTemplate"` }
CreateWfJobRequest convey request for create workflow job
type DeleteFileSystemRequest ¶ added in v0.14.3
type DistributedJobSpec ¶ added in v0.14.3
type DistributedRuntimeInfo ¶ added in v0.14.3
type DistributedRuntimeInfo struct { Name string `json:"name,omitempty"` Namespace string `json:"namespace,omitempty"` ID string `json:"id,omitempty"` Status string `json:"status,omitempty"` Runtimes []RuntimeInfo `json:"runtimes,omitempty"` }
type FileSystemGetter ¶
type FileSystemGetter interface {
FileSystem() FileSystemInterface
}
type FileSystemInterface ¶
type FileSystemInterface interface { Create(ctx context.Context, request *CreateFileSystemRequest, token string) (*CreateFileSystemResponse, error) Get(ctx context.Context, request *GetFileSystemRequest, token string) (*GetFileSystemResponse, error) Delete(ctx context.Context, request *DeleteFileSystemRequest, token string) error }
type Flavour ¶ added in v0.14.3
type Flavour struct { ID string `json:"id"` CreatedAt time.Time `json:"-"` UpdatedAt time.Time `json:"-"` Pk int64 `json:"-" gorm:"primaryKey;autoIncrement"` Name string `json:"name" gorm:"uniqueIndex"` ClusterID string `json:"-" gorm:"column:cluster_id;default:''"` ClusterName string `json:"-" gorm:"column:cluster_name;->"` CPU string `json:"cpu" gorm:"column:cpu"` Mem string `json:"mem" gorm:"column:mem"` RawScalarResources string `json:"-" gorm:"column:scalar_resources;type:text;default:'{}'"` ScalarResources schema.ScalarResourcesType `json:"scalarResources" gorm:"-"` UserName string `json:"-" gorm:"column:user_name"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` }
type FlavourGetter ¶ added in v0.14.3
type FlavourGetter interface {
Flavour() FlavourInterface
}
type FlavourInterface ¶ added in v0.14.3
type FlavourInterface interface { Create(ctx context.Context, request *CreateFlavourRequest, token string) (*CreateFlavourResponse, error) Update(ctx context.Context, request *UpdateFlavourRequest, token string) (*UpdateFlavourResponse, error) Get(ctx context.Context, name string, token string) (*Flavour, error) List(ctx context.Context, request *ListFlavourRequest, token string) (*ListFlavourResponse, error) Delete(ctx context.Context, name string, token string) error }
type GetClusterResponse ¶ added in v0.14.3
type GetClusterResponse struct {
ClusterInfo
}
type GetFileSystemRequest ¶ added in v0.14.3
type GetFileSystemResponse ¶ added in v0.14.3
type GetJobResponse ¶ added in v0.14.3
type GetJobResponse struct { CreateSingleJobRequest `json:",inline"` DistributedJobSpec `json:",inline"` Status string `json:"status"` Message string `json:"message"` AcceptTime string `json:"acceptTime"` StartTime string `json:"startTime"` FinishTime string `json:"finishTime"` Runtime *RuntimeInfo `json:"runtime,omitempty"` DistributedRuntime *DistributedRuntimeInfo `json:"distributedRuntime,omitempty"` WorkflowRuntime *WorkflowRuntimeInfo `json:"workflowRuntime,omitempty"` UpdateTime time.Time `json:"-"` }
type GetQueueResponse ¶ added in v0.14.3
type GetQueueResponse struct {
Queue
}
type JobGetter ¶
type JobGetter interface {
Job() JobInterface
}
type JobInterface ¶
type JobInterface interface { Create(ctx context.Context, single *CreateSingleJobRequest, distributed *CreateDisJobRequest, wf *CreateWfJobRequest, token string) (*CreateJobResponse, error) Get(ctx context.Context, jobID string, token string) (*GetJobResponse, error) List(ctx context.Context, request *ListJobRequest, token string) (*ListJobResponse, error) Update(ctx context.Context, jobID string, request *UpdateJobRequest, token string) error Stop(ctx context.Context, jobID string, token string) error Delete(ctx context.Context, jobID string, token string) error }
type JobSpec ¶ added in v0.14.3
type JobSpec struct { Flavour schema.Flavour `json:"flavour"` FS schema.FileSystem `json:"fs"` ExtraFS []schema.FileSystem `json:"extraFS"` Image string `json:"image"` Env map[string]string `json:"env"` Command string `json:"command"` Args []string `json:"args"` Port int `json:"port"` ExtensionTemplate map[string]interface{} `json:"extensionTemplate"` }
JobSpec the spec fields for jobs
type ListClusterRequest ¶ added in v0.14.3
type ListClusterResponse ¶ added in v0.14.3
type ListClusterResponse struct { common.MarkerInfo ClusterList []ClusterInfo `json:"clusterList"` }
type ListFlavourRequest ¶ added in v0.14.3
type ListFlavourResponse ¶ added in v0.14.3
type ListFlavourResponse struct { common.MarkerInfo FlavourList []Flavour `json:"flavourList"` }
ListFlavourResponse convey response for list flavour
type ListJobRequest ¶ added in v0.14.3
type ListJobRequest struct { Queue string `json:"queue,omitempty"` Status string `json:"status,omitempty"` Timestamp int64 `json:"timestamp,omitempty"` StartTime string `json:"startTime,omitempty"` Labels map[string]string `json:"labels,omitempty"` Marker string `json:"marker"` MaxKeys int `json:"maxKeys"` }
type ListJobResponse ¶ added in v0.14.3
type ListJobResponse struct { common.MarkerInfo JobList []*GetJobResponse `json:"jobList"` }
type ListQueueRequest ¶ added in v0.14.3
type ListQueueResponse ¶ added in v0.14.3
type ListQueueResponse struct { common.MarkerInfo QueueList []Queue `json:"queueList"` }
type LoginResponse ¶ added in v0.14.3
type LoginResponse struct {
Authorization string `json:"authorization"`
}
type MemberSpec ¶ added in v0.14.3
type MemberSpec struct { CommonJobInfo `json:",inline"` JobSpec `json:",inline"` Role string `json:"role"` Replicas int `json:"replicas"` }
type Queue ¶ added in v0.14.3
type Queue struct { ID string `json:"id"` CreatedAt time.Time `json:"-"` UpdatedAt time.Time `json:"-"` Name string `json:"name"` Namespace string `json:"namespace"` ClusterId string `json:"-"` ClusterName string `json:"clusterName"` QuotaType string `json:"quotaType"` RawMinResources string `json:"-"` MinResources schema.ResourceInfo `json:"minResources"` RawMaxResources string `json:"-"` MaxResources schema.ResourceInfo `json:"maxResources"` RawLocation string `json:"-"` Location map[string]string `json:"location"` // 任务调度策略 RawSchedulingPolicy string `json:"-"` SchedulingPolicy []string `json:"schedulingPolicy,omitempty"` Status string `json:"status"` }
type QueueGetter ¶
type QueueGetter interface {
Queue() QueueInterface
}
type QueueInterface ¶
type QueueInterface interface { Create(ctx context.Context, request *CreateQueueRequest, token string) (*CreateQueueResponse, error) Get(ctx context.Context, queueName string, token string) (*GetQueueResponse, error) List(ctx context.Context, request *ListQueueRequest, token string) (*ListQueueResponse, error) Update(ctx context.Context, queueName string, request *UpdateQueueRequest, token string) (*UpdateQueueResponse, error) Delete(ctx context.Context, queueName string, token string) error }
type RuntimeInfo ¶ added in v0.14.3
type SchedulingPolicy ¶ added in v0.14.3
type SchedulingPolicy struct { Queue string `json:"queue"` QueueID string `json:"-"` Priority string `json:"priority,omitempty"` }
SchedulingPolicy indicate queueID/priority
type UpdateClusterRequest ¶ added in v0.14.3
type UpdateClusterRequest struct {
ClusterCommonInfo
}
type UpdateClusterResponse ¶ added in v0.14.3
type UpdateClusterResponse struct {
ClusterInfo
}
type UpdateFlavourRequest ¶ added in v0.14.3
type UpdateFlavourRequest struct { Name string `json:"-"` CPU string `json:"cpu,omitempty"` Mem string `json:"mem,omitempty"` ScalarResources schema.ScalarResourcesType `json:"scalarResources,omitempty"` }
UpdateFlavourRequest convey request for update flavour
type UpdateFlavourResponse ¶ added in v0.14.3
type UpdateFlavourResponse struct {
Flavour
}
UpdateFlavourResponse convey response for update flavour
type UpdateJobRequest ¶ added in v0.14.3
type UpdateQueueRequest ¶ added in v0.14.3
type UpdateQueueRequest struct { Name string `json:"-"` Namespace string `json:"-"` ClusterName string `json:"-"` QuotaType string `json:"-"` MaxResources schema.ResourceInfo `json:"maxResources,omitempty"` MinResources schema.ResourceInfo `json:"minResources,omitempty"` Location map[string]string `json:"location,omitempty"` // 任务调度策略 SchedulingPolicy []string `json:"schedulingPolicy,omitempty"` Status string `json:"-"` }
type UpdateQueueResponse ¶ added in v0.14.3
type UpdateQueueResponse struct {
Queue
}
type UserGetter ¶
type UserGetter interface {
User() UserInterface
}
type UserInterface ¶
type UserInterface interface {
Login(ctx context.Context, request *LoginInfo) (*LoginResponse, error)
}
type WorkflowRuntimeInfo ¶ added in v0.14.3
type WorkflowRuntimeInfo struct { Name string `json:"name,omitempty"` Namespace string `json:"namespace,omitempty"` ID string `json:"id,omitempty"` Status string `json:"status,omitempty"` Nodes []DistributedRuntimeInfo `json:"nodes,omitempty"` }