costexplorer

package
v0.24.0 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2020 License: Apache-2.0 Imports: 7 Imported by: 48

Documentation

Overview

Package costexplorer provides the client and types for making API requests to AWS Cost Explorer.

The Cost Explorer API enables you to programmatically query your cost and usage data. You can query for aggregated data such as total monthly costs or total daily usage. You can also query for granular data, such as the number of daily write operations for Amazon DynamoDB database tables in your production environment.

Service Endpoint

The Cost Explorer API provides the following endpoint:

For information about costs associated with the Cost Explorer API, see AWS Cost Management Pricing (http://aws.amazon.com/aws-cost-management/pricing/).

See https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25 for more information on this service.

See costexplorer package documentation for more information. https://docs.aws.amazon.com/sdk-for-go/api/service/costexplorer/

Using the Client

To use AWS Cost Explorer with the SDK use the New function to create a new service client. With that client you can make API requests to the service. These clients are safe to use concurrently.

See the SDK's documentation for more information on how to use the SDK. https://docs.aws.amazon.com/sdk-for-go/api/

See aws.Config documentation for more information on configuring SDK clients. https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config

See the AWS Cost Explorer client for more information on creating client for this service. https://docs.aws.amazon.com/sdk-for-go/api/service/costexplorer/#New

Index

Constants

View Source
const (
	ServiceName = "AWS Cost Explorer" // Service's name
	ServiceID   = "CostExplorer"      // Service's identifier
	EndpointsID = "ce"                // Service's Endpoint identifier
)
View Source
const (

	// ErrCodeBillExpirationException for service response error code
	// "BillExpirationException".
	//
	// The requested report expired. Update the date interval and try again.
	ErrCodeBillExpirationException = "BillExpirationException"

	// ErrCodeDataUnavailableException for service response error code
	// "DataUnavailableException".
	//
	// The requested data is unavailable.
	ErrCodeDataUnavailableException = "DataUnavailableException"

	// ErrCodeInvalidNextTokenException for service response error code
	// "InvalidNextTokenException".
	//
	// The pagination token is invalid. Try again without a pagination token.
	ErrCodeInvalidNextTokenException = "InvalidNextTokenException"

	// ErrCodeLimitExceededException for service response error code
	// "LimitExceededException".
	//
	// You made too many calls in a short period of time. Try again later.
	ErrCodeLimitExceededException = "LimitExceededException"

	// ErrCodeRequestChangedException for service response error code
	// "RequestChangedException".
	//
	// Your request parameters changed between pages. Try again with the old parameters
	// or without a pagination token.
	ErrCodeRequestChangedException = "RequestChangedException"

	// ErrCodeResourceNotFoundException for service response error code
	// "ResourceNotFoundException".
	//
	// The specified ARN in the request doesn't exist.
	ErrCodeResourceNotFoundException = "ResourceNotFoundException"

	// ErrCodeServiceQuotaExceededException for service response error code
	// "ServiceQuotaExceededException".
	//
	// You've reached the limit on the number of resources you can create, or exceeded
	// the size of an individual resources.
	ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException"

	// ErrCodeUnresolvableUsageUnitException for service response error code
	// "UnresolvableUsageUnitException".
	//
	// Cost Explorer was unable to identify the usage unit. Provide UsageType/UsageTypeGroup
	// filter selections that contain matching units, for example: hours.
	ErrCodeUnresolvableUsageUnitException = "UnresolvableUsageUnitException"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountScope added in v0.4.0

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

Enum values for AccountScope

func (AccountScope) MarshalValue added in v0.4.0

func (enum AccountScope) MarshalValue() (string, error)

func (AccountScope) MarshalValueBuf added in v0.4.0

func (enum AccountScope) MarshalValueBuf(b []byte) ([]byte, error)

type Client added in v0.9.0

type Client struct {
	*aws.Client
}

Client provides the API operation methods for making requests to AWS Cost Explorer. See this package's package overview docs for details on the service.

The client's methods are safe to use concurrently. It is not safe to modify mutate any of the struct's properties though.

func New

func New(config aws.Config) *Client

New creates a new instance of the client from the provided Config.

Example:

// Create a client from just a config.
svc := costexplorer.New(myConfig)

func (*Client) CreateCostCategoryDefinitionRequest added in v0.18.0

func (c *Client) CreateCostCategoryDefinitionRequest(input *CreateCostCategoryDefinitionInput) CreateCostCategoryDefinitionRequest

CreateCostCategoryDefinitionRequest returns a request value for making API operation for AWS Cost Explorer Service.

Creates a new Cost Category with the requested name and rules.

// Example sending a request using CreateCostCategoryDefinitionRequest.
req := client.CreateCostCategoryDefinitionRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateCostCategoryDefinition

func (*Client) DeleteCostCategoryDefinitionRequest added in v0.18.0

func (c *Client) DeleteCostCategoryDefinitionRequest(input *DeleteCostCategoryDefinitionInput) DeleteCostCategoryDefinitionRequest

DeleteCostCategoryDefinitionRequest returns a request value for making API operation for AWS Cost Explorer Service.

Deletes a Cost Category. Expenses from this month going forward will no longer be categorized with this Cost Category.

// Example sending a request using DeleteCostCategoryDefinitionRequest.
req := client.DeleteCostCategoryDefinitionRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteCostCategoryDefinition

func (*Client) DescribeCostCategoryDefinitionRequest added in v0.18.0

func (c *Client) DescribeCostCategoryDefinitionRequest(input *DescribeCostCategoryDefinitionInput) DescribeCostCategoryDefinitionRequest

DescribeCostCategoryDefinitionRequest returns a request value for making API operation for AWS Cost Explorer Service.

Returns the name, ARN, rules, definition, and effective dates of a Cost Category that's defined in the account.

You have the option to use EffectiveOn to return a Cost Category that is active on a specific date. If there is no EffectiveOn specified, you’ll see a Cost Category that is effective on the current date. If Cost Category is still effective, EffectiveEnd is omitted in the response.

// Example sending a request using DescribeCostCategoryDefinitionRequest.
req := client.DescribeCostCategoryDefinitionRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DescribeCostCategoryDefinition

func (*Client) GetCostAndUsageRequest added in v0.9.0

func (c *Client) GetCostAndUsageRequest(input *GetCostAndUsageInput) GetCostAndUsageRequest

GetCostAndUsageRequest returns a request value for making API operation for AWS Cost Explorer Service.

Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetDimensionValues.html) operation. Master accounts in an organization in AWS Organizations have access to all member accounts.

// Example sending a request using GetCostAndUsageRequest.
req := client.GetCostAndUsageRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsage

func (*Client) GetCostAndUsageWithResourcesRequest added in v0.16.0

func (c *Client) GetCostAndUsageWithResourcesRequest(input *GetCostAndUsageWithResourcesInput) GetCostAndUsageWithResourcesRequest

GetCostAndUsageWithResourcesRequest returns a request value for making API operation for AWS Cost Explorer Service.

Retrieves cost and usage metrics with resources for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetDimensionValues.html) operation. Master accounts in an organization in AWS Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only.

This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information on how to access the Settings page, see Controlling Access for Cost Explorer (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-access.html) in the AWS Billing and Cost Management User Guide.

// Example sending a request using GetCostAndUsageWithResourcesRequest.
req := client.GetCostAndUsageWithResourcesRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsageWithResources

func (*Client) GetCostForecastRequest added in v0.9.0

func (c *Client) GetCostForecastRequest(input *GetCostForecastInput) GetCostForecastRequest

GetCostForecastRequest returns a request value for making API operation for AWS Cost Explorer Service.

Retrieves a forecast for how much Amazon Web Services predicts that you will spend over the forecast time period that you select, based on your past costs.

// Example sending a request using GetCostForecastRequest.
req := client.GetCostForecastRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostForecast

func (*Client) GetDimensionValuesRequest added in v0.9.0

func (c *Client) GetDimensionValuesRequest(input *GetDimensionValuesInput) GetDimensionValuesRequest

GetDimensionValuesRequest returns a request value for making API operation for AWS Cost Explorer Service.

Retrieves all available filter values for a specified filter over a period of time. You can search the dimension values for an arbitrary string.

// Example sending a request using GetDimensionValuesRequest.
req := client.GetDimensionValuesRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetDimensionValues

func (*Client) GetReservationCoverageRequest added in v0.9.0

func (c *Client) GetReservationCoverageRequest(input *GetReservationCoverageInput) GetReservationCoverageRequest

GetReservationCoverageRequest returns a request value for making API operation for AWS Cost Explorer Service.

Retrieves the reservation coverage for your account. This enables you to see how much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon Relational Database Service, or Amazon Redshift usage is covered by a reservation. An organization's master account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions. For any time period, you can filter data about reservation usage by the following dimensions:

  • AZ

  • CACHE_ENGINE

  • DATABASE_ENGINE

  • DEPLOYMENT_OPTION

  • INSTANCE_TYPE

  • LINKED_ACCOUNT

  • OPERATING_SYSTEM

  • PLATFORM

  • REGION

  • SERVICE

  • TAG

  • TENANCY

To determine valid values for a dimension, use the GetDimensionValues operation.

// Example sending a request using GetReservationCoverageRequest.
req := client.GetReservationCoverageRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationCoverage

func (*Client) GetReservationPurchaseRecommendationRequest added in v0.9.0

func (c *Client) GetReservationPurchaseRecommendationRequest(input *GetReservationPurchaseRecommendationInput) GetReservationPurchaseRecommendationRequest

GetReservationPurchaseRecommendationRequest returns a request value for making API operation for AWS Cost Explorer Service.

Gets recommendations for which reservations to purchase. These recommendations could help you reduce your costs. Reservations provide a discounted hourly rate (up to 75%) compared to On-Demand pricing.

AWS generates your recommendations by identifying your On-Demand usage during a specific time period and collecting your usage into categories that are eligible for a reservation. After AWS has these categories, it simulates every combination of reservations in each category of usage to identify the best number of each type of RI to purchase to maximize your estimated savings.

For example, AWS automatically aggregates your Amazon EC2 Linux, shared tenancy, and c4 family usage in the US West (Oregon) Region and recommends that you buy size-flexible regional reservations to apply to the c4 family usage. AWS recommends the smallest size instance in an instance family. This makes it easier to purchase a size-flexible RI. AWS also shows the equal number of normalized units so that you can purchase any instance size that you want. For this example, your RI recommendation would be for c4.large because that is the smallest size instance in the c4 instance family.

// Example sending a request using GetReservationPurchaseRecommendationRequest.
req := client.GetReservationPurchaseRecommendationRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationPurchaseRecommendation

func (*Client) GetReservationUtilizationRequest added in v0.9.0

func (c *Client) GetReservationUtilizationRequest(input *GetReservationUtilizationInput) GetReservationUtilizationRequest

GetReservationUtilizationRequest returns a request value for making API operation for AWS Cost Explorer Service.

Retrieves the reservation utilization for your account. Master accounts in an organization have access to member accounts. You can filter data by dimensions in a time period. You can use GetDimensionValues to determine the possible dimension values. Currently, you can group only by SUBSCRIPTION_ID.

// Example sending a request using GetReservationUtilizationRequest.
req := client.GetReservationUtilizationRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationUtilization

func (*Client) GetRightsizingRecommendationRequest added in v0.11.0

func (c *Client) GetRightsizingRecommendationRequest(input *GetRightsizingRecommendationInput) GetRightsizingRecommendationRequest

GetRightsizingRecommendationRequest returns a request value for making API operation for AWS Cost Explorer Service.

Creates recommendations that help you save cost by identifying idle and underutilized Amazon EC2 instances.

Recommendations are generated to either downsize or terminate instances, along with providing savings detail and metrics. For details on calculation and function, see Optimizing Your Cost with Rightsizing Recommendations (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html) in the AWS Billing and Cost Management User Guide.

// Example sending a request using GetRightsizingRecommendationRequest.
req := client.GetRightsizingRecommendationRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetRightsizingRecommendation

func (*Client) GetSavingsPlansCoverageRequest added in v0.16.0

func (c *Client) GetSavingsPlansCoverageRequest(input *GetSavingsPlansCoverageInput) GetSavingsPlansCoverageRequest

GetSavingsPlansCoverageRequest returns a request value for making API operation for AWS Cost Explorer Service.

Retrieves the Savings Plans covered for your account. This enables you to see how much of your cost is covered by a Savings Plan. An organization’s master account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions. For any time period, you can filter data for Savings Plans usage with the following dimensions:

  • LINKED_ACCOUNT

  • REGION

  • SERVICE

  • INSTANCE_FAMILY

To determine valid values for a dimension, use the GetDimensionValues operation.

// Example sending a request using GetSavingsPlansCoverageRequest.
req := client.GetSavingsPlansCoverageRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansCoverage

func (*Client) GetSavingsPlansPurchaseRecommendationRequest added in v0.16.0

func (c *Client) GetSavingsPlansPurchaseRecommendationRequest(input *GetSavingsPlansPurchaseRecommendationInput) GetSavingsPlansPurchaseRecommendationRequest

GetSavingsPlansPurchaseRecommendationRequest returns a request value for making API operation for AWS Cost Explorer Service.

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

// Example sending a request using GetSavingsPlansPurchaseRecommendationRequest.
req := client.GetSavingsPlansPurchaseRecommendationRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation

func (*Client) GetSavingsPlansUtilizationDetailsRequest added in v0.16.0

func (c *Client) GetSavingsPlansUtilizationDetailsRequest(input *GetSavingsPlansUtilizationDetailsInput) GetSavingsPlansUtilizationDetailsRequest

GetSavingsPlansUtilizationDetailsRequest returns a request value for making API operation for AWS Cost Explorer Service.

Retrieves attribute data along with aggregate utilization and savings data for a given time period. This doesn't support granular or grouped data (daily/monthly) in response. You can't retrieve data by dates in a single response similar to GetSavingsPlanUtilization, but you have the option to make multiple calls to GetSavingsPlanUtilizationDetails by providing individual dates. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

GetSavingsPlanUtilizationDetails internally groups data by SavingsPlansArn.

// Example sending a request using GetSavingsPlansUtilizationDetailsRequest.
req := client.GetSavingsPlansUtilizationDetailsRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansUtilizationDetails

func (*Client) GetSavingsPlansUtilizationRequest added in v0.16.0

func (c *Client) GetSavingsPlansUtilizationRequest(input *GetSavingsPlansUtilizationInput) GetSavingsPlansUtilizationRequest

GetSavingsPlansUtilizationRequest returns a request value for making API operation for AWS Cost Explorer Service.

Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Master accounts in an organization have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

You cannot group by any dimension values for GetSavingsPlansUtilization.

// Example sending a request using GetSavingsPlansUtilizationRequest.
req := client.GetSavingsPlansUtilizationRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansUtilization

func (*Client) GetTagsRequest added in v0.9.0

func (c *Client) GetTagsRequest(input *GetTagsInput) GetTagsRequest

GetTagsRequest returns a request value for making API operation for AWS Cost Explorer Service.

Queries for available tag keys and tag values for a specified period. You can search the tag values for an arbitrary string.

// Example sending a request using GetTagsRequest.
req := client.GetTagsRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetTags

func (*Client) GetUsageForecastRequest added in v0.10.0

func (c *Client) GetUsageForecastRequest(input *GetUsageForecastInput) GetUsageForecastRequest

GetUsageForecastRequest returns a request value for making API operation for AWS Cost Explorer Service.

Retrieves a forecast for how much Amazon Web Services predicts that you will use over the forecast time period that you select, based on your past usage.

// Example sending a request using GetUsageForecastRequest.
req := client.GetUsageForecastRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetUsageForecast

func (*Client) ListCostCategoryDefinitionsRequest added in v0.18.0

func (c *Client) ListCostCategoryDefinitionsRequest(input *ListCostCategoryDefinitionsInput) ListCostCategoryDefinitionsRequest

ListCostCategoryDefinitionsRequest returns a request value for making API operation for AWS Cost Explorer Service.

Returns the name, ARN, NumberOfRules and effective dates of all Cost Categories defined in the account. You have the option to use EffectiveOn to return a list of Cost Categories that were active on a specific date. If there is no EffectiveOn specified, you’ll see Cost Categories that are effective on the current date. If Cost Category is still effective, EffectiveEnd is omitted in the response. ListCostCategoryDefinitions supports pagination. The request can have a MaxResults range up to 100.

// Example sending a request using ListCostCategoryDefinitionsRequest.
req := client.ListCostCategoryDefinitionsRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostCategoryDefinitions

func (*Client) UpdateCostCategoryDefinitionRequest added in v0.18.0

func (c *Client) UpdateCostCategoryDefinitionRequest(input *UpdateCostCategoryDefinitionInput) UpdateCostCategoryDefinitionRequest

UpdateCostCategoryDefinitionRequest returns a request value for making API operation for AWS Cost Explorer Service.

Updates an existing Cost Category. Changes made to the Cost Category rules will be used to categorize the current month’s expenses and future expenses. This won’t change categorization for the previous months.

// Example sending a request using UpdateCostCategoryDefinitionRequest.
req := client.UpdateCostCategoryDefinitionRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateCostCategoryDefinition

type Context

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

Enum values for Context

func (Context) MarshalValue added in v0.3.0

func (enum Context) MarshalValue() (string, error)

func (Context) MarshalValueBuf added in v0.3.0

func (enum Context) MarshalValueBuf(b []byte) ([]byte, error)

type CostCategory added in v0.18.0

type CostCategory struct {

	// The unique identifier for your Cost Category.
	//
	// CostCategoryArn is a required field
	CostCategoryArn *string `min:"20" type:"string" required:"true"`

	// The Cost Category's effective end date.
	EffectiveEnd *string `min:"20" type:"string"`

	// The Cost Category's effective start date.
	//
	// EffectiveStart is a required field
	EffectiveStart *string `min:"20" type:"string" required:"true"`

	// The unique name of the Cost Category.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// The rule schema version in this particular Cost Category.
	//
	// RuleVersion is a required field
	RuleVersion CostCategoryRuleVersion `type:"string" required:"true" enum:"true"`

	// 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.
	//
	// Rules is a required field
	Rules []CostCategoryRule `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

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

func (CostCategory) String added in v0.18.0

func (s CostCategory) String() string

String returns the string representation

type CostCategoryReference added in v0.18.0

type CostCategoryReference struct {

	// The unique identifier for your Cost Category.
	CostCategoryArn *string `min:"20" type:"string"`

	// The Cost Category's effective end date.
	EffectiveEnd *string `min:"20" type:"string"`

	// The Cost Category's effective start date.
	EffectiveStart *string `min:"20" type:"string"`

	// The unique name of the Cost Category.
	Name *string `min:"1" type:"string"`

	// The number of rules associated with a specific Cost Category.
	NumberOfRules *int64 `type:"integer"`
	// contains filtered or unexported fields
}

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.

func (CostCategoryReference) String added in v0.18.0

func (s CostCategoryReference) String() string

String returns the string representation

type CostCategoryRule added in v0.18.0

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.
	//
	// Rule is a required field
	Rule *Expression `type:"structure" required:"true"`

	// The value a line item will be categorized as, if it matches the rule.
	//
	// Value is a required field
	Value *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

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.

func (CostCategoryRule) String added in v0.18.0

func (s CostCategoryRule) String() string

String returns the string representation

func (*CostCategoryRule) Validate added in v0.18.0

func (s *CostCategoryRule) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CostCategoryRuleVersion added in v0.18.0

type CostCategoryRuleVersion string

The rule schema version in this particular Cost Category.

const (
	CostCategoryRuleVersionCostCategoryExpressionV1 CostCategoryRuleVersion = "CostCategoryExpression.v1"
)

Enum values for CostCategoryRuleVersion

func (CostCategoryRuleVersion) MarshalValue added in v0.18.0

func (enum CostCategoryRuleVersion) MarshalValue() (string, error)

func (CostCategoryRuleVersion) MarshalValueBuf added in v0.18.0

func (enum CostCategoryRuleVersion) MarshalValueBuf(b []byte) ([]byte, error)

type CostCategoryValues added in v0.18.0

type CostCategoryValues struct {

	// The unique name of the Cost Category.
	Key *string `min:"1" type:"string"`

	// The specific value of the Cost Category.
	Values []string `type:"list"`
	// contains filtered or unexported fields
}

The Cost Categories values used for filtering the costs.

func (CostCategoryValues) String added in v0.18.0

func (s CostCategoryValues) String() string

String returns the string representation

func (*CostCategoryValues) Validate added in v0.18.0

func (s *CostCategoryValues) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type Coverage added in v0.3.0

type Coverage struct {

	// The amount of cost that the reservation covered.
	CoverageCost *CoverageCost `type:"structure"`

	// The amount of instance usage that the reservation covered, in hours.
	CoverageHours *CoverageHours `type:"structure"`

	// The amount of instance usage that the reservation covered, in normalized
	// units.
	CoverageNormalizedUnits *CoverageNormalizedUnits `type:"structure"`
	// contains filtered or unexported fields
}

The amount of instance usage that a reservation covered.

func (Coverage) String added in v0.3.0

func (s Coverage) String() string

String returns the string representation

type CoverageByTime added in v0.3.0

type CoverageByTime struct {

	// The groups of instances that the reservation covered.
	Groups []ReservationCoverageGroup `type:"list"`

	// The period that this coverage was used over.
	TimePeriod *DateInterval `type:"structure"`

	// The total reservation coverage, in hours.
	Total *Coverage `type:"structure"`
	// contains filtered or unexported fields
}

Reservation coverage for a specified period, in hours.

func (CoverageByTime) String added in v0.3.0

func (s CoverageByTime) String() string

String returns the string representation

type CoverageCost added in v0.7.0

type CoverageCost struct {

	// How much an On-Demand Instance costs.
	OnDemandCost *string `type:"string"`
	// contains filtered or unexported fields
}

How much it costs to run an instance.

func (CoverageCost) String added in v0.7.0

func (s CoverageCost) String() string

String returns the string representation

type CoverageHours added in v0.3.0

type CoverageHours struct {

	// The percentage of instance hours that a reservation covered.
	CoverageHoursPercentage *string `type:"string"`

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

	// The number of instance running hours that reservations covered.
	ReservedHours *string `type:"string"`

	// The total instance usage, in hours.
	TotalRunningHours *string `type:"string"`
	// contains filtered or unexported fields
}

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

func (CoverageHours) String added in v0.3.0

func (s CoverageHours) String() string

String returns the string representation

type CoverageNormalizedUnits added in v0.7.0

type CoverageNormalizedUnits struct {

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

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

	// The number of normalized units that a reservation covers.
	ReservedNormalizedUnits *string `type:"string"`

	// The total number of normalized units that you used.
	TotalRunningNormalizedUnits *string `type:"string"`
	// contains filtered or unexported fields
}

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.

func (CoverageNormalizedUnits) String added in v0.7.0

func (s CoverageNormalizedUnits) String() string

String returns the string representation

type CreateCostCategoryDefinitionInput added in v0.18.0

type CreateCostCategoryDefinitionInput struct {

	// The unique name of the Cost Category.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// The rule schema version in this particular Cost Category.
	//
	// RuleVersion is a required field
	RuleVersion CostCategoryRuleVersion `type:"string" required:"true" enum:"true"`

	// The Cost Category rules used to categorize costs. For more information, see
	// CostCategoryRule (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategoryRule.html).
	//
	// Rules is a required field
	Rules []CostCategoryRule `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

func (CreateCostCategoryDefinitionInput) String added in v0.18.0

String returns the string representation

func (*CreateCostCategoryDefinitionInput) Validate added in v0.18.0

Validate inspects the fields of the type to determine if they are valid.

type CreateCostCategoryDefinitionOutput added in v0.18.0

type CreateCostCategoryDefinitionOutput struct {

	// The unique identifier for your newly created Cost Category.
	CostCategoryArn *string `min:"20" type:"string"`

	// The Cost Category's effective start date.
	EffectiveStart *string `min:"20" type:"string"`
	// contains filtered or unexported fields
}

func (CreateCostCategoryDefinitionOutput) String added in v0.18.0

String returns the string representation

type CreateCostCategoryDefinitionRequest added in v0.18.0

type CreateCostCategoryDefinitionRequest struct {
	*aws.Request
	Input *CreateCostCategoryDefinitionInput
	Copy  func(*CreateCostCategoryDefinitionInput) CreateCostCategoryDefinitionRequest
}

CreateCostCategoryDefinitionRequest is the request type for the CreateCostCategoryDefinition API operation.

func (CreateCostCategoryDefinitionRequest) Send added in v0.18.0

Send marshals and sends the CreateCostCategoryDefinition API request.

type CreateCostCategoryDefinitionResponse added in v0.18.0

type CreateCostCategoryDefinitionResponse struct {
	*CreateCostCategoryDefinitionOutput
	// contains filtered or unexported fields
}

CreateCostCategoryDefinitionResponse is the response type for the CreateCostCategoryDefinition API operation.

func (*CreateCostCategoryDefinitionResponse) SDKResponseMetdata added in v0.18.0

func (r *CreateCostCategoryDefinitionResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the CreateCostCategoryDefinition request.

type CurrentInstance added in v0.11.0

type CurrentInstance struct {

	// The currency code that Amazon Web Services used to calculate the costs for
	// this instance.
	CurrencyCode *string `type:"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 `type:"string"`

	// Current On Demand cost of operating this instance on a monthly basis.
	MonthlyCost *string `type:"string"`

	// Number of hours during the lookback period billed at On Demand rates.
	OnDemandHoursInLookbackPeriod *string `type:"string"`

	// Number of hours during the lookback period covered by reservations.
	ReservationCoveredHoursInLookbackPeriod *string `type:"string"`

	// Details about the resource and utilization.
	ResourceDetails *ResourceDetails `type:"structure"`

	// Resource ID of the current instance.
	ResourceId *string `type:"string"`

	// Utilization information of the current instance during the lookback period.
	ResourceUtilization *ResourceUtilization `type:"structure"`

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

	// Cost allocation resource tags applied to the instance.
	Tags []TagValues `type:"list"`

	// The total number of hours the instance ran during the lookback period.
	TotalRunningHoursInLookbackPeriod *string `type:"string"`
	// contains filtered or unexported fields
}

Context about the current instance.

func (CurrentInstance) String added in v0.11.0

func (s CurrentInstance) String() string

String returns the string representation

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.
	//
	// End is a required field
	End *string `type:"string" required:"true"`

	// 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.
	//
	// Start is a required field
	Start *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

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

func (DateInterval) String

func (s DateInterval) String() string

String returns the string representation

func (*DateInterval) Validate

func (s *DateInterval) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteCostCategoryDefinitionInput added in v0.18.0

type DeleteCostCategoryDefinitionInput struct {

	// The unique identifier for your Cost Category.
	//
	// CostCategoryArn is a required field
	CostCategoryArn *string `min:"20" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (DeleteCostCategoryDefinitionInput) String added in v0.18.0

String returns the string representation

func (*DeleteCostCategoryDefinitionInput) Validate added in v0.18.0

Validate inspects the fields of the type to determine if they are valid.

type DeleteCostCategoryDefinitionOutput added in v0.18.0

type DeleteCostCategoryDefinitionOutput struct {

	// The unique identifier for your Cost Category.
	CostCategoryArn *string `min:"20" type:"string"`

	// The effective end date of the Cost Category as a result of deleting it. No
	// costs after this date will be categorized by the deleted Cost Category.
	EffectiveEnd *string `min:"20" type:"string"`
	// contains filtered or unexported fields
}

func (DeleteCostCategoryDefinitionOutput) String added in v0.18.0

String returns the string representation

type DeleteCostCategoryDefinitionRequest added in v0.18.0

type DeleteCostCategoryDefinitionRequest struct {
	*aws.Request
	Input *DeleteCostCategoryDefinitionInput
	Copy  func(*DeleteCostCategoryDefinitionInput) DeleteCostCategoryDefinitionRequest
}

DeleteCostCategoryDefinitionRequest is the request type for the DeleteCostCategoryDefinition API operation.

func (DeleteCostCategoryDefinitionRequest) Send added in v0.18.0

Send marshals and sends the DeleteCostCategoryDefinition API request.

type DeleteCostCategoryDefinitionResponse added in v0.18.0

type DeleteCostCategoryDefinitionResponse struct {
	*DeleteCostCategoryDefinitionOutput
	// contains filtered or unexported fields
}

DeleteCostCategoryDefinitionResponse is the response type for the DeleteCostCategoryDefinition API operation.

func (*DeleteCostCategoryDefinitionResponse) SDKResponseMetdata added in v0.18.0

func (r *DeleteCostCategoryDefinitionResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the DeleteCostCategoryDefinition request.

type DescribeCostCategoryDefinitionInput added in v0.18.0

type DescribeCostCategoryDefinitionInput struct {

	// The unique identifier for your Cost Category.
	//
	// CostCategoryArn is a required field
	CostCategoryArn *string `min:"20" type:"string" required:"true"`

	// The date when the Cost Category was effective.
	EffectiveOn *string `min:"20" type:"string"`
	// contains filtered or unexported fields
}

func (DescribeCostCategoryDefinitionInput) String added in v0.18.0

String returns the string representation

func (*DescribeCostCategoryDefinitionInput) Validate added in v0.18.0

Validate inspects the fields of the type to determine if they are valid.

type DescribeCostCategoryDefinitionOutput added in v0.18.0

type DescribeCostCategoryDefinitionOutput struct {

	// The structure of Cost Categories. This includes detailed metadata and the
	// set of rules for the CostCategory object.
	CostCategory *CostCategory `type:"structure"`
	// contains filtered or unexported fields
}

func (DescribeCostCategoryDefinitionOutput) String added in v0.18.0

String returns the string representation

type DescribeCostCategoryDefinitionRequest added in v0.18.0

type DescribeCostCategoryDefinitionRequest struct {
	*aws.Request
	Input *DescribeCostCategoryDefinitionInput
	Copy  func(*DescribeCostCategoryDefinitionInput) DescribeCostCategoryDefinitionRequest
}

DescribeCostCategoryDefinitionRequest is the request type for the DescribeCostCategoryDefinition API operation.

func (DescribeCostCategoryDefinitionRequest) Send added in v0.18.0

Send marshals and sends the DescribeCostCategoryDefinition API request.

type DescribeCostCategoryDefinitionResponse added in v0.18.0

type DescribeCostCategoryDefinitionResponse struct {
	*DescribeCostCategoryDefinitionOutput
	// contains filtered or unexported fields
}

DescribeCostCategoryDefinitionResponse is the response type for the DescribeCostCategoryDefinition API operation.

func (*DescribeCostCategoryDefinitionResponse) SDKResponseMetdata added in v0.18.0

func (r *DescribeCostCategoryDefinitionResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the DescribeCostCategoryDefinition request.

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) MarshalValue added in v0.3.0

func (enum Dimension) MarshalValue() (string, error)

func (Dimension) MarshalValueBuf added in v0.3.0

func (enum Dimension) MarshalValueBuf(b []byte) ([]byte, error)

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 `type:"string" enum:"true"`

	// 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 is EQUALS and CASE_SENSITIVE.
	MatchOptions []MatchOption `type:"list"`

	// The metadata values that you can use to filter and group your results. You
	// can use GetDimensionValues to find specific values.
	Values []string `type:"list"`
	// contains filtered or unexported fields
}

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

func (DimensionValues) String

func (s DimensionValues) String() string

String returns the string representation

type DimensionValuesWithAttributes

type DimensionValuesWithAttributes struct {

	// The attribute that applies to a specific Dimension.
	Attributes map[string]string `type:"map"`

	// The value of a dimension with a specific attribute.
	Value *string `type:"string"`
	// contains filtered or unexported fields
}

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

func (DimensionValuesWithAttributes) String

String returns the string representation

type EC2InstanceDetails added in v0.4.0

type EC2InstanceDetails struct {

	// The Availability Zone of the recommended reservation.
	AvailabilityZone *string `type:"string"`

	// Whether the recommendation is for a current-generation instance.
	CurrentGeneration *bool `type:"boolean"`

	// The instance family of the recommended reservation.
	Family *string `type:"string"`

	// The type of instance that AWS recommends.
	InstanceType *string `type:"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 `type:"string"`

	// The AWS Region of the recommended reservation.
	Region *string `type:"string"`

	// Whether the recommended reservation is size flexible.
	SizeFlexEligible *bool `type:"boolean"`

	// Whether the recommended reservation is dedicated or shared.
	Tenancy *string `type:"string"`
	// contains filtered or unexported fields
}

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

func (EC2InstanceDetails) String added in v0.4.0

func (s EC2InstanceDetails) String() string

String returns the string representation

type EC2ResourceDetails added in v0.11.0

type EC2ResourceDetails struct {

	// Hourly public On Demand rate for the instance type.
	HourlyOnDemandRate *string `type:"string"`

	// The type of Amazon Web Services instance.
	InstanceType *string `type:"string"`

	// Memory capacity of Amazon Web Services instance.
	Memory *string `type:"string"`

	// Network performance capacity of the Amazon Web Services instance.
	NetworkPerformance *string `type:"string"`

	// The platform of the Amazon Web Services instance. The platform is the specific
	// combination of operating system, license model, and software on an instance.
	Platform *string `type:"string"`

	// The Amazon Web Services Region of the instance.
	Region *string `type:"string"`

	// The SKU of the product.
	Sku *string `type:"string"`

	// The disk storage of the Amazon Web Services instance (Not EBS storage).
	Storage *string `type:"string"`

	// Number of VCPU cores in the Amazon Web Services instance type.
	Vcpu *string `type:"string"`
	// contains filtered or unexported fields
}

Details on the Amazon EC2 Resource.

func (EC2ResourceDetails) String added in v0.11.0

func (s EC2ResourceDetails) String() string

String returns the string representation

type EC2ResourceUtilization added in v0.11.0

type EC2ResourceUtilization struct {

	// Maximum observed or expected CPU utilization of the instance.
	MaxCpuUtilizationPercentage *string `type:"string"`

	// Maximum observed or expected memory utilization of the instance.
	MaxMemoryUtilizationPercentage *string `type:"string"`

	// Maximum observed or expected storage utilization of the instance (does not
	// measure EBS storage).
	MaxStorageUtilizationPercentage *string `type:"string"`
	// contains filtered or unexported fields
}

Utilization metrics of the instance.

func (EC2ResourceUtilization) String added in v0.11.0

func (s EC2ResourceUtilization) String() string

String returns the string representation

type EC2Specification added in v0.4.0

type EC2Specification struct {

	// Whether you want a recommendation for standard or convertible reservations.
	OfferingClass OfferingClass `type:"string" enum:"true"`
	// contains filtered or unexported fields
}

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

func (EC2Specification) String added in v0.4.0

func (s EC2Specification) String() string

String returns the string representation

type ESInstanceDetails added in v0.5.0

type ESInstanceDetails struct {

	// Whether the recommendation is for a current-generation instance.
	CurrentGeneration *bool `type:"boolean"`

	// The class of instance that AWS recommends.
	InstanceClass *string `type:"string"`

	// The size of instance that AWS recommends.
	InstanceSize *string `type:"string"`

	// The AWS Region of the recommended reservation.
	Region *string `type:"string"`

	// Whether the recommended reservation is size flexible.
	SizeFlexEligible *bool `type:"boolean"`
	// contains filtered or unexported fields
}

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

func (ESInstanceDetails) String added in v0.5.0

func (s ESInstanceDetails) String() string

String returns the string representation

type ElastiCacheInstanceDetails added in v0.5.0

type ElastiCacheInstanceDetails struct {

	// Whether the recommendation is for a current generation instance.
	CurrentGeneration *bool `type:"boolean"`

	// The instance family of the recommended reservation.
	Family *string `type:"string"`

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

	// The description of the recommended reservation.
	ProductDescription *string `type:"string"`

	// The AWS Region of the recommended reservation.
	Region *string `type:"string"`

	// Whether the recommended reservation is size flexible.
	SizeFlexEligible *bool `type:"boolean"`
	// contains filtered or unexported fields
}

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

func (ElastiCacheInstanceDetails) String added in v0.5.0

String returns the string representation

type Expression

type Expression struct {

	// Return results that match both Dimension objects.
	And []Expression `type:"list"`

	// The filter based on CostCategory values.
	CostCategories *CostCategoryValues `type:"structure"`

	// The specific Dimension to use for Expression.
	Dimensions *DimensionValues `type:"structure"`

	// Return results that don't match a Dimension object.
	Not *Expression `type:"structure"`

	// Return results that match either Dimension object.
	Or []Expression `type:"list"`

	// The specific Tag to use for Expression.
	Tags *TagValues `type:"structure"`
	// contains filtered or unexported fields
}

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. The Expression for that looks like this: { "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.

func (Expression) String

func (s Expression) String() string

String returns the string representation

func (*Expression) Validate added in v0.18.0

func (s *Expression) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ForecastResult added in v0.6.0

type ForecastResult struct {

	// The mean value of the forecast.
	MeanValue *string `type:"string"`

	// The lower limit for the prediction interval.
	PredictionIntervalLowerBound *string `type:"string"`

	// The upper limit for the prediction interval.
	PredictionIntervalUpperBound *string `type:"string"`

	// The period of time that the forecast covers.
	TimePeriod *DateInterval `type:"structure"`
	// contains filtered or unexported fields
}

The forecast created for your query.

func (ForecastResult) String added in v0.6.0

func (s ForecastResult) String() string

String returns the string representation

type GetCostAndUsageInput

type GetCostAndUsageInput struct {

	// Filters AWS costs by different dimensions. For example, you can specify SERVICE
	// and LINKED_ACCOUNT and get the costs that are associated with that account's
	// usage of that service. You can nest Expression objects to define any combination
	// of dimension filters. For more information, see Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html).
	Filter *Expression `type:"structure"`

	// Sets the AWS cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity
	// isn't set, the response object doesn't include the Granularity, either MONTHLY
	// or DAILY, or HOURLY.
	Granularity Granularity `type:"string" enum:"true"`

	// You can group AWS costs using up to two different groups, either dimensions,
	// tag keys, or both.
	//
	// When you group by tag key, you get all tag values, including empty strings.
	//
	// Valid values are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, OPERATION,
	// PLATFORM, PURCHASE_TYPE, SERVICE, TAGS, TENANCY, RECORD_TYPE, and USAGE_TYPE.
	GroupBy []GroupDefinition `type:"list"`

	// Which metrics are returned in the query. For more information about blended
	// and unblended rates, see Why does the "blended" annotation appear on some
	// line items in my bill? (http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/).
	//
	// Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, NetUnblendedCost,
	// NormalizedUsageAmount, UnblendedCost, and UsageQuantity.
	//
	// If you return the UsageQuantity metric, the service aggregates all usage
	// numbers without taking into account the units. For example, if you aggregate
	// usageQuantity across all of Amazon EC2, the results aren't meaningful because
	// Amazon EC2 compute hours and data transfer are measured in different units
	// (for example, hours vs. GB). To get more meaningful UsageQuantity metrics,
	// filter by UsageType or UsageTypeGroups.
	//
	// Metrics is required for GetCostAndUsage requests.
	Metrics []string `type:"list"`

	// The token to retrieve the next set of results. AWS provides the token when
	// the response from a previous call has more results than the maximum page
	// size.
	NextPageToken *string `type:"string"`

	// Sets the start and end dates for retrieving AWS costs. The start date is
	// inclusive, but the end date is exclusive. For example, if start is 2017-01-01
	// and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01
	// up to and including 2017-04-30 but not including 2017-05-01.
	//
	// TimePeriod is a required field
	TimePeriod *DateInterval `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (GetCostAndUsageInput) String

func (s GetCostAndUsageInput) String() string

String returns the string representation

func (*GetCostAndUsageInput) Validate

func (s *GetCostAndUsageInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetCostAndUsageOutput

type GetCostAndUsageOutput struct {

	// The groups that are specified by the Filter or GroupBy parameters in the
	// request.
	GroupDefinitions []GroupDefinition `type:"list"`

	// The token for the next set of retrievable results. AWS provides the token
	// when the response from a previous call has more results than the maximum
	// page size.
	NextPageToken *string `type:"string"`

	// The time period that is covered by the results in the response.
	ResultsByTime []ResultByTime `type:"list"`
	// contains filtered or unexported fields
}

func (GetCostAndUsageOutput) String

func (s GetCostAndUsageOutput) String() string

String returns the string representation

type GetCostAndUsageRequest

type GetCostAndUsageRequest struct {
	*aws.Request
	Input *GetCostAndUsageInput
	Copy  func(*GetCostAndUsageInput) GetCostAndUsageRequest
}

GetCostAndUsageRequest is the request type for the GetCostAndUsage API operation.

func (GetCostAndUsageRequest) Send

Send marshals and sends the GetCostAndUsage API request.

type GetCostAndUsageResponse added in v0.9.0

type GetCostAndUsageResponse struct {
	*GetCostAndUsageOutput
	// contains filtered or unexported fields
}

GetCostAndUsageResponse is the response type for the GetCostAndUsage API operation.

func (*GetCostAndUsageResponse) SDKResponseMetdata added in v0.9.0

func (r *GetCostAndUsageResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the GetCostAndUsage request.

type GetCostAndUsageWithResourcesInput added in v0.16.0

type GetCostAndUsageWithResourcesInput struct {

	// Filters Amazon Web Services costs by different dimensions. For example, you
	// can specify SERVICE and LINKED_ACCOUNT and get the costs that are associated
	// with that account's usage of that service. You can nest Expression objects
	// to define any combination of dimension filters. For more information, see
	// Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html).
	//
	// The GetCostAndUsageWithResources operation requires that you either group
	// by or filter by a ResourceId.
	Filter *Expression `type:"structure"`

	// Sets the AWS cost granularity to MONTHLY, DAILY, or HOURLY. If Granularity
	// isn't set, the response object doesn't include the Granularity, MONTHLY,
	// DAILY, or HOURLY.
	Granularity Granularity `type:"string" enum:"true"`

	// You can group Amazon Web Services costs using up to two different groups:
	// either dimensions, tag keys, or both.
	GroupBy []GroupDefinition `type:"list"`

	// Which metrics are returned in the query. For more information about blended
	// and unblended rates, see Why does the "blended" annotation appear on some
	// line items in my bill? (http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/).
	//
	// Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, NetUnblendedCost,
	// NormalizedUsageAmount, UnblendedCost, and UsageQuantity.
	//
	// If you return the UsageQuantity metric, the service aggregates all usage
	// numbers without taking the units into account. For example, if you aggregate
	// usageQuantity across all of Amazon EC2, the results aren't meaningful because
	// Amazon EC2 compute hours and data transfer are measured in different units
	// (for example, hours vs. GB). To get more meaningful UsageQuantity metrics,
	// filter by UsageType or UsageTypeGroups.
	//
	// Metrics is required for GetCostAndUsageWithResources requests.
	Metrics []string `type:"list"`

	// The token to retrieve the next set of results. AWS provides the token when
	// the response from a previous call has more results than the maximum page
	// size.
	NextPageToken *string `type:"string"`

	// Sets the start and end dates for retrieving Amazon Web Services costs. The
	// range must be within the last 14 days (the start date cannot be earlier than
	// 14 days ago). The start date is inclusive, but the end date is exclusive.
	// For example, if start is 2017-01-01 and end is 2017-05-01, then the cost
	// and usage data is retrieved from 2017-01-01 up to and including 2017-04-30
	// but not including 2017-05-01.
	//
	// TimePeriod is a required field
	TimePeriod *DateInterval `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (GetCostAndUsageWithResourcesInput) String added in v0.16.0

String returns the string representation

func (*GetCostAndUsageWithResourcesInput) Validate added in v0.16.0

Validate inspects the fields of the type to determine if they are valid.

type GetCostAndUsageWithResourcesOutput added in v0.16.0

type GetCostAndUsageWithResourcesOutput struct {

	// The groups that are specified by the Filter or GroupBy parameters in the
	// request.
	GroupDefinitions []GroupDefinition `type:"list"`

	// The token for the next set of retrievable results. AWS provides the token
	// when the response from a previous call has more results than the maximum
	// page size.
	NextPageToken *string `type:"string"`

	// The time period that is covered by the results in the response.
	ResultsByTime []ResultByTime `type:"list"`
	// contains filtered or unexported fields
}

func (GetCostAndUsageWithResourcesOutput) String added in v0.16.0

String returns the string representation

type GetCostAndUsageWithResourcesRequest added in v0.16.0

type GetCostAndUsageWithResourcesRequest struct {
	*aws.Request
	Input *GetCostAndUsageWithResourcesInput
	Copy  func(*GetCostAndUsageWithResourcesInput) GetCostAndUsageWithResourcesRequest
}

GetCostAndUsageWithResourcesRequest is the request type for the GetCostAndUsageWithResources API operation.

func (GetCostAndUsageWithResourcesRequest) Send added in v0.16.0

Send marshals and sends the GetCostAndUsageWithResources API request.

type GetCostAndUsageWithResourcesResponse added in v0.16.0

type GetCostAndUsageWithResourcesResponse struct {
	*GetCostAndUsageWithResourcesOutput
	// contains filtered or unexported fields
}

GetCostAndUsageWithResourcesResponse is the response type for the GetCostAndUsageWithResources API operation.

func (*GetCostAndUsageWithResourcesResponse) SDKResponseMetdata added in v0.16.0

func (r *GetCostAndUsageWithResourcesResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the GetCostAndUsageWithResources request.

type GetCostForecastInput added in v0.6.0

type GetCostForecastInput struct {

	// The filters that you want to use to filter your forecast. Cost Explorer API
	// supports all of the Cost Explorer filters.
	Filter *Expression `type:"structure"`

	// How granular you want the forecast to be. You can get 3 months of DAILY forecasts
	// or 12 months of MONTHLY forecasts.
	//
	// The GetCostForecast operation supports only DAILY and MONTHLY granularities.
	//
	// Granularity is a required field
	Granularity Granularity `type:"string" required:"true" enum:"true"`

	// Which metric Cost Explorer uses to create your forecast. For more information
	// about blended and unblended rates, see Why does the "blended" annotation
	// appear on some line items in my bill? (http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/).
	//
	// Valid values for a GetCostForecast call are the following:
	//
	//    * AMORTIZED_COST
	//
	//    * BLENDED_COST
	//
	//    * NET_AMORTIZED_COST
	//
	//    * NET_UNBLENDED_COST
	//
	//    * UNBLENDED_COST
	//
	// Metric is a required field
	Metric Metric `type:"string" required:"true" enum:"true"`

	// Cost Explorer always returns the mean forecast as a single point. You can
	// request a prediction interval around the mean by specifying a confidence
	// level. The higher the confidence level, the more confident Cost Explorer
	// is about the actual value falling in the prediction interval. Higher confidence
	// levels result in wider prediction intervals.
	PredictionIntervalLevel *int64 `min:"51" type:"integer"`

	// The period of time that you want the forecast to cover.
	//
	// TimePeriod is a required field
	TimePeriod *DateInterval `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (GetCostForecastInput) String added in v0.6.0

func (s GetCostForecastInput) String() string

String returns the string representation

func (*GetCostForecastInput) Validate added in v0.6.0

func (s *GetCostForecastInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetCostForecastOutput added in v0.6.0

type GetCostForecastOutput struct {

	// The forecasts for your query, in order. For DAILY forecasts, this is a list
	// of days. For MONTHLY forecasts, this is a list of months.
	ForecastResultsByTime []ForecastResult `type:"list"`

	// How much you are forecasted to spend over the forecast period, in USD.
	Total *MetricValue `type:"structure"`
	// contains filtered or unexported fields
}

func (GetCostForecastOutput) String added in v0.6.0

func (s GetCostForecastOutput) String() string

String returns the string representation

type GetCostForecastRequest added in v0.6.0

type GetCostForecastRequest struct {
	*aws.Request
	Input *GetCostForecastInput
	Copy  func(*GetCostForecastInput) GetCostForecastRequest
}

GetCostForecastRequest is the request type for the GetCostForecast API operation.

func (GetCostForecastRequest) Send added in v0.6.0

Send marshals and sends the GetCostForecast API request.

type GetCostForecastResponse added in v0.9.0

type GetCostForecastResponse struct {
	*GetCostForecastOutput
	// contains filtered or unexported fields
}

GetCostForecastResponse is the response type for the GetCostForecast API operation.

func (*GetCostForecastResponse) SDKResponseMetdata added in v0.9.0

func (r *GetCostForecastResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the GetCostForecast request.

type GetDimensionValuesInput

type GetDimensionValuesInput struct {

	// The context for the call to GetDimensionValues. This can be RESERVATIONS
	// or COST_AND_USAGE. The default value is COST_AND_USAGE. If the context is
	// set to RESERVATIONS, the resulting dimension values can be used in the GetReservationUtilization
	// operation. If the context is set to COST_AND_USAGE, the resulting dimension
	// values can be used in the GetCostAndUsage operation.
	//
	// If you set the context to COST_AND_USAGE, you can use the following dimensions
	// for searching:
	//
	//    * AZ - The Availability Zone. An example is us-east-1a.
	//
	//    * DATABASE_ENGINE - The Amazon Relational Database Service database. Examples
	//    are Aurora or MySQL.
	//
	//    * INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.
	//
	//    * LEGAL_ENTITY_NAME - The name of the organization that sells you AWS
	//    services, such as Amazon Web Services.
	//
	//    * LINKED_ACCOUNT - The description in the attribute map that includes
	//    the full name of the member account. The value field contains the AWS
	//    ID of the member account.
	//
	//    * OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.
	//
	//    * OPERATION - The action performed. Examples include RunInstance and CreateBucket.
	//
	//    * PLATFORM - The Amazon EC2 operating system. Examples are Windows or
	//    Linux.
	//
	//    * PURCHASE_TYPE - The reservation type of the purchase to which this usage
	//    is related. Examples include On-Demand Instances and Standard Reserved
	//    Instances.
	//
	//    * SERVICE - The AWS service such as Amazon DynamoDB.
	//
	//    * USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes.
	//    The response for the GetDimensionValues operation includes a unit attribute.
	//    Examples include GB and Hrs.
	//
	//    * USAGE_TYPE_GROUP - The grouping of common usage types. An example is
	//    Amazon EC2: CloudWatch – Alarms. The response for this operation includes
	//    a unit attribute.
	//
	//    * RECORD_TYPE - The different types of charges such as RI fees, usage
	//    costs, tax refunds, and credits.
	//
	//    * RESOURCE_ID - The unique identifier of the resource. ResourceId is an
	//    opt-in feature only available for last 14 days for EC2-Compute Service.
	//
	// If you set the context to RESERVATIONS, you can use the following dimensions
	// for searching:
	//
	//    * AZ - The Availability Zone. An example is us-east-1a.
	//
	//    * CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are
	//    Windows or Linux.
	//
	//    * DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service
	//    deployments. Valid values are SingleAZ and MultiAZ.
	//
	//    * INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.
	//
	//    * LINKED_ACCOUNT - The description in the attribute map that includes
	//    the full name of the member account. The value field contains the AWS
	//    ID of the member account.
	//
	//    * PLATFORM - The Amazon EC2 operating system. Examples are Windows or
	//    Linux.
	//
	//    * REGION - The AWS Region.
	//
	//    * SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values
	//    are regional or a single Availability Zone.
	//
	//    * TAG (Coverage only) - The tags that are associated with a Reserved Instance
	//    (RI).
	//
	//    * TENANCY - The tenancy of a resource. Examples are shared or dedicated.
	//
	// If you set the context to SAVINGS_PLANS, you can use the following dimensions
	// for searching:
	//
	//    * SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute)
	//
	//    * PAYMENT_OPTION - Payment option for the given Savings Plans (for example,
	//    All Upfront)
	//
	//    * REGION - The AWS Region.
	//
	//    * INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)
	//
	//    * LINKED_ACCOUNT - The description in the attribute map that includes
	//    the full name of the member account. The value field contains the AWS
	//    ID of the member account.
	//
	//    * SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan
	Context Context `type:"string" enum:"true"`

	// The name of the dimension. Each Dimension is available for a different Context.
	// For more information, see Context.
	//
	// Dimension is a required field
	Dimension Dimension `type:"string" required:"true" enum:"true"`

	// The token to retrieve the next set of results. AWS provides the token when
	// the response from a previous call has more results than the maximum page
	// size.
	NextPageToken *string `type:"string"`

	// The value that you want to search the filter values for.
	SearchString *string `type:"string"`

	// The start and end dates for retrieving the dimension values. The start date
	// is inclusive, but the end date is exclusive. For example, if start is 2017-01-01
	// and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01
	// up to and including 2017-04-30 but not including 2017-05-01.
	//
	// TimePeriod is a required field
	TimePeriod *DateInterval `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (GetDimensionValuesInput) String

func (s GetDimensionValuesInput) String() string

String returns the string representation

func (*GetDimensionValuesInput) Validate

func (s *GetDimensionValuesInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetDimensionValuesOutput

type GetDimensionValuesOutput struct {

	// The filters that you used to filter your request. Some dimensions are available
	// only for a specific context.
	//
	// If you set the context to COST_AND_USAGE, you can use the following dimensions
	// for searching:
	//
	//    * AZ - The Availability Zone. An example is us-east-1a.
	//
	//    * DATABASE_ENGINE - The Amazon Relational Database Service database. Examples
	//    are Aurora or MySQL.
	//
	//    * INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.
	//
	//    * LEGAL_ENTITY_NAME - The name of the organization that sells you AWS
	//    services, such as Amazon Web Services.
	//
	//    * LINKED_ACCOUNT - The description in the attribute map that includes
	//    the full name of the member account. The value field contains the AWS
	//    ID of the member account.
	//
	//    * OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.
	//
	//    * OPERATION - The action performed. Examples include RunInstance and CreateBucket.
	//
	//    * PLATFORM - The Amazon EC2 operating system. Examples are Windows or
	//    Linux.
	//
	//    * PURCHASE_TYPE - The reservation type of the purchase to which this usage
	//    is related. Examples include On-Demand Instances and Standard Reserved
	//    Instances.
	//
	//    * SERVICE - The AWS service such as Amazon DynamoDB.
	//
	//    * USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes.
	//    The response for the GetDimensionValues operation includes a unit attribute.
	//    Examples include GB and Hrs.
	//
	//    * USAGE_TYPE_GROUP - The grouping of common usage types. An example is
	//    Amazon EC2: CloudWatch – Alarms. The response for this operation includes
	//    a unit attribute.
	//
	//    * RECORD_TYPE - The different types of charges such as RI fees, usage
	//    costs, tax refunds, and credits.
	//
	//    * RESOURCE_ID - The unique identifier of the resource. ResourceId is an
	//    opt-in feature only available for last 14 days for EC2-Compute Service.
	//
	// If you set the context to RESERVATIONS, you can use the following dimensions
	// for searching:
	//
	//    * AZ - The Availability Zone. An example is us-east-1a.
	//
	//    * CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are
	//    Windows or Linux.
	//
	//    * DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service
	//    deployments. Valid values are SingleAZ and MultiAZ.
	//
	//    * INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.
	//
	//    * LINKED_ACCOUNT - The description in the attribute map that includes
	//    the full name of the member account. The value field contains the AWS
	//    ID of the member account.
	//
	//    * PLATFORM - The Amazon EC2 operating system. Examples are Windows or
	//    Linux.
	//
	//    * REGION - The AWS Region.
	//
	//    * SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values
	//    are regional or a single Availability Zone.
	//
	//    * TAG (Coverage only) - The tags that are associated with a Reserved Instance
	//    (RI).
	//
	//    * TENANCY - The tenancy of a resource. Examples are shared or dedicated.
	//
	// If you set the context to SAVINGS_PLANS, you can use the following dimensions
	// for searching:
	//
	//    * SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute)
	//
	//    * PAYMENT_OPTION - Payment option for the given Savings Plans (for example,
	//    All Upfront)
	//
	//    * REGION - The AWS Region.
	//
	//    * INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)
	//
	//    * LINKED_ACCOUNT - The description in the attribute map that includes
	//    the full name of the member account. The value field contains the AWS
	//    ID of the member account.
	//
	//    * SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan
	//
	// DimensionValues is a required field
	DimensionValues []DimensionValuesWithAttributes `type:"list" required:"true"`

	// The token for the next set of retrievable results. AWS provides the token
	// when the response from a previous call has more results than the maximum
	// page size.
	NextPageToken *string `type:"string"`

	// The number of results that AWS returned at one time.
	//
	// ReturnSize is a required field
	ReturnSize *int64 `type:"integer" required:"true"`

	// The total number of search results.
	//
	// TotalSize is a required field
	TotalSize *int64 `type:"integer" required:"true"`
	// contains filtered or unexported fields
}

func (GetDimensionValuesOutput) String

func (s GetDimensionValuesOutput) String() string

String returns the string representation

type GetDimensionValuesRequest

type GetDimensionValuesRequest struct {
	*aws.Request
	Input *GetDimensionValuesInput
	Copy  func(*GetDimensionValuesInput) GetDimensionValuesRequest
}

GetDimensionValuesRequest is the request type for the GetDimensionValues API operation.

func (GetDimensionValuesRequest) Send

Send marshals and sends the GetDimensionValues API request.

type GetDimensionValuesResponse added in v0.9.0

type GetDimensionValuesResponse struct {
	*GetDimensionValuesOutput
	// contains filtered or unexported fields
}

GetDimensionValuesResponse is the response type for the GetDimensionValues API operation.

func (*GetDimensionValuesResponse) SDKResponseMetdata added in v0.9.0

func (r *GetDimensionValuesResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the GetDimensionValues request.

type GetReservationCoverageInput added in v0.3.0

type GetReservationCoverageInput struct {

	// Filters utilization data by dimensions. You can filter by the following dimensions:
	//
	//    * AZ
	//
	//    * CACHE_ENGINE
	//
	//    * DATABASE_ENGINE
	//
	//    * DEPLOYMENT_OPTION
	//
	//    * INSTANCE_TYPE
	//
	//    * LINKED_ACCOUNT
	//
	//    * OPERATING_SYSTEM
	//
	//    * PLATFORM
	//
	//    * REGION
	//
	//    * SERVICE
	//
	//    * TAG
	//
	//    * TENANCY
	//
	// GetReservationCoverage uses the same Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html)
	// object as the other operations, but only AND is supported among each dimension.
	// You can nest only one level deep. If there are multiple values for a dimension,
	// they are OR'd together.
	//
	// If you don't provide a SERVICE filter, Cost Explorer defaults to EC2.
	//
	// Cost category is also supported.
	Filter *Expression `type:"structure"`

	// The granularity of the AWS cost data for the reservation. Valid values are
	// MONTHLY and DAILY.
	//
	// If GroupBy is set, Granularity can't be set. If Granularity isn't set, the
	// response object doesn't include Granularity, either MONTHLY or DAILY.
	//
	// The GetReservationCoverage operation supports only DAILY and MONTHLY granularities.
	Granularity Granularity `type:"string" enum:"true"`

	// You can group the data by the following attributes:
	//
	//    * AZ
	//
	//    * CACHE_ENGINE
	//
	//    * DATABASE_ENGINE
	//
	//    * DEPLOYMENT_OPTION
	//
	//    * INSTANCE_TYPE
	//
	//    * LINKED_ACCOUNT
	//
	//    * OPERATING_SYSTEM
	//
	//    * PLATFORM
	//
	//    * REGION
	//
	//    * TENANCY
	GroupBy []GroupDefinition `type:"list"`

	// The measurement that you want your reservation coverage reported in.
	//
	// Valid values are Hour, Unit, and Cost. You can use multiple values in a request.
	Metrics []string `type:"list"`

	// The token to retrieve the next set of results. AWS provides the token when
	// the response from a previous call has more results than the maximum page
	// size.
	NextPageToken *string `type:"string"`

	// The start and end dates of the period that you want to retrieve data about
	// reservation coverage for. You can retrieve data for a maximum of 13 months:
	// the last 12 months and the current month. The start date is inclusive, but
	// the end date is exclusive. For example, if start is 2017-01-01 and end is
	// 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up
	// to and including 2017-04-30 but not including 2017-05-01.
	//
	// TimePeriod is a required field
	TimePeriod *DateInterval `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

You can use the following request parameters to query for how much of your instance usage a reservation covered.

func (GetReservationCoverageInput) String added in v0.3.0

String returns the string representation

func (*GetReservationCoverageInput) Validate added in v0.3.0

func (s *GetReservationCoverageInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetReservationCoverageOutput added in v0.3.0

type GetReservationCoverageOutput struct {

	// The amount of time that your reservations covered.
	//
	// CoveragesByTime is a required field
	CoveragesByTime []CoverageByTime `type:"list" required:"true"`

	// The token for the next set of retrievable results. AWS provides the token
	// when the response from a previous call has more results than the maximum
	// page size.
	NextPageToken *string `type:"string"`

	// The total amount of instance usage that a reservation covered.
	Total *Coverage `type:"structure"`
	// contains filtered or unexported fields
}

func (GetReservationCoverageOutput) String added in v0.3.0

String returns the string representation

type GetReservationCoverageRequest added in v0.3.0

type GetReservationCoverageRequest struct {
	*aws.Request
	Input *GetReservationCoverageInput
	Copy  func(*GetReservationCoverageInput) GetReservationCoverageRequest
}

GetReservationCoverageRequest is the request type for the GetReservationCoverage API operation.

func (GetReservationCoverageRequest) Send added in v0.3.0

Send marshals and sends the GetReservationCoverage API request.

type GetReservationCoverageResponse added in v0.9.0

type GetReservationCoverageResponse struct {
	*GetReservationCoverageOutput
	// contains filtered or unexported fields
}

GetReservationCoverageResponse is the response type for the GetReservationCoverage API operation.

func (*GetReservationCoverageResponse) SDKResponseMetdata added in v0.9.0

func (r *GetReservationCoverageResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the GetReservationCoverage request.

type GetReservationPurchaseRecommendationInput added in v0.4.0

type GetReservationPurchaseRecommendationInput struct {

	// The account ID that is associated with the recommendation.
	AccountId *string `type:"string"`

	// The account scope that you want your recommendations for. Amazon Web Services
	// calculates recommendations including the payer account and linked accounts
	// if the value is set to PAYER. If the value is LINKED, recommendations are
	// calculated for individual linked accounts only.
	AccountScope AccountScope `type:"string" enum:"true"`

	// The number of previous days that you want AWS to consider when it calculates
	// your recommendations.
	LookbackPeriodInDays LookbackPeriodInDays `type:"string" enum:"true"`

	// The pagination token that indicates the next set of results that you want
	// to retrieve.
	NextPageToken *string `type:"string"`

	// The number of recommendations that you want returned in a single response
	// object.
	PageSize *int64 `type:"integer"`

	// The reservation purchase option that you want recommendations for.
	PaymentOption PaymentOption `type:"string" enum:"true"`

	// The specific service that you want recommendations for.
	//
	// Service is a required field
	Service *string `type:"string" required:"true"`

	// The hardware specifications for the service instances that you want recommendations
	// for, such as standard or convertible Amazon EC2 instances.
	ServiceSpecification *ServiceSpecification `type:"structure"`

	// The reservation term that you want recommendations for.
	TermInYears TermInYears `type:"string" enum:"true"`
	// contains filtered or unexported fields
}

func (GetReservationPurchaseRecommendationInput) String added in v0.4.0

String returns the string representation

func (*GetReservationPurchaseRecommendationInput) Validate added in v0.4.0

Validate inspects the fields of the type to determine if they are valid.

type GetReservationPurchaseRecommendationOutput added in v0.4.0

type GetReservationPurchaseRecommendationOutput struct {

	// Information about this specific recommendation call, such as the time stamp
	// for when Cost Explorer generated this recommendation.
	Metadata *ReservationPurchaseRecommendationMetadata `type:"structure"`

	// The pagination token for the next set of retrievable results.
	NextPageToken *string `type:"string"`

	// Recommendations for reservations to purchase.
	Recommendations []ReservationPurchaseRecommendation `type:"list"`
	// contains filtered or unexported fields
}

func (GetReservationPurchaseRecommendationOutput) String added in v0.4.0

String returns the string representation

type GetReservationPurchaseRecommendationRequest added in v0.4.0

GetReservationPurchaseRecommendationRequest is the request type for the GetReservationPurchaseRecommendation API operation.

func (GetReservationPurchaseRecommendationRequest) Send added in v0.4.0

Send marshals and sends the GetReservationPurchaseRecommendation API request.

type GetReservationPurchaseRecommendationResponse added in v0.9.0

type GetReservationPurchaseRecommendationResponse struct {
	*GetReservationPurchaseRecommendationOutput
	// contains filtered or unexported fields
}

GetReservationPurchaseRecommendationResponse is the response type for the GetReservationPurchaseRecommendation API operation.

func (*GetReservationPurchaseRecommendationResponse) SDKResponseMetdata added in v0.9.0

SDKResponseMetdata returns the response metadata for the GetReservationPurchaseRecommendation request.

type GetReservationUtilizationInput

type GetReservationUtilizationInput struct {

	// Filters utilization data by dimensions. You can filter by the following dimensions:
	//
	//    * AZ
	//
	//    * CACHE_ENGINE
	//
	//    * DEPLOYMENT_OPTION
	//
	//    * INSTANCE_TYPE
	//
	//    * LINKED_ACCOUNT
	//
	//    * OPERATING_SYSTEM
	//
	//    * PLATFORM
	//
	//    * REGION
	//
	//    * SERVICE
	//
	//    * SCOPE
	//
	//    * TENANCY
	//
	// GetReservationUtilization uses the same Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html)
	// object as the other operations, but only AND is supported among each dimension,
	// and nesting is supported up to only one level deep. If there are multiple
	// values for a dimension, they are OR'd together.
	Filter *Expression `type:"structure"`

	// If GroupBy is set, Granularity can't be set. If Granularity isn't set, the
	// response object doesn't include Granularity, either MONTHLY or DAILY. If
	// both GroupBy and Granularity aren't set, GetReservationUtilization defaults
	// to DAILY.
	//
	// The GetReservationUtilization operation supports only DAILY and MONTHLY granularities.
	Granularity Granularity `type:"string" enum:"true"`

	// Groups only by SUBSCRIPTION_ID. Metadata is included.
	GroupBy []GroupDefinition `type:"list"`

	// The token to retrieve the next set of results. AWS provides the token when
	// the response from a previous call has more results than the maximum page
	// size.
	NextPageToken *string `type:"string"`

	// Sets the start and end dates for retrieving RI utilization. The start date
	// is inclusive, but the end date is exclusive. For example, if start is 2017-01-01
	// and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01
	// up to and including 2017-04-30 but not including 2017-05-01.
	//
	// TimePeriod is a required field
	TimePeriod *DateInterval `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (GetReservationUtilizationInput) String

String returns the string representation

func (*GetReservationUtilizationInput) Validate

func (s *GetReservationUtilizationInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetReservationUtilizationOutput

type GetReservationUtilizationOutput struct {

	// The token for the next set of retrievable results. AWS provides the token
	// when the response from a previous call has more results than the maximum
	// page size.
	NextPageToken *string `type:"string"`

	// The total amount of time that you used your RIs.
	Total *ReservationAggregates `type:"structure"`

	// The amount of time that you used your RIs.
	//
	// UtilizationsByTime is a required field
	UtilizationsByTime []UtilizationByTime `type:"list" required:"true"`
	// contains filtered or unexported fields
}

func (GetReservationUtilizationOutput) String

String returns the string representation

type GetReservationUtilizationRequest

type GetReservationUtilizationRequest struct {
	*aws.Request
	Input *GetReservationUtilizationInput
	Copy  func(*GetReservationUtilizationInput) GetReservationUtilizationRequest
}

GetReservationUtilizationRequest is the request type for the GetReservationUtilization API operation.

func (GetReservationUtilizationRequest) Send

Send marshals and sends the GetReservationUtilization API request.

type GetReservationUtilizationResponse added in v0.9.0

type GetReservationUtilizationResponse struct {
	*GetReservationUtilizationOutput
	// contains filtered or unexported fields
}

GetReservationUtilizationResponse is the response type for the GetReservationUtilization API operation.

func (*GetReservationUtilizationResponse) SDKResponseMetdata added in v0.9.0

func (r *GetReservationUtilizationResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the GetReservationUtilization request.

type GetRightsizingRecommendationInput added in v0.11.0

type GetRightsizingRecommendationInput struct {

	// 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.
	Configuration *RightsizingRecommendationConfiguration `type:"structure"`

	// 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. The Expression for that looks
	//    like this: { "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.
	Filter *Expression `type:"structure"`

	// The pagination token that indicates the next set of results that you want
	// to retrieve.
	NextPageToken *string `type:"string"`

	// The number of recommendations that you want returned in a single response
	// object.
	PageSize *int64 `type:"integer"`

	// The specific service that you want recommendations for. The only valid value
	// for GetRightsizingRecommendation is "AmazonEC2".
	//
	// Service is a required field
	Service *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (GetRightsizingRecommendationInput) String added in v0.11.0

String returns the string representation

func (*GetRightsizingRecommendationInput) Validate added in v0.11.0

Validate inspects the fields of the type to determine if they are valid.

type GetRightsizingRecommendationOutput added in v0.11.0

type GetRightsizingRecommendationOutput struct {

	// 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.
	Configuration *RightsizingRecommendationConfiguration `type:"structure"`

	// Information regarding this specific recommendation set.
	Metadata *RightsizingRecommendationMetadata `type:"structure"`

	// The token to retrieve the next set of results.
	NextPageToken *string `type:"string"`

	// Recommendations to rightsize resources.
	RightsizingRecommendations []RightsizingRecommendation `type:"list"`

	// Summary of this recommendation set.
	Summary *RightsizingRecommendationSummary `type:"structure"`
	// contains filtered or unexported fields
}

func (GetRightsizingRecommendationOutput) String added in v0.11.0

String returns the string representation

type GetRightsizingRecommendationRequest added in v0.11.0

type GetRightsizingRecommendationRequest struct {
	*aws.Request
	Input *GetRightsizingRecommendationInput
	Copy  func(*GetRightsizingRecommendationInput) GetRightsizingRecommendationRequest
}

GetRightsizingRecommendationRequest is the request type for the GetRightsizingRecommendation API operation.

func (GetRightsizingRecommendationRequest) Send added in v0.11.0

Send marshals and sends the GetRightsizingRecommendation API request.

type GetRightsizingRecommendationResponse added in v0.11.0

type GetRightsizingRecommendationResponse struct {
	*GetRightsizingRecommendationOutput
	// contains filtered or unexported fields
}

GetRightsizingRecommendationResponse is the response type for the GetRightsizingRecommendation API operation.

func (*GetRightsizingRecommendationResponse) SDKResponseMetdata added in v0.11.0

func (r *GetRightsizingRecommendationResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the GetRightsizingRecommendation request.

type GetSavingsPlansCoverageInput added in v0.16.0

type GetSavingsPlansCoverageInput struct {

	// Filters Savings Plans coverage data by dimensions. You can filter data for
	// Savings Plans usage with the following dimensions:
	//
	//    * LINKED_ACCOUNT
	//
	//    * REGION
	//
	//    * SERVICE
	//
	//    * INSTANCE_FAMILY
	//
	// GetSavingsPlansCoverage uses the same Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html)
	// object as the other operations, but only AND is supported among each dimension.
	// If there are multiple values for a dimension, they are OR'd together.
	//
	// Cost category is also supported.
	Filter *Expression `type:"structure"`

	// The granularity of the Amazon Web Services cost data for your Savings Plans.
	// Granularity can't be set if GroupBy is set.
	//
	// The GetSavingsPlansCoverage operation supports only DAILY and MONTHLY granularities.
	Granularity Granularity `type:"string" enum:"true"`

	// You can group the data using the attributes INSTANCE_FAMILY, REGION, or SERVICE.
	GroupBy []GroupDefinition `type:"list"`

	// The number of items to be returned in a response. The default is 20, with
	// a minimum value of 1.
	MaxResults *int64 `min:"1" type:"integer"`

	// The measurement that you want your Savings Plans coverage reported in. The
	// only valid value is SpendCoveredBySavingsPlans.
	Metrics []string `type:"list"`

	// The token to retrieve the next set of results. Amazon Web Services provides
	// the token when the response from a previous call has more results than the
	// maximum page size.
	NextToken *string `type:"string"`

	// The time period that you want the usage and costs for. The Start date must
	// be within 13 months. The End date must be after the Start date, and before
	// the current date. Future dates can't be used as an End date.
	//
	// TimePeriod is a required field
	TimePeriod *DateInterval `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (GetSavingsPlansCoverageInput) String added in v0.16.0

String returns the string representation

func (*GetSavingsPlansCoverageInput) Validate added in v0.16.0

func (s *GetSavingsPlansCoverageInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetSavingsPlansCoverageOutput added in v0.16.0

type GetSavingsPlansCoverageOutput struct {

	// The token to retrieve the next set of results. Amazon Web Services provides
	// the token when the response from a previous call has more results than the
	// maximum page size.
	NextToken *string `type:"string"`

	// The amount of spend that your Savings Plans covered.
	//
	// SavingsPlansCoverages is a required field
	SavingsPlansCoverages []SavingsPlansCoverage `type:"list" required:"true"`
	// contains filtered or unexported fields
}

func (GetSavingsPlansCoverageOutput) String added in v0.16.0

String returns the string representation

type GetSavingsPlansCoveragePaginator added in v0.16.0

type GetSavingsPlansCoveragePaginator struct {
	aws.Pager
}

GetSavingsPlansCoveragePaginator is used to paginate the request. This can be done by calling Next and CurrentPage.

func NewGetSavingsPlansCoveragePaginator added in v0.16.0

func NewGetSavingsPlansCoveragePaginator(req GetSavingsPlansCoverageRequest) GetSavingsPlansCoveragePaginator

NewGetSavingsPlansCoverageRequestPaginator returns a paginator for GetSavingsPlansCoverage. Use Next method to get the next page, and CurrentPage to get the current response page from the paginator. Next will return false, if there are no more pages, or an error was encountered.

Note: This operation can generate multiple requests to a service.

// Example iterating over pages.
req := client.GetSavingsPlansCoverageRequest(input)
p := costexplorer.NewGetSavingsPlansCoverageRequestPaginator(req)

for p.Next(context.TODO()) {
    page := p.CurrentPage()
}

if err := p.Err(); err != nil {
    return err
}

func (*GetSavingsPlansCoveragePaginator) CurrentPage added in v0.16.0

type GetSavingsPlansCoverageRequest added in v0.16.0

type GetSavingsPlansCoverageRequest struct {
	*aws.Request
	Input *GetSavingsPlansCoverageInput
	Copy  func(*GetSavingsPlansCoverageInput) GetSavingsPlansCoverageRequest
}

GetSavingsPlansCoverageRequest is the request type for the GetSavingsPlansCoverage API operation.

func (GetSavingsPlansCoverageRequest) Send added in v0.16.0

Send marshals and sends the GetSavingsPlansCoverage API request.

type GetSavingsPlansCoverageResponse added in v0.16.0

type GetSavingsPlansCoverageResponse struct {
	*GetSavingsPlansCoverageOutput
	// contains filtered or unexported fields
}

GetSavingsPlansCoverageResponse is the response type for the GetSavingsPlansCoverage API operation.

func (*GetSavingsPlansCoverageResponse) SDKResponseMetdata added in v0.16.0

func (r *GetSavingsPlansCoverageResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the GetSavingsPlansCoverage request.

type GetSavingsPlansPurchaseRecommendationInput added in v0.16.0

type GetSavingsPlansPurchaseRecommendationInput struct {

	// The account scope that you want your recommendations for. Amazon Web Services
	// calculates recommendations including the payer account and linked accounts
	// if the value is set to PAYER. If the value is LINKED, recommendations are
	// calculated for individual linked accounts only.
	AccountScope AccountScope `type:"string" enum:"true"`

	// You can filter your recommendations by Account ID with the LINKED_ACCOUNT
	// dimension. To filter your recommendations by Account ID, specify Key as LINKED_ACCOUNT
	// and Value as the comma-separated Acount ID(s) for which you want to see Savings
	// Plans purchase recommendations.
	//
	// For GetSavingsPlansPurchaseRecommendation, the Filter does not include CostCategories
	// or Tags. It only includes Dimensions. With Dimensions, Key must be LINKED_ACCOUNT
	// and Value can be a single Account ID or multiple comma-separated Account
	// IDs for which you want to see Savings Plans Purchase Recommendations. AND
	// and OR operators are not supported.
	Filter *Expression `type:"structure"`

	// The lookback period used to generate the recommendation.
	//
	// LookbackPeriodInDays is a required field
	LookbackPeriodInDays LookbackPeriodInDays `type:"string" required:"true" enum:"true"`

	// The token to retrieve the next set of results. Amazon Web Services provides
	// the token when the response from a previous call has more results than the
	// maximum page size.
	NextPageToken *string `type:"string"`

	// The number of recommendations that you want returned in a single response
	// object.
	PageSize *int64 `type:"integer"`

	// The payment option used to generate these recommendations.
	//
	// PaymentOption is a required field
	PaymentOption PaymentOption `type:"string" required:"true" enum:"true"`

	// The Savings Plans recommendation type requested.
	//
	// SavingsPlansType is a required field
	SavingsPlansType SupportedSavingsPlansType `type:"string" required:"true" enum:"true"`

	// The savings plan recommendation term used to generate these recommendations.
	//
	// TermInYears is a required field
	TermInYears TermInYears `type:"string" required:"true" enum:"true"`
	// contains filtered or unexported fields
}

func (GetSavingsPlansPurchaseRecommendationInput) String added in v0.16.0

String returns the string representation

func (*GetSavingsPlansPurchaseRecommendationInput) Validate added in v0.16.0

Validate inspects the fields of the type to determine if they are valid.

type GetSavingsPlansPurchaseRecommendationOutput added in v0.16.0

type GetSavingsPlansPurchaseRecommendationOutput struct {

	// Information regarding this specific recommendation set.
	Metadata *SavingsPlansPurchaseRecommendationMetadata `type:"structure"`

	// The token for the next set of retrievable results. AWS provides the token
	// when the response from a previous call has more results than the maximum
	// page size.
	NextPageToken *string `type:"string"`

	// Contains your request parameters, Savings Plan Recommendations Summary, and
	// Details.
	SavingsPlansPurchaseRecommendation *SavingsPlansPurchaseRecommendation `type:"structure"`
	// contains filtered or unexported fields
}

func (GetSavingsPlansPurchaseRecommendationOutput) String added in v0.16.0

String returns the string representation

type GetSavingsPlansPurchaseRecommendationRequest added in v0.16.0

GetSavingsPlansPurchaseRecommendationRequest is the request type for the GetSavingsPlansPurchaseRecommendation API operation.

func (GetSavingsPlansPurchaseRecommendationRequest) Send added in v0.16.0

Send marshals and sends the GetSavingsPlansPurchaseRecommendation API request.

type GetSavingsPlansPurchaseRecommendationResponse added in v0.16.0

type GetSavingsPlansPurchaseRecommendationResponse struct {
	*GetSavingsPlansPurchaseRecommendationOutput
	// contains filtered or unexported fields
}

GetSavingsPlansPurchaseRecommendationResponse is the response type for the GetSavingsPlansPurchaseRecommendation API operation.

func (*GetSavingsPlansPurchaseRecommendationResponse) SDKResponseMetdata added in v0.16.0

SDKResponseMetdata returns the response metadata for the GetSavingsPlansPurchaseRecommendation request.

type GetSavingsPlansUtilizationDetailsInput added in v0.16.0

type GetSavingsPlansUtilizationDetailsInput struct {

	// Filters Savings Plans utilization coverage data for active Savings Plans
	// dimensions. You can filter data with the following dimensions:
	//
	//    * LINKED_ACCOUNT
	//
	//    * SAVINGS_PLAN_ARN
	//
	//    * REGION
	//
	//    * PAYMENT_OPTION
	//
	//    * INSTANCE_TYPE_FAMILY
	//
	// GetSavingsPlansUtilizationDetails uses the same Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html)
	// object as the other operations, but only AND is supported among each dimension.
	Filter *Expression `type:"structure"`

	// The number of items to be returned in a response. The default is 20, with
	// a minimum value of 1.
	MaxResults *int64 `min:"1" type:"integer"`

	// The token to retrieve the next set of results. Amazon Web Services provides
	// the token when the response from a previous call has more results than the
	// maximum page size.
	NextToken *string `type:"string"`

	// The time period that you want the usage and costs for. The Start date must
	// be within 13 months. The End date must be after the Start date, and before
	// the current date. Future dates can't be used as an End date.
	//
	// TimePeriod is a required field
	TimePeriod *DateInterval `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (GetSavingsPlansUtilizationDetailsInput) String added in v0.16.0

String returns the string representation

func (*GetSavingsPlansUtilizationDetailsInput) Validate added in v0.16.0

Validate inspects the fields of the type to determine if they are valid.

type GetSavingsPlansUtilizationDetailsOutput added in v0.16.0

type GetSavingsPlansUtilizationDetailsOutput struct {

	// The token to retrieve the next set of results. Amazon Web Services provides
	// the token when the response from a previous call has more results than the
	// maximum page size.
	NextToken *string `type:"string"`

	// Retrieves a single daily or monthly Savings Plans utilization rate and details
	// for your account.
	//
	// SavingsPlansUtilizationDetails is a required field
	SavingsPlansUtilizationDetails []SavingsPlansUtilizationDetail `type:"list" required:"true"`

	// The time period that you want the usage and costs for.
	//
	// TimePeriod is a required field
	TimePeriod *DateInterval `type:"structure" required:"true"`

	// The total Savings Plans utilization, regardless of time period.
	Total *SavingsPlansUtilizationAggregates `type:"structure"`
	// contains filtered or unexported fields
}

func (GetSavingsPlansUtilizationDetailsOutput) String added in v0.16.0

String returns the string representation

type GetSavingsPlansUtilizationDetailsPaginator added in v0.16.0

type GetSavingsPlansUtilizationDetailsPaginator struct {
	aws.Pager
}

GetSavingsPlansUtilizationDetailsPaginator is used to paginate the request. This can be done by calling Next and CurrentPage.

func NewGetSavingsPlansUtilizationDetailsPaginator added in v0.16.0

func NewGetSavingsPlansUtilizationDetailsPaginator(req GetSavingsPlansUtilizationDetailsRequest) GetSavingsPlansUtilizationDetailsPaginator

NewGetSavingsPlansUtilizationDetailsRequestPaginator returns a paginator for GetSavingsPlansUtilizationDetails. Use Next method to get the next page, and CurrentPage to get the current response page from the paginator. Next will return false, if there are no more pages, or an error was encountered.

Note: This operation can generate multiple requests to a service.

// Example iterating over pages.
req := client.GetSavingsPlansUtilizationDetailsRequest(input)
p := costexplorer.NewGetSavingsPlansUtilizationDetailsRequestPaginator(req)

for p.Next(context.TODO()) {
    page := p.CurrentPage()
}

if err := p.Err(); err != nil {
    return err
}

func (*GetSavingsPlansUtilizationDetailsPaginator) CurrentPage added in v0.16.0

type GetSavingsPlansUtilizationDetailsRequest added in v0.16.0

GetSavingsPlansUtilizationDetailsRequest is the request type for the GetSavingsPlansUtilizationDetails API operation.

func (GetSavingsPlansUtilizationDetailsRequest) Send added in v0.16.0

Send marshals and sends the GetSavingsPlansUtilizationDetails API request.

type GetSavingsPlansUtilizationDetailsResponse added in v0.16.0

type GetSavingsPlansUtilizationDetailsResponse struct {
	*GetSavingsPlansUtilizationDetailsOutput
	// contains filtered or unexported fields
}

GetSavingsPlansUtilizationDetailsResponse is the response type for the GetSavingsPlansUtilizationDetails API operation.

func (*GetSavingsPlansUtilizationDetailsResponse) SDKResponseMetdata added in v0.16.0

func (r *GetSavingsPlansUtilizationDetailsResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the GetSavingsPlansUtilizationDetails request.

type GetSavingsPlansUtilizationInput added in v0.16.0

type GetSavingsPlansUtilizationInput struct {

	// Filters Savings Plans utilization coverage data for active Savings Plans
	// dimensions. You can filter data with the following dimensions:
	//
	//    * LINKED_ACCOUNT
	//
	//    * SAVINGS_PLAN_ARN
	//
	//    * SAVINGS_PLANS_TYPE
	//
	//    * REGION
	//
	//    * PAYMENT_OPTION
	//
	//    * INSTANCE_TYPE_FAMILY
	//
	// GetSavingsPlansUtilization uses the same Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html)
	// object as the other operations, but only AND is supported among each dimension.
	Filter *Expression `type:"structure"`

	// The granularity of the Amazon Web Services utillization data for your Savings
	// Plans.
	//
	// The GetSavingsPlansUtilization operation supports only DAILY and MONTHLY
	// granularities.
	Granularity Granularity `type:"string" enum:"true"`

	// The time period that you want the usage and costs for. The Start date must
	// be within 13 months. The End date must be after the Start date, and before
	// the current date. Future dates can't be used as an End date.
	//
	// TimePeriod is a required field
	TimePeriod *DateInterval `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (GetSavingsPlansUtilizationInput) String added in v0.16.0

String returns the string representation

func (*GetSavingsPlansUtilizationInput) Validate added in v0.16.0

func (s *GetSavingsPlansUtilizationInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetSavingsPlansUtilizationOutput added in v0.16.0

type GetSavingsPlansUtilizationOutput struct {

	// The amount of cost/commitment you used your Savings Plans. This allows you
	// to specify date ranges.
	SavingsPlansUtilizationsByTime []SavingsPlansUtilizationByTime `type:"list"`

	// The total amount of cost/commitment that you used your Savings Plans, regardless
	// of date ranges.
	//
	// Total is a required field
	Total *SavingsPlansUtilizationAggregates `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (GetSavingsPlansUtilizationOutput) String added in v0.16.0

String returns the string representation

type GetSavingsPlansUtilizationRequest added in v0.16.0

type GetSavingsPlansUtilizationRequest struct {
	*aws.Request
	Input *GetSavingsPlansUtilizationInput
	Copy  func(*GetSavingsPlansUtilizationInput) GetSavingsPlansUtilizationRequest
}

GetSavingsPlansUtilizationRequest is the request type for the GetSavingsPlansUtilization API operation.

func (GetSavingsPlansUtilizationRequest) Send added in v0.16.0

Send marshals and sends the GetSavingsPlansUtilization API request.

type GetSavingsPlansUtilizationResponse added in v0.16.0

type GetSavingsPlansUtilizationResponse struct {
	*GetSavingsPlansUtilizationOutput
	// contains filtered or unexported fields
}

GetSavingsPlansUtilizationResponse is the response type for the GetSavingsPlansUtilization API operation.

func (*GetSavingsPlansUtilizationResponse) SDKResponseMetdata added in v0.16.0

func (r *GetSavingsPlansUtilizationResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the GetSavingsPlansUtilization request.

type GetTagsInput

type GetTagsInput struct {

	// The token to retrieve the next set of results. AWS provides the token when
	// the response from a previous call has more results than the maximum page
	// size.
	NextPageToken *string `type:"string"`

	// The value that you want to search for.
	SearchString *string `type:"string"`

	// The key of the tag that you want to return values for.
	TagKey *string `type:"string"`

	// The start and end dates for retrieving the dimension values. The start date
	// is inclusive, but the end date is exclusive. For example, if start is 2017-01-01
	// and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01
	// up to and including 2017-04-30 but not including 2017-05-01.
	//
	// TimePeriod is a required field
	TimePeriod *DateInterval `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (GetTagsInput) String

func (s GetTagsInput) String() string

String returns the string representation

func (*GetTagsInput) Validate

func (s *GetTagsInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetTagsOutput

type GetTagsOutput struct {

	// The token for the next set of retrievable results. AWS provides the token
	// when the response from a previous call has more results than the maximum
	// page size.
	NextPageToken *string `type:"string"`

	// The number of query results that AWS returns at a time.
	//
	// ReturnSize is a required field
	ReturnSize *int64 `type:"integer" required:"true"`

	// The tags that match your request.
	//
	// Tags is a required field
	Tags []string `type:"list" required:"true"`

	// The total number of query results.
	//
	// TotalSize is a required field
	TotalSize *int64 `type:"integer" required:"true"`
	// contains filtered or unexported fields
}

func (GetTagsOutput) String

func (s GetTagsOutput) String() string

String returns the string representation

type GetTagsRequest

type GetTagsRequest struct {
	*aws.Request
	Input *GetTagsInput
	Copy  func(*GetTagsInput) GetTagsRequest
}

GetTagsRequest is the request type for the GetTags API operation.

func (GetTagsRequest) Send

Send marshals and sends the GetTags API request.

type GetTagsResponse added in v0.9.0

type GetTagsResponse struct {
	*GetTagsOutput
	// contains filtered or unexported fields
}

GetTagsResponse is the response type for the GetTags API operation.

func (*GetTagsResponse) SDKResponseMetdata added in v0.9.0

func (r *GetTagsResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the GetTags request.

type GetUsageForecastInput added in v0.10.0

type GetUsageForecastInput struct {

	// The filters that you want to use to filter your forecast. Cost Explorer API
	// supports all of the Cost Explorer filters.
	Filter *Expression `type:"structure"`

	// How granular you want the forecast to be. You can get 3 months of DAILY forecasts
	// or 12 months of MONTHLY forecasts.
	//
	// The GetUsageForecast operation supports only DAILY and MONTHLY granularities.
	//
	// Granularity is a required field
	Granularity Granularity `type:"string" required:"true" enum:"true"`

	// Which metric Cost Explorer uses to create your forecast.
	//
	// Valid values for a GetUsageForecast call are the following:
	//
	//    * USAGE_QUANTITY
	//
	//    * NORMALIZED_USAGE_AMOUNT
	//
	// Metric is a required field
	Metric Metric `type:"string" required:"true" enum:"true"`

	// Cost Explorer always returns the mean forecast as a single point. You can
	// request a prediction interval around the mean by specifying a confidence
	// level. The higher the confidence level, the more confident Cost Explorer
	// is about the actual value falling in the prediction interval. Higher confidence
	// levels result in wider prediction intervals.
	PredictionIntervalLevel *int64 `min:"51" type:"integer"`

	// The start and end dates of the period that you want to retrieve usage forecast
	// for. The start date is inclusive, but the end date is exclusive. For example,
	// if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data
	// is retrieved from 2017-01-01 up to and including 2017-04-30 but not including
	// 2017-05-01.
	//
	// TimePeriod is a required field
	TimePeriod *DateInterval `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (GetUsageForecastInput) String added in v0.10.0

func (s GetUsageForecastInput) String() string

String returns the string representation

func (*GetUsageForecastInput) Validate added in v0.10.0

func (s *GetUsageForecastInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetUsageForecastOutput added in v0.10.0

type GetUsageForecastOutput struct {

	// The forecasts for your query, in order. For DAILY forecasts, this is a list
	// of days. For MONTHLY forecasts, this is a list of months.
	ForecastResultsByTime []ForecastResult `type:"list"`

	// How much you're forecasted to use over the forecast period.
	Total *MetricValue `type:"structure"`
	// contains filtered or unexported fields
}

func (GetUsageForecastOutput) String added in v0.10.0

func (s GetUsageForecastOutput) String() string

String returns the string representation

type GetUsageForecastRequest added in v0.10.0

type GetUsageForecastRequest struct {
	*aws.Request
	Input *GetUsageForecastInput
	Copy  func(*GetUsageForecastInput) GetUsageForecastRequest
}

GetUsageForecastRequest is the request type for the GetUsageForecast API operation.

func (GetUsageForecastRequest) Send added in v0.10.0

Send marshals and sends the GetUsageForecast API request.

type GetUsageForecastResponse added in v0.10.0

type GetUsageForecastResponse struct {
	*GetUsageForecastOutput
	// contains filtered or unexported fields
}

GetUsageForecastResponse is the response type for the GetUsageForecast API operation.

func (*GetUsageForecastResponse) SDKResponseMetdata added in v0.10.0

func (r *GetUsageForecastResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the GetUsageForecast request.

type Granularity

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

Enum values for Granularity

func (Granularity) MarshalValue added in v0.3.0

func (enum Granularity) MarshalValue() (string, error)

func (Granularity) MarshalValueBuf added in v0.3.0

func (enum Granularity) MarshalValueBuf(b []byte) ([]byte, error)

type Group

type Group struct {

	// The keys that are included in this group.
	Keys []string `type:"list"`

	// The metrics that are included in this group.
	Metrics map[string]MetricValue `type:"map"`
	// contains filtered or unexported fields
}

One level of grouped data in the results.

func (Group) String

func (s Group) String() string

String returns the string representation

type GroupDefinition

type GroupDefinition struct {

	// The string that represents a key for a specified group.
	Key *string `type:"string"`

	// The string that represents the type of group.
	Type GroupDefinitionType `type:"string" enum:"true"`
	// contains filtered or unexported fields
}

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

func (GroupDefinition) String

func (s GroupDefinition) String() string

String returns the string representation

type GroupDefinitionType

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

Enum values for GroupDefinitionType

func (GroupDefinitionType) MarshalValue added in v0.3.0

func (enum GroupDefinitionType) MarshalValue() (string, error)

func (GroupDefinitionType) MarshalValueBuf added in v0.3.0

func (enum GroupDefinitionType) MarshalValueBuf(b []byte) ([]byte, error)

type InstanceDetails added in v0.4.0

type InstanceDetails struct {

	// The Amazon EC2 instances that AWS recommends that you purchase.
	EC2InstanceDetails *EC2InstanceDetails `type:"structure"`

	// The Amazon ES instances that AWS recommends that you purchase.
	ESInstanceDetails *ESInstanceDetails `type:"structure"`

	// The ElastiCache instances that AWS recommends that you purchase.
	ElastiCacheInstanceDetails *ElastiCacheInstanceDetails `type:"structure"`

	// The Amazon RDS instances that AWS recommends that you purchase.
	RDSInstanceDetails *RDSInstanceDetails `type:"structure"`

	// The Amazon Redshift instances that AWS recommends that you purchase.
	RedshiftInstanceDetails *RedshiftInstanceDetails `type:"structure"`
	// contains filtered or unexported fields
}

Details about the instances that AWS recommends that you purchase.

func (InstanceDetails) String added in v0.4.0

func (s InstanceDetails) String() string

String returns the string representation

type ListCostCategoryDefinitionsInput added in v0.18.0

type ListCostCategoryDefinitionsInput struct {

	// The date when the Cost Category was effective.
	EffectiveOn *string `min:"20" type:"string"`

	// The number of entries a paginated response contains.
	MaxResults *int64 `min:"1" type:"integer"`

	// The token to retrieve the next set of results. Amazon Web Services provides
	// the token when the response from a previous call has more results than the
	// maximum page size.
	NextToken *string `type:"string"`
	// contains filtered or unexported fields
}

func (ListCostCategoryDefinitionsInput) String added in v0.18.0

String returns the string representation

func (*ListCostCategoryDefinitionsInput) Validate added in v0.18.0

Validate inspects the fields of the type to determine if they are valid.

type ListCostCategoryDefinitionsOutput added in v0.18.0

type ListCostCategoryDefinitionsOutput struct {

	// A reference to a Cost Category containing enough information to identify
	// the Cost Category.
	CostCategoryReferences []CostCategoryReference `type:"list"`

	// The token to retrieve the next set of results. Amazon Web Services provides
	// the token when the response from a previous call has more results than the
	// maximum page size.
	NextToken *string `type:"string"`
	// contains filtered or unexported fields
}

func (ListCostCategoryDefinitionsOutput) String added in v0.18.0

String returns the string representation

type ListCostCategoryDefinitionsPaginator added in v0.21.0

type ListCostCategoryDefinitionsPaginator struct {
	aws.Pager
}

ListCostCategoryDefinitionsPaginator is used to paginate the request. This can be done by calling Next and CurrentPage.

func NewListCostCategoryDefinitionsPaginator added in v0.21.0

func NewListCostCategoryDefinitionsPaginator(req ListCostCategoryDefinitionsRequest) ListCostCategoryDefinitionsPaginator

NewListCostCategoryDefinitionsRequestPaginator returns a paginator for ListCostCategoryDefinitions. Use Next method to get the next page, and CurrentPage to get the current response page from the paginator. Next will return false, if there are no more pages, or an error was encountered.

Note: This operation can generate multiple requests to a service.

// Example iterating over pages.
req := client.ListCostCategoryDefinitionsRequest(input)
p := costexplorer.NewListCostCategoryDefinitionsRequestPaginator(req)

for p.Next(context.TODO()) {
    page := p.CurrentPage()
}

if err := p.Err(); err != nil {
    return err
}

func (*ListCostCategoryDefinitionsPaginator) CurrentPage added in v0.21.0

type ListCostCategoryDefinitionsRequest added in v0.18.0

type ListCostCategoryDefinitionsRequest struct {
	*aws.Request
	Input *ListCostCategoryDefinitionsInput
	Copy  func(*ListCostCategoryDefinitionsInput) ListCostCategoryDefinitionsRequest
}

ListCostCategoryDefinitionsRequest is the request type for the ListCostCategoryDefinitions API operation.

func (ListCostCategoryDefinitionsRequest) Send added in v0.18.0

Send marshals and sends the ListCostCategoryDefinitions API request.

type ListCostCategoryDefinitionsResponse added in v0.18.0

type ListCostCategoryDefinitionsResponse struct {
	*ListCostCategoryDefinitionsOutput
	// contains filtered or unexported fields
}

ListCostCategoryDefinitionsResponse is the response type for the ListCostCategoryDefinitions API operation.

func (*ListCostCategoryDefinitionsResponse) SDKResponseMetdata added in v0.18.0

func (r *ListCostCategoryDefinitionsResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the ListCostCategoryDefinitions request.

type LookbackPeriodInDays added in v0.4.0

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

Enum values for LookbackPeriodInDays

func (LookbackPeriodInDays) MarshalValue added in v0.4.0

func (enum LookbackPeriodInDays) MarshalValue() (string, error)

func (LookbackPeriodInDays) MarshalValueBuf added in v0.4.0

func (enum LookbackPeriodInDays) MarshalValueBuf(b []byte) ([]byte, error)

type MatchOption added in v0.21.0

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) MarshalValue added in v0.21.0

func (enum MatchOption) MarshalValue() (string, error)

func (MatchOption) MarshalValueBuf added in v0.21.0

func (enum MatchOption) MarshalValueBuf(b []byte) ([]byte, error)

type Metric added in v0.6.0

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) MarshalValue added in v0.6.0

func (enum Metric) MarshalValue() (string, error)

func (Metric) MarshalValueBuf added in v0.6.0

func (enum Metric) MarshalValueBuf(b []byte) ([]byte, error)

type MetricValue

type MetricValue struct {

	// The actual number that represents the metric.
	Amount *string `type:"string"`

	// The unit that the metric is given in.
	Unit *string `type:"string"`
	// contains filtered or unexported fields
}

The aggregated value for a metric.

func (MetricValue) String

func (s MetricValue) String() string

String returns the string representation

type ModifyRecommendationDetail added in v0.11.0

type ModifyRecommendationDetail struct {

	// Identifies whether this instance type is the Amazon Web Services default
	// recommendation.
	TargetInstances []TargetInstance `type:"list"`
	// contains filtered or unexported fields
}

Details on the modification recommendation.

func (ModifyRecommendationDetail) String added in v0.11.0

String returns the string representation

type OfferingClass added in v0.4.0

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

Enum values for OfferingClass

func (OfferingClass) MarshalValue added in v0.4.0

func (enum OfferingClass) MarshalValue() (string, error)

func (OfferingClass) MarshalValueBuf added in v0.4.0

func (enum OfferingClass) MarshalValueBuf(b []byte) ([]byte, error)

type PaymentOption added in v0.4.0

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) MarshalValue added in v0.4.0

func (enum PaymentOption) MarshalValue() (string, error)

func (PaymentOption) MarshalValueBuf added in v0.4.0

func (enum PaymentOption) MarshalValueBuf(b []byte) ([]byte, error)

type RDSInstanceDetails added in v0.4.0

type RDSInstanceDetails struct {

	// Whether the recommendation is for a current-generation instance.
	CurrentGeneration *bool `type:"boolean"`

	// The database edition that the recommended reservation supports.
	DatabaseEdition *string `type:"string"`

	// The database engine that the recommended reservation supports.
	DatabaseEngine *string `type:"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 `type:"string"`

	// The instance family of the recommended reservation.
	Family *string `type:"string"`

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

	// The license model that the recommended reservation supports.
	LicenseModel *string `type:"string"`

	// The AWS Region of the recommended reservation.
	Region *string `type:"string"`

	// Whether the recommended reservation is size flexible.
	SizeFlexEligible *bool `type:"boolean"`
	// contains filtered or unexported fields
}

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

func (RDSInstanceDetails) String added in v0.4.0

func (s RDSInstanceDetails) String() string

String returns the string representation

type RecommendationTarget added in v0.21.0

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

Enum values for RecommendationTarget

func (RecommendationTarget) MarshalValue added in v0.21.0

func (enum RecommendationTarget) MarshalValue() (string, error)

func (RecommendationTarget) MarshalValueBuf added in v0.21.0

func (enum RecommendationTarget) MarshalValueBuf(b []byte) ([]byte, error)

type RedshiftInstanceDetails added in v0.5.0

type RedshiftInstanceDetails struct {

	// Whether the recommendation is for a current-generation instance.
	CurrentGeneration *bool `type:"boolean"`

	// The instance family of the recommended reservation.
	Family *string `type:"string"`

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

	// The AWS Region of the recommended reservation.
	Region *string `type:"string"`

	// Whether the recommended reservation is size flexible.
	SizeFlexEligible *bool `type:"boolean"`
	// contains filtered or unexported fields
}

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

func (RedshiftInstanceDetails) String added in v0.5.0

func (s RedshiftInstanceDetails) String() string

String returns the string representation

type ReservationAggregates

type ReservationAggregates struct {

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

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

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

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

	// How many reservation hours that you purchased.
	PurchasedHours *string `type:"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 `type:"string"`

	// The total number of reservation hours that you used.
	TotalActualHours *string `type:"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 `type:"string"`

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

	// How much you could save if you use your entire reservation.
	TotalPotentialRISavings *string `type:"string"`

	// The number of reservation hours that you didn't use.
	UnusedHours *string `type:"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 `type:"string"`

	// The percentage of reservation time that you used.
	UtilizationPercentage *string `type:"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 `type:"string"`
	// contains filtered or unexported fields
}

The aggregated numbers for your reservation usage.

func (ReservationAggregates) String

func (s ReservationAggregates) String() string

String returns the string representation

type ReservationCoverageGroup added in v0.3.0

type ReservationCoverageGroup struct {

	// The attributes for this group of reservations.
	Attributes map[string]string `type:"map"`

	// How much instance usage this group of reservations covered.
	Coverage *Coverage `type:"structure"`
	// contains filtered or unexported fields
}

A group of reservations that share a set of attributes.

func (ReservationCoverageGroup) String added in v0.3.0

func (s ReservationCoverageGroup) String() string

String returns the string representation

type ReservationPurchaseRecommendation added in v0.4.0

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 `type:"string" enum:"true"`

	// How many days of previous usage that AWS considers when making this recommendation.
	LookbackPeriodInDays LookbackPeriodInDays `type:"string" enum:"true"`

	// The payment option for the reservation. For example, AllUpfront or NoUpfront.
	PaymentOption PaymentOption `type:"string" enum:"true"`

	// Details about the recommended purchases.
	RecommendationDetails []ReservationPurchaseRecommendationDetail `type:"list"`

	// A summary about the recommended purchase.
	RecommendationSummary *ReservationPurchaseRecommendationSummary `type:"structure"`

	// Hardware specifications for the service that you want recommendations for.
	ServiceSpecification *ServiceSpecification `type:"structure"`

	// The term of the reservation that you want recommendations for, in years.
	TermInYears TermInYears `type:"string" enum:"true"`
	// contains filtered or unexported fields
}

A specific reservation that AWS recommends for purchase.

func (ReservationPurchaseRecommendation) String added in v0.4.0

String returns the string representation

type ReservationPurchaseRecommendationDetail added in v0.4.0

type ReservationPurchaseRecommendationDetail struct {

	// The account that this RI recommendation is for.
	AccountId *string `type:"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 `type:"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 `type:"string"`

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

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

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

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

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

	// How much AWS estimates that this specific recommendation could save you in
	// a month, as a percentage of your overall costs.
	EstimatedMonthlySavingsPercentage *string `type:"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 `type:"string"`

	// Details about the instances that AWS recommends that you purchase.
	InstanceDetails *InstanceDetails `type:"structure"`

	// 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 `type:"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 `type:"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 `type:"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 `type:"string"`

	// The number of normalized units that AWS recommends that you purchase.
	RecommendedNormalizedUnitsToPurchase *string `type:"string"`

	// The number of instances that AWS recommends that you purchase.
	RecommendedNumberOfInstancesToPurchase *string `type:"string"`

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

	// How much purchasing this instance costs you upfront.
	UpfrontCost *string `type:"string"`
	// contains filtered or unexported fields
}

Details about your recommended reservation purchase.

func (ReservationPurchaseRecommendationDetail) String added in v0.4.0

String returns the string representation

type ReservationPurchaseRecommendationMetadata added in v0.4.0

type ReservationPurchaseRecommendationMetadata struct {

	// The timestamp for when AWS made this recommendation.
	GenerationTimestamp *string `type:"string"`

	// The ID for this specific recommendation.
	RecommendationId *string `type:"string"`
	// contains filtered or unexported fields
}

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

func (ReservationPurchaseRecommendationMetadata) String added in v0.4.0

String returns the string representation

type ReservationPurchaseRecommendationSummary added in v0.4.0

type ReservationPurchaseRecommendationSummary struct {

	// The currency code used for this recommendation.
	CurrencyCode *string `type:"string"`

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

	// The total amount that AWS estimates that this recommendation could save you
	// in a month, as a percentage of your costs.
	TotalEstimatedMonthlySavingsPercentage *string `type:"string"`
	// contains filtered or unexported fields
}

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.

func (ReservationPurchaseRecommendationSummary) String added in v0.4.0

String returns the string representation

type ReservationUtilizationGroup

type ReservationUtilizationGroup struct {

	// The attributes for this group of reservations.
	Attributes map[string]string `type:"map"`

	// The key for a specific reservation attribute.
	Key *string `type:"string"`

	// How much you used this group of reservations.
	Utilization *ReservationAggregates `type:"structure"`

	// The value of a specific reservation attribute.
	Value *string `type:"string"`
	// contains filtered or unexported fields
}

A group of reservations that share a set of attributes.

func (ReservationUtilizationGroup) String

String returns the string representation

type ResourceDetails added in v0.11.0

type ResourceDetails struct {

	// Details on the Amazon EC2 resource.
	EC2ResourceDetails *EC2ResourceDetails `type:"structure"`
	// contains filtered or unexported fields
}

Details on the resource.

func (ResourceDetails) String added in v0.11.0

func (s ResourceDetails) String() string

String returns the string representation

type ResourceUtilization added in v0.11.0

type ResourceUtilization struct {

	// Utilization of current Amazon EC2 Instance
	EC2ResourceUtilization *EC2ResourceUtilization `type:"structure"`
	// contains filtered or unexported fields
}

Resource utilization of current resource.

func (ResourceUtilization) String added in v0.11.0

func (s ResourceUtilization) String() string

String returns the string representation

type ResultByTime

type ResultByTime struct {

	// Whether the result is estimated.
	Estimated *bool `type:"boolean"`

	// The groups that this time period includes.
	Groups []Group `type:"list"`

	// The time period that the result covers.
	TimePeriod *DateInterval `type:"structure"`

	// The total amount of cost or usage accrued during the time period.
	Total map[string]MetricValue `type:"map"`
	// contains filtered or unexported fields
}

The result that is associated with a time period.

func (ResultByTime) String

func (s ResultByTime) String() string

String returns the string representation

type RightsizingRecommendation added in v0.11.0

type RightsizingRecommendation struct {

	// The account that this recommendation is for.
	AccountId *string `type:"string"`

	// Context regarding the current instance.
	CurrentInstance *CurrentInstance `type:"structure"`

	// Details for modification recommendations.
	ModifyRecommendationDetail *ModifyRecommendationDetail `type:"structure"`

	// Recommendation to either terminate or modify the resource.
	RightsizingType RightsizingType `type:"string" enum:"true"`

	// Details for termination recommendations.
	TerminateRecommendationDetail *TerminateRecommendationDetail `type:"structure"`
	// contains filtered or unexported fields
}

Recommendations to rightsize resources.

func (RightsizingRecommendation) String added in v0.11.0

func (s RightsizingRecommendation) String() string

String returns the string representation

type RightsizingRecommendationConfiguration added in v0.21.0

type RightsizingRecommendationConfiguration struct {

	// The option to consider RI or Savings Plans discount benefits in your savings
	// calculation. The default value is TRUE.
	//
	// BenefitsConsidered is a required field
	BenefitsConsidered *bool `type:"boolean" required:"true"`

	// The option to see recommendations within the same instance family, or recommendations
	// for instances across other families. The default value is SAME_INSTANCE_FAMILY.
	//
	// RecommendationTarget is a required field
	RecommendationTarget RecommendationTarget `type:"string" required:"true" enum:"true"`
	// contains filtered or unexported fields
}

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.

func (RightsizingRecommendationConfiguration) String added in v0.21.0

String returns the string representation

func (*RightsizingRecommendationConfiguration) Validate added in v0.21.0

Validate inspects the fields of the type to determine if they are valid.

type RightsizingRecommendationMetadata added in v0.11.0

type RightsizingRecommendationMetadata struct {

	// The timestamp for when Amazon Web Services made this recommendation.
	GenerationTimestamp *string `type:"string"`

	// How many days of previous usage that Amazon Web Services considers when making
	// this recommendation.
	LookbackPeriodInDays LookbackPeriodInDays `type:"string" enum:"true"`

	// The ID for this specific recommendation.
	RecommendationId *string `type:"string"`
	// contains filtered or unexported fields
}

Metadata for this recommendation set.

func (RightsizingRecommendationMetadata) String added in v0.11.0

String returns the string representation

type RightsizingRecommendationSummary added in v0.11.0

type RightsizingRecommendationSummary struct {

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

	// The currency code that Amazon Web Services used to calculate the savings.
	SavingsCurrencyCode *string `type:"string"`

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

	// Total number of instance recommendations.
	TotalRecommendationCount *string `type:"string"`
	// contains filtered or unexported fields
}

Summary of rightsizing recommendations

func (RightsizingRecommendationSummary) String added in v0.11.0

String returns the string representation

type RightsizingType added in v0.11.0

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

Enum values for RightsizingType

func (RightsizingType) MarshalValue added in v0.11.0

func (enum RightsizingType) MarshalValue() (string, error)

func (RightsizingType) MarshalValueBuf added in v0.11.0

func (enum RightsizingType) MarshalValueBuf(b []byte) ([]byte, error)

type SavingsPlansAmortizedCommitment added in v0.16.0

type SavingsPlansAmortizedCommitment struct {

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

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

	// The total amortized amount of your Savings Plans commitment, regardless of
	// your Savings Plans purchase method.
	TotalAmortizedCommitment *string `type:"string"`
	// contains filtered or unexported fields
}

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

func (SavingsPlansAmortizedCommitment) String added in v0.16.0

String returns the string representation

type SavingsPlansCoverage added in v0.16.0

type SavingsPlansCoverage struct {

	// The attribute that applies to a specific Dimension.
	Attributes map[string]string `type:"map"`

	// The amount of Savings Plans eligible usage that the Savings Plans covered.
	Coverage *SavingsPlansCoverageData `type:"structure"`

	// The time period that you want the usage and costs for.
	TimePeriod *DateInterval `type:"structure"`
	// contains filtered or unexported fields
}

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.

func (SavingsPlansCoverage) String added in v0.16.0

func (s SavingsPlansCoverage) String() string

String returns the string representation

type SavingsPlansCoverageData added in v0.16.0

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 `type:"string"`

	// The cost of your Amazon Web Services usage at the public On-Demand rate.
	OnDemandCost *string `type:"string"`

	// The amount of your Amazon Web Services usage that is covered by a Savings
	// Plans.
	SpendCoveredBySavingsPlans *string `type:"string"`

	// The total cost of your Amazon Web Services usage, regardless of your purchase
	// option.
	TotalCost *string `type:"string"`
	// contains filtered or unexported fields
}

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

func (SavingsPlansCoverageData) String added in v0.16.0

func (s SavingsPlansCoverageData) String() string

String returns the string representation

type SavingsPlansDetails added in v0.16.0

type SavingsPlansDetails struct {

	// A group of instance types that Savings Plans applies to.
	InstanceFamily *string `type:"string"`

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

	// A collection of AWS resources in a geographic area. Each AWS Region is isolated
	// and independent of the other Regions.
	Region *string `type:"string"`
	// contains filtered or unexported fields
}

Attribute details on a specific Savings Plan.

func (SavingsPlansDetails) String added in v0.16.0

func (s SavingsPlansDetails) String() string

String returns the string representation

type SavingsPlansPurchaseRecommendation added in v0.16.0

type SavingsPlansPurchaseRecommendation struct {

	// The account scope that you want your recommendations for. Amazon Web Services
	// calculates recommendations including the payer account and linked accounts
	// if the value is set to PAYER. If the value is LINKED, recommendations are
	// calculated for individual linked accounts only.
	AccountScope AccountScope `type:"string" enum:"true"`

	// The lookback period in days, used to generate the recommendation.
	LookbackPeriodInDays LookbackPeriodInDays `type:"string" enum:"true"`

	// The payment option used to generate the recommendation.
	PaymentOption PaymentOption `type:"string" enum:"true"`

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

	// Summary metrics for your Savings Plans Recommendations.
	SavingsPlansPurchaseRecommendationSummary *SavingsPlansPurchaseRecommendationSummary `type:"structure"`

	// The requested Savings Plans recommendation type.
	SavingsPlansType SupportedSavingsPlansType `type:"string" enum:"true"`

	// The Savings Plans recommendation term in years, used to generate the recommendation.
	TermInYears TermInYears `type:"string" enum:"true"`
	// contains filtered or unexported fields
}

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

func (SavingsPlansPurchaseRecommendation) String added in v0.16.0

String returns the string representation

type SavingsPlansPurchaseRecommendationDetail added in v0.16.0

type SavingsPlansPurchaseRecommendationDetail struct {

	// The AccountID the recommendation is generated for.
	AccountId *string `type:"string"`

	// The currency code Amazon Web Services used to generate the recommendations
	// and present potential savings.
	CurrencyCode *string `type:"string"`

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

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

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

	// The estimated utilization of the recommended Savings Plans.
	EstimatedAverageUtilization *string `type:"string"`

	// The estimated monthly savings amount, based on the recommended Savings Plans.
	EstimatedMonthlySavingsAmount *string `type:"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 `type:"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 `type:"string"`

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

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

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

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

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

	// Details for your recommended Savings Plans.
	SavingsPlansDetails *SavingsPlansDetails `type:"structure"`

	// The upfront cost of the recommended Savings Plans, based on the selected
	// payment option.
	UpfrontCost *string `type:"string"`
	// contains filtered or unexported fields
}

Details for your recommended Savings Plans.

func (SavingsPlansPurchaseRecommendationDetail) String added in v0.16.0

String returns the string representation

type SavingsPlansPurchaseRecommendationMetadata added in v0.16.0

type SavingsPlansPurchaseRecommendationMetadata struct {

	// The timestamp showing when the recommendations were generated.
	GenerationTimestamp *string `type:"string"`

	// The unique identifier for the recommendation set.
	RecommendationId *string `type:"string"`
	// contains filtered or unexported fields
}

Metadata about your Savings Plans Purchase Recommendations.

func (SavingsPlansPurchaseRecommendationMetadata) String added in v0.16.0

String returns the string representation

type SavingsPlansPurchaseRecommendationSummary added in v0.16.0

type SavingsPlansPurchaseRecommendationSummary struct {

	// The currency code Amazon Web Services used to generate the recommendations
	// and present potential savings.
	CurrencyCode *string `type:"string"`

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

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

	// The estimated monthly savings amount, based on the recommended Savings Plans
	// purchase.
	EstimatedMonthlySavingsAmount *string `type:"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 `type:"string"`

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

	// The estimated total savings over the lookback period, based on the purchase
	// of the recommended Savings Plans.
	EstimatedSavingsAmount *string `type:"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 `type:"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 `type:"string"`

	// The recommended hourly commitment based on the recommendation parameters.
	HourlyCommitmentToPurchase *string `type:"string"`

	// The aggregate number of Savings Plans recommendations that exist for your
	// account.
	TotalRecommendationCount *string `type:"string"`
	// contains filtered or unexported fields
}

Summary metrics for your Savings Plans Purchase Recommendations.

func (SavingsPlansPurchaseRecommendationSummary) String added in v0.16.0

String returns the string representation

type SavingsPlansSavings added in v0.16.0

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 `type:"string"`

	// How much the amount that the usage would have cost if it was accrued at the
	// On-Demand rate.
	OnDemandCostEquivalent *string `type:"string"`
	// contains filtered or unexported fields
}

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

func (SavingsPlansSavings) String added in v0.16.0

func (s SavingsPlansSavings) String() string

String returns the string representation

type SavingsPlansUtilization added in v0.16.0

type SavingsPlansUtilization struct {

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

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

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

	// The amount of UsedCommitment divided by the TotalCommitment for your Savings
	// Plans.
	UtilizationPercentage *string `type:"string"`
	// contains filtered or unexported fields
}

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

func (SavingsPlansUtilization) String added in v0.16.0

func (s SavingsPlansUtilization) String() string

String returns the string representation

type SavingsPlansUtilizationAggregates added in v0.16.0

type SavingsPlansUtilizationAggregates struct {

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

	// 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 `type:"structure"`

	// A ratio of your effectiveness of using existing Savings Plans to apply to
	// workloads that are Savings Plans eligible.
	//
	// Utilization is a required field
	Utilization *SavingsPlansUtilization `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

The aggregated utilization metrics for your Savings Plans usage.

func (SavingsPlansUtilizationAggregates) String added in v0.16.0

String returns the string representation

type SavingsPlansUtilizationByTime added in v0.16.0

type SavingsPlansUtilizationByTime struct {

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

	// 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 `type:"structure"`

	// The time period that you want the usage and costs for.
	//
	// TimePeriod is a required field
	TimePeriod *DateInterval `type:"structure" required:"true"`

	// A ratio of your effectiveness of using existing Savings Plans to apply to
	// workloads that are Savings Plans eligible.
	//
	// Utilization is a required field
	Utilization *SavingsPlansUtilization `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

The amount of Savings Plans utilization, in hours.

func (SavingsPlansUtilizationByTime) String added in v0.16.0

String returns the string representation

type SavingsPlansUtilizationDetail added in v0.16.0

type SavingsPlansUtilizationDetail struct {

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

	// The attribute that applies to a specific Dimension.
	Attributes map[string]string `type:"map"`

	// 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 `type:"structure"`

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

	// A ratio of your effectiveness of using existing Savings Plans to apply to
	// workloads that are Savings Plans eligible.
	Utilization *SavingsPlansUtilization `type:"structure"`
	// contains filtered or unexported fields
}

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

func (SavingsPlansUtilizationDetail) String added in v0.16.0

String returns the string representation

type ServiceSpecification added in v0.4.0

type ServiceSpecification struct {

	// The Amazon EC2 hardware specifications that you want AWS to provide recommendations
	// for.
	EC2Specification *EC2Specification `type:"structure"`
	// contains filtered or unexported fields
}

Hardware specifications for the service that you want recommendations for.

func (ServiceSpecification) String added in v0.4.0

func (s ServiceSpecification) String() string

String returns the string representation

type SupportedSavingsPlansType added in v0.16.0

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

Enum values for SupportedSavingsPlansType

func (SupportedSavingsPlansType) MarshalValue added in v0.16.0

func (enum SupportedSavingsPlansType) MarshalValue() (string, error)

func (SupportedSavingsPlansType) MarshalValueBuf added in v0.16.0

func (enum SupportedSavingsPlansType) MarshalValueBuf(b []byte) ([]byte, error)

type TagValues

type TagValues struct {

	// The key for the tag.
	Key *string `type:"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 `type:"list"`

	// The specific value of the tag.
	Values []string `type:"list"`
	// contains filtered or unexported fields
}

The values that are available for a tag.

func (TagValues) String

func (s TagValues) String() string

String returns the string representation

type TargetInstance added in v0.11.0

type TargetInstance struct {

	// The currency code that Amazon Web Services used to calculate the costs for
	// this instance.
	CurrencyCode *string `type:"string"`

	// Indicates whether or not this recommendation is the defaulted Amazon Web
	// Services recommendation.
	DefaultTargetInstance *bool `type:"boolean"`

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

	// Estimated savings resulting from modification, on a monthly basis.
	EstimatedMonthlySavings *string `type:"string"`

	// Expected utilization metrics for target instance type.
	ExpectedResourceUtilization *ResourceUtilization `type:"structure"`

	// Details on the target instance type.
	ResourceDetails *ResourceDetails `type:"structure"`
	// contains filtered or unexported fields
}

Details on recommended instance.

func (TargetInstance) String added in v0.11.0

func (s TargetInstance) String() string

String returns the string representation

type TermInYears added in v0.4.0

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

Enum values for TermInYears

func (TermInYears) MarshalValue added in v0.4.0

func (enum TermInYears) MarshalValue() (string, error)

func (TermInYears) MarshalValueBuf added in v0.4.0

func (enum TermInYears) MarshalValueBuf(b []byte) ([]byte, error)

type TerminateRecommendationDetail added in v0.11.0

type TerminateRecommendationDetail struct {

	// The currency code that Amazon Web Services used to calculate the costs for
	// this instance.
	CurrencyCode *string `type:"string"`

	// Estimated savings resulting from modification, on a monthly basis.
	EstimatedMonthlySavings *string `type:"string"`
	// contains filtered or unexported fields
}

Details on termination recommendation.

func (TerminateRecommendationDetail) String added in v0.11.0

String returns the string representation

type UpdateCostCategoryDefinitionInput added in v0.18.0

type UpdateCostCategoryDefinitionInput struct {

	// The unique identifier for your Cost Category.
	//
	// CostCategoryArn is a required field
	CostCategoryArn *string `min:"20" type:"string" required:"true"`

	// The rule schema version in this particular Cost Category.
	//
	// RuleVersion is a required field
	RuleVersion CostCategoryRuleVersion `type:"string" required:"true" enum:"true"`

	// The Expression object used to categorize costs. For more information, see
	// CostCategoryRule (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategoryRule.html).
	//
	// Rules is a required field
	Rules []CostCategoryRule `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

func (UpdateCostCategoryDefinitionInput) String added in v0.18.0

String returns the string representation

func (*UpdateCostCategoryDefinitionInput) Validate added in v0.18.0

Validate inspects the fields of the type to determine if they are valid.

type UpdateCostCategoryDefinitionOutput added in v0.18.0

type UpdateCostCategoryDefinitionOutput struct {

	// The unique identifier for your Cost Category.
	CostCategoryArn *string `min:"20" type:"string"`

	// The Cost Category's effective start date.
	EffectiveStart *string `min:"20" type:"string"`
	// contains filtered or unexported fields
}

func (UpdateCostCategoryDefinitionOutput) String added in v0.18.0

String returns the string representation

type UpdateCostCategoryDefinitionRequest added in v0.18.0

type UpdateCostCategoryDefinitionRequest struct {
	*aws.Request
	Input *UpdateCostCategoryDefinitionInput
	Copy  func(*UpdateCostCategoryDefinitionInput) UpdateCostCategoryDefinitionRequest
}

UpdateCostCategoryDefinitionRequest is the request type for the UpdateCostCategoryDefinition API operation.

func (UpdateCostCategoryDefinitionRequest) Send added in v0.18.0

Send marshals and sends the UpdateCostCategoryDefinition API request.

type UpdateCostCategoryDefinitionResponse added in v0.18.0

type UpdateCostCategoryDefinitionResponse struct {
	*UpdateCostCategoryDefinitionOutput
	// contains filtered or unexported fields
}

UpdateCostCategoryDefinitionResponse is the response type for the UpdateCostCategoryDefinition API operation.

func (*UpdateCostCategoryDefinitionResponse) SDKResponseMetdata added in v0.18.0

func (r *UpdateCostCategoryDefinitionResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the UpdateCostCategoryDefinition request.

type UtilizationByTime

type UtilizationByTime struct {

	// The groups that this utilization result uses.
	Groups []ReservationUtilizationGroup `type:"list"`

	// The period of time that this utilization was used for.
	TimePeriod *DateInterval `type:"structure"`

	// The total number of reservation hours that were used.
	Total *ReservationAggregates `type:"structure"`
	// contains filtered or unexported fields
}

The amount of utilization, in hours.

func (UtilizationByTime) String

func (s UtilizationByTime) String() string

String returns the string representation

Directories

Path Synopsis
Package costexploreriface provides an interface to enable mocking the AWS Cost Explorer Service service client for testing your code.
Package costexploreriface provides an interface to enable mocking the AWS Cost Explorer Service service client for testing your code.

Jump to

Keyboard shortcuts

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