cost_optimization_recommendation

package
v0.14.2 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2025 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const CostOptimizationRecommendationsTableIdentifier = "aws_cost_optimization_recommendation"

Variables

This section is empty.

Functions

This section is empty.

Types

type CostOptimizationRecommendation

type CostOptimizationRecommendation struct {
	schema.CommonFields

	AccountID    *string `json:"account_id,omitempty" parquet:"name=account_id"`
	ActionType   *string `json:"action_type,omitempty" parquet:"name=action_type"`
	CurrencyCode *string `json:"currency_code,omitempty" parquet:"name=currency_code"`

	// CurrentResourceDetails Contains metadata about the current resource configuration.
	// The structure varies depending on the resource type.
	// For example:
	// - For EC2: {"InstanceType": "m5.large", "Region": "us-east-1", "Platform": "Linux/UNIX", "Tenancy": "Shared"}
	// - For Lambda: {"FunctionName": "my-function", "MemorySize": 128, "Region": "us-west-2"}
	// - For EBS: {"VolumeType": "gp2", "Size": 100, "Region": "us-east-1"}
	// This field is defined as map[string]interface{} to accommodate these varying shapes.
	CurrentResourceDetails                   *map[string]interface{} `json:"current_resource_details,omitempty" parquet:"name=current_resource_details"`
	CurrentResourceSummary                   *string                 `json:"current_resource_summary,omitempty" parquet:"name=current_resource_summary"`
	CurrentResourceType                      *string                 `json:"current_resource_type,omitempty" parquet:"name=current_resource_type"`
	EstimatedMonthlyCostAfterDiscount        *float64                `json:"estimated_monthly_cost_after_discount,omitempty" parquet:"name=estimated_monthly_cost_after_discount"`
	EstimatedMonthlyCostBeforeDiscount       *float64                `json:"estimated_monthly_cost_before_discount,omitempty" parquet:"name=estimated_monthly_cost_before_discount"`
	EstimatedMonthlySavingsAfterDiscount     *float64                `json:"estimated_monthly_savings_after_discount,omitempty" parquet:"name=estimated_monthly_savings_after_discount"`
	EstimatedMonthlySavingsBeforeDiscount    *float64                `json:"estimated_monthly_savings_before_discount,omitempty" parquet:"name=estimated_monthly_savings_before_discount"`
	EstimatedSavingsPercentageAfterDiscount  *float64                `json:"estimated_savings_percentage_after_discount,omitempty" parquet:"name=estimated_savings_percentage_after_discount"`
	EstimatedSavingsPercentageBeforeDiscount *float64                `json:"estimated_savings_percentage_before_discount,omitempty" parquet:"name=estimated_savings_percentage_before_discount"`
	ImplementationEffort                     *string                 `json:"implementation_effort,omitempty" parquet:"name=implementation_effort"`
	LastRefreshTimestamp                     *time.Time              `json:"last_refresh_timestamp,omitempty" parquet:"name=last_refresh_timestamp"`
	RecommendationID                         *string                 `json:"recommendation_id,omitempty" parquet:"name=recommendation_id"`
	RecommendationLookbackPeriodInDays       *int                    `json:"recommendation_lookback_period_in_days,omitempty" parquet:"name=recommendation_lookback_period_in_days"`
	RecommendationSource                     *string                 `json:"recommendation_source,omitempty" parquet:"name=recommendation_source"`

	// RecommendedResourceDetails Contains metadata about the current resource configuration.
	// The structure varies depending on the resource type. So we don't have a fixed structure.
	RecommendedResourceDetails *map[string]interface{} `json:"recommended_resource_details,omitempty" parquet:"name=recommended_resource_details"`
	RecommendedResourceSummary *string                 `json:"recommended_resource_summary,omitempty" parquet:"name=recommended_resource_summary"`
	RecommendedResourceType    *string                 `json:"recommended_resource_type,omitempty" parquet:"name=recommended_resource_type"`
	Region                     *string                 `json:"region,omitempty" parquet:"name=region"`
	ResourceARN                *string                 `json:"resource_arn,omitempty" parquet:"name=resource_arn"`
	RestartNeeded              *bool                   `json:"restart_needed,omitempty" parquet:"name=restart_needed"`
	RollbackPossible           *bool                   `json:"rollback_possible,omitempty" parquet:"name=rollback_possible"`
	Tags                       *map[string]string      `json:"tags,omitempty" parquet:"name=tags"`
}

Based on AWS Cost Optimization Recommendations columns Reference: https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cor-columns.html

func NewCostOptimizationRecommendation added in v0.9.1

func NewCostOptimizationRecommendation() *CostOptimizationRecommendation

func (*CostOptimizationRecommendation) GetColumnDescriptions

func (c *CostOptimizationRecommendation) GetColumnDescriptions() map[string]string

type CostOptimizationRecommendationMapper added in v0.9.1

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

func NewCostOptimizationRecommendationMapper added in v0.9.1

func NewCostOptimizationRecommendationMapper() *CostOptimizationRecommendationMapper

func (*CostOptimizationRecommendationMapper) Identifier added in v0.9.1

func (*CostOptimizationRecommendationMapper) Map added in v0.9.1

func (*CostOptimizationRecommendationMapper) OnHeader added in v0.9.1

func (m *CostOptimizationRecommendationMapper) OnHeader(header []string)

OnHeader implements mappers.HeaderHandler so that when the collector is notified of a header, we set headers

type CostOptimizationRecommendationsTable

type CostOptimizationRecommendationsTable struct{}

CostOptimizationRecommendationsTable - table for CostOptimizationRecommendations

func (*CostOptimizationRecommendationsTable) EnrichRow

EnrichRow implements table.Table

func (*CostOptimizationRecommendationsTable) GetDescription

func (t *CostOptimizationRecommendationsTable) GetDescription() string

func (*CostOptimizationRecommendationsTable) GetSourceMetadata

GetSourceMetadata implements table.Table

func (*CostOptimizationRecommendationsTable) Identifier

Identifier implements table.Table

Jump to

Keyboard shortcuts

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