types

package
v2.1.65 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 29, 2024 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// SinglePeerScope represents the scope that only single peer will be preheated.
	SinglePeerScope = "single_peer"

	// AllPeersScope represents the scope that all peers will be preheated.
	AllPeersScope = "all_peers"
)
View Source
const (
	// DefaultPreheatConcurrentCount is the default concurrent count for preheating all peers.
	DefaultPreheatConcurrentCount = 50

	// DefaultJobTimeout is the default timeout for executing job.
	DefaultJobTimeout = 30 * time.Minute
)
View Source
const (
	// PersonalAccessTokenScopePreheat represents the personal access token whose scope is preheat.
	PersonalAccessTokenScopePreheat = "preheat"

	// PersonalAccessTokenScopeJob represents the personal access token whose scope is job.
	PersonalAccessTokenScopeJob = "job"

	// PersonalAccessTokenScopeCluster represents the personal access token whose scope is cluster.
	PersonalAccessTokenScopeCluster = "cluster"
)
View Source
const (
	// SchedulerFeatureSchedule is the schedule feature of scheduler.
	SchedulerFeatureSchedule = "schedule"

	// SchedulerFeaturePreheat is the preheat feature of scheduler.
	SchedulerFeaturePreheat = "preheat"
)
View Source
const (
	// IsBootConfigName represents server is boot.
	IsBootConfigName = "is_boot"
)

Variables

View Source
var (
	// DefaultSchedulerFeatures is the default features of scheduler.
	DefaultSchedulerFeatures = []string{SchedulerFeatureSchedule, SchedulerFeaturePreheat}
)

Functions

This section is empty.

Types

type AddPermissionForRoleRequest

type AddPermissionForRoleRequest struct {
	rbac.Permission `json:",inline" binding:"required"`
}

type AddRoleForUserParams

type AddRoleForUserParams struct {
	ID   uint   `uri:"id" binding:"required"`
	Role string `uri:"role" binding:"required"`
}

type AddSchedulerClusterToSeedPeerClusterParams added in v2.0.3

type AddSchedulerClusterToSeedPeerClusterParams struct {
	ID                 uint `uri:"id" binding:"required"`
	SchedulerClusterID uint `uri:"scheduler_cluster_id" binding:"required"`
}

type AddSchedulerToSchedulerClusterParams

type AddSchedulerToSchedulerClusterParams struct {
	ID          uint `uri:"id" binding:"required"`
	SchedulerID uint `uri:"scheduler_id" binding:"required"`
}

type AddSeedPeerToSeedPeerClusterParams added in v2.0.3

type AddSeedPeerToSeedPeerClusterParams struct {
	ID         uint `uri:"id" binding:"required"`
	SeedPeerID uint `uri:"seed_peer_id" binding:"required"`
}

type ApplicationParams added in v2.0.1

type ApplicationParams struct {
	ID uint `uri:"id" binding:"required"`
}

type BucketParams added in v2.0.4

type BucketParams struct {
	ID string `uri:"id" binding:"required"`
}

type ClusterParams added in v2.0.30

type ClusterParams struct {
	ID uint `uri:"id" binding:"required"`
}

type ConfigParams added in v2.0.1

type ConfigParams struct {
	ID uint `uri:"id" binding:"required"`
}

type CreateApplicationRequest added in v2.0.1

type CreateApplicationRequest struct {
	Name     string          `json:"name" binding:"required"`
	URL      string          `json:"url" binding:"required"`
	BIO      string          `json:"bio" binding:"omitempty"`
	Priority *PriorityConfig `json:"priority" binding:"required"`
	UserID   uint            `json:"user_id" binding:"required"`
}

type CreateBucketRequest added in v2.0.4

type CreateBucketRequest struct {
	Name string `json:"name" binding:"required"`
}

type CreateClusterRequest added in v2.0.30

type CreateClusterRequest struct {
	Name                   string                        `json:"name" binding:"required"`
	BIO                    string                        `json:"bio" binding:"omitempty"`
	Scopes                 *SchedulerClusterScopes       `json:"scopes" binding:"omitempty"`
	SchedulerClusterConfig *SchedulerClusterConfig       `json:"scheduler_cluster_config" binding:"required"`
	SeedPeerClusterConfig  *SeedPeerClusterConfig        `json:"seed_peer_cluster_config" binding:"required"`
	PeerClusterConfig      *SchedulerClusterClientConfig `json:"peer_cluster_config" binding:"required"`
	IsDefault              bool                          `json:"is_default" binding:"omitempty"`
}

type CreateClusterResponse added in v2.0.30

type CreateClusterResponse struct {
	ID                     uint                          `json:"id"`
	Name                   string                        `json:"name"`
	BIO                    string                        `json:"bio"`
	Scopes                 *SchedulerClusterScopes       `json:"scopes"`
	SchedulerClusterID     uint                          `json:"scheduler_cluster_id"`
	SeedPeerClusterID      uint                          `json:"seed_peer_cluster_id"`
	SchedulerClusterConfig *SchedulerClusterConfig       `json:"scheduler_cluster_config"`
	SeedPeerClusterConfig  *SeedPeerClusterConfig        `json:"seed_peer_cluster_config"`
	PeerClusterConfig      *SchedulerClusterClientConfig `json:"peer_cluster_config"`
	CreatedAt              time.Time                     `json:"created_at"`
	UpdatedAt              time.Time                     `json:"updated_at"`
	IsDefault              bool                          `json:"is_default"`
}

type CreateConfigRequest added in v2.0.1

type CreateConfigRequest struct {
	Name   string `json:"name" binding:"required"`
	Value  string `json:"value" binding:"required"`
	BIO    string `json:"bio" binding:"omitempty"`
	UserID uint   `json:"user_id" binding:"required"`
}

type CreateDeleteTaskJobRequest added in v2.1.55

type CreateDeleteTaskJobRequest struct {
	BIO                 string         `json:"bio" binding:"omitempty"`
	Type                string         `json:"type" binding:"required"`
	Args                DeleteTaskArgs `json:"args" binding:"omitempty"`
	UserID              uint           `json:"user_id" binding:"omitempty"`
	SchedulerClusterIDs []uint         `json:"scheduler_cluster_ids" binding:"omitempty"`
}

type CreateGetTaskJobRequest added in v2.1.55

type CreateGetTaskJobRequest struct {
	BIO                 string      `json:"bio" binding:"omitempty"`
	Type                string      `json:"type" binding:"required"`
	Args                GetTaskArgs `json:"args" binding:"omitempty"`
	UserID              uint        `json:"user_id" binding:"omitempty"`
	SchedulerClusterIDs []uint      `json:"scheduler_cluster_ids" binding:"omitempty"`
}

type CreateJobRequest added in v2.0.1

type CreateJobRequest struct {
	BIO                 string         `json:"bio" binding:"omitempty"`
	Type                string         `json:"type" binding:"required"`
	Args                map[string]any `json:"args" binding:"omitempty"`
	UserID              uint           `json:"user_id" binding:"omitempty"`
	SeedPeerClusterIDs  []uint         `json:"seed_peer_cluster_ids" binding:"omitempty"`
	SchedulerClusterIDs []uint         `json:"scheduler_cluster_ids" binding:"omitempty"`
}

type CreateOauthRequest

type CreateOauthRequest struct {
	Name         string `json:"name" binding:"required,oneof=github google"`
	BIO          string `json:"bio" binding:"omitempty"`
	ClientID     string `json:"client_id" binding:"required"`
	ClientSecret string `json:"client_secret" binding:"required"`
	RedirectURL  string `json:"redirect_url" binding:"omitempty,url"`
}

type CreatePeerRequest added in v2.0.30

type CreatePeerRequest struct {
	Hostname           string `json:"host_name" binding:"required"`
	Type               string `json:"type" binding:"required,oneof=super strong weak normal"`
	IDC                string `json:"idc" binding:"omitempty"`
	Location           string `json:"location" binding:"omitempty"`
	IP                 string `json:"ip" binding:"required"`
	Port               int32  `json:"port" binding:"required"`
	DownloadPort       int32  `json:"download_port" binding:"required"`
	ObjectStoragePort  int32  `json:"object_storage_port" binding:"omitempty"`
	State              string `json:"state" binding:"omitempty,oneof=active inactive"`
	OS                 string `json:"os" binding:"omitempty"`
	Platform           string `json:"platform" binding:"omitempty"`
	PlatformFamily     string `json:"platform_family" binding:"omitempty"`
	PlatformVersion    string `json:"platform_version" binding:"omitempty"`
	KernelVersion      string `json:"kernel_version" binding:"omitempty"`
	GitVersion         string `json:"git_version" binding:"omitempty"`
	GitCommit          string `json:"git_commit" binding:"omitempty"`
	BuildPlatform      string `json:"build_platform" binding:"omitempty"`
	SchedulerClusterID uint   `json:"scheduler_cluster_id" binding:"required"`
}

type CreatePersonalAccessTokenRequest added in v2.0.30

type CreatePersonalAccessTokenRequest struct {
	Name      string    `json:"name" binding:"required"`
	BIO       string    `json:"bio" binding:"omitempty"`
	Scopes    []string  `json:"scopes" binding:"omitempty"`
	ExpiredAt time.Time `json:"expired_at" binding:"required"`
	UserID    uint      `json:"user_id" binding:"required"`
}

type CreatePreheatJobRequest added in v2.0.1

type CreatePreheatJobRequest struct {
	BIO                 string      `json:"bio" binding:"omitempty"`
	Type                string      `json:"type" binding:"required"`
	Args                PreheatArgs `json:"args" binding:"omitempty"`
	UserID              uint        `json:"user_id" binding:"omitempty"`
	SchedulerClusterIDs []uint      `json:"scheduler_cluster_ids" binding:"omitempty"`
}

type CreateRoleRequest

type CreateRoleRequest struct {
	Role        string            `json:"role" binding:"required"`
	Permissions []rbac.Permission `json:"permissions" binding:"required"`
}

type CreateSchedulerClusterRequest

type CreateSchedulerClusterRequest struct {
	Name              string                        `json:"name" binding:"required"`
	BIO               string                        `json:"bio" binding:"omitempty"`
	Config            *SchedulerClusterConfig       `json:"config" binding:"required"`
	ClientConfig      *SchedulerClusterClientConfig `json:"client_config" binding:"required"`
	Scopes            *SchedulerClusterScopes       `json:"scopes" binding:"omitempty"`
	IsDefault         bool                          `json:"is_default" binding:"omitempty"`
	SeedPeerClusterID uint                          `json:"seed_peer_cluster_id" binding:"omitempty"`
}

type CreateSchedulerRequest

type CreateSchedulerRequest struct {
	Hostname           string   `json:"host_name" binding:"required"`
	IDC                string   `json:"idc" binding:"omitempty"`
	Location           string   `json:"location" binding:"omitempty"`
	IP                 string   `json:"ip" binding:"required"`
	Port               int32    `json:"port" binding:"required"`
	Features           []string `json:"features" binding:"omitempty"`
	SchedulerClusterID uint     `json:"scheduler_cluster_id" binding:"required"`
}

type CreateSeedPeerClusterRequest added in v2.0.3

type CreateSeedPeerClusterRequest struct {
	Name   string                 `json:"name" binding:"required"`
	BIO    string                 `json:"bio" binding:"omitempty"`
	Config *SeedPeerClusterConfig `json:"config" binding:"required"`
}

type CreateSeedPeerRequest added in v2.0.3

type CreateSeedPeerRequest struct {
	Hostname          string `json:"host_name" binding:"required"`
	Type              string `json:"type" binding:"required,oneof=super strong weak"`
	IDC               string `json:"idc" binding:"omitempty"`
	Location          string `json:"location" binding:"omitempty"`
	IP                string `json:"ip" binding:"required"`
	Port              int32  `json:"port" binding:"required"`
	DownloadPort      int32  `json:"download_port" binding:"required"`
	ObjectStoragePort int32  `json:"object_storage_port" binding:"omitempty"`
	SeedPeerClusterID uint   `json:"seed_peer_cluster_id" binding:"required"`
}

type CreateSyncPeersJobRequest added in v2.1.65

type CreateSyncPeersJobRequest struct {
	BIO                 string        `json:"bio" binding:"omitempty"`
	Type                string        `json:"type" binding:"required"`
	UserID              uint          `json:"user_id" binding:"omitempty"`
	SchedulerClusterIDs []uint        `json:"scheduler_cluster_ids" binding:"omitempty"`
	Timeout             time.Duration `json:"timeout" binding:"omitempty"`
}

type CreateV1PreheatRequest added in v2.0.1

type CreateV1PreheatRequest struct {
	Type                string            `json:"type" binding:"required,oneof=image file"`
	URL                 string            `json:"url" binding:"required"`
	FilteredQueryParams string            `json:"filteredQueryParams" binding:"omitempty"`
	Headers             map[string]string `json:"headers" binding:"omitempty"`
}

type CreateV1PreheatResponse added in v2.0.1

type CreateV1PreheatResponse struct {
	ID string `json:"id"`
}

type DeletePermissionForRoleRequest

type DeletePermissionForRoleRequest struct {
	rbac.Permission `json:",inline" binding:"required"`
}

type DeleteRoleForUserParams

type DeleteRoleForUserParams struct {
	ID   uint   `uri:"id" binding:"required"`
	Role string `uri:"role" binding:"required"`
}

type DeleteTaskArgs added in v2.1.55

type DeleteTaskArgs struct {
	// TaskID is the task id for deleting.
	TaskID string `json:"task_id" binding:"omitempty"`

	// URL is the download url of the task.
	URL string `json:"url" binding:"omitempty"`

	// Tag is the tag of the task.
	Tag string `json:"tag" binding:"omitempty"`

	// Application is the application of the task.
	Application string `json:"application" binding:"omitempty"`

	// FilteredQueryParams is the filtered query params of the task.
	FilteredQueryParams string `json:"filtered_query_params" binding:"omitempty"`

	// Timeout is the timeout for deleting, default is 30 minutes.
	Timeout time.Duration `json:"timeout" binding:"omitempty"`
}

type GetApplicationsQuery added in v2.0.1

type GetApplicationsQuery struct {
	Name    string `form:"name" binding:"omitempty"`
	Page    int    `form:"page" binding:"omitempty,gte=1"`
	PerPage int    `form:"per_page" binding:"omitempty,gte=1,lte=10000000"`
}

type GetClusterResponse added in v2.0.30

type GetClusterResponse struct {
	ID                     uint                          `json:"id"`
	Name                   string                        `json:"name"`
	BIO                    string                        `json:"bio"`
	Scopes                 *SchedulerClusterScopes       `json:"scopes"`
	SchedulerClusterID     uint                          `json:"scheduler_cluster_id"`
	SeedPeerClusterID      uint                          `json:"seed_peer_cluster_id"`
	SchedulerClusterConfig *SchedulerClusterConfig       `json:"scheduler_cluster_config"`
	SeedPeerClusterConfig  *SeedPeerClusterConfig        `json:"seed_peer_cluster_config"`
	PeerClusterConfig      *SchedulerClusterClientConfig `json:"peer_cluster_config"`
	CreatedAt              time.Time                     `json:"created_at"`
	UpdatedAt              time.Time                     `json:"updated_at"`
	IsDefault              bool                          `json:"is_default"`
}

type GetClustersQuery added in v2.0.30

type GetClustersQuery struct {
	Name    string `form:"name" binding:"omitempty"`
	Page    int    `form:"page" binding:"omitempty,gte=1"`
	PerPage int    `form:"per_page" binding:"omitempty,gte=1,lte=10000000"`
}

type GetConfigsQuery added in v2.0.1

type GetConfigsQuery struct {
	Name    string `form:"name" binding:"omitempty"`
	Value   string `form:"value" binding:"omitempty"`
	UserID  uint   `form:"user_id" binding:"omitempty"`
	Page    int    `form:"page" binding:"omitempty,gte=1"`
	PerPage int    `form:"per_page" binding:"omitempty,gte=1,lte=10000000"`
}

type GetJobsQuery added in v2.0.1

type GetJobsQuery struct {
	Type    string `form:"type" binding:"omitempty"`
	State   string `form:"state" binding:"omitempty,oneof=PENDING RECEIVED STARTED RETRY SUCCESS FAILURE"`
	UserID  uint   `form:"user_id" binding:"omitempty"`
	Page    int    `form:"page" binding:"omitempty,gte=1"`
	PerPage int    `form:"per_page" binding:"omitempty,gte=1,lte=10000000"`
}

type GetOauthsQuery

type GetOauthsQuery struct {
	Page     int    `form:"page" binding:"omitempty,gte=1"`
	PerPage  int    `form:"per_page" binding:"omitempty,gte=1,lte=10000000"`
	Name     string `form:"name" binding:"omitempty,oneof=github google"`
	ClientID string `form:"client_id" binding:"omitempty"`
}

type GetPeersQuery added in v2.0.30

type GetPeersQuery struct {
	Hostname           string `form:"host_name" binding:"omitempty"`
	Type               string `form:"type" binding:"omitempty,oneof=super strong weak"`
	IDC                string `form:"idc" binding:"omitempty"`
	Location           string `form:"location" binding:"omitempty"`
	IP                 string `form:"ip" binding:"omitempty"`
	Port               int32  `form:"port" binding:"omitempty"`
	DownloadPort       int32  `form:"download_port" binding:"omitempty"`
	ObjectStoragePort  int32  `form:"object_storage_port" binding:"omitempty"`
	State              string `form:"state" binding:"omitempty,oneof=active inactive"`
	OS                 string `form:"os" binding:"omitempty"`
	Platform           string `form:"platform" binding:"omitempty"`
	PlatformFamily     string `form:"platform_family" binding:"omitempty"`
	PlatformVersion    string `form:"platform_version" binding:"omitempty"`
	KernelVersion      string `form:"kernel_version" binding:"omitempty"`
	GitVersion         string `form:"git_version" binding:"omitempty"`
	GitCommit          string `form:"git_commit" binding:"omitempty"`
	BuildPlatform      string `form:"build_platform" binding:"omitempty"`
	SchedulerClusterID uint   `form:"scheduler_cluster_id" binding:"omitempty"`
	Page               int    `form:"page" binding:"omitempty,gte=1"`
	PerPage            int    `form:"per_page" binding:"omitempty,gte=1,lte=10000000"`
}

type GetPersonalAccessTokensQuery added in v2.0.30

type GetPersonalAccessTokensQuery struct {
	State   string `form:"state" binding:"omitempty,oneof=active inactive"`
	UserID  uint   `form:"user_id" binding:"omitempty"`
	Page    int    `form:"page" binding:"omitempty,gte=1"`
	PerPage int    `form:"per_page" binding:"omitempty,gte=1,lte=10000000"`
}

type GetSchedulerClustersQuery

type GetSchedulerClustersQuery struct {
	Name    string `form:"name" binding:"omitempty"`
	Page    int    `form:"page" binding:"omitempty,gte=1"`
	PerPage int    `form:"per_page" binding:"omitempty,gte=1,lte=10000000"`
}

type GetSchedulersQuery

type GetSchedulersQuery struct {
	Page               int    `form:"page" binding:"omitempty,gte=1"`
	PerPage            int    `form:"per_page" binding:"omitempty,gte=1,lte=10000000"`
	Hostname           string `form:"host_name" binding:"omitempty"`
	IDC                string `form:"idc" binding:"omitempty"`
	Location           string `form:"location" binding:"omitempty"`
	IP                 string `form:"ip" binding:"omitempty"`
	State              string `form:"state" binding:"omitempty,oneof=active inactive"`
	SchedulerClusterID uint   `form:"scheduler_cluster_id" binding:"omitempty"`
}

type GetSeedPeerClustersQuery added in v2.0.3

type GetSeedPeerClustersQuery struct {
	Name    string `form:"name" binding:"omitempty"`
	Page    int    `form:"page" binding:"omitempty,gte=1"`
	PerPage int    `form:"per_page" binding:"omitempty,gte=1,lte=10000000"`
}

type GetSeedPeersQuery added in v2.0.3

type GetSeedPeersQuery struct {
	Hostname          string `form:"host_name" binding:"omitempty"`
	Type              string `form:"type" binding:"omitempty,oneof=super strong weak"`
	IDC               string `form:"idc" binding:"omitempty"`
	Location          string `form:"location" binding:"omitempty"`
	IP                string `form:"ip" binding:"omitempty"`
	Port              int32  `form:"port" binding:"omitempty"`
	DownloadPort      int32  `form:"download_port" binding:"omitempty"`
	ObjectStoragePort int32  `form:"object_storage_port" binding:"omitempty"`
	SeedPeerClusterID uint   `form:"seed_peer_cluster_id" binding:"omitempty"`
	Page              int    `form:"page" binding:"omitempty,gte=1"`
	PerPage           int    `form:"per_page" binding:"omitempty,gte=1,lte=10000000"`
	State             string `form:"state" binding:"omitempty,oneof=active inactive"`
}

type GetTaskArgs added in v2.1.55

type GetTaskArgs struct {
	// TaskID is the task id for getting.
	TaskID string `json:"task_id" binding:"omitempty"`

	// URL is the download url of the task.
	URL string `json:"url" binding:"omitempty"`

	// Tag is the tag of the task.
	Tag string `json:"tag" binding:"omitempty"`

	// Application is the application of the task.
	Application string `json:"application" binding:"omitempty"`

	// FilteredQueryParams is the filtered query params of the task.
	FilteredQueryParams string `json:"filtered_query_params" binding:"omitempty"`
}

type GetUsersQuery added in v2.0.1

type GetUsersQuery struct {
	Name     string `form:"name" binding:"omitempty"`
	Email    string `form:"email" binding:"omitempty"`
	Location string `form:"location" binding:"omitempty"`
	State    string `form:"state" binding:"omitempty"`
	Page     int    `form:"page" binding:"omitempty,gte=1"`
	PerPage  int    `form:"per_page" binding:"omitempty,gte=1,lte=10000000"`
}

type GetV1PreheatResponse added in v2.0.1

type GetV1PreheatResponse struct {
	ID         string `json:"id"`
	Status     string `json:"status"`
	StartTime  string `json:"startTime,omitempty"`
	FinishTime string `json:"finishTime,omitempty"`
}

type JobParams added in v2.0.1

type JobParams struct {
	ID uint `uri:"id" binding:"required"`
}

type OauthParams

type OauthParams struct {
	ID uint `uri:"id" binding:"required"`
}

type OauthSigninCallbackParams

type OauthSigninCallbackParams struct {
	Name string `uri:"name" binding:"required"`
}

type OauthSigninCallbackQuery

type OauthSigninCallbackQuery struct {
	Code string `form:"code" binding:"required"`
}

type OauthSigninParams

type OauthSigninParams struct {
	Name string `uri:"name" binding:"required"`
}

type PeerParams added in v2.0.30

type PeerParams struct {
	ID uint `uri:"id" binding:"required"`
}

type PersonalAccessTokenParams added in v2.0.30

type PersonalAccessTokenParams struct {
	ID uint `uri:"id" binding:"required"`
}

type PreheatArgs added in v2.0.1

type PreheatArgs struct {
	// Type is the preheating type, support image and file.
	Type string `json:"type" binding:"required,oneof=image file"`

	// URL is the image url for preheating.
	URL string `json:"url" binding:"required"`

	// Tag is the tag for preheating.
	Tag string `json:"tag" binding:"omitempty"`

	// FilteredQueryParams is the filtered query params for preheating.
	FilteredQueryParams string `json:"filtered_query_params" binding:"omitempty"`

	// Headers is the http headers for authentication.
	Headers map[string]string `json:"headers" binding:"omitempty"`

	// Username is the username for authentication.
	Username string `json:"username" binding:"omitempty"`

	// Password is the password for authentication.
	Password string `json:"password" binding:"omitempty"`

	// The image type preheating task can specify the image architecture type. eg: linux/amd64.
	Platform string `json:"platform" binding:"omitempty"`

	// Scope is the scope for preheating, default is single_peer.
	Scope string `json:"scope" binding:"omitempty,oneof=single_peer all_peers"`

	// BatchSize is the batch size for preheating all peers, default is 50.
	ConcurrentCount int64 `json:"concurrent_count" binding:"omitempty,gte=1,lte=500"`

	// Timeout is the timeout for preheating, default is 30 minutes.
	Timeout time.Duration `json:"timeout" binding:"omitempty"`
}

type PriorityConfig added in v2.0.9

type PriorityConfig struct {
	Value *int                `yaml:"value" mapstructure:"value" json:"value" binding:"required,gte=0,lte=20"`
	URLs  []URLPriorityConfig `yaml:"urls" mapstructure:"urls" json:"urls" binding:"omitempty"`
}

type ResetPasswordRequest

type ResetPasswordRequest struct {
	OldPassword string `json:"old_password" binding:"required,min=8,max=20"`
	NewPassword string `json:"new_password" binding:"required,min=8,max=20"`
}

type RoleParams

type RoleParams struct {
	Role string `uri:"role" binding:"required"`
}

type SchedulerClusterClientConfig added in v2.0.1

type SchedulerClusterClientConfig struct {
	LoadLimit uint32 `yaml:"loadLimit" mapstructure:"loadLimit" json:"load_limit" binding:"omitempty,gte=1,lte=2000"`
}

type SchedulerClusterConfig added in v2.0.1

type SchedulerClusterConfig struct {
	CandidateParentLimit uint32 `` /* 126-byte string literal not displayed */
	FilterParentLimit    uint32 `yaml:"filterParentLimit" mapstructure:"filterParentLimit" json:"filter_parent_limit" binding:"omitempty,gte=10,lte=1000"`
	JobRateLimit         uint32 `yaml:"jobRateLimit" mapstructure:"jobRateLimit" json:"job_rate_limit" binding:"omitempty,gte=1,lte=1000000"`
}

type SchedulerClusterParams

type SchedulerClusterParams struct {
	ID uint `uri:"id" binding:"required"`
}

type SchedulerClusterScopes added in v2.0.1

type SchedulerClusterScopes struct {
	IDC       string   `yaml:"idc" mapstructure:"idc" json:"idc" binding:"omitempty"`
	Location  string   `yaml:"location" mapstructure:"location" json:"location" binding:"omitempty"`
	CIDRs     []string `yaml:"cidrs" mapstructure:"cidrs" json:"cidrs" binding:"omitempty"`
	Hostnames []string `yaml:"hostnames" mapstructure:"hostnames" json:"hostnames" binding:"omitempty"`
}

type SchedulerParams

type SchedulerParams struct {
	ID uint `uri:"id" binding:"required"`
}

type SeedPeerClusterConfig added in v2.0.3

type SeedPeerClusterConfig struct {
	LoadLimit uint32 `yaml:"loadLimit" mapstructure:"loadLimit" json:"load_limit" binding:"omitempty,gte=1,lte=50000"`
}

type SeedPeerClusterParams added in v2.0.3

type SeedPeerClusterParams struct {
	ID uint `uri:"id" binding:"required"`
}

type SeedPeerParams added in v2.0.3

type SeedPeerParams struct {
	ID uint `uri:"id" binding:"required"`
}

type SignInRequest

type SignInRequest struct {
	Name     string `json:"name" binding:"required,min=3,max=10"`
	Password string `json:"password" binding:"required,min=8,max=20"`
}

type SignUpRequest

type SignUpRequest struct {
	SignInRequest
	Email    string `json:"email" binding:"required,email"`
	Phone    string `json:"phone" binding:"omitempty"`
	Avatar   string `json:"avatar" binding:"omitempty"`
	Location string `json:"location" binding:"omitempty"`
	BIO      string `json:"bio" binding:"omitempty"`
}

type URLPriorityConfig added in v2.0.9

type URLPriorityConfig struct {
	Regex string `yaml:"regex" mapstructure:"regex" json:"regex" binding:"required"`
	Value int    `yaml:"value" mapstructure:"value" json:"value" binding:"required,gte=0,lte=20"`
}

type UpdateApplicationRequest added in v2.0.1

type UpdateApplicationRequest struct {
	Name     string          `json:"name" binding:"omitempty"`
	URL      string          `json:"url" binding:"omitempty"`
	BIO      string          `json:"bio" binding:"omitempty"`
	Priority *PriorityConfig `json:"priority" binding:"omitempty"`
	UserID   uint            `json:"user_id" binding:"required"`
}

type UpdateClusterRequest added in v2.0.30

type UpdateClusterRequest struct {
	Name                   string                        `json:"name" binding:"omitempty"`
	BIO                    string                        `json:"bio" binding:"omitempty"`
	Scopes                 *SchedulerClusterScopes       `json:"scopes" binding:"omitempty"`
	SchedulerClusterConfig *SchedulerClusterConfig       `json:"scheduler_cluster_config" binding:"omitempty"`
	SeedPeerClusterConfig  *SeedPeerClusterConfig        `json:"seed_peer_cluster_config" binding:"omitempty"`
	PeerClusterConfig      *SchedulerClusterClientConfig `json:"peer_cluster_config" binding:"omitempty"`
	IsDefault              bool                          `json:"is_default" binding:"omitempty"`
}

type UpdateClusterResponse added in v2.0.30

type UpdateClusterResponse struct {
	ID                     uint                          `json:"id"`
	Name                   string                        `json:"name"`
	BIO                    string                        `json:"bio"`
	Scopes                 *SchedulerClusterScopes       `json:"scopes"`
	SchedulerClusterID     uint                          `json:"scheduler_cluster_id"`
	SeedPeerClusterID      uint                          `json:"seed_peer_cluster_id"`
	SchedulerClusterConfig *SchedulerClusterConfig       `json:"scheduler_cluster_config"`
	SeedPeerClusterConfig  *SeedPeerClusterConfig        `json:"seed_peer_cluster_config"`
	PeerClusterConfig      *SchedulerClusterClientConfig `json:"peer_cluster_config"`
	CreatedAt              time.Time                     `json:"created_at"`
	UpdatedAt              time.Time                     `json:"updated_at"`
	IsDefault              bool                          `json:"is_default"`
}

type UpdateConfigRequest added in v2.0.1

type UpdateConfigRequest struct {
	Name   string `json:"name" binding:"omitempty"`
	Value  string `json:"value" binding:"omitempty"`
	BIO    string `json:"bio" binding:"omitempty"`
	UserID uint   `json:"user_id" binding:"omitempty"`
}

type UpdateJobRequest added in v2.0.1

type UpdateJobRequest struct {
	BIO    string `json:"bio" binding:"omitempty"`
	UserID uint   `json:"user_id" binding:"omitempty"`
}

type UpdateOauthRequest

type UpdateOauthRequest struct {
	Name         string `json:"name" binding:"omitempty,oneof=github google"`
	BIO          string `json:"bio" binding:"omitempty"`
	ClientID     string `json:"client_id" binding:"omitempty"`
	ClientSecret string `json:"client_secret" binding:"omitempty"`
	RedirectURL  string `json:"redirect_url" binding:"omitempty,url"`
}

type UpdatePersonalAccessTokenRequest added in v2.0.30

type UpdatePersonalAccessTokenRequest struct {
	BIO       string    `json:"bio" binding:"omitempty"`
	Scopes    []string  `json:"scopes" binding:"omitempty"`
	State     string    `json:"state" binding:"omitempty,oneof=active inactive"`
	ExpiredAt time.Time `json:"expired_at" binding:"omitempty"`
	UserID    uint      `json:"user_id" binding:"omitempty"`
}

type UpdateSchedulerClusterRequest

type UpdateSchedulerClusterRequest struct {
	Name              string                        `json:"name" binding:"omitempty"`
	BIO               string                        `json:"bio" binding:"omitempty"`
	Config            *SchedulerClusterConfig       `json:"config" binding:"omitempty"`
	ClientConfig      *SchedulerClusterClientConfig `json:"client_config" binding:"omitempty"`
	Scopes            *SchedulerClusterScopes       `json:"scopes" binding:"omitempty"`
	IsDefault         bool                          `json:"is_default" binding:"omitempty"`
	SeedPeerClusterID uint                          `json:"seed_peer_cluster_id" binding:"omitempty"`
}

type UpdateSchedulerRequest

type UpdateSchedulerRequest struct {
	IDC                string   `json:"idc" binding:"omitempty"`
	Location           string   `json:"location" binding:"omitempty"`
	IP                 string   `json:"ip" binding:"omitempty"`
	Port               int32    `json:"port" binding:"omitempty"`
	SchedulerID        uint     `json:"scheduler_id" binding:"omitempty"`
	Features           []string `json:"features" binding:"omitempty"`
	SchedulerClusterID uint     `json:"scheduler_cluster_id" binding:"omitempty"`
}

type UpdateSeedPeerClusterRequest added in v2.0.3

type UpdateSeedPeerClusterRequest struct {
	Name   string                 `json:"name" binding:"omitempty"`
	BIO    string                 `json:"bio" binding:"omitempty"`
	Config *SeedPeerClusterConfig `json:"config" binding:"omitempty"`
}

type UpdateSeedPeerRequest added in v2.0.3

type UpdateSeedPeerRequest struct {
	Type              string `json:"type" binding:"omitempty,oneof=super strong weak"`
	IDC               string `json:"idc" binding:"omitempty"`
	Location          string `json:"location" binding:"omitempty"`
	IP                string `json:"ip" binding:"omitempty"`
	Port              int32  `json:"port" binding:"omitempty"`
	DownloadPort      int32  `json:"download_port" binding:"omitempty"`
	ObjectStoragePort int32  `json:"object_storage_port" binding:"omitempty"`
	SeedPeerClusterID uint   `json:"seed_peer_cluster_id" binding:"omitempty"`
}

type UpdateUserRequest added in v2.0.2

type UpdateUserRequest struct {
	Email    string `json:"email" binding:"omitempty"`
	Phone    string `json:"phone" binding:"omitempty"`
	Avatar   string `json:"avatar" binding:"omitempty"`
	Location string `json:"location" binding:"omitempty"`
	BIO      string `json:"bio" binding:"omitempty"`
}

type UserParams

type UserParams struct {
	ID uint `uri:"id" binding:"required"`
}

type V1PreheatParams added in v2.0.1

type V1PreheatParams struct {
	ID string `uri:"id" binding:"required"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL