costexplorer

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: Oct 2, 2019 License: Apache-2.0 Imports: 5 Imported by: 64

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 (https://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"

	// 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) 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 (http://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) 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. 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 helps 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-what-is.html).

// 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) 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

type Context

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

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 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 cost.
	OnDemandCost *string `type:"string"`
	// contains filtered or unexported fields
}

How much it cost 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 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"`

	// 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"`

	// 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 Dimension

type Dimension string
const (
	DimensionAz                 Dimension = "AZ"
	DimensionInstanceType       Dimension = "INSTANCE_TYPE"
	DimensionLinkedAccount      Dimension = "LINKED_ACCOUNT"
	DimensionOperation          Dimension = "OPERATION"
	DimensionPurchaseType       Dimension = "PURCHASE_TYPE"
	DimensionRegion             Dimension = "REGION"
	DimensionService            Dimension = "SERVICE"
	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"
	DimensionRightsizingType    Dimension = "RIGHTSIZING_TYPE"
)

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 metadata values that you can use to filter and group your results. You
	// can use GetDimensionValues to find specific values.
	//
	// Valid values for the SERVICE dimension are Amazon Elastic Compute Cloud -
	// Compute, Amazon Elasticsearch Service, Amazon ElastiCache, Amazon Redshift,
	// and Amazon Relational Database Service.
	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 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. Dimentions are also limited to LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE.

func (Expression) String

func (s Expression) String() string

String returns the string representation

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 (http://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. If Granularity isn't set,
	// the response object doesn't include the Granularity, either MONTHLY or DAILY.
	//
	// The GetCostAndUsageRequest operation supports only DAILY and MONTHLY granularities.
	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, 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? (https://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 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? (https://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.
	//
	// 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.
	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.
	//
	// 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.
	//
	// 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 (http://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.
	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 recommendations for. PAYER means that AWS
	// includes the master account and any member accounts when it calculates its
	// recommendations. LINKED means that AWS includes only member accounts when
	// it calculates its recommendations.
	//
	// Valid values are PAYER and LINKED.
	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
	//
	//    * DATABASE_ENGINE
	//
	//    * DEPLOYMENT_OPTION
	//
	//    * INSTANCE_TYPE
	//
	//    * LINKED_ACCOUNT
	//
	//    * OPERATING_SYSTEM
	//
	//    * PLATFORM
	//
	//    * REGION
	//
	//    * SERVICE
	//
	//    * SCOPE
	//
	//    * TENANCY
	//
	// GetReservationUtilization uses the same Expression (http://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 {

	// 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. Dimentions 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.
	//
	// 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 {

	// 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 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"
)

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 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 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 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 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 time stamp 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 time stamp 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 RightsizingRecommendationMetadata added in v0.11.0

type RightsizingRecommendationMetadata struct {

	// The time stamp 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 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 TagValues

type TagValues struct {

	// The key for the tag.
	Key *string `type:"string"`

	// 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 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