types

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2021 License: Apache-2.0 Imports: 2 Imported by: 25

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountScope

type AccountScope string
const (
	AccountScopePayer  AccountScope = "PAYER"
	AccountScopeLinked AccountScope = "LINKED"
)

Enum values for AccountScope

func (AccountScope) Values added in v0.29.0

func (AccountScope) Values() []AccountScope

Values returns all known values for AccountScope. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type Anomaly added in v0.29.0

type Anomaly struct {

	// The unique identifier for the anomaly.
	//
	// This member is required.
	AnomalyId *string

	// The latest and maximum score for the anomaly.
	//
	// This member is required.
	AnomalyScore *AnomalyScore

	// The dollar impact for the anomaly.
	//
	// This member is required.
	Impact *Impact

	// The Amazon Resource Name (ARN) for the cost monitor that generated this anomaly.
	//
	// This member is required.
	MonitorArn *string

	// The last day the anomaly is detected.
	AnomalyEndDate *string

	// The first day the anomaly is detected.
	AnomalyStartDate *string

	// The dimension for the anomaly. For example, an AWS service in a service monitor.
	DimensionValue *string

	// The feedback value.
	Feedback AnomalyFeedbackType

	// The list of identified root causes for the anomaly.
	RootCauses []RootCause
}

An unusual cost pattern. This consists of the detailed metadata and the current status of the anomaly object.

type AnomalyDateInterval added in v0.29.0

type AnomalyDateInterval struct {

	// The first date an anomaly was observed.
	//
	// This member is required.
	StartDate *string

	// The last date an anomaly was observed.
	EndDate *string
}

The time period for an anomaly.

type AnomalyFeedbackType added in v0.29.0

type AnomalyFeedbackType string
const (
	AnomalyFeedbackTypeYes             AnomalyFeedbackType = "YES"
	AnomalyFeedbackTypeNo              AnomalyFeedbackType = "NO"
	AnomalyFeedbackTypePlannedActivity AnomalyFeedbackType = "PLANNED_ACTIVITY"
)

Enum values for AnomalyFeedbackType

func (AnomalyFeedbackType) Values added in v0.29.0

Values returns all known values for AnomalyFeedbackType. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type AnomalyMonitor added in v0.29.0

type AnomalyMonitor struct {

	// The name of the monitor.
	//
	// This member is required.
	MonitorName *string

	// The possible type values.
	//
	// This member is required.
	MonitorType MonitorType

	// The date when the monitor was created.
	CreationDate *string

	// The value for evaluated dimensions.
	DimensionalValueCount int32

	// The date when the monitor last evaluated for anomalies.
	LastEvaluatedDate *string

	// The date when the monitor was last updated.
	LastUpdatedDate *string

	// The Amazon Resource Name (ARN) value.
	MonitorArn *string

	// The dimensions to evaluate.
	MonitorDimension MonitorDimension

	// Use Expression to filter by cost or by usage. There are two patterns:
	//
	// * Simple
	// dimension values - You can set the dimension name and values for the filters
	// that you plan to use. For example, you can filter for REGION==us-east-1 OR
	// REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name
	// (for example, REGION==US East (N. Virginia). The Expression example looks like:
	// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] } }
	// The list of dimension values are OR'd together to retrieve cost or usage data.
	// You can create Expression and DimensionValues objects using either with* methods
	// or set* methods in multiple lines.
	//
	// * Compound dimension values with logical
	// operations - You can use multiple Expression types and the logical operators
	// AND/OR/NOT to create a list of one or more Expression objects. This allows you
	// to filter on more advanced options. For example, you can filter on ((REGION ==
	// us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=
	// DataTransfer). The Expression for that looks like this: { "And": [ {"Or": [
	// {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }},
	// {"Tags": { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions":
	// { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] }  Because each
	// Expression can have only one operator, the service returns an error if more than
	// one is specified. The following example shows an Expression object that creates
	// an error.  { "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE",
	// "Values": [ "DataTransfer" ] } }
	//
	// For GetRightsizingRecommendation action, a
	// combination of OR and NOT is not supported. OR is not supported between
	// different dimensions, or dimensions and tags. NOT operators aren't supported.
	// Dimensions are also limited to LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE.
	MonitorSpecification *Expression
}

This object continuously inspects your account's cost data for anomalies, based on MonitorType and MonitorSpecification. The content consists of detailed metadata and the current status of the monitor object.

type AnomalyScore added in v0.29.0

type AnomalyScore struct {

	// The last observed score.
	//
	// This member is required.
	CurrentScore float64

	// The maximum score observed during the AnomalyDateInterval.
	//
	// This member is required.
	MaxScore float64
}

Quantifies the anomaly. The higher score means that it is more anomalous.

type AnomalySubscription added in v0.29.0

type AnomalySubscription struct {

	// The frequency at which anomaly reports are sent over email.
	//
	// This member is required.
	Frequency AnomalySubscriptionFrequency

	// A list of cost anomaly monitors.
	//
	// This member is required.
	MonitorArnList []string

	// A list of subscribers to notify.
	//
	// This member is required.
	Subscribers []Subscriber

	// The name for the subscription.
	//
	// This member is required.
	SubscriptionName *string

	// The dollar value that triggers a notification if the threshold is exceeded.
	//
	// This member is required.
	Threshold *float64

	// Your unique account identifier.
	AccountId *string

	// The AnomalySubscription Amazon Resource Name (ARN).
	SubscriptionArn *string
}

The association between a monitor, threshold, and list of subscribers used to deliver notifications about anomalies detected by a monitor that exceeds a threshold. The content consists of the detailed metadata and the current status of the AnomalySubscription object.

type AnomalySubscriptionFrequency added in v0.29.0

type AnomalySubscriptionFrequency string
const (
	AnomalySubscriptionFrequencyDaily     AnomalySubscriptionFrequency = "DAILY"
	AnomalySubscriptionFrequencyImmediate AnomalySubscriptionFrequency = "IMMEDIATE"
	AnomalySubscriptionFrequencyWeekly    AnomalySubscriptionFrequency = "WEEKLY"
)

Enum values for AnomalySubscriptionFrequency

func (AnomalySubscriptionFrequency) Values added in v0.29.0

Values returns all known values for AnomalySubscriptionFrequency. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type BillExpirationException

type BillExpirationException struct {
	Message *string
}

The requested report expired. Update the date interval and try again.

func (*BillExpirationException) Error

func (e *BillExpirationException) Error() string

func (*BillExpirationException) ErrorCode

func (e *BillExpirationException) ErrorCode() string

func (*BillExpirationException) ErrorFault

func (e *BillExpirationException) ErrorFault() smithy.ErrorFault

func (*BillExpirationException) ErrorMessage

func (e *BillExpirationException) ErrorMessage() string

type Context

type Context string
const (
	ContextCostAndUsage Context = "COST_AND_USAGE"
	ContextReservations Context = "RESERVATIONS"
	ContextSavingsPlans Context = "SAVINGS_PLANS"
)

Enum values for Context

func (Context) Values added in v0.29.0

func (Context) Values() []Context

Values returns all known values for Context. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type CostCategory

type CostCategory struct {

	// The unique identifier for your Cost Category.
	//
	// This member is required.
	CostCategoryArn *string

	// The Cost Category's effective start date.
	//
	// This member is required.
	EffectiveStart *string

	// The unique name of the Cost Category.
	//
	// This member is required.
	Name *string

	// The rule schema version in this particular Cost Category.
	//
	// This member is required.
	RuleVersion CostCategoryRuleVersion

	// Rules are processed in order. If there are multiple rules that match the line
	// item, then the first rule to match is used to determine that Cost Category
	// value.
	//
	// This member is required.
	Rules []CostCategoryRule

	// The Cost Category's effective end date.
	EffectiveEnd *string

	// The list of processing statuses for Cost Management products for a specific cost
	// category.
	ProcessingStatus []CostCategoryProcessingStatus
}

The structure of Cost Categories. This includes detailed metadata and the set of rules for the CostCategory object.

type CostCategoryProcessingStatus added in v0.29.0

type CostCategoryProcessingStatus struct {

	// The Cost Management product name of the applied status.
	Component CostCategoryStatusComponent

	// The process status for a specific cost category.
	Status CostCategoryStatus
}

The list of processing statuses for Cost Management products for a specific cost category.

type CostCategoryReference

type CostCategoryReference struct {

	// The unique identifier for your Cost Category.
	CostCategoryArn *string

	// The Cost Category's effective end date.
	EffectiveEnd *string

	// The Cost Category's effective start date.
	EffectiveStart *string

	// The unique name of the Cost Category.
	Name *string

	// The number of rules associated with a specific Cost Category.
	NumberOfRules int32

	// The list of processing statuses for Cost Management products for a specific cost
	// category.
	ProcessingStatus []CostCategoryProcessingStatus

	// A list of unique cost category values in a specific cost category.
	Values []string
}

A reference to a Cost Category containing only enough information to identify the Cost Category. You can use this information to retrieve the full Cost Category information using DescribeCostCategory.

type CostCategoryRule

type CostCategoryRule struct {

	// An Expression
	// (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html)
	// object used to categorize costs. This supports dimensions, tags, and nested
	// expressions. Currently the only dimensions supported are LINKED_ACCOUNT,
	// SERVICE_CODE, RECORD_TYPE, and LINKED_ACCOUNT_NAME. Root level OR is not
	// supported. We recommend that you create a separate rule instead. RECORD_TYPE is
	// a dimension used for Cost Explorer APIs, and is also supported for Cost Category
	// expressions. This dimension uses different terms, depending on whether you're
	// using the console or API/JSON editor. For a detailed comparison, see Term
	// Comparisons
	// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-cost-categories.html#cost-categories-terms)
	// in the AWS Billing and Cost Management User Guide.
	//
	// This member is required.
	Rule *Expression

	// The value a line item will be categorized as, if it matches the rule.
	//
	// This member is required.
	Value *string
}

Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.

type CostCategoryRuleVersion

type CostCategoryRuleVersion string
const (
	CostCategoryRuleVersionCostCategoryExpressionV1 CostCategoryRuleVersion = "CostCategoryExpression.v1"
)

Enum values for CostCategoryRuleVersion

func (CostCategoryRuleVersion) Values added in v0.29.0

Values returns all known values for CostCategoryRuleVersion. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type CostCategoryStatus added in v0.29.0

type CostCategoryStatus string
const (
	CostCategoryStatusProcessing CostCategoryStatus = "PROCESSING"
	CostCategoryStatusApplied    CostCategoryStatus = "APPLIED"
)

Enum values for CostCategoryStatus

func (CostCategoryStatus) Values added in v0.29.0

Values returns all known values for CostCategoryStatus. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type CostCategoryStatusComponent added in v0.29.0

type CostCategoryStatusComponent string
const (
	CostCategoryStatusComponentCostExplorer CostCategoryStatusComponent = "COST_EXPLORER"
)

Enum values for CostCategoryStatusComponent

func (CostCategoryStatusComponent) Values added in v0.29.0

Values returns all known values for CostCategoryStatusComponent. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type CostCategoryValues

type CostCategoryValues struct {

	// The unique name of the Cost Category.
	Key *string

	// The match options that you can use to filter your results. MatchOptions is only
	// applicable for only applicable for actions related to cost category. The default
	// values for MatchOptions is EQUALS and CASE_SENSITIVE.
	MatchOptions []MatchOption

	// The specific value of the Cost Category.
	Values []string
}

The Cost Categories values used for filtering the costs.

type Coverage

type Coverage struct {

	// The amount of cost that the reservation covered.
	CoverageCost *CoverageCost

	// The amount of instance usage that the reservation covered, in hours.
	CoverageHours *CoverageHours

	// The amount of instance usage that the reservation covered, in normalized units.
	CoverageNormalizedUnits *CoverageNormalizedUnits
}

The amount of instance usage that a reservation covered.

type CoverageByTime

type CoverageByTime struct {

	// The groups of instances that the reservation covered.
	Groups []ReservationCoverageGroup

	// The period that this coverage was used over.
	TimePeriod *DateInterval

	// The total reservation coverage, in hours.
	Total *Coverage
}

Reservation coverage for a specified period, in hours.

type CoverageCost

type CoverageCost struct {

	// How much an On-Demand Instance costs.
	OnDemandCost *string
}

How much it costs to run an instance.

type CoverageHours

type CoverageHours struct {

	// The percentage of instance hours that a reservation covered.
	CoverageHoursPercentage *string

	// The number of instance running hours that On-Demand Instances covered.
	OnDemandHours *string

	// The number of instance running hours that reservations covered.
	ReservedHours *string

	// The total instance usage, in hours.
	TotalRunningHours *string
}

How long a running instance either used a reservation or was On-Demand.

type CoverageNormalizedUnits

type CoverageNormalizedUnits struct {

	// The percentage of your used instance normalized units that a reservation covers.
	CoverageNormalizedUnitsPercentage *string

	// The number of normalized units that are covered by On-Demand Instances instead
	// of a reservation.
	OnDemandNormalizedUnits *string

	// The number of normalized units that a reservation covers.
	ReservedNormalizedUnits *string

	// The total number of normalized units that you used.
	TotalRunningNormalizedUnits *string
}

The amount of instance usage, in normalized units. Normalized units enable you to see your EC2 usage for multiple sizes of instances in a uniform way. For example, suppose you run an xlarge instance and a 2xlarge instance. If you run both instances for the same amount of time, the 2xlarge instance uses twice as much of your reservation as the xlarge instance, even though both instances show only one instance-hour. Using normalized units instead of instance-hours, the xlarge instance used 8 normalized units, and the 2xlarge instance used 16 normalized units. For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) in the Amazon Elastic Compute Cloud User Guide for Linux Instances.

type CurrentInstance

type CurrentInstance struct {

	// The currency code that AWS used to calculate the costs for this instance.
	CurrencyCode *string

	// The name you've given an instance. This field will show as blank if you haven't
	// given the instance a name.
	InstanceName *string

	// Current On-Demand cost of operating this instance on a monthly basis.
	MonthlyCost *string

	// Number of hours during the lookback period billed at On-Demand rates.
	OnDemandHoursInLookbackPeriod *string

	// Number of hours during the lookback period covered by reservations.
	ReservationCoveredHoursInLookbackPeriod *string

	// Details about the resource and utilization.
	ResourceDetails *ResourceDetails

	// Resource ID of the current instance.
	ResourceId *string

	// Utilization information of the current instance during the lookback period.
	ResourceUtilization *ResourceUtilization

	// Number of hours during the lookback period covered by Savings Plans.
	SavingsPlansCoveredHoursInLookbackPeriod *string

	// Cost allocation resource tags applied to the instance.
	Tags []TagValues

	// The total number of hours the instance ran during the lookback period.
	TotalRunningHoursInLookbackPeriod *string
}

Context about the current instance.

type DataUnavailableException

type DataUnavailableException struct {
	Message *string
}

The requested data is unavailable.

func (*DataUnavailableException) Error

func (e *DataUnavailableException) Error() string

func (*DataUnavailableException) ErrorCode

func (e *DataUnavailableException) ErrorCode() string

func (*DataUnavailableException) ErrorFault

func (e *DataUnavailableException) ErrorFault() smithy.ErrorFault

func (*DataUnavailableException) ErrorMessage

func (e *DataUnavailableException) ErrorMessage() string

type DateInterval

type DateInterval struct {

	// The end of the time period that you want the usage and costs for. The end date
	// is exclusive. For example, if end is 2017-05-01, AWS retrieves cost and usage
	// data from the start date up to, but not including, 2017-05-01.
	//
	// This member is required.
	End *string

	// The beginning of the time period that you want the usage and costs for. The
	// start date is inclusive. For example, if start is 2017-01-01, AWS retrieves cost
	// and usage data starting at 2017-01-01 up to the end date.
	//
	// This member is required.
	Start *string
}

The time period that you want the usage and costs for.

type Dimension

type Dimension string
const (
	DimensionAz                 Dimension = "AZ"
	DimensionInstanceType       Dimension = "INSTANCE_TYPE"
	DimensionLinkedAccount      Dimension = "LINKED_ACCOUNT"
	DimensionLinkedAccountName  Dimension = "LINKED_ACCOUNT_NAME"
	DimensionOperation          Dimension = "OPERATION"
	DimensionPurchaseType       Dimension = "PURCHASE_TYPE"
	DimensionRegion             Dimension = "REGION"
	DimensionService            Dimension = "SERVICE"
	DimensionServiceCode        Dimension = "SERVICE_CODE"
	DimensionUsageType          Dimension = "USAGE_TYPE"
	DimensionUsageTypeGroup     Dimension = "USAGE_TYPE_GROUP"
	DimensionRecordType         Dimension = "RECORD_TYPE"
	DimensionOperatingSystem    Dimension = "OPERATING_SYSTEM"
	DimensionTenancy            Dimension = "TENANCY"
	DimensionScope              Dimension = "SCOPE"
	DimensionPlatform           Dimension = "PLATFORM"
	DimensionSubscriptionId     Dimension = "SUBSCRIPTION_ID"
	DimensionLegalEntityName    Dimension = "LEGAL_ENTITY_NAME"
	DimensionDeploymentOption   Dimension = "DEPLOYMENT_OPTION"
	DimensionDatabaseEngine     Dimension = "DATABASE_ENGINE"
	DimensionCacheEngine        Dimension = "CACHE_ENGINE"
	DimensionInstanceTypeFamily Dimension = "INSTANCE_TYPE_FAMILY"
	DimensionBillingEntity      Dimension = "BILLING_ENTITY"
	DimensionReservationId      Dimension = "RESERVATION_ID"
	DimensionResourceId         Dimension = "RESOURCE_ID"
	DimensionRightsizingType    Dimension = "RIGHTSIZING_TYPE"
	DimensionSavingsPlansType   Dimension = "SAVINGS_PLANS_TYPE"
	DimensionSavingsPlanArn     Dimension = "SAVINGS_PLAN_ARN"
	DimensionPaymentOption      Dimension = "PAYMENT_OPTION"
)

Enum values for Dimension

func (Dimension) Values added in v0.29.0

func (Dimension) Values() []Dimension

Values returns all known values for Dimension. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type DimensionValues

type DimensionValues struct {

	// The names of the metadata types that you can use to filter and group your
	// results. For example, AZ returns a list of Availability Zones.
	Key Dimension

	// The match options that you can use to filter your results. MatchOptions is only
	// applicable for actions related to Cost Category. The default values for
	// MatchOptions are EQUALS and CASE_SENSITIVE.
	MatchOptions []MatchOption

	// The metadata values that you can use to filter and group your results. You can
	// use GetDimensionValues to find specific values.
	Values []string
}

The metadata that you can use to filter and group your results. You can use GetDimensionValues to find specific values.

type DimensionValuesWithAttributes

type DimensionValuesWithAttributes struct {

	// The attribute that applies to a specific Dimension.
	Attributes map[string]string

	// The value of a dimension with a specific attribute.
	Value *string
}

The metadata of a specific type that you can use to filter and group your results. You can use GetDimensionValues to find specific values.

type EBSResourceUtilization added in v0.29.0

type EBSResourceUtilization struct {

	// The maximum size of read operations per second
	EbsReadBytesPerSecond *string

	// The maximum number of read operations per second.
	EbsReadOpsPerSecond *string

	// The maximum size of write operations per second.
	EbsWriteBytesPerSecond *string

	// The maximum number of write operations per second.
	EbsWriteOpsPerSecond *string
}

The EBS field that contains a list of EBS metrics associated with the current instance.

type EC2InstanceDetails

type EC2InstanceDetails struct {

	// The Availability Zone of the recommended reservation.
	AvailabilityZone *string

	// Whether the recommendation is for a current-generation instance.
	CurrentGeneration bool

	// The instance family of the recommended reservation.
	Family *string

	// The type of instance that AWS recommends.
	InstanceType *string

	// The platform of the recommended reservation. The platform is the specific
	// combination of operating system, license model, and software on an instance.
	Platform *string

	// The AWS Region of the recommended reservation.
	Region *string

	// Whether the recommended reservation is size flexible.
	SizeFlexEligible bool

	// Whether the recommended reservation is dedicated or shared.
	Tenancy *string
}

Details about the Amazon EC2 instances that AWS recommends that you purchase.

type EC2ResourceDetails

type EC2ResourceDetails struct {

	// Hourly public On-Demand rate for the instance type.
	HourlyOnDemandRate *string

	// The type of AWS instance.
	InstanceType *string

	// Memory capacity of the AWS instance.
	Memory *string

	// Network performance capacity of the AWS instance.
	NetworkPerformance *string

	// The platform of the AWS instance. The platform is the specific combination of
	// operating system, license model, and software on an instance.
	Platform *string

	// The AWS Region of the instance.
	Region *string

	// The SKU of the product.
	Sku *string

	// The disk storage of the AWS instance (not EBS storage).
	Storage *string

	// Number of VCPU cores in the AWS instance type.
	Vcpu *string
}

Details on the Amazon EC2 Resource.

type EC2ResourceUtilization

type EC2ResourceUtilization struct {

	// The EBS field that contains a list of EBS metrics associated with the current
	// instance.
	EBSResourceUtilization *EBSResourceUtilization

	// Maximum observed or expected CPU utilization of the instance.
	MaxCpuUtilizationPercentage *string

	// Maximum observed or expected memory utilization of the instance.
	MaxMemoryUtilizationPercentage *string

	// Maximum observed or expected storage utilization of the instance (does not
	// measure EBS storage).
	MaxStorageUtilizationPercentage *string
}

Utilization metrics of the instance.

type EC2Specification

type EC2Specification struct {

	// Whether you want a recommendation for standard or convertible reservations.
	OfferingClass OfferingClass
}

The Amazon EC2 hardware specifications that you want AWS to provide recommendations for.

type ESInstanceDetails

type ESInstanceDetails struct {

	// Whether the recommendation is for a current-generation instance.
	CurrentGeneration bool

	// The class of instance that AWS recommends.
	InstanceClass *string

	// The size of instance that AWS recommends.
	InstanceSize *string

	// The AWS Region of the recommended reservation.
	Region *string

	// Whether the recommended reservation is size flexible.
	SizeFlexEligible bool
}

Details about the Amazon ES instances that AWS recommends that you purchase.

type ElastiCacheInstanceDetails

type ElastiCacheInstanceDetails struct {

	// Whether the recommendation is for a current generation instance.
	CurrentGeneration bool

	// The instance family of the recommended reservation.
	Family *string

	// The type of node that AWS recommends.
	NodeType *string

	// The description of the recommended reservation.
	ProductDescription *string

	// The AWS Region of the recommended reservation.
	Region *string

	// Whether the recommended reservation is size flexible.
	SizeFlexEligible bool
}

Details about the Amazon ElastiCache instances that AWS recommends that you purchase.

type Expression

type Expression struct {

	// Return results that match both Dimension objects.
	And []Expression

	// The filter based on CostCategory values.
	CostCategories *CostCategoryValues

	// The specific Dimension to use for Expression.
	Dimensions *DimensionValues

	// Return results that don't match a Dimension object.
	Not *Expression

	// Return results that match either Dimension object.
	Or []Expression

	// The specific Tag to use for Expression.
	Tags *TagValues
}

Use Expression to filter by cost or by usage. There are two patterns:

* Simple dimension values - You can set the dimension name and values for the filters that you plan to use. For example, you can filter for REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The Expression example looks like: { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values are OR'd together to retrieve cost or usage data. You can create Expression and DimensionValues objects using either with* methods or set* methods in multiple lines.

* Compound dimension values with logical operations - You can use multiple Expression types and the logical operators AND/OR/NOT to create a list of one or more Expression objects. This allows you to filter on more advanced options. For example, you can filter on ((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). The Expression for that looks like this: { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each Expression can have only one operator, the service returns an error if more than one is specified. The following example shows an Expression object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE", "Values": [ "DataTransfer" ] } }

For GetRightsizingRecommendation action, a combination of OR and NOT is not supported. OR is not supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE.

type ForecastResult

type ForecastResult struct {

	// The mean value of the forecast.
	MeanValue *string

	// The lower limit for the prediction interval.
	PredictionIntervalLowerBound *string

	// The upper limit for the prediction interval.
	PredictionIntervalUpperBound *string

	// The period of time that the forecast covers.
	TimePeriod *DateInterval
}

The forecast created for your query.

type Granularity

type Granularity string
const (
	GranularityDaily   Granularity = "DAILY"
	GranularityMonthly Granularity = "MONTHLY"
	GranularityHourly  Granularity = "HOURLY"
)

Enum values for Granularity

func (Granularity) Values added in v0.29.0

func (Granularity) Values() []Granularity

Values returns all known values for Granularity. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type Group

type Group struct {

	// The keys that are included in this group.
	Keys []string

	// The metrics that are included in this group.
	Metrics map[string]MetricValue
}

One level of grouped data in the results.

type GroupDefinition

type GroupDefinition struct {

	// The string that represents a key for a specified group.
	Key *string

	// The string that represents the type of group.
	Type GroupDefinitionType
}

Represents a group when you specify a group by criteria or in the response to a query with a specific grouping.

type GroupDefinitionType

type GroupDefinitionType string
const (
	GroupDefinitionTypeDimension    GroupDefinitionType = "DIMENSION"
	GroupDefinitionTypeTag          GroupDefinitionType = "TAG"
	GroupDefinitionTypeCostCategory GroupDefinitionType = "COST_CATEGORY"
)

Enum values for GroupDefinitionType

func (GroupDefinitionType) Values added in v0.29.0

Values returns all known values for GroupDefinitionType. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type Impact added in v0.29.0

type Impact struct {

	// The maximum dollar value observed for an anomaly.
	//
	// This member is required.
	MaxImpact float64

	// The cumulative dollar value observed for an anomaly.
	TotalImpact float64
}

The anomaly's dollar value.

type InstanceDetails

type InstanceDetails struct {

	// The Amazon EC2 instances that AWS recommends that you purchase.
	EC2InstanceDetails *EC2InstanceDetails

	// The Amazon ES instances that AWS recommends that you purchase.
	ESInstanceDetails *ESInstanceDetails

	// The ElastiCache instances that AWS recommends that you purchase.
	ElastiCacheInstanceDetails *ElastiCacheInstanceDetails

	// The Amazon RDS instances that AWS recommends that you purchase.
	RDSInstanceDetails *RDSInstanceDetails

	// The Amazon Redshift instances that AWS recommends that you purchase.
	RedshiftInstanceDetails *RedshiftInstanceDetails
}

Details about the instances that AWS recommends that you purchase.

type InvalidNextTokenException

type InvalidNextTokenException struct {
	Message *string
}

The pagination token is invalid. Try again without a pagination token.

func (*InvalidNextTokenException) Error

func (e *InvalidNextTokenException) Error() string

func (*InvalidNextTokenException) ErrorCode

func (e *InvalidNextTokenException) ErrorCode() string

func (*InvalidNextTokenException) ErrorFault

func (*InvalidNextTokenException) ErrorMessage

func (e *InvalidNextTokenException) ErrorMessage() string

type LimitExceededException

type LimitExceededException struct {
	Message *string
}

You made too many calls in a short period of time. Try again later.

func (*LimitExceededException) Error

func (e *LimitExceededException) Error() string

func (*LimitExceededException) ErrorCode

func (e *LimitExceededException) ErrorCode() string

func (*LimitExceededException) ErrorFault

func (e *LimitExceededException) ErrorFault() smithy.ErrorFault

func (*LimitExceededException) ErrorMessage

func (e *LimitExceededException) ErrorMessage() string

type LookbackPeriodInDays

type LookbackPeriodInDays string
const (
	LookbackPeriodInDaysSevenDays  LookbackPeriodInDays = "SEVEN_DAYS"
	LookbackPeriodInDaysThirtyDays LookbackPeriodInDays = "THIRTY_DAYS"
	LookbackPeriodInDaysSixtyDays  LookbackPeriodInDays = "SIXTY_DAYS"
)

Enum values for LookbackPeriodInDays

func (LookbackPeriodInDays) Values added in v0.29.0

Values returns all known values for LookbackPeriodInDays. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type MatchOption

type MatchOption string
const (
	MatchOptionEquals          MatchOption = "EQUALS"
	MatchOptionStartsWith      MatchOption = "STARTS_WITH"
	MatchOptionEndsWith        MatchOption = "ENDS_WITH"
	MatchOptionContains        MatchOption = "CONTAINS"
	MatchOptionCaseSensitive   MatchOption = "CASE_SENSITIVE"
	MatchOptionCaseInsensitive MatchOption = "CASE_INSENSITIVE"
)

Enum values for MatchOption

func (MatchOption) Values added in v0.29.0

func (MatchOption) Values() []MatchOption

Values returns all known values for MatchOption. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type Metric

type Metric string
const (
	MetricBlendedCost           Metric = "BLENDED_COST"
	MetricUnblendedCost         Metric = "UNBLENDED_COST"
	MetricAmortizedCost         Metric = "AMORTIZED_COST"
	MetricNetUnblendedCost      Metric = "NET_UNBLENDED_COST"
	MetricNetAmortizedCost      Metric = "NET_AMORTIZED_COST"
	MetricUsageQuantity         Metric = "USAGE_QUANTITY"
	MetricNormalizedUsageAmount Metric = "NORMALIZED_USAGE_AMOUNT"
)

Enum values for Metric

func (Metric) Values added in v0.29.0

func (Metric) Values() []Metric

Values returns all known values for Metric. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type MetricValue

type MetricValue struct {

	// The actual number that represents the metric.
	Amount *string

	// The unit that the metric is given in.
	Unit *string
}

The aggregated value for a metric.

type ModifyRecommendationDetail

type ModifyRecommendationDetail struct {

	// Identifies whether this instance type is the AWS default recommendation.
	TargetInstances []TargetInstance
}

Details on the modification recommendation.

type MonitorDimension added in v0.29.0

type MonitorDimension string
const (
	MonitorDimensionService MonitorDimension = "SERVICE"
)

Enum values for MonitorDimension

func (MonitorDimension) Values added in v0.29.0

Values returns all known values for MonitorDimension. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type MonitorType added in v0.29.0

type MonitorType string
const (
	MonitorTypeDimensional MonitorType = "DIMENSIONAL"
	MonitorTypeCustom      MonitorType = "CUSTOM"
)

Enum values for MonitorType

func (MonitorType) Values added in v0.29.0

func (MonitorType) Values() []MonitorType

Values returns all known values for MonitorType. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type NumericOperator added in v0.29.0

type NumericOperator string
const (
	NumericOperatorEqual              NumericOperator = "EQUAL"
	NumericOperatorGreaterThanOrEqual NumericOperator = "GREATER_THAN_OR_EQUAL"
	NumericOperatorLessThanOrEqual    NumericOperator = "LESS_THAN_OR_EQUAL"
	NumericOperatorGreaterThan        NumericOperator = "GREATER_THAN"
	NumericOperatorLessThan           NumericOperator = "LESS_THAN"
	NumericOperatorBetween            NumericOperator = "BETWEEN"
)

Enum values for NumericOperator

func (NumericOperator) Values added in v0.29.0

func (NumericOperator) Values() []NumericOperator

Values returns all known values for NumericOperator. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type OfferingClass

type OfferingClass string
const (
	OfferingClassStandard    OfferingClass = "STANDARD"
	OfferingClassConvertible OfferingClass = "CONVERTIBLE"
)

Enum values for OfferingClass

func (OfferingClass) Values added in v0.29.0

func (OfferingClass) Values() []OfferingClass

Values returns all known values for OfferingClass. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type PaymentOption

type PaymentOption string
const (
	PaymentOptionNoUpfront         PaymentOption = "NO_UPFRONT"
	PaymentOptionPartialUpfront    PaymentOption = "PARTIAL_UPFRONT"
	PaymentOptionAllUpfront        PaymentOption = "ALL_UPFRONT"
	PaymentOptionLightUtilization  PaymentOption = "LIGHT_UTILIZATION"
	PaymentOptionMediumUtilization PaymentOption = "MEDIUM_UTILIZATION"
	PaymentOptionHeavyUtilization  PaymentOption = "HEAVY_UTILIZATION"
)

Enum values for PaymentOption

func (PaymentOption) Values added in v0.29.0

func (PaymentOption) Values() []PaymentOption

Values returns all known values for PaymentOption. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type RDSInstanceDetails

type RDSInstanceDetails struct {

	// Whether the recommendation is for a current-generation instance.
	CurrentGeneration bool

	// The database edition that the recommended reservation supports.
	DatabaseEdition *string

	// The database engine that the recommended reservation supports.
	DatabaseEngine *string

	// Whether the recommendation is for a reservation in a single Availability Zone or
	// a reservation with a backup in a second Availability Zone.
	DeploymentOption *string

	// The instance family of the recommended reservation.
	Family *string

	// The type of instance that AWS recommends.
	InstanceType *string

	// The license model that the recommended reservation supports.
	LicenseModel *string

	// The AWS Region of the recommended reservation.
	Region *string

	// Whether the recommended reservation is size flexible.
	SizeFlexEligible bool
}

Details about the Amazon RDS instances that AWS recommends that you purchase.

type RecommendationTarget

type RecommendationTarget string
const (
	RecommendationTargetSameInstanceFamily  RecommendationTarget = "SAME_INSTANCE_FAMILY"
	RecommendationTargetCrossInstanceFamily RecommendationTarget = "CROSS_INSTANCE_FAMILY"
)

Enum values for RecommendationTarget

func (RecommendationTarget) Values added in v0.29.0

Values returns all known values for RecommendationTarget. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type RedshiftInstanceDetails

type RedshiftInstanceDetails struct {

	// Whether the recommendation is for a current-generation instance.
	CurrentGeneration bool

	// The instance family of the recommended reservation.
	Family *string

	// The type of node that AWS recommends.
	NodeType *string

	// The AWS Region of the recommended reservation.
	Region *string

	// Whether the recommended reservation is size flexible.
	SizeFlexEligible bool
}

Details about the Amazon Redshift instances that AWS recommends that you purchase.

type RequestChangedException

type RequestChangedException struct {
	Message *string
}

Your request parameters changed between pages. Try again with the old parameters or without a pagination token.

func (*RequestChangedException) Error

func (e *RequestChangedException) Error() string

func (*RequestChangedException) ErrorCode

func (e *RequestChangedException) ErrorCode() string

func (*RequestChangedException) ErrorFault

func (e *RequestChangedException) ErrorFault() smithy.ErrorFault

func (*RequestChangedException) ErrorMessage

func (e *RequestChangedException) ErrorMessage() string

type ReservationAggregates

type ReservationAggregates struct {

	// The monthly cost of your reservation, amortized over the reservation period.
	AmortizedRecurringFee *string

	// The upfront cost of your reservation, amortized over the reservation period.
	AmortizedUpfrontFee *string

	// How much you saved due to purchasing and utilizing reservation. AWS calculates
	// this by subtracting TotalAmortizedFee from OnDemandCostOfRIHoursUsed.
	NetRISavings *string

	// How much your reservation would cost if charged On-Demand rates.
	OnDemandCostOfRIHoursUsed *string

	// How many reservation hours that you purchased.
	PurchasedHours *string

	// How many Amazon EC2 reservation hours that you purchased, converted to
	// normalized units. Normalized units are available only for Amazon EC2 usage after
	// November 11, 2017.
	PurchasedUnits *string

	// The total number of reservation hours that you used.
	TotalActualHours *string

	// The total number of Amazon EC2 reservation hours that you used, converted to
	// normalized units. Normalized units are available only for Amazon EC2 usage after
	// November 11, 2017.
	TotalActualUnits *string

	// The total cost of your reservation, amortized over the reservation period.
	TotalAmortizedFee *string

	// How much you could save if you use your entire reservation.
	TotalPotentialRISavings *string

	// The number of reservation hours that you didn't use.
	UnusedHours *string

	// The number of Amazon EC2 reservation hours that you didn't use, converted to
	// normalized units. Normalized units are available only for Amazon EC2 usage after
	// November 11, 2017.
	UnusedUnits *string

	// The percentage of reservation time that you used.
	UtilizationPercentage *string

	// The percentage of Amazon EC2 reservation time that you used, converted to
	// normalized units. Normalized units are available only for Amazon EC2 usage after
	// November 11, 2017.
	UtilizationPercentageInUnits *string
}

The aggregated numbers for your reservation usage.

type ReservationCoverageGroup

type ReservationCoverageGroup struct {

	// The attributes for this group of reservations.
	Attributes map[string]string

	// How much instance usage this group of reservations covered.
	Coverage *Coverage
}

A group of reservations that share a set of attributes.

type ReservationPurchaseRecommendation

type ReservationPurchaseRecommendation struct {

	// The account scope that AWS recommends that you purchase this instance for. For
	// example, you can purchase this reservation for an entire organization in AWS
	// Organizations.
	AccountScope AccountScope

	// How many days of previous usage that AWS considers when making this
	// recommendation.
	LookbackPeriodInDays LookbackPeriodInDays

	// The payment option for the reservation. For example, AllUpfront or NoUpfront.
	PaymentOption PaymentOption

	// Details about the recommended purchases.
	RecommendationDetails []ReservationPurchaseRecommendationDetail

	// A summary about the recommended purchase.
	RecommendationSummary *ReservationPurchaseRecommendationSummary

	// Hardware specifications for the service that you want recommendations for.
	ServiceSpecification *ServiceSpecification

	// The term of the reservation that you want recommendations for, in years.
	TermInYears TermInYears
}

A specific reservation that AWS recommends for purchase.

type ReservationPurchaseRecommendationDetail

type ReservationPurchaseRecommendationDetail struct {

	// The account that this RI recommendation is for.
	AccountId *string

	// The average number of normalized units that you used in an hour during the
	// historical period. AWS uses this to calculate your recommended reservation
	// purchases.
	AverageNormalizedUnitsUsedPerHour *string

	// The average number of instances that you used in an hour during the historical
	// period. AWS uses this to calculate your recommended reservation purchases.
	AverageNumberOfInstancesUsedPerHour *string

	// The average utilization of your instances. AWS uses this to calculate your
	// recommended reservation purchases.
	AverageUtilization *string

	// The currency code that AWS used to calculate the costs for this instance.
	CurrencyCode *string

	// How long AWS estimates that it takes for this instance to start saving you
	// money, in months.
	EstimatedBreakEvenInMonths *string

	// How much AWS estimates that you spend on On-Demand Instances in a month.
	EstimatedMonthlyOnDemandCost *string

	// How much AWS estimates that this specific recommendation could save you in a
	// month.
	EstimatedMonthlySavingsAmount *string

	// How much AWS estimates that this specific recommendation could save you in a
	// month, as a percentage of your overall costs.
	EstimatedMonthlySavingsPercentage *string

	// How much AWS estimates that you would have spent for all usage during the
	// specified historical period if you had a reservation.
	EstimatedReservationCostForLookbackPeriod *string

	// Details about the instances that AWS recommends that you purchase.
	InstanceDetails *InstanceDetails

	// The maximum number of normalized units that you used in an hour during the
	// historical period. AWS uses this to calculate your recommended reservation
	// purchases.
	MaximumNormalizedUnitsUsedPerHour *string

	// The maximum number of instances that you used in an hour during the historical
	// period. AWS uses this to calculate your recommended reservation purchases.
	MaximumNumberOfInstancesUsedPerHour *string

	// The minimum number of normalized units that you used in an hour during the
	// historical period. AWS uses this to calculate your recommended reservation
	// purchases.
	MinimumNormalizedUnitsUsedPerHour *string

	// The minimum number of instances that you used in an hour during the historical
	// period. AWS uses this to calculate your recommended reservation purchases.
	MinimumNumberOfInstancesUsedPerHour *string

	// The number of normalized units that AWS recommends that you purchase.
	RecommendedNormalizedUnitsToPurchase *string

	// The number of instances that AWS recommends that you purchase.
	RecommendedNumberOfInstancesToPurchase *string

	// How much purchasing this instance costs you on a monthly basis.
	RecurringStandardMonthlyCost *string

	// How much purchasing this instance costs you upfront.
	UpfrontCost *string
}

Details about your recommended reservation purchase.

type ReservationPurchaseRecommendationMetadata

type ReservationPurchaseRecommendationMetadata struct {

	// The timestamp for when AWS made this recommendation.
	GenerationTimestamp *string

	// The ID for this specific recommendation.
	RecommendationId *string
}

Information about this specific recommendation, such as the timestamp for when AWS made a specific recommendation.

type ReservationPurchaseRecommendationSummary

type ReservationPurchaseRecommendationSummary struct {

	// The currency code used for this recommendation.
	CurrencyCode *string

	// The total amount that AWS estimates that this recommendation could save you in a
	// month.
	TotalEstimatedMonthlySavingsAmount *string

	// The total amount that AWS estimates that this recommendation could save you in a
	// month, as a percentage of your costs.
	TotalEstimatedMonthlySavingsPercentage *string
}

A summary about this recommendation, such as the currency code, the amount that AWS estimates that you could save, and the total amount of reservation to purchase.

type ReservationUtilizationGroup

type ReservationUtilizationGroup struct {

	// The attributes for this group of reservations.
	Attributes map[string]string

	// The key for a specific reservation attribute.
	Key *string

	// How much you used this group of reservations.
	Utilization *ReservationAggregates

	// The value of a specific reservation attribute.
	Value *string
}

A group of reservations that share a set of attributes.

type ResourceDetails

type ResourceDetails struct {

	// Details on the Amazon EC2 resource.
	EC2ResourceDetails *EC2ResourceDetails
}

Details on the resource.

type ResourceNotFoundException

type ResourceNotFoundException struct {
	Message *string
}

The specified ARN in the request doesn't exist.

func (*ResourceNotFoundException) Error

func (e *ResourceNotFoundException) Error() string

func (*ResourceNotFoundException) ErrorCode

func (e *ResourceNotFoundException) ErrorCode() string

func (*ResourceNotFoundException) ErrorFault

func (*ResourceNotFoundException) ErrorMessage

func (e *ResourceNotFoundException) ErrorMessage() string

type ResourceUtilization

type ResourceUtilization struct {

	// Utilization of current Amazon EC2 instance.
	EC2ResourceUtilization *EC2ResourceUtilization
}

Resource utilization of current resource.

type ResultByTime

type ResultByTime struct {

	// Whether the result is estimated.
	Estimated bool

	// The groups that this time period includes.
	Groups []Group

	// The time period that the result covers.
	TimePeriod *DateInterval

	// The total amount of cost or usage accrued during the time period.
	Total map[string]MetricValue
}

The result that is associated with a time period.

type RightsizingRecommendation

type RightsizingRecommendation struct {

	// The account that this recommendation is for.
	AccountId *string

	// Context regarding the current instance.
	CurrentInstance *CurrentInstance

	// Details for modification recommendations.
	ModifyRecommendationDetail *ModifyRecommendationDetail

	// Recommendation to either terminate or modify the resource.
	RightsizingType RightsizingType

	// Details for termination recommendations.
	TerminateRecommendationDetail *TerminateRecommendationDetail
}

Recommendations to rightsize resources.

type RightsizingRecommendationConfiguration

type RightsizingRecommendationConfiguration struct {

	// The option to consider RI or Savings Plans discount benefits in your savings
	// calculation. The default value is TRUE.
	//
	// This member is required.
	BenefitsConsidered bool

	// The option to see recommendations within the same instance family, or
	// recommendations for instances across other families. The default value is
	// SAME_INSTANCE_FAMILY.
	//
	// This member is required.
	RecommendationTarget RecommendationTarget
}

Enables you to customize recommendations across two attributes. You can choose to view recommendations for instances within the same instance families or across different instance families. You can also choose to view your estimated savings associated with recommendations with consideration of existing Savings Plans or RI benefits, or neither.

type RightsizingRecommendationMetadata

type RightsizingRecommendationMetadata struct {

	// Additional metadata that may be applicable to the recommendation.
	AdditionalMetadata *string

	// The timestamp for when AWS made this recommendation.
	GenerationTimestamp *string

	// How many days of previous usage that AWS considers when making this
	// recommendation.
	LookbackPeriodInDays LookbackPeriodInDays

	// The ID for this specific recommendation.
	RecommendationId *string
}

Metadata for this recommendation set.

type RightsizingRecommendationSummary

type RightsizingRecommendationSummary struct {

	// Estimated total savings resulting from modifications, on a monthly basis.
	EstimatedTotalMonthlySavingsAmount *string

	// The currency code that AWS used to calculate the savings.
	SavingsCurrencyCode *string

	// Savings percentage based on the recommended modifications, relative to the total
	// On-Demand costs associated with these instances.
	SavingsPercentage *string

	// Total number of instance recommendations.
	TotalRecommendationCount *string
}

Summary of rightsizing recommendations

type RightsizingType

type RightsizingType string
const (
	RightsizingTypeTerminate RightsizingType = "TERMINATE"
	RightsizingTypeModify    RightsizingType = "MODIFY"
)

Enum values for RightsizingType

func (RightsizingType) Values added in v0.29.0

func (RightsizingType) Values() []RightsizingType

Values returns all known values for RightsizingType. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type RootCause added in v0.29.0

type RootCause struct {

	// The linked account value associated with the cost anomaly.
	LinkedAccount *string

	// The AWS Region associated with the cost anomaly.
	Region *string

	// The AWS service name associated with the cost anomaly.
	Service *string

	// The UsageType value associated with the cost anomaly.
	UsageType *string
}

The combination of AWS service, linked account, Region, and usage type where a cost anomaly is observed.

type SavingsPlansAmortizedCommitment

type SavingsPlansAmortizedCommitment struct {

	// The amortized amount of your Savings Plans commitment that was purchased with
	// either a Partial or a NoUpfront.
	AmortizedRecurringCommitment *string

	// The amortized amount of your Savings Plans commitment that was purchased with an
	// Upfront or PartialUpfront Savings Plans.
	AmortizedUpfrontCommitment *string

	// The total amortized amount of your Savings Plans commitment, regardless of your
	// Savings Plans purchase method.
	TotalAmortizedCommitment *string
}

The amortized amount of Savings Plans purchased in a specific account during a specific time interval.

type SavingsPlansCoverage

type SavingsPlansCoverage struct {

	// The attribute that applies to a specific Dimension.
	Attributes map[string]string

	// The amount of Savings Plans eligible usage that the Savings Plans covered.
	Coverage *SavingsPlansCoverageData

	// The time period that you want the usage and costs for.
	TimePeriod *DateInterval
}

The amount of Savings Plans eligible usage that is covered by Savings Plans. All calculations consider the On-Demand equivalent of your Savings Plans usage.

type SavingsPlansCoverageData

type SavingsPlansCoverageData struct {

	// The percentage of your existing Savings Plans covered usage, divided by all of
	// your eligible Savings Plans usage in an account(or set of accounts).
	CoveragePercentage *string

	// The cost of your AWS usage at the public On-Demand rate.
	OnDemandCost *string

	// The amount of your AWS usage that is covered by a Savings Plans.
	SpendCoveredBySavingsPlans *string

	// The total cost of your AWS usage, regardless of your purchase option.
	TotalCost *string
}

Specific coverage percentage, On-Demand costs, and spend covered by Savings Plans, and total Savings Plans costs for an account.

type SavingsPlansDetails

type SavingsPlansDetails struct {

	// A group of instance types that Savings Plans applies to.
	InstanceFamily *string

	// The unique ID used to distinguish Savings Plans from one another.
	OfferingId *string

	// A collection of AWS resources in a geographic area. Each AWS Region is isolated
	// and independent of the other Regions.
	Region *string
}

Attribute details on a specific Savings Plan.

type SavingsPlansPurchaseRecommendation

type SavingsPlansPurchaseRecommendation struct {

	// The account scope that you want your recommendations for. Amazon Web Services
	// calculates recommendations including the management account and member accounts
	// if the value is set to PAYER. If the value is LINKED, recommendations are
	// calculated for individual member accounts only.
	AccountScope AccountScope

	// The lookback period in days, used to generate the recommendation.
	LookbackPeriodInDays LookbackPeriodInDays

	// The payment option used to generate the recommendation.
	PaymentOption PaymentOption

	// Details for the Savings Plans we recommend that you purchase to cover existing
	// Savings Plans eligible workloads.
	SavingsPlansPurchaseRecommendationDetails []SavingsPlansPurchaseRecommendationDetail

	// Summary metrics for your Savings Plans Recommendations.
	SavingsPlansPurchaseRecommendationSummary *SavingsPlansPurchaseRecommendationSummary

	// The requested Savings Plans recommendation type.
	SavingsPlansType SupportedSavingsPlansType

	// The Savings Plans recommendation term in years, used to generate the
	// recommendation.
	TermInYears TermInYears
}

Contains your request parameters, Savings Plan Recommendations Summary, and Details.

type SavingsPlansPurchaseRecommendationDetail

type SavingsPlansPurchaseRecommendationDetail struct {

	// The AccountID the recommendation is generated for.
	AccountId *string

	// The currency code AWS used to generate the recommendations and present potential
	// savings.
	CurrencyCode *string

	// The average value of hourly On-Demand spend over the lookback period of the
	// applicable usage type.
	CurrentAverageHourlyOnDemandSpend *string

	// The highest value of hourly On-Demand spend over the lookback period of the
	// applicable usage type.
	CurrentMaximumHourlyOnDemandSpend *string

	// The lowest value of hourly On-Demand spend over the lookback period of the
	// applicable usage type.
	CurrentMinimumHourlyOnDemandSpend *string

	// The estimated utilization of the recommended Savings Plans.
	EstimatedAverageUtilization *string

	// The estimated monthly savings amount, based on the recommended Savings Plans.
	EstimatedMonthlySavingsAmount *string

	// The remaining On-Demand cost estimated to not be covered by the recommended
	// Savings Plans, over the length of the lookback period.
	EstimatedOnDemandCost *string

	// The estimated On-Demand costs you would expect with no additional commitment,
	// based on your usage of the selected time period and the Savings Plans you own.
	EstimatedOnDemandCostWithCurrentCommitment *string

	// The estimated return on investment based on the recommended Savings Plans
	// purchased. This is calculated as estimatedSavingsAmount/ estimatedSPCost*100.
	EstimatedROI *string

	// The cost of the recommended Savings Plans over the length of the lookback
	// period.
	EstimatedSPCost *string

	// The estimated savings amount based on the recommended Savings Plans over the
	// length of the lookback period.
	EstimatedSavingsAmount *string

	// The estimated savings percentage relative to the total cost of applicable
	// On-Demand usage over the lookback period.
	EstimatedSavingsPercentage *string

	// The recommended hourly commitment level for the Savings Plans type, and
	// configuration based on the usage during the lookback period.
	HourlyCommitmentToPurchase *string

	// Details for your recommended Savings Plans.
	SavingsPlansDetails *SavingsPlansDetails

	// The upfront cost of the recommended Savings Plans, based on the selected payment
	// option.
	UpfrontCost *string
}

Details for your recommended Savings Plans.

type SavingsPlansPurchaseRecommendationMetadata

type SavingsPlansPurchaseRecommendationMetadata struct {

	// Additional metadata that may be applicable to the recommendation.
	AdditionalMetadata *string

	// The timestamp showing when the recommendations were generated.
	GenerationTimestamp *string

	// The unique identifier for the recommendation set.
	RecommendationId *string
}

Metadata about your Savings Plans Purchase Recommendations.

type SavingsPlansPurchaseRecommendationSummary

type SavingsPlansPurchaseRecommendationSummary struct {

	// The currency code AWS used to generate the recommendations and present potential
	// savings.
	CurrencyCode *string

	// The current total on demand spend of the applicable usage types over the
	// lookback period.
	CurrentOnDemandSpend *string

	// The recommended Savings Plans cost on a daily (24 hourly) basis.
	DailyCommitmentToPurchase *string

	// The estimated monthly savings amount, based on the recommended Savings Plans
	// purchase.
	EstimatedMonthlySavingsAmount *string

	// The estimated On-Demand costs you would expect with no additional commitment,
	// based on your usage of the selected time period and the Savings Plans you own.
	EstimatedOnDemandCostWithCurrentCommitment *string

	// The estimated return on investment based on the recommended Savings Plans and
	// estimated savings.
	EstimatedROI *string

	// The estimated total savings over the lookback period, based on the purchase of
	// the recommended Savings Plans.
	EstimatedSavingsAmount *string

	// The estimated savings relative to the total cost of On-Demand usage, over the
	// lookback period. This is calculated as estimatedSavingsAmount/
	// CurrentOnDemandSpend*100.
	EstimatedSavingsPercentage *string

	// The estimated total cost of the usage after purchasing the recommended Savings
	// Plans. This is a sum of the cost of Savings Plans during this term, and the
	// remaining On-Demand usage.
	EstimatedTotalCost *string

	// The recommended hourly commitment based on the recommendation parameters.
	HourlyCommitmentToPurchase *string

	// The aggregate number of Savings Plans recommendations that exist for your
	// account.
	TotalRecommendationCount *string
}

Summary metrics for your Savings Plans Purchase Recommendations.

type SavingsPlansSavings

type SavingsPlansSavings struct {

	// The savings amount that you are accumulating for the usage that is covered by a
	// Savings Plans, when compared to the On-Demand equivalent of the same usage.
	NetSavings *string

	// How much the amount that the usage would have cost if it was accrued at the
	// On-Demand rate.
	OnDemandCostEquivalent *string
}

The amount of savings you're accumulating, against the public On-Demand rate of the usage accrued in an account.

type SavingsPlansUtilization

type SavingsPlansUtilization struct {

	// The total amount of Savings Plans commitment that's been purchased in an account
	// (or set of accounts).
	TotalCommitment *string

	// The amount of your Savings Plans commitment that was not consumed from Savings
	// Plans eligible usage in a specific period.
	UnusedCommitment *string

	// The amount of your Savings Plans commitment that was consumed from Savings Plans
	// eligible usage in a specific period.
	UsedCommitment *string

	// The amount of UsedCommitment divided by the TotalCommitment for your Savings
	// Plans.
	UtilizationPercentage *string
}

The measurement of how well you are using your existing Savings Plans.

type SavingsPlansUtilizationAggregates

type SavingsPlansUtilizationAggregates struct {

	// A ratio of your effectiveness of using existing Savings Plans to apply to
	// workloads that are Savings Plans eligible.
	//
	// This member is required.
	Utilization *SavingsPlansUtilization

	// The total amortized commitment for a Savings Plans. This includes the sum of the
	// upfront and recurring Savings Plans fees.
	AmortizedCommitment *SavingsPlansAmortizedCommitment

	// The amount saved by using existing Savings Plans. Savings returns both net
	// savings from Savings Plans, as well as the onDemandCostEquivalent of the Savings
	// Plans when considering the utilization rate.
	Savings *SavingsPlansSavings
}

The aggregated utilization metrics for your Savings Plans usage.

type SavingsPlansUtilizationByTime

type SavingsPlansUtilizationByTime struct {

	// The time period that you want the usage and costs for.
	//
	// This member is required.
	TimePeriod *DateInterval

	// A ratio of your effectiveness of using existing Savings Plans to apply to
	// workloads that are Savings Plans eligible.
	//
	// This member is required.
	Utilization *SavingsPlansUtilization

	// The total amortized commitment for a Savings Plans. This includes the sum of the
	// upfront and recurring Savings Plans fees.
	AmortizedCommitment *SavingsPlansAmortizedCommitment

	// The amount saved by using existing Savings Plans. Savings returns both net
	// savings from Savings Plans as well as the onDemandCostEquivalent of the Savings
	// Plans when considering the utilization rate.
	Savings *SavingsPlansSavings
}

The amount of Savings Plans utilization, in hours.

type SavingsPlansUtilizationDetail

type SavingsPlansUtilizationDetail struct {

	// The total amortized commitment for a Savings Plans. Includes the sum of the
	// upfront and recurring Savings Plans fees.
	AmortizedCommitment *SavingsPlansAmortizedCommitment

	// The attribute that applies to a specific Dimension.
	Attributes map[string]string

	// The amount saved by using existing Savings Plans. Savings returns both net
	// savings from savings plans as well as the onDemandCostEquivalent of the Savings
	// Plans when considering the utilization rate.
	Savings *SavingsPlansSavings

	// The unique Amazon Resource Name (ARN) for a particular Savings Plan.
	SavingsPlanArn *string

	// A ratio of your effectiveness of using existing Savings Plans to apply to
	// workloads that are Savings Plans eligible.
	Utilization *SavingsPlansUtilization
}

A single daily or monthly Savings Plans utilization rate, and details for your account. A management account in an organization have access to member accounts. You can use GetDimensionValues to determine the possible dimension values.

type ServiceQuotaExceededException

type ServiceQuotaExceededException struct {
	Message *string
}

You've reached the limit on the number of resources you can create, or exceeded the size of an individual resource.

func (*ServiceQuotaExceededException) Error

func (*ServiceQuotaExceededException) ErrorCode

func (e *ServiceQuotaExceededException) ErrorCode() string

func (*ServiceQuotaExceededException) ErrorFault

func (*ServiceQuotaExceededException) ErrorMessage

func (e *ServiceQuotaExceededException) ErrorMessage() string

type ServiceSpecification

type ServiceSpecification struct {

	// The Amazon EC2 hardware specifications that you want AWS to provide
	// recommendations for.
	EC2Specification *EC2Specification
}

Hardware specifications for the service that you want recommendations for.

type Subscriber added in v0.29.0

type Subscriber struct {

	// The email address or SNS Amazon Resource Name (ARN), depending on the Type.
	Address *string

	// Indicates if the subscriber accepts the notifications.
	Status SubscriberStatus

	// The notification delivery channel.
	Type SubscriberType
}

The recipient of AnomalySubscription notifications.

type SubscriberStatus added in v0.29.0

type SubscriberStatus string
const (
	SubscriberStatusConfirmed SubscriberStatus = "CONFIRMED"
	SubscriberStatusDeclined  SubscriberStatus = "DECLINED"
)

Enum values for SubscriberStatus

func (SubscriberStatus) Values added in v0.29.0

Values returns all known values for SubscriberStatus. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type SubscriberType added in v0.29.0

type SubscriberType string
const (
	SubscriberTypeEmail SubscriberType = "EMAIL"
	SubscriberTypeSns   SubscriberType = "SNS"
)

Enum values for SubscriberType

func (SubscriberType) Values added in v0.29.0

func (SubscriberType) Values() []SubscriberType

Values returns all known values for SubscriberType. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type SupportedSavingsPlansType

type SupportedSavingsPlansType string
const (
	SupportedSavingsPlansTypeComputeSp     SupportedSavingsPlansType = "COMPUTE_SP"
	SupportedSavingsPlansTypeEc2InstanceSp SupportedSavingsPlansType = "EC2_INSTANCE_SP"
)

Enum values for SupportedSavingsPlansType

func (SupportedSavingsPlansType) Values added in v0.29.0

Values returns all known values for SupportedSavingsPlansType. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type TagValues

type TagValues struct {

	// The key for the tag.
	Key *string

	// The match options that you can use to filter your results. MatchOptions is only
	// applicable for actions related to Cost Category. The default values for
	// MatchOptions are EQUALS and CASE_SENSITIVE.
	MatchOptions []MatchOption

	// The specific value of the tag.
	Values []string
}

The values that are available for a tag.

type TargetInstance

type TargetInstance struct {

	// The currency code that AWS used to calculate the costs for this instance.
	CurrencyCode *string

	// Indicates whether this recommendation is the defaulted AWS recommendation.
	DefaultTargetInstance bool

	// Expected cost to operate this instance type on a monthly basis.
	EstimatedMonthlyCost *string

	// Estimated savings resulting from modification, on a monthly basis.
	EstimatedMonthlySavings *string

	// Expected utilization metrics for target instance type.
	ExpectedResourceUtilization *ResourceUtilization

	// Details on the target instance type.
	ResourceDetails *ResourceDetails
}

Details on recommended instance.

type TermInYears

type TermInYears string
const (
	TermInYearsOneYear    TermInYears = "ONE_YEAR"
	TermInYearsThreeYears TermInYears = "THREE_YEARS"
)

Enum values for TermInYears

func (TermInYears) Values added in v0.29.0

func (TermInYears) Values() []TermInYears

Values returns all known values for TermInYears. Note that this can be expanded in the future, and so it is only as up to date as the client. The ordering of this slice is not guaranteed to be stable across updates.

type TerminateRecommendationDetail

type TerminateRecommendationDetail struct {

	// The currency code that AWS used to calculate the costs for this instance.
	CurrencyCode *string

	// Estimated savings resulting from modification, on a monthly basis.
	EstimatedMonthlySavings *string
}

Details on termination recommendation.

type TotalImpactFilter added in v0.29.0

type TotalImpactFilter struct {

	// The comparing value used in the filter.
	//
	// This member is required.
	NumericOperator NumericOperator

	// The lower bound dollar value used in the filter.
	//
	// This member is required.
	StartValue float64

	// The upper bound dollar value used in the filter.
	EndValue float64
}

Filters cost anomalies based on the total impact.

type UnknownMonitorException added in v0.29.0

type UnknownMonitorException struct {
	Message *string
}

The cost anomaly monitor does not exist for the account.

func (*UnknownMonitorException) Error added in v0.29.0

func (e *UnknownMonitorException) Error() string

func (*UnknownMonitorException) ErrorCode added in v0.29.0

func (e *UnknownMonitorException) ErrorCode() string

func (*UnknownMonitorException) ErrorFault added in v0.29.0

func (e *UnknownMonitorException) ErrorFault() smithy.ErrorFault

func (*UnknownMonitorException) ErrorMessage added in v0.29.0

func (e *UnknownMonitorException) ErrorMessage() string

type UnknownSubscriptionException added in v0.29.0

type UnknownSubscriptionException struct {
	Message *string
}

The cost anomaly subscription does not exist for the account.

func (*UnknownSubscriptionException) Error added in v0.29.0

func (*UnknownSubscriptionException) ErrorCode added in v0.29.0

func (e *UnknownSubscriptionException) ErrorCode() string

func (*UnknownSubscriptionException) ErrorFault added in v0.29.0

func (*UnknownSubscriptionException) ErrorMessage added in v0.29.0

func (e *UnknownSubscriptionException) ErrorMessage() string

type UnresolvableUsageUnitException

type UnresolvableUsageUnitException struct {
	Message *string
}

Cost Explorer was unable to identify the usage unit. Provide UsageType/UsageTypeGroup filter selections that contain matching units, for example: hours.

func (*UnresolvableUsageUnitException) Error

func (*UnresolvableUsageUnitException) ErrorCode

func (e *UnresolvableUsageUnitException) ErrorCode() string

func (*UnresolvableUsageUnitException) ErrorFault

func (*UnresolvableUsageUnitException) ErrorMessage

func (e *UnresolvableUsageUnitException) ErrorMessage() string

type UtilizationByTime

type UtilizationByTime struct {

	// The groups that this utilization result uses.
	Groups []ReservationUtilizationGroup

	// The period of time that this utilization was used for.
	TimePeriod *DateInterval

	// The total number of reservation hours that were used.
	Total *ReservationAggregates
}

The amount of utilization, in hours.

Jump to

Keyboard shortcuts

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