utils

package
v1.85.1 Latest Latest
Warning

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

Go to latest
Published: Jun 23, 2025 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// utils.AllZones represents the list of known Exoscale zones, in case we need it without performing API lookup.
	AllZones = []string{
		string(oapi.ZoneNameAtVie1),
		string(oapi.ZoneNameAtVie2),
		string(oapi.ZoneNameBgSof1),
		string(oapi.ZoneNameChDk2),
		string(oapi.ZoneNameChGva2),
		string(oapi.ZoneNameDeFra1),
		string(oapi.ZoneNameDeMuc1),
	}
)

Functions

func AskQuestion added in v1.85.0

func AskQuestion(ctx context.Context, text string) bool

func DatePtrFormatOutput added in v1.85.0

func DatePtrFormatOutput(t *time.Time) string

func DecorateAsyncOperation added in v1.85.0

func DecorateAsyncOperation(message string, fn func())

utils.DecorateAsyncOperation is a cosmetic helper intended for wrapping long asynchronous operations, outputting progress feedback to the user's terminal. TODO remove this one once all has been migrated to utils.DecorateAsyncOperation.

func DecorateAsyncOperations added in v1.85.0

func DecorateAsyncOperations(message string, fns ...func() error) error

func DefaultBool added in v1.65.0

func DefaultBool(b *bool, def bool) bool

DefaultBool returns the value of the bool pointer b if not nil, otherwise the default value specified.

func DefaultIP added in v1.65.0

func DefaultIP(i *net.IP, def string) string

DefaultIP returns the IP as string if not nil, otherwise the default value specified.

func DefaultInt64 added in v1.65.0

func DefaultInt64(i *int64, def int64) int64

DefaultInt64 returns the value of the int64 pointer b if not nil, otherwise the default value specified.

func DefaultString added in v1.65.0

func DefaultString(s *string, def string) string

DefaultString returns the value of the string pointer s if not nil, otherwise the default value specified.

func EllipString added in v1.65.0

func EllipString(s string, maxLen int) string

EllipString truncates the string s with an ellipsis character if longer than maxLen.

func ForEachZone added in v1.78.2

func ForEachZone(zones []string, f func(zone string) error) error

ForEachZone executes the function f for each specified zone, and return a multierror.Error containing all errors that may have occurred during execution.

func ForEveryZone added in v1.81.0

func ForEveryZone(zones []v3.Zone, f func(zone v3.Zone) error) error

TODO: This is a copy paste from the function above, but suitable for egoscale v3 calls. Remove the old one after the migration.

func GetInstancesAttachedToEIP added in v1.66.0

func GetInstancesAttachedToEIP(ctx context.Context, client *v3.Client, elasticIPID string) ([]v3.ListInstancesResponseInstances, error)

func GetInstancesInSecurityGroup added in v1.65.0

func GetInstancesInSecurityGroup(ctx context.Context, client *v2.Client, securityGroupID string) ([]*v2.Instance, error)

func GetSettingBool added in v1.84.0

func GetSettingBool(settings map[string]interface{}, key string) bool

GetSettingBool safely retrieves a bool value from settings map

func GetSettingFloat64 added in v1.84.0

func GetSettingFloat64(settings map[string]interface{}, key string) int

GetSettingFloat64 safely retrieves a float64 value from settings map and converts to int

func GetSettingString added in v1.84.0

func GetSettingString(settings map[string]interface{}, key string) string

GetSettingString safely retrieves a string value from settings map

func Int64PtrFormatOutput added in v1.85.0

func Int64PtrFormatOutput(n *int64) string

func IsEmptyStringPtr added in v1.65.0

func IsEmptyStringPtr(s *string) bool

func IsInList added in v1.65.0

func IsInList(list []string, v string) bool

IsInList returns true if v exists in the specified list, false otherwise.

func NonEmptyStringPtr added in v1.65.0

func NonEmptyStringPtr(s string) *string

NonEmptyStringPtr returns a non-nil pointer to s if the string is not empty, otherwise nil.

func ParseInstanceType added in v1.78.5

func ParseInstanceType(instanceType string) v3.InstanceType

ParseInstanceType returns an v3.InstanceType with family and name.

func PrintOutput added in v1.85.0

func PrintOutput(o output.Outputter, err error) error

output prints an outputter interface to the terminal, formatted according to the global format specified as CLI flag.

func RandStringBytes

func RandStringBytes(n int) (string, error)

RandStringBytes Generate random string of n bytes

func SliceToMap added in v1.65.0

func SliceToMap(v []string) (map[string]string, error)

SliceToMap returns a map[string]string from a slice of KEY=VALUE formatted strings. This function is used to obtain a map[string]string from CLI flags, as the current CLI flags parsing module used (github.com/spf13/pflag) implements a "StringToString" type flag but doesn't support passing empty values, which we need in some cases (e.g. resetting labels).

func StrPtrFormatOutput added in v1.85.0

func StrPtrFormatOutput(s *string) string

func VersionIsNewer added in v1.65.0

func VersionIsNewer(old, new string) bool

VersionIsNewer returns true if new version has potential deprecation

func VersionMajor added in v1.65.0

func VersionMajor(version string) uint32

VersionMajor returns major part of a version number (given "x.y(.z)", returns "x"). If the input version is not in semver format, returns 0.

func VersionMinor added in v1.65.0

func VersionMinor(version string) uint32

VersionMinor returns minor part of a version number (given "x.y(.z)", returns "y"). If the input version is not in semver format, returns 0.

func VersionsAreEquivalent added in v1.65.0

func VersionsAreEquivalent(a, b string) bool

VersionsAreEquivalent returns true if new and old versions both have same major and minor numbers

Types

This section is empty.

Jump to

Keyboard shortcuts

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