uiex

package
v0.4.88 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BillingStatus added in v0.3.214

type BillingStatus string
const (
	BillingStatusCurrent        BillingStatus = "CURRENT"
	BillingStatusDelinquent     BillingStatus = "DELINQUENT"
	BillingStatusPastDue        BillingStatus = "PAST_DUE"
	BillingStatusSourceRequired BillingStatus = "SOURCE_REQUIRED"
	BillingStatusSuspended      BillingStatus = "SUSPENDED"
	BillingStatusTrialActive    BillingStatus = "TRIAL_ACTIVE"
	BillingStatusTrialEnded     BillingStatus = "TRIAL_ENDED"
)

type BuildFinalImage added in v0.3.214

type BuildFinalImage struct {
	Id        string `json:"id"`
	SizeBytes int64  `json:"size_bytes"`
	Tag       string `json:"tag"`
}

type BuildResponse added in v0.3.214

type BuildResponse struct {
	Id              int64  `json:"id"`
	Status          string `json:"status"`
	WallclockTimeMs int    `json:"wallclock_time_ms"`
}

type BuildStrategyAttempt added in v0.3.214

type BuildStrategyAttempt struct {
	Error    string `json:"error"`
	Note     string `json:"note"`
	Result   string `json:"result"`
	Strategy string `json:"strategy"`
}

type BuildTimings added in v0.3.214

type BuildTimings struct {
	BuildAndPushMs int64 `json:"build_and_push_ms"`
	BuildMs        int64 `json:"build_ms"`
	BuilderInitMs  int64 `json:"builder_init_ms"`
	ContextBuildMs int64 `json:"context_build_ms"`
	ImageBuildMs   int64 `json:"image_build_ms"`
	PushMs         int64 `json:"push_ms"`
}

type BuilderMeta added in v0.3.214

type BuilderMeta struct {
	BuilderType     string `json:"builder_type"`
	BuildkitEnabled bool   `json:"buildkit_enabled"`
	DockerVersion   string `json:"docker_version"`
	Platform        string `json:"platform"`
	RemoteAppName   string `json:"remote_app_name"`
	RemoteMachineId string `json:"remote_machine_id"`
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewWithOptions

func NewWithOptions(ctx context.Context, opts NewClientOpts) (*Client, error)

func (*Client) BaseURL added in v0.4.41

func (c *Client) BaseURL() *url.URL

func (*Client) CreateBuild added in v0.3.214

func (c *Client) CreateBuild(ctx context.Context, in CreateBuildRequest) (*BuildResponse, error)

func (*Client) CreateFlyManagedBuilder added in v0.3.149

func (c *Client) CreateFlyManagedBuilder(ctx context.Context, orgSlug string, region string) (CreateFlyManagedBuilderResponse, error)

func (*Client) CreateRelease added in v0.3.214

func (c *Client) CreateRelease(ctx context.Context, request CreateReleaseRequest) (release *Release, err error)

func (*Client) EnsureDepotBuilder added in v0.3.214

func (*Client) FinishBuild added in v0.3.214

func (c *Client) FinishBuild(ctx context.Context, in FinishBuildRequest) (*BuildResponse, error)

func (*Client) GetAllAppsCurrentReleaseTimestamps added in v0.3.214

func (c *Client) GetAllAppsCurrentReleaseTimestamps(ctx context.Context) (out *map[string]time.Time, err error)

func (*Client) GetCurrentRelease added in v0.3.214

func (c *Client) GetCurrentRelease(ctx context.Context, appName string) (release *Release, err error)

GetCurrentRelease retrieves the current release for an app. Returns nil release (without error) if the app has no current release (404).

func (*Client) GetOrganization added in v0.3.214

func (c *Client) GetOrganization(ctx context.Context, orgSlug string) (*Organization, error)

func (*Client) HTTPClient added in v0.4.41

func (c *Client) HTTPClient() *http.Client

func (*Client) ListOrganizations added in v0.3.214

func (c *Client) ListOrganizations(ctx context.Context, admin bool) ([]Organization, error)

func (*Client) ListReleases added in v0.3.214

func (c *Client) ListReleases(ctx context.Context, appName string, limit int) ([]Release, error)

func (*Client) PromoteMachineEgressIP added in v0.4.37

func (c *Client) PromoteMachineEgressIP(ctx context.Context, appName string, egressIP string) error

func (*Client) UpdateRelease added in v0.3.214

func (c *Client) UpdateRelease(ctx context.Context, releaseID, status string, metadata any) (response *Release, err error)

type CreateBuildRequest added in v0.3.214

type CreateBuildRequest struct {
	AppName             string   `json:"app_name,omitempty"`
	BuilderType         string   `json:"builder_type,omitempty"`
	MachineId           string   `json:"machine_id,omitempty"`
	StrategiesAvailable []string `json:"strategies_available,omitempty"`
}

type CreateFlyManagedBuilderInput added in v0.3.149

type CreateFlyManagedBuilderInput struct {
	Builder CreateFlyManagedBuilderParams `json:"builder"`
}

type CreateFlyManagedBuilderParams added in v0.3.149

type CreateFlyManagedBuilderParams struct {
	Region string `json:"region"`
}

type CreateFlyManagedBuilderResponse added in v0.3.149

type CreateFlyManagedBuilderResponse struct {
	Data   FlyManagedBuilder `json:"data"`
	Errors DetailedErrors    `json:"errors"`
}

type CreateReleaseRequest added in v0.3.214

type CreateReleaseRequest struct {
	AppName    string             `json:"app_name"`
	BuildId    int64              `json:"build_id"`
	Definition any                `json:"definition"`
	Image      string             `json:"image"`
	Strategy   DeploymentStrategy `json:"strategy"`
}

type DeploymentStrategy added in v0.3.214

type DeploymentStrategy string
const (
	// Launch all new instances before shutting down previous instances
	DeploymentStrategyBluegreen DeploymentStrategy = "BLUEGREEN"
	// Ensure new instances are healthy before continuing with a rolling deployment
	DeploymentStrategyCanary DeploymentStrategy = "CANARY"
	// Deploy new instances all at once
	DeploymentStrategyImmediate DeploymentStrategy = "IMMEDIATE"
	// Incrementally replace old instances with new ones
	DeploymentStrategyRolling DeploymentStrategy = "ROLLING"
	// Incrementally replace old instances with new ones, 1 by 1
	DeploymentStrategyRollingOne DeploymentStrategy = "ROLLING_ONE"
	// Deploy new instances all at once
	DeploymentStrategySimple DeploymentStrategy = "SIMPLE"
)

type DetailedErrors added in v0.3.99

type DetailedErrors struct {
	Detail string `json:"detail"`
}

type EnsureDepotBuilderRequest added in v0.3.214

type EnsureDepotBuilderRequest struct {
	AppName        *string `json:"app_name,omitempty"`
	BuilderScope   *string `json:"builder_scope,omitempty"`
	OrganizationId *string `json:"organization_id,omitempty"`
	Region         *string `json:"region,omitempty"`
}

type EnsureDepotBuilderResponse added in v0.3.214

type EnsureDepotBuilderResponse struct {
	BuildId    *string `json:"build_id"`
	BuildToken *string `json:"build_token"`
}

type FinishBuildRequest added in v0.3.214

type FinishBuildRequest struct {
	BuildId             int64                  `json:"build_id"`
	AppName             string                 `json:"app_name"`
	MachineId           string                 `json:"machine_id"`
	Status              string                 `json:"status"`
	StrategiesAttempted []BuildStrategyAttempt `json:"strategies_attempted"`
	BuilderMeta         BuilderMeta            `json:"builder_meta"`
	FinalImage          BuildFinalImage        `json:"final_image"`
	Timings             BuildTimings           `json:"timings"`
	Logs                string                 `json:"logs"`
}

type FlyManagedBuilder added in v0.3.149

type FlyManagedBuilder struct {
	AppName   string `json:"app_name"`
	MachineID string `json:"machine_id"`
}

type NewClientOpts

type NewClientOpts struct {
	// optional, sent with requests
	UserAgent string

	// URL used when connecting via usermode wireguard.
	BaseURL *url.URL

	Tokens *tokens.Tokens

	// optional:
	Logger fly.Logger

	// optional, used to construct the underlying HTTP client
	Transport http.RoundTripper

	// optional; if non-nil, attaches the Fly-Client-* headers/UA suffix
	// derived from these signals
	ClientSignals *clientsignals.Signals
}

type Organization added in v0.3.214

type Organization struct {
	ID                       string        `json:"id"`
	InternalNumericID        uint64        `json:"internal_numeric_id"`
	Slug                     string        `json:"slug"`
	RawSlug                  string        `json:"raw_slug"`
	PaidPlan                 bool          `json:"paid_plan"`
	Personal                 bool          `json:"personal"`
	BillingStatus            BillingStatus `json:"billing_status"`
	ProvisionsBetaExtensions bool          `json:"provisions_beta_extensions"`
	Name                     string        `json:"name"`
	Billable                 bool          `json:"billable"`
	RemoteBuilderImage       string        `json:"remote_builder_image"`
}

type Release added in v0.3.214

type Release struct {
	ID                 string             `json:"id"`
	Version            int                `json:"version"`
	Stable             bool               `json:"stable"`
	InProgress         bool               `json:"in_progress"`
	Status             string             `json:"status"`
	DeploymentStrategy DeploymentStrategy `json:"strategy"`
	User               string             `json:"user"`
	CreatedAt          time.Time          `json:"created_at"`
	ImageRef           string             `json:"image_ref"`
}

type StatusError added in v0.4.85

type StatusError struct {
	// Op describes the attempted operation, e.g. "update release".
	Op string
	// StatusCode is the HTTP status returned by api.fly.io.
	StatusCode int
	// Body is the raw response body, included in the error message.
	Body string
}

StatusError is returned when api.fly.io answers with an unexpected status code. It carries the code so callers can tell a transient server-side failure apart from a request that will never succeed.

func (*StatusError) Error added in v0.4.85

func (e *StatusError) Error() string

func (*StatusError) Retryable added in v0.4.85

func (e *StatusError) Retryable() bool

Retryable reports whether the failure is worth another attempt. 5xx responses are transient by definition, and include the 504s served by the proxy in front of api.fly.io when it gives up waiting on the backend. 4xx responses mean the request itself is wrong and will fail identically on a retry.

Callers must only retry when the request is idempotent.

Directories

Path Synopsis
mpg
v1
v2

Jump to

Keyboard shortcuts

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