Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( APIVersion = 2 APIURL = fmt.Sprintf("https://api.squarecloud.app/v%d", APIVersion) )
View Source
var ( // Square Cloud Service EndpointServiceStatistics = func() string { return "/service/statistics" } // User EndpointUser = func() string { return "/users/me" } EndpointUserSnapshots = func(snapshotType string) string { return fmt.Sprintf("/users/snapshots?scope=%s", snapshotType) } // Application EndpointApplication = func() string { return "/apps" } EndpointApplicationListStatus = func() string { return "/apps/status" } EndpointApplicationInformation = func(appID string) string { return fmt.Sprintf("/apps/%s", appID) } EndpointApplicationStatus = func(appID string) string { return fmt.Sprintf("/apps/%s/status", appID) } EndpointApplicationLogs = func(appID string) string { return fmt.Sprintf("/apps/%s/logs", appID) } EndpointApplicationStart = func(appID string) string { return fmt.Sprintf("/apps/%s/start", appID) } EndpointApplicationRestart = func(appID string) string { return fmt.Sprintf("/apps/%s/restart", appID) } EndpointApplicationStop = func(appID string) string { return fmt.Sprintf("/apps/%s/stop", appID) } EndpointApplicationSnapshots = func(appID string) string { return fmt.Sprintf("/apps/%s/snapshots", appID) } EndpointApplicationCommit = func(appID string) string { return fmt.Sprintf("/apps/%s/commit", appID) } // Application File Manager EndpointApplicationFiles = func(appID, path string) string { return fmt.Sprintf("/apps/%s/files?path=%s", appID, path) } EndpointApplicationFileRead = func(appID, path string) string { return fmt.Sprintf("/apps/%s/files/content?path=%s", appID, path) } // Application Deploy EndpointApplicationDeploys = func(appID string) string { return fmt.Sprintf("/apps/%s/deploy/list", appID) } EndpointApplicationGithubIntegration = func(appID string) string { return fmt.Sprintf("/apps/%s/deploy/git-webhook", appID) } // Application Network EndpointApplicationNetwork = func(appID string) string { return fmt.Sprintf("/apps/%s/network/analytics", appID) } EndpointApplicationCustomDomain = func(appID, domain string) string { return fmt.Sprintf("/apps/%s/network/custom/%s", appID, domain) } )
Functions ¶
This section is empty.
Types ¶
type Applications ¶
type Applications interface {
GetApplications(options ...RequestOpt) ([]squarecloud.UserApplication, error)
GetApplicationListStatus(options ...RequestOpt) ([]squarecloud.ApplicationListStatus, error)
PostApplications(reader io.Reader, options ...RequestOpt) (*squarecloud.ApplicationUploaded, error)
GetApplication(appID string, options ...RequestOpt) (squarecloud.Application, error)
GetApplicationStatus(appID string, options ...RequestOpt) (squarecloud.ApplicationStatus, error)
GetApplicationLogs(appID string, options ...RequestOpt) (squarecloud.ApplicationLogs, error)
PostApplicationSignal(appID string, signal squarecloud.ApplicationSignal, options ...RequestOpt) error
PostApplicationCommit(appID string, reader io.Reader, options ...RequestOpt) error
GetApplicationBackups(appID string, options ...RequestOpt) ([]squarecloud.ApplicationBackup, error)
CreateApplicationBackup(appID string, options ...RequestOpt) (squarecloud.ApplicationBackupCreated, error)
DeleteApplication(appID string, options ...RequestOpt) error
}
func NewApplications ¶
func NewApplications(client Client) Applications
type Client ¶
type Config ¶
func DefaultConfig ¶
func DefaultConfig() *Config
type ConfigOpt ¶
type ConfigOpt func(config *Config)
func WithHTTPClient ¶
func WithLogger ¶
func WithUserAgent ¶
type RequestConfig ¶
func DefaultRequestConfig ¶
func DefaultRequestConfig(req *http.Request) *RequestConfig
func (*RequestConfig) Apply ¶
func (c *RequestConfig) Apply(opts []RequestOpt)
type RequestOpt ¶
type RequestOpt func(config *RequestConfig)
func WithHeader ¶
func WithHeader(key string, value string) RequestOpt
func WithQueryParam ¶
func WithQueryParam(param string, value any) RequestOpt
func WithToken ¶
func WithToken(token string) RequestOpt
type Rest ¶
type Rest interface {
SelfUser(opts ...RequestOpt) (squarecloud.User, error)
UserSnapshots(snapshotType string, opts ...RequestOpt) ([]squarecloud.Snapshot, error)
Applications
}
type RestError ¶
type RestError error
var ( ErrAppNotFound RestError = errors.New("application not found, verify your application ID and try again") ErrAccessDenied RestError = errors.New("your access is denied, make login with your api token using \"squarecloud login\" or verify if you have access for this action") ErrUserNotFound RestError = errors.New("user not found, verify your user ID and try again") ErrInvalidBuffer RestError = errors.New("unable to send buffer") ErrInvalidFile RestError = errors.New("unable to send the file") ErrCommitError RestError = errors.New("unable to commit to your application") ErrDelayNow RestError = errors.New("you are in rate limit, try again later") )
Click to show internal directories.
Click to hide internal directories.