usage

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2022 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Days = map[string]int{
	"01": 31,
	"02": 28,
	"03": 31,
	"04": 30,
	"05": 31,
	"06": 30,
	"07": 31,
	"08": 31,
	"09": 30,
	"10": 31,
	"11": 30,
	"12": 31,
}
View Source
var OperatingSystem = map[string]string{
	"Amazon Linux":                "Linux",
	"Linux/UNIX":                  "Linux",
	"Linux/UNIX (Amazon VPC)":     "Linux",
	"Linux with SQL Standard":     "Linux",
	"Linux with SQL Web":          "Linux",
	"Linux with SQL Enterprise":   "Linux",
	"Red Hat Enterprise Linux":    "RHEL",
	"SUSE Linux":                  "SUSE",
	"Windows":                     "Windows",
	"Windows (Amazon VPC)":        "Windows",
	"Windows with SQL Standard":   "Windows",
	"Windows with SQL Web":        "Windows",
	"Windows with SQL Enterprise": "Windows",
	"Windows (BYOL)":              "",
	"NoOperatingSystem":           "",
}

OperatingSystem returns AWS Pricing OperatingSystem from Usage Platform.

Functions

func FetchUsageType

func FetchUsageType(start, end string) ([]string, error)

func GroupBy

func GroupBy(q []Quantity) (map[string][]Quantity, []string)

func Serialize

func Serialize(dir string, date []calendar.Date) error

func Sort

func Sort(quantity []Quantity)

func SortedKey

func SortedKey(group map[string][]Quantity) []string

Types

type Account

type Account struct {
	ID          string
	Description string
}

func FetchLinkedAccount

func FetchLinkedAccount(start, end string) ([]Account, error)

type FetchFunc

type FetchFunc func(start, end string, account Account, usageType []string) ([]Quantity, error)

type GetQuantityInput

type GetQuantityInput struct {
	AccountID   string
	Description string
	Dimension   string
	Metric      string
	UsageType   []string
	Start       string
	End         string
}

type Quantity

type Quantity struct {
	AccountID      string  `json:"account_id,omitempty"`
	Description    string  `json:"description,omitempty"`
	Region         string  `json:"region,omitempty"`
	UsageType      string  `json:"usage_type,omitempty"`
	Platform       string  `json:"platform,omitempty"`
	CacheEngine    string  `json:"cache_engine,omitempty"`
	DatabaseEngine string  `json:"database_engine,omitempty"`
	Date           string  `json:"date,omitempty"`
	InstanceHour   float64 `json:"instance_hour,omitempty"`
	InstanceNum    float64 `json:"instance_num,omitempty"`
	GByte          float64 `json:"giga_byte,omitempty"`
	Requests       int64   `json:"requests,omitempty"`
	Unit           string  `json:"unit"`
}

func Deserialize

func Deserialize(dir string, date []calendar.Date) ([]Quantity, error)

func Fetch

func Fetch(start, end string) ([]Quantity, error)

func FetchBoxUsage

func FetchBoxUsage(start, end string, account Account, usageType []string) ([]Quantity, error)

func FetchDataTransfer

func FetchDataTransfer(start, end string, account Account, usageType []string) ([]Quantity, error)

func FetchInstanceUsage

func FetchInstanceUsage(start, end string, account Account, usageType []string) ([]Quantity, error)

func FetchMultiAZUsage

func FetchMultiAZUsage(start, end string, account Account, usageType []string) ([]Quantity, error)

func FetchNode

func FetchNode(start, end string, account Account, usageType []string) ([]Quantity, error)

func FetchNodeUsage

func FetchNodeUsage(start, end string, account Account, usageType []string) ([]Quantity, error)

func FetchQuantity

func FetchQuantity(in *GetQuantityInput) ([]Quantity, error)

func FetchRequests

func FetchRequests(start, end string, account Account, usageType []string) ([]Quantity, error)

func FetchSpotUsage

func FetchSpotUsage(start, end string, account Account, usageType []string) ([]Quantity, error)

func FetchWith

func FetchWith(start, end string, fn []FetchFunc) ([]Quantity, error)

func Merge

func Merge(q []Quantity) []Quantity

func MergeOverall

func MergeOverall(q []Quantity) []Quantity

func Normalize

func Normalize(q []Quantity, mini map[string]pricing.Tuple) []Quantity

func (Quantity) JSON

func (q Quantity) JSON() string

func (Quantity) OSEngine

func (q Quantity) OSEngine() string

func (Quantity) PFEngine

func (q Quantity) PFEngine() string

func (Quantity) Pretty

func (q Quantity) Pretty() string

func (Quantity) String

func (q Quantity) String() string

Jump to

Keyboard shortcuts

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