package resources
import "github.com/mesos/mesos-go/api/v1/lib/resources"
Index ¶
- Constants
- func CPUs(resources ...mesos.Resource) (float64, bool)
- func Contains(subject []mesos.Resource, that mesos.Resource) bool
- func ContainsAll(subject, that []mesos.Resource) bool
- func Disk(resources ...mesos.Resource) (uint64, bool)
- func Equivalent(subject, that []mesos.Resource) bool
- func Find(wants mesos.Resources, from ...mesos.Resource) (total mesos.Resources)
- func Flatten(resources []mesos.Resource, opts ...FlattenOpt) []mesos.Resource
- func GPUs(resources ...mesos.Resource) (uint64, bool)
- func Memory(resources ...mesos.Resource) (uint64, bool)
- func Ports(resources ...mesos.Resource) (mesos.Ranges, bool)
- func Reduce(rf Reducer, rs ...mesos.Resource) (r *mesos.Resource)
- func SumAndCompare(expected []mesos.Resource, resources ...mesos.Resource) bool
- func TypesOf(resources ...mesos.Resource) map[Name]mesos.Value_Type
- func Validate(resources ...mesos.Resource) error
- type Builder
- func Build() *Builder
- func NewCPUs(value float64) *Builder
- func NewDisk(value float64) *Builder
- func NewGPUs(value uint) *Builder
- func NewMemory(value float64) *Builder
- func (rb *Builder) Disk(persistenceID, containerPath string) *Builder
- func (rb *Builder) DiskSource(root string, t mesos.Resource_DiskInfo_Source_Type) *Builder
- func (rb *Builder) Name(name fmt.Stringer) *Builder
- func (rb *Builder) Ranges(rs mesos.Ranges) *Builder
- func (rb *Builder) Revocable() *Builder
- func (rb *Builder) Role(role string) *Builder
- func (rb *Builder) Scalar(x float64) *Builder
- func (rb *Builder) Set(x ...string) *Builder
- type FlattenOpt
- type Name
- func NamesOf(resources ...mesos.Resource) (names []Name)
- func (n Name) Filter(r *mesos.Resource) bool
- func (n Name) String() string
- func (n Name) Sum(resources ...mesos.Resource) (*mesos.Resource, bool)
- type Names
- func (ns Names) Len() int
- func (ns Names) Less(i, j int) bool
- func (ns Names) Sort()
- func (ns Names) Swap(i, j int)
- type RangeBuilder
- type Reducer
Constants ¶
const ( NameCPUs = Name("cpus") NameDisk = Name("disk") NameGPUs = Name("gpus") NameMem = Name("mem") NamePorts = Name("ports") )
Functions ¶
func CPUs ¶
func Contains ¶
func Contains(subject []mesos.Resource, that mesos.Resource) bool
func ContainsAll ¶
func ContainsAll(subject, that []mesos.Resource) bool
ContainsAll returns true if this set of resources contains that set of (presumably pre-validated) resources.
func Disk ¶
func Equivalent ¶
func Equivalent(subject, that []mesos.Resource) bool
func Find ¶
func Find(wants mesos.Resources, from ...mesos.Resource) (total mesos.Resources)
func Flatten ¶
func Flatten(resources []mesos.Resource, opts ...FlattenOpt) []mesos.Resource
Flatten is deprecated and should only be used when dealing w/ resources in pre-reservation-refinement format.
func GPUs ¶
func Memory ¶
func Ports ¶
func Ports(resources ...mesos.Resource) (mesos.Ranges, bool)
func Reduce ¶
func Reduce(rf Reducer, rs ...mesos.Resource) (r *mesos.Resource)
Reduce applies the given Reducer to produce a final Resource, iterating left-to-right over the given resources; panics if the Reducer is nil.
func SumAndCompare ¶
func SumAndCompare(expected []mesos.Resource, resources ...mesos.Resource) bool
func TypesOf ¶
func TypesOf(resources ...mesos.Resource) map[Name]mesos.Value_Type
func Validate ¶
func Validate(resources ...mesos.Resource) error
Types ¶
type Builder ¶
type Builder struct{ mesos.Resource }
Builder simplifies construction of Resource objects
func Build ¶
func Build() *Builder
func NewCPUs ¶
func NewDisk ¶
func NewGPUs ¶
func NewMemory ¶
func (*Builder) Disk ¶
func (*Builder) DiskSource ¶
func (*Builder) Name ¶
func (*Builder) Ranges ¶
func (*Builder) Revocable ¶
func (*Builder) Role ¶
func (*Builder) Scalar ¶
func (*Builder) Set ¶
type FlattenOpt ¶
type FlattenOpt func(interface{})
FlattenOpt is a functional option for resource flattening, via Flatten. Implementations are expected to type-narrow the given interface, matching against WithRole, WithReservation or both methods (see Role.Assign)
type Name ¶
type Name string
func NamesOf ¶
func NamesOf(resources ...mesos.Resource) (names []Name)
func (Name) Filter ¶
func (Name) String ¶
String implements fmt.Stringer
func (Name) Sum ¶
type Names ¶
type Names []Name
func (Names) Len ¶
func (Names) Less ¶
func (Names) Sort ¶
func (ns Names) Sort()
func (Names) Swap ¶
type RangeBuilder ¶
type RangeBuilder struct{ mesos.Ranges }
RangeBuilder simplifies construction of Range objects
func BuildRanges ¶
func BuildRanges() *RangeBuilder
func (*RangeBuilder) Span ¶
func (rb *RangeBuilder) Span(bp, ep uint64) *RangeBuilder
Span is a functional option for Ranges, defines the begin and end points of a continuous span within a range
type Reducer ¶
type Reducer func(acc, x *mesos.Resource) *mesos.Resource
Reducer applies some operation to possibly combine an accumulator (acc) and a resource (x), returning either the combined result or nil.
func Sum ¶
func Sum(fs ...resourcefilters.Filter) Reducer
func (Reducer) If ¶
If applies a filter func to a resource reducer; rejected resources are not processed by the receiving reducer.
func (Reducer) IfNot ¶
IfNot applies a filter func to a resource reducer; accepted resources are not processed by the receiving reducer.
Source Files ¶
aggregate.go builders.go compare.go find.go names.go reduce.go
- Version
- v0.0.11 (latest)
- Published
- May 15, 2020
- Platform
- linux/amd64
- Imports
- 5 packages
- Last checked
- 8 hours ago –
Tools for package owners.