Documentation ¶
Index ¶
- func AddRawValue(r gjson.Result, key string, v interface{}) gjson.Result
- func CalculateCosts(resources []*Resource)
- func MultiplyQuantities(resource *Resource, multiplier decimal.Decimal)
- func SortResources(resources []*Resource)
- type AttributeFilter
- type CostComponent
- func (c *CostComponent) CalculateCosts()
- func (c *CostComponent) Price() decimal.Decimal
- func (c *CostComponent) PriceHash() string
- func (c *CostComponent) SetPrice(price decimal.Decimal)
- func (c *CostComponent) SetPriceHash(priceHash string)
- func (c *CostComponent) UnitMultiplierHourlyQuantity() *decimal.Decimal
- func (c *CostComponent) UnitMultiplierMonthlyQuantity() *decimal.Decimal
- func (c *CostComponent) UnitMultiplierPrice() decimal.Decimal
- func (c *CostComponent) UnitWithMultiplier() string
- type PriceFilter
- type ProductFilter
- type Provider
- type RegistryItem
- type Resource
- type ResourceData
- type ResourceFunc
- type UsageData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CalculateCosts ¶
func CalculateCosts(resources []*Resource)
func MultiplyQuantities ¶ added in v0.7.4
func SortResources ¶
func SortResources(resources []*Resource)
Types ¶
type AttributeFilter ¶
type CostComponent ¶
type CostComponent struct { Name string Unit string UnitMultiplier int IgnoreIfMissingPrice bool ProductFilter *ProductFilter PriceFilter *PriceFilter HourlyQuantity *decimal.Decimal MonthlyQuantity *decimal.Decimal MonthlyDiscountPerc float64 HourlyCost *decimal.Decimal MonthlyCost *decimal.Decimal // contains filtered or unexported fields }
func (*CostComponent) CalculateCosts ¶
func (c *CostComponent) CalculateCosts()
func (*CostComponent) Price ¶
func (c *CostComponent) Price() decimal.Decimal
func (*CostComponent) PriceHash ¶
func (c *CostComponent) PriceHash() string
func (*CostComponent) SetPrice ¶
func (c *CostComponent) SetPrice(price decimal.Decimal)
func (*CostComponent) SetPriceHash ¶
func (c *CostComponent) SetPriceHash(priceHash string)
func (*CostComponent) UnitMultiplierHourlyQuantity ¶ added in v0.7.0
func (c *CostComponent) UnitMultiplierHourlyQuantity() *decimal.Decimal
func (*CostComponent) UnitMultiplierMonthlyQuantity ¶ added in v0.7.0
func (c *CostComponent) UnitMultiplierMonthlyQuantity() *decimal.Decimal
func (*CostComponent) UnitMultiplierPrice ¶ added in v0.7.0
func (c *CostComponent) UnitMultiplierPrice() decimal.Decimal
func (*CostComponent) UnitWithMultiplier ¶ added in v0.7.0
func (c *CostComponent) UnitWithMultiplier() string
type PriceFilter ¶
type PriceFilter struct { PurchaseOption *string `json:"purchaseOption,omitempty"` Unit *string `json:"unit,omitempty"` Description *string `json:"description,omitempty"` DescriptionRegex *string `json:"description_regex,omitempty"` StartUsageAmount *string `json:"startUsageAmount,omitempty"` EndUsageAmount *string `json:"endUsageAmount,omitempty"` TermLength *string `json:"termLength,omitempty"` TermPurchaseOption *string `json:"termPurchaseOption,omitempty"` TermOfferingClass *string `json:"termOfferingClass,omitempty"` }
type ProductFilter ¶
type ProductFilter struct { VendorName *string `json:"vendorName,omitempty"` Service *string `json:"service,omitempty"` ProductFamily *string `json:"productFamily,omitempty"` Region *string `json:"region,omitempty"` Sku *string `json:"sku,omitempty"` AttributeFilters []*AttributeFilter `json:"attributeFilters,omitempty"` }
type RegistryItem ¶
type RegistryItem struct { Name string Notes []string RFunc ResourceFunc ReferenceAttributes []string NoPrice bool }
type Resource ¶
type Resource struct { Name string CostComponents []*CostComponent SubResources []*Resource HourlyCost *decimal.Decimal MonthlyCost *decimal.Decimal IsSkipped bool NoPrice bool SkipMessage string ResourceType string Tags map[string]string }
func (*Resource) CalculateCosts ¶
func (r *Resource) CalculateCosts()
func (*Resource) FlattenedSubResources ¶
func (*Resource) RemoveCostComponent ¶
func (r *Resource) RemoveCostComponent(costComponent *CostComponent)
type ResourceData ¶
type ResourceData struct { Type string ProviderName string Address string Tags map[string]string RawValues gjson.Result // contains filtered or unexported fields }
func NewResourceData ¶
func (*ResourceData) AddReference ¶
func (d *ResourceData) AddReference(key string, reference *ResourceData)
func (*ResourceData) References ¶
func (d *ResourceData) References(key string) []*ResourceData
func (*ResourceData) Set ¶
func (d *ResourceData) Set(key string, value interface{})
type ResourceFunc ¶
type ResourceFunc func(*ResourceData, *UsageData) *Resource
type UsageData ¶ added in v0.7.12
func NewUsageData ¶ added in v0.7.12
Click to show internal directories.
Click to hide internal directories.