Documentation ¶
Index ¶
- func UpdateData(apiHost, apiKey *string) error
- func Updater(refreshDays int, apiHost, apiKey *string) error
- type ElastiCacheInstance
- type ElastiCacheInstanceData
- type InstanceData
- type OpenSearchInstance
- type OpenSearchInstanceData
- type OpenSearchRegionPricing
- type OpenSearchReservedPricing
- type Pricing
- type PricingDetail
- type RDSInstance
- type RDSInstanceData
- type RDSPricing
- type RDSRegionPrices
- type RDSReserved
- type RegionPrices
- type RegionPricing
- type Regions
- type Reserved
- type ReservedPricing
- type ServicePricing
- type StorageConfiguration
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func UpdateData ¶
Types ¶
type ElastiCacheInstance ¶
type ElastiCacheInstance struct { ServiceCode string `json:"servicecode"` InstanceType string `json:"instanceType"` CurrentGeneration string `json:"currentGeneration"` InstanceFamily string `json:"instanceFamily"` Vcpu int32 `json:"vcpu,string"` Memory float64 `json:"memory,string"` NetworkPerformance string `json:"networkPerformance"` CacheEngine string `json:"cacheEngine"` RegionCode string `json:"regionCode"` Servicename string `json:"servicename"` Network_performance string `json:"network_performance"` Family string `json:"family"` Instance_type string `json:"instance_type"` Pricing map[string]ServicePricing `json:"pricing"` Regions map[string]string `json:"regions"` PrettyName string `json:"pretty_name"` Memcached1_6_MaxCacheMemory string `json:"memcached1.6-max_cache_memory"` Memcached1_6_NumThreads string `json:"memcached1.6-num_threads"` Redis6xClientOutputBufferLimitReplicaHardLimit string `json:"redis6.x-client-output-buffer-limit-replica-hard-limit"` Redis6xClientOutputBufferLimitReplicaSoftLimit string `json:"redis6.x-client-output-buffer-limit-replica-soft-limit"` Redis6xMaxmemory string `json:"redis6.x-maxmemory"` MaxClients string `json:"max_clients"` }
ElastiCacheInstance represents the structure of each JSON object in the array.
type ElastiCacheInstanceData ¶
type ElastiCacheInstanceData []ElastiCacheInstance
func ElastiCacheData ¶
func ElastiCacheData() (*ElastiCacheInstanceData, error)
type InstanceData ¶
type InstanceData []jsonInstance
InstanceData is a large data structure containing pricing and specs information about all the EC2 instance types from all AWS regions.
func Data ¶
func Data() (*InstanceData, error)
Data generates the InstanceData object based on data sourced from ec2instances.info. The data is available there as a JSON blob, which is converted into golang source-code by the go-bindata tool and unmarshaled into a golang data structure by this library.
type OpenSearchInstance ¶
type OpenSearchInstance struct { ServiceCode string `json:"servicecode"` InstanceType string `json:"instanceType"` CurrentGeneration string `json:"currentGeneration"` InstanceFamily string `json:"instanceFamily"` Vcpu int32 `json:"vcpu,string"` MemoryGib float64 `json:"memoryGib,string"` RegionCode string `json:"regionCode"` Servicename string `json:"servicename"` Family string `json:"family"` Instance_type string `json:"instance_type"` Pricing map[string]OpenSearchRegionPricing `json:"pricing"` }
type OpenSearchInstanceData ¶
type OpenSearchInstanceData []OpenSearchInstance
func OpenSearchData ¶
func OpenSearchData() (*OpenSearchInstanceData, error)
type OpenSearchRegionPricing ¶
type OpenSearchRegionPricing struct { OnDemand float64 `json:"ondemand"` Reserved OpenSearchReservedPricing `json:"reserved"` }
type OpenSearchReservedPricing ¶
type OpenSearchReservedPricing struct { YrTerm3StandardPartialUpfront float64 `json:"yrTerm3Standard.partialUpfront"` YrTerm1StandardPartialUpfront float64 `json:"yrTerm1Standard.partialUpfront"` YrTerm3StandardAllUpfront float64 `json:"yrTerm3Standard.allUpfront"` YrTerm1StandardNoUpfront float64 `json:"yrTerm1Standard.noUpfront"` YrTerm3StandardNoUpfront float64 `json:"yrTerm3Standard.noUpfront"` }
type PricingDetail ¶
type PricingDetail struct { OnDemand float64 `json:"ondemand"` Reserved ReservedPricing `json:"reserved"` }
PricingDetail represents the pricing information for each term.
type RDSInstance ¶
type RDSInstance struct { Arch string `json:"arch,omitempty"` ClockSpeed string `json:"clockSpeed,omitempty"` CurrentGenerationRaw string `json:"currentGeneration,omitempty"` CurrentGeneration bool DedicatedEbsThroughput string `json:"dedicatedEbsThroughput,omitempty"` EbsBaselineBandwidth float64 `json:"ebs_baseline_bandwidth,omitempty"` EbsBaselineIops float64 `json:"ebs_baseline_iops,omitempty"` EbsBaselineThroughput float64 `json:"ebs_baseline_throughput,omitempty"` EbsIops float64 `json:"ebs_iops,omitempty"` EbsMaxBandwidth float64 `json:"ebs_max_bandwidth,omitempty"` EbsOptimized bool `json:"ebs_optimized,omitempty"` EbsOptimizedByDefault bool `json:"ebs_optimized_by_default,omitempty"` EbsThroughput float64 `json:"ebs_throughput,omitempty"` EnhancedNetworkingSupported string `json:"enhancedNetworkingSupported,omitempty"` Family string `json:"family,omitempty"` InstanceFamily string `json:"instanceFamily,omitempty"` InstanceType string `json:"instance_type,omitempty"` InstanceTypeFamily string `json:"instanceTypeFamily,omitempty"` Memory float32 `json:"memory,omitempty,string"` NetworkPerformance string `json:"network_performance,omitempty"` NormalizationSizeFactor string `json:"normalizationSizeFactor,omitempty"` PhysicalProcessor string `json:"physicalProcessor,omitempty"` PrettyName string `json:"pretty_name,omitempty"` Pricing map[string]RDSRegionPrices `json:"pricing,omitempty"` ProcessorArchitecture string `json:"processorArchitecture,omitempty"` RegionCode string `json:"regionCode,omitempty"` Regions Regions `json:"regions,omitempty"` Servicecode string `json:"servicecode,omitempty"` Servicename string `json:"servicename,omitempty"` Storage string `json:"storage,omitempty"` Vcpu int32 `json:"vcpu,omitempty,string"` }
type RDSInstanceData ¶
type RDSInstanceData []RDSInstance
func RDSData ¶
func RDSData() (*RDSInstanceData, error)
type RDSPricing ¶
type RDSPricing struct { OnDemand float64 `json:"ondemand"` Reserved RDSReserved `json:"reserved"` }
type RDSRegionPrices ¶
type RDSRegionPrices struct { AuroraPostgreSQL RDSPricing `json:"Aurora PostgreSQL,omitempty"` PostgreSQL RDSPricing `json:"PostgreSQL,omitempty"` SQLServer RDSPricing `json:"SQL Server,omitempty"` SQLServerOnPremiseForOutpost RDSPricing `json:"SQL Server (on-premise for Outpost),omitempty"` Oracle RDSPricing `json:"Oracle,omitempty"` MariaDB RDSPricing `json:"MariaDB,omitempty"` AuroraMySQL RDSPricing `json:"Aurora MySQL,omitempty"` MySQL RDSPricing `json:"MySQL,omitempty"` }
type RDSReserved ¶
type RDSReserved struct { StandardNoUpfront1Year float64 `json:"yrTerm1Standard.noUpfront"` StandardNoUpfront3Years float64 `json:"yrTerm3Standard.noUpfront"` StandardPartiallUpfront1Year float64 `json:"yrTerm1Standard.partialUpfront"` StandardPartialUpfront3Years float64 `json:"yrTerm3Standard.partialUpfront"` StandardAllUpfront1Year float64 `json:"yrTerm1Standard.allUpfront"` StandardAllUpfront3Years float64 `json:"yrTerm3Standard.allUpfront"` ConvertibleNoUpfront1Year float64 `json:"yrTerm1Convertible.noUpfront"` ConvertibleNoUpfront3Years float64 `json:"yrTerm3Convertible.noUpfront"` ConvertiblePartiallUpfront1Year float64 `json:"yrTerm1Convertible.partialUpfront"` ConvertiblePartialUpfront3Years float64 `json:"yrTerm3Convertible.partialUpfront"` ConvertibleAllUpfront1Year float64 `json:"yrTerm1Convertible.allUpfront"` ConvertibleAllUpfront3Years float64 `json:"yrTerm3Convertible.allUpfront"` }
type RegionPrices ¶
type RegionPrices struct { Linux Pricing `json:"linux"` LinuxSQL Pricing `json:"linuxSQL"` LinuxSQLEnterprise Pricing `json:"linuxSQLEnterprise"` LinuxSQLWeb Pricing `json:"linuxSQLWeb"` MSWin Pricing `json:"mswin"` MSWinSQL Pricing `json:"mswinSQL"` MSWinSQLEnterprise Pricing `json:"mswinSQLEnterprise"` MSWinSQLWeb Pricing `json:"mswinSQLWeb"` RHEL Pricing `json:"rhel"` SLES Pricing `json:"sles"` EBSSurcharge float64 `json:"ebs,string"` }
type RegionPricing ¶
type RegionPricing struct {
Region map[string]ServicePricing `json:"region"`
}
RegionPricing represents the pricing information for each region.
type Reserved ¶
type Reserved struct { StandardNoUpfront1Year float64 `json:"yrTerm1Standard.noUpfront,string"` StandardNoUpfront3Years float64 `json:"yrTerm3Standard.noUpfront,string"` StandardPartiallUpfront1Year float64 `json:"yrTerm1Standard.partialUpfront,string"` StandardPartialUpfront3Years float64 `json:"yrTerm3Standard.partialUpfront,string"` StandardAllUpfront1Year float64 `json:"yrTerm1Standard.allUpfront,string"` StandardAllUpfront3Years float64 `json:"yrTerm3Standard.allUpfront,string"` ConvertibleNoUpfront1Year float64 `json:"yrTerm1Convertible.noUpfront,string"` ConvertibleNoUpfront3Years float64 `json:"yrTerm3Convertible.noUpfront,string"` ConvertiblePartiallUpfront1Year float64 `json:"yrTerm1Convertible.partialUpfront,string"` ConvertiblePartialUpfront3Years float64 `json:"yrTerm3Convertible.partialUpfront,string"` ConvertibleAllUpfront1Year float64 `json:"yrTerm1Convertible.allUpfront,string"` ConvertibleAllUpfront3Years float64 `json:"yrTerm3Convertible.allUpfront,string"` }
type ReservedPricing ¶
type ReservedPricing struct { YrTerm3StandardPartialUpfront float64 `json:"yrTerm3Standard.partialUpfront"` YrTerm1StandardPartialUpfront float64 `json:"yrTerm1Standard.partialUpfront"` YrTerm3StandardAllUpfront float64 `json:"yrTerm3Standard.allUpfront"` YrTerm1StandardNoUpfront float64 `json:"yrTerm1Standard.noUpfront"` YrTerm3StandardNoUpfront float64 `json:"yrTerm3Standard.noUpfront"` }
type ServicePricing ¶
type ServicePricing struct { Memcached PricingDetail `json:"Memcached"` Redis PricingDetail `json:"Redis"` }
ServicePricing represents the pricing for a particular service (e.g., Memcached, Redis).