Documentation
¶
Index ¶
- Variables
- func GetErrorRequestID(err error) string
- func GetErrorTraceID(err error) string
- func Retry(ctx context.Context, op func() error) error
- type App
- type AppOrganizationInfo
- type AssignIPRequest
- type Client
- func (f *Client) AcquireLease(ctx context.Context, appName, machineID string, ttl *int) (*fly.MachineLease, error)
- func (f *Client) AppNameAvailable(ctx context.Context, name string) (ok bool, err error)
- func (f *Client) AssignIP(ctx context.Context, appName string, req AssignIPRequest) (res *IPAssignment, err error)
- func (f *Client) Cordon(ctx context.Context, appName, machineID string, nonce string) (err error)
- func (f *Client) CreateApp(ctx context.Context, in CreateAppRequest) (app *App, err error)
- func (f *Client) CreateVolume(ctx context.Context, appName string, req fly.CreateVolumeRequest) (*fly.Volume, error)
- func (f *Client) CreateVolumeSnapshot(ctx context.Context, appName, volumeId string) error
- func (f *Client) DecryptSecretKey(ctx context.Context, appName, name string, ciphertext, assoc []byte, ...) (*fly.DecryptSecretKeyResp, error)
- func (f *Client) DeleteApp(ctx context.Context, name string) error
- func (f *Client) DeleteAppSecret(ctx context.Context, appName, name string) (*fly.DeleteAppSecretResp, error)
- func (f *Client) DeleteIPAssignment(ctx context.Context, appName, ip string) (err error)
- func (f *Client) DeleteMetadata(ctx context.Context, appName, machineID, key string) error
- func (f *Client) DeleteSecretKey(ctx context.Context, appName, name string) error
- func (f *Client) DeleteVolume(ctx context.Context, appName, volumeId string) (*fly.Volume, error)
- func (f *Client) Destroy(ctx context.Context, appName string, input fly.RemoveMachineInput, ...) (err error)
- func (f *Client) EncryptSecretKey(ctx context.Context, appName, name string, plaintext, assoc []byte, ...) (*fly.EncryptSecretKeyResp, error)
- func (f *Client) Exec(ctx context.Context, appName, machineID string, in *fly.MachineExecRequest) (*fly.MachineExecResponse, error)
- func (f *Client) ExtendVolume(ctx context.Context, appName, volumeId string, size_gb int) (*fly.Volume, bool, error)
- func (f *Client) FindLease(ctx context.Context, appName, machineID string) (*fly.MachineLease, error)
- func (f *Client) GenerateSecretKey(ctx context.Context, appName, name string, typ string) (*fly.SetSecretKeyResp, error)
- func (f *Client) Get(ctx context.Context, appName, machineID string) (*fly.Machine, error)
- func (f *Client) GetAllVolumes(ctx context.Context, appName string) ([]fly.Volume, error)
- func (f *Client) GetApp(ctx context.Context, name string) (app *App, err error)
- func (f *Client) GetAppSecrets(ctx context.Context, appName, name string, version *uint64, showSecrets bool) (*fly.AppSecret, error)
- func (f *Client) GetIPAssignments(ctx context.Context, appName string) (res *ListIPAssignmentsResponse, err error)
- func (f *Client) GetMany(ctx context.Context, appName string, machineIDs []string) ([]*fly.Machine, error)
- func (f *Client) GetMetadata(ctx context.Context, appName, machineID string) (map[string]string, error)
- func (f *Client) GetPlacements(ctx context.Context, request *GetPlacementsRequest) ([]RegionPlacement, error)
- func (f *Client) GetProcesses(ctx context.Context, appName, machineID string) (fly.MachinePsResponse, error)
- func (f *Client) GetRegions(ctx context.Context) (*RegionData, error)
- func (f *Client) GetSecretKey(ctx context.Context, appName, name string, version *uint64) (*fly.SecretKey, error)
- func (f *Client) GetVolume(ctx context.Context, appName, volumeId string) (*fly.Volume, error)
- func (f *Client) GetVolumeSnapshots(ctx context.Context, appName, volumeId string) ([]fly.VolumeSnapshot, error)
- func (f *Client) GetVolumes(ctx context.Context, appName string) ([]fly.Volume, error)
- func (f *Client) Kill(ctx context.Context, appName, machineID string) (err error)
- func (f *Client) Launch(ctx context.Context, appName string, builder fly.LaunchMachineInput) (out *fly.Machine, err error)
- func (f *Client) List(ctx context.Context, appName, state string) ([]*fly.Machine, error)
- func (f *Client) ListActive(ctx context.Context, appName string) ([]*fly.Machine, error)
- func (f *Client) ListAppSecrets(ctx context.Context, appName string, version *uint64, showSecrets bool) ([]fly.AppSecret, error)
- func (f *Client) ListApps(ctx context.Context, req ListAppsRequest) (apps []App, err error)
- func (f *Client) ListFlyAppsMachines(ctx context.Context, appName string) ([]*fly.Machine, *fly.Machine, error)
- func (f *Client) ListSecretKeys(ctx context.Context, appName string, version *uint64) ([]fly.SecretKey, error)
- func (f *Client) NewRequest(ctx context.Context, method, path string, in interface{}, ...) (*http.Request, error)
- func (f *Client) RefreshLease(ctx context.Context, appName, machineID string, ttl *int, nonce string) (*fly.MachineLease, error)
- func (f *Client) ReleaseLease(ctx context.Context, appName, machineID, nonce string) error
- func (f *Client) Restart(ctx context.Context, appName string, in fly.RestartMachineInput, nonce string) (err error)
- func (f *Client) SetAppSecret(ctx context.Context, appName, name string, value string) (*fly.SetAppSecretResp, error)
- func (f *Client) SetMetadata(ctx context.Context, appName, machineID, key, value string) error
- func (f *Client) SetSecretKey(ctx context.Context, appName, name string, typ string, value []byte) (*fly.SetSecretKeyResp, error)
- func (f *Client) SignSecretKey(ctx context.Context, appName, name string, plaintext []byte, version *uint64) (*fly.SignSecretKeyResp, error)
- func (f *Client) Start(ctx context.Context, appName, machineID string, nonce string) (out *fly.MachineStartResponse, err error)
- func (f *Client) Stop(ctx context.Context, appName string, in fly.StopMachineInput, nonce string) (err error)
- func (f *Client) Suspend(ctx context.Context, appName, machineID, nonce string) error
- func (f *Client) Uncordon(ctx context.Context, appName, machineID string, nonce string) (err error)
- func (f *Client) Update(ctx context.Context, appName string, builder fly.LaunchMachineInput, ...) (out *fly.Machine, err error)
- func (f *Client) UpdateAppSecrets(ctx context.Context, appName string, values map[string]*string) (*fly.UpdateAppSecretsResp, error)
- func (f *Client) UpdateVolume(ctx context.Context, appName, volumeId string, req fly.UpdateVolumeRequest) (*fly.Volume, error)
- func (f *Client) VerifySecretKey(ctx context.Context, appName, name string, plaintext, sig []byte, ...) error
- func (f *Client) Wait(ctx context.Context, appName string, machine *fly.Machine, state string, ...) (err error)
- func (f *Client) WaitForApp(ctx context.Context, name string) error
- type CreateAppRequest
- type ErrorRequestID
- type ErrorStatusCode
- type ErrorTraceID
- type ExtendVolumeRequest
- type ExtendVolumeResponse
- type FlapsError
- func (fe *FlapsError) ErrRequestID() string
- func (fe *FlapsError) ErrTraceID() string
- func (fe *FlapsError) Error() string
- func (fe *FlapsError) Is(target error) bool
- func (fe *FlapsError) ResponseBodyString() string
- func (fe *FlapsError) StatusCode() *StatusCode
- func (fe *FlapsError) Suggestion() string
- func (fe *FlapsError) Unwrap() error
- type GetPlacementsRequest
- type GetPlacementsResponse
- type IPAssignment
- type ListAppsRequest
- type ListIPAssignmentsResponse
- type NewClientOpts
- type RegionData
- type RegionPlacement
- type StatusCode
- type Weights
Constants ¶
This section is empty.
Variables ¶
View Source
var (
FlapsErrorNotFound = &FlapsError{ResponseStatusCode: http.StatusNotFound}
)
View Source
var NonceHeader = "fly-machine-lease-nonce"
Functions ¶
func GetErrorRequestID ¶
func GetErrorTraceID ¶ added in v0.1.5
Types ¶
type App ¶ added in v0.1.67
type App struct {
ID string `json:"id"`
Name string `json:"name"`
InternalNumericID int32 `json:"internal_numeric_id"`
Network string `json:"network"`
Status string `json:"status"`
MachineCount int64 `json:"machine_count"`
VolumeCount int64 `json:"volume_count"`
Organization AppOrganizationInfo `json:"organization"`
// hashid.appname.fly.dev, for ACME HTTP-01 pointing only to v6
CnameTarget string `json:"cname_target"`
// a role like "postgres_cluster" or "remote-docker-builder"
AppRole string `json:"app_role"`
}
func (*App) IsPostgresApp ¶ added in v0.1.67
type AppOrganizationInfo ¶ added in v0.1.67
type AssignIPRequest ¶ added in v0.1.67
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewWithOptions ¶
func NewWithOptions(ctx context.Context, opts NewClientOpts) (*Client, error)
func (*Client) AcquireLease ¶
func (*Client) AppNameAvailable ¶ added in v0.1.67
func (*Client) AssignIP ¶ added in v0.1.67
func (f *Client) AssignIP(ctx context.Context, appName string, req AssignIPRequest) (res *IPAssignment, err error)
func (*Client) CreateVolume ¶
func (*Client) CreateVolumeSnapshot ¶
func (*Client) DecryptSecretKey ¶ added in v0.1.46
func (*Client) DeleteAppSecret ¶ added in v0.1.46
func (*Client) DeleteIPAssignment ¶ added in v0.1.67
func (*Client) DeleteMetadata ¶
func (*Client) DeleteSecretKey ¶ added in v0.1.46
func (*Client) DeleteVolume ¶
func (*Client) EncryptSecretKey ¶ added in v0.1.46
func (*Client) Exec ¶
func (f *Client) Exec(ctx context.Context, appName, machineID string, in *fly.MachineExecRequest) (*fly.MachineExecResponse, error)
func (*Client) ExtendVolume ¶
func (*Client) GenerateSecretKey ¶ added in v0.1.46
func (*Client) GetAllVolumes ¶
func (*Client) GetAppSecrets ¶ added in v0.1.46
func (*Client) GetIPAssignments ¶ added in v0.1.67
func (*Client) GetMetadata ¶
func (*Client) GetPlacements ¶ added in v0.1.47
func (f *Client) GetPlacements(ctx context.Context, request *GetPlacementsRequest) ([]RegionPlacement, error)
func (*Client) GetProcesses ¶
func (*Client) GetRegions ¶ added in v0.1.45
func (f *Client) GetRegions(ctx context.Context) (*RegionData, error)
func (*Client) GetSecretKey ¶ added in v0.1.46
func (*Client) GetVolumeSnapshots ¶
func (*Client) GetVolumes ¶
func (*Client) ListActive ¶
ListActive returns only non-destroyed that aren't in a reserved process group.
func (*Client) ListAppSecrets ¶ added in v0.1.46
func (*Client) ListFlyAppsMachines ¶
func (f *Client) ListFlyAppsMachines(ctx context.Context, appName string) ([]*fly.Machine, *fly.Machine, error)
ListFlyAppsMachines returns apps that are part of Fly Launch. Destroyed machines and console machines are excluded. Unlike other List functions, this function retries multiple times.
func (*Client) ListSecretKeys ¶ added in v0.1.46
func (*Client) NewRequest ¶
func (*Client) RefreshLease ¶
func (*Client) ReleaseLease ¶
func (*Client) SetAppSecret ¶ added in v0.1.46
func (*Client) SetMetadata ¶
func (*Client) SetSecretKey ¶ added in v0.1.46
func (*Client) SignSecretKey ¶ added in v0.1.46
func (*Client) UpdateAppSecrets ¶ added in v0.1.51
func (f *Client) UpdateAppSecrets(ctx context.Context, appName string, values map[string]*string) (*fly.UpdateAppSecretsResp, error)
UpdateAppSecrets can set and delete secrets. Nil secret values are deleted, while others are set.
func (*Client) UpdateVolume ¶
func (*Client) VerifySecretKey ¶ added in v0.1.46
type CreateAppRequest ¶ added in v0.1.67
type ErrorRequestID ¶
type ErrorRequestID interface {
ErrRequestID() string
}
TODO: we might not actually need an interface type here
type ErrorStatusCode ¶
type ErrorStatusCode interface {
error
StatusCode() *StatusCode
}
type ErrorTraceID ¶ added in v0.1.5
type ErrorTraceID interface {
ErrTraceID() string
}
type ExtendVolumeRequest ¶
type ExtendVolumeRequest struct {
SizeGB int `json:"size_gb"`
}
type ExtendVolumeResponse ¶
type FlapsError ¶
type FlapsError struct {
OriginalError error
ResponseStatusCode int
ResponseBody []byte
FlyRequestId string
TraceID string
}
func (*FlapsError) ErrRequestID ¶
func (fe *FlapsError) ErrRequestID() string
func (*FlapsError) ErrTraceID ¶ added in v0.1.5
func (fe *FlapsError) ErrTraceID() string
func (*FlapsError) Error ¶
func (fe *FlapsError) Error() string
func (*FlapsError) Is ¶
func (fe *FlapsError) Is(target error) bool
func (*FlapsError) ResponseBodyString ¶
func (fe *FlapsError) ResponseBodyString() string
func (*FlapsError) StatusCode ¶
func (fe *FlapsError) StatusCode() *StatusCode
func (*FlapsError) Suggestion ¶
func (fe *FlapsError) Suggestion() string
func (*FlapsError) Unwrap ¶
func (fe *FlapsError) Unwrap() error
type GetPlacementsRequest ¶ added in v0.1.47
type GetPlacementsRequest struct {
// Resource requirements for the Machine to simulate. Defaults to a performance-1x machine
ComputeRequirements *fly.MachineGuest `json:"compute"`
// Region expression for placement as a comma-delimited set of regions or aliases.
// Defaults to "[region],any", to prefer the API endpoint's local region with any other region as fallback.
Region string `json:"region"`
// Number of machines to simulate placement.
// Defaults to 0, which returns the org-specific limit for each region.
Count uint64 `json:"count"`
VolumeName string `json:"volume_name"`
VolumeSizeBytes uint64 `json:"volume_size_bytes"`
// Optional weights to override default placement preferences.
Weights *Weights `json:"weights"`
Org string `json:"org_slug"`
}
type GetPlacementsResponse ¶ added in v0.1.47
type GetPlacementsResponse struct {
Regions []RegionPlacement
}
type IPAssignment ¶ added in v0.1.67
type IPAssignment struct {
IP string `json:"ip"`
Region string `json:"region"`
ServiceName string `json:"service_name"`
CreatedAt time.Time `json:"created_at"`
}
func (IPAssignment) IsFlycast ¶ added in v0.1.67
func (ip IPAssignment) IsFlycast() bool
type ListAppsRequest ¶ added in v0.1.69
type ListIPAssignmentsResponse ¶ added in v0.1.67
type ListIPAssignmentsResponse struct {
IPs []IPAssignment `json:"ips"`
}
type NewClientOpts ¶
type RegionData ¶ added in v0.1.67
type RegionPlacement ¶ added in v0.1.47
type StatusCode ¶
type StatusCode string
func GetErrorStatusCode ¶
func GetErrorStatusCode(err error) *StatusCode
Click to show internal directories.
Click to hide internal directories.