cloudscale

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 31, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ResourceNvidiaGPU is the resource name for NVIDIA GPUs.
	ResourceNvidiaGPU corev1.ResourceName = "nvidia.com/gpu"
)

Variables

This section is empty.

Functions

func IsNotFound

func IsNotFound(err error) bool

IsNotFound checks if an error from the cloudscale.ch API indicates a 404 Not Found response.

Types

type Client

type Client struct {
	Networks                   NetworkService
	Subnets                    SubnetService
	Regions                    RegionService
	Servers                    ServerService
	ServerGroups               ServerGroupService
	LoadBalancers              LoadBalancerService
	LoadBalancerPools          LoadBalancerPoolService
	LoadBalancerPoolMembers    LoadBalancerPoolMemberService
	LoadBalancerListeners      LoadBalancerListenerService
	LoadBalancerHealthMonitors LoadBalancerHealthMonitorService
	Flavors                    FlavorService
}

func NewClient

func NewClient(token string) *Client

type FlavorInfo

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

FlavorInfo holds cloudscale.ch flavor information for capacity calculation.

func NewFlavorInfo

func NewFlavorInfo(flavors []cloudscalesdk.Flavor) *FlavorInfo

NewFlavorInfo creates a FlavorInfo from a list of flavors.

func (*FlavorInfo) GetAllFlavors

func (fi *FlavorInfo) GetAllFlavors() []string

GetAllFlavors returns all known flavor slugs.

func (*FlavorInfo) GetCapacity

func (fi *FlavorInfo) GetCapacity(slug string, rootVolumeSizeGB int) (corev1.ResourceList, error)

GetCapacity returns the resource capacity for a flavor slug. rootVolumeSizeGB is used to calculate ephemeral-storage.

func (*FlavorInfo) GetFlavor

func (fi *FlavorInfo) GetFlavor(slug string) *cloudscalesdk.Flavor

GetFlavor returns the flavor for a given slug, or nil if not found.

func (*FlavorInfo) IsValidFlavor

func (fi *FlavorInfo) IsValidFlavor(slug string) bool

IsValidFlavor returns true if the flavor slug is valid.

type FlavorService

type FlavorService interface {
	List(ctx context.Context) ([]cloudscalesdk.Flavor, error)
}

type LoadBalancerPoolMemberService

type LoadBalancerPoolMemberService interface {
	Create(ctx context.Context, poolID string, req *cloudscalesdk.LoadBalancerPoolMemberRequest) (*cloudscalesdk.LoadBalancerPoolMember, error)
	Get(ctx context.Context, poolID, memberID string) (*cloudscalesdk.LoadBalancerPoolMember, error)
	List(ctx context.Context, poolID string, modifiers ...cloudscalesdk.ListRequestModifier) ([]cloudscalesdk.LoadBalancerPoolMember, error)
	Delete(ctx context.Context, poolID, memberID string) error
	Update(ctx context.Context, poolID, memberID string, req *cloudscalesdk.LoadBalancerPoolMemberRequest) error
}

type RegionInfo

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

RegionInfo holds cloudscale.ch region and zone information for validation.

func NewRegionInfo

func NewRegionInfo(regions []cloudscalesdk.Region) *RegionInfo

NewRegionInfo creates a RegionInfo from the SDK region list.

func (*RegionInfo) GetAllRegions

func (ri *RegionInfo) GetAllRegions() []string

GetAllRegions returns all known region slugs.

func (*RegionInfo) GetDefaultZoneForRegion

func (ri *RegionInfo) GetDefaultZoneForRegion(region string) string

GetDefaultZoneForRegion returns the first (default) zone for a region. Returns empty string if region is not found or has no zones.

func (*RegionInfo) IsValidZone

func (ri *RegionInfo) IsValidZone(zone string) bool

IsValidZone returns true if the zone slug is valid.

func (*RegionInfo) ZoneBelongsToRegion

func (ri *RegionInfo) ZoneBelongsToRegion(zone, region string) bool

ZoneBelongsToRegion returns true if the zone belongs to the specified region.

type RegionService

type RegionService interface {
	List(ctx context.Context) ([]cloudscalesdk.Region, error)
}

Jump to

Keyboard shortcuts

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