Documentation
¶
Index ¶
- type ElastiCacheQueryParams
- type ElastiCacheUnusedQueryParams
- type Instance
- type InstanceReport
- func GetElastiCacheDailyInstances(ctx context.Context, params ElastiCacheQueryParams, user users.User, ...) (int, []InstanceReport, error)
- func GetElastiCacheData(ctx context.Context, parsedParams ElastiCacheQueryParams, user users.User, ...) (int, []InstanceReport, error)
- func GetElastiCacheMonthlyInstances(ctx context.Context, params ElastiCacheQueryParams) (int, []InstanceReport, error)
- func GetElastiCacheUnusedData(ctx context.Context, params ElastiCacheUnusedQueryParams, user users.User, ...) (int, []InstanceReport, error)
- type ResponseCost
- type ResponseElastiCacheDaily
- type ResponseElastiCacheMonthly
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ElastiCacheQueryParams ¶
ElastiCacheQueryParams will store the parsed query params
type ElastiCacheUnusedQueryParams ¶
type ElastiCacheUnusedQueryParams struct {
AccountList []string
IndexList []string
Date time.Time
Count int
}
ElastiCacheUnusedQueryParams will store the parsed query params
type Instance ¶
type Instance struct {
elasticache.InstanceBase
Tags map[string]string `json:"tags"`
Costs map[string]float64 `json:"costs"`
Stats elasticache.Stats `json:"stats"`
}
Instance contains the information of an ElastiCache instance
type InstanceReport ¶
type InstanceReport struct {
utils.ReportBase
Instance Instance `json:"instance"`
}
InstanceReport has all the information of an ElastiCache instance report
func GetElastiCacheDailyInstances ¶
func GetElastiCacheDailyInstances(ctx context.Context, params ElastiCacheQueryParams, user users.User, tx *sql.Tx) (int, []InstanceReport, error)
GetElastiCacheDailyInstances does an elastic request and returns an array of instances daily report based on query params
func GetElastiCacheData ¶
func GetElastiCacheData(ctx context.Context, parsedParams ElastiCacheQueryParams, user users.User, tx *sql.Tx) (int, []InstanceReport, error)
GetElastiCacheData gets ElastiCache monthly reports based on query params, if there isn't a monthly report, it gets daily reports
func GetElastiCacheMonthlyInstances ¶
func GetElastiCacheMonthlyInstances(ctx context.Context, params ElastiCacheQueryParams) (int, []InstanceReport, error)
GetElastiCacheMonthlyInstances does an elastic request and returns an array of instances monthly report based on query params
func GetElastiCacheUnusedData ¶
func GetElastiCacheUnusedData(ctx context.Context, params ElastiCacheUnusedQueryParams, user users.User, tx *sql.Tx) (int, []InstanceReport, error)
GetElastiCacheUnusedData gets ElastiCache reports and parse them based on query params to have an array of unused instances
type ResponseCost ¶
type ResponseCost struct {
Accounts struct {
Buckets []struct {
Key string `json:"key"`
Instances struct {
Buckets []struct {
Key string `json:"key"`
Cost struct {
Value float64 `json:"value"`
} `json:"cost"`
} `json:"buckets"`
} `json:"instances"`
} `json:"buckets"`
} `json:"accounts"`
}
Structure that allow to parse ES response for costs
type ResponseElastiCacheDaily ¶
type ResponseElastiCacheDaily struct {
Accounts struct {
Buckets []struct {
Dates struct {
Buckets []struct {
Time string `json:"key_as_string"`
Instances struct {
Hits struct {
Hits []struct {
Instance elasticache.InstanceReport `json:"_source"`
} `json:"hits"`
} `json:"hits"`
} `json:"instances"`
} `json:"buckets"`
} `json:"dates"`
} `json:"buckets"`
} `json:"accounts"`
}
Structure that allow to parse ES response for ElastiCache Daily instances
type ResponseElastiCacheMonthly ¶
type ResponseElastiCacheMonthly struct {
Accounts struct {
Buckets []struct {
Instances struct {
Hits struct {
Hits []struct {
Instance elasticache.InstanceReport `json:"_source"`
} `json:"hits"`
} `json:"hits"`
} `json:"instances"`
} `json:"buckets"`
} `json:"accounts"`
}
Structure that allow to parse ES response for ElastiCache Monthly instances