mirror of
https://github.com/rclone/rclone.git
synced 2024-12-03 22:12:02 +01:00
3177 lines
105 KiB
Go
3177 lines
105 KiB
Go
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||
|
||
package costexplorer
|
||
|
||
import (
|
||
"github.com/aws/aws-sdk-go/aws"
|
||
"github.com/aws/aws-sdk-go/aws/awsutil"
|
||
"github.com/aws/aws-sdk-go/aws/request"
|
||
)
|
||
|
||
const opGetCostAndUsage = "GetCostAndUsage"
|
||
|
||
// GetCostAndUsageRequest generates a "aws/request.Request" representing the
|
||
// client's request for the GetCostAndUsage operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfuly.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See GetCostAndUsage for more information on using the GetCostAndUsage
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the GetCostAndUsageRequest method.
|
||
// req, resp := client.GetCostAndUsageRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsage
|
||
func (c *CostExplorer) GetCostAndUsageRequest(input *GetCostAndUsageInput) (req *request.Request, output *GetCostAndUsageOutput) {
|
||
op := &request.Operation{
|
||
Name: opGetCostAndUsage,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &GetCostAndUsageInput{}
|
||
}
|
||
|
||
output = &GetCostAndUsageOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
return
|
||
}
|
||
|
||
// GetCostAndUsage 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.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for AWS Cost Explorer Service's
|
||
// API operation GetCostAndUsage for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// You made too many calls in a short period of time. Try again later.
|
||
//
|
||
// * ErrCodeBillExpirationException "BillExpirationException"
|
||
// The requested report expired. Update the date interval and try again.
|
||
//
|
||
// * ErrCodeDataUnavailableException "DataUnavailableException"
|
||
// The requested data is unavailable.
|
||
//
|
||
// * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
|
||
// The pagination token is invalid. Try again without a pagination token.
|
||
//
|
||
// * ErrCodeRequestChangedException "RequestChangedException"
|
||
// Your request parameters changed between pages. Try again with the old parameters
|
||
// or without a pagination token.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsage
|
||
func (c *CostExplorer) GetCostAndUsage(input *GetCostAndUsageInput) (*GetCostAndUsageOutput, error) {
|
||
req, out := c.GetCostAndUsageRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// GetCostAndUsageWithContext is the same as GetCostAndUsage with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See GetCostAndUsage for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *CostExplorer) GetCostAndUsageWithContext(ctx aws.Context, input *GetCostAndUsageInput, opts ...request.Option) (*GetCostAndUsageOutput, error) {
|
||
req, out := c.GetCostAndUsageRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opGetDimensionValues = "GetDimensionValues"
|
||
|
||
// GetDimensionValuesRequest generates a "aws/request.Request" representing the
|
||
// client's request for the GetDimensionValues operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfuly.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See GetDimensionValues for more information on using the GetDimensionValues
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the GetDimensionValuesRequest method.
|
||
// req, resp := client.GetDimensionValuesRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetDimensionValues
|
||
func (c *CostExplorer) GetDimensionValuesRequest(input *GetDimensionValuesInput) (req *request.Request, output *GetDimensionValuesOutput) {
|
||
op := &request.Operation{
|
||
Name: opGetDimensionValues,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &GetDimensionValuesInput{}
|
||
}
|
||
|
||
output = &GetDimensionValuesOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
return
|
||
}
|
||
|
||
// GetDimensionValues 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.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for AWS Cost Explorer Service's
|
||
// API operation GetDimensionValues for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// You made too many calls in a short period of time. Try again later.
|
||
//
|
||
// * ErrCodeBillExpirationException "BillExpirationException"
|
||
// The requested report expired. Update the date interval and try again.
|
||
//
|
||
// * ErrCodeDataUnavailableException "DataUnavailableException"
|
||
// The requested data is unavailable.
|
||
//
|
||
// * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
|
||
// The pagination token is invalid. Try again without a pagination token.
|
||
//
|
||
// * ErrCodeRequestChangedException "RequestChangedException"
|
||
// Your request parameters changed between pages. Try again with the old parameters
|
||
// or without a pagination token.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetDimensionValues
|
||
func (c *CostExplorer) GetDimensionValues(input *GetDimensionValuesInput) (*GetDimensionValuesOutput, error) {
|
||
req, out := c.GetDimensionValuesRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// GetDimensionValuesWithContext is the same as GetDimensionValues with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See GetDimensionValues for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *CostExplorer) GetDimensionValuesWithContext(ctx aws.Context, input *GetDimensionValuesInput, opts ...request.Option) (*GetDimensionValuesOutput, error) {
|
||
req, out := c.GetDimensionValuesRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opGetReservationCoverage = "GetReservationCoverage"
|
||
|
||
// GetReservationCoverageRequest generates a "aws/request.Request" representing the
|
||
// client's request for the GetReservationCoverage operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfuly.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See GetReservationCoverage for more information on using the GetReservationCoverage
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the GetReservationCoverageRequest method.
|
||
// req, resp := client.GetReservationCoverageRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationCoverage
|
||
func (c *CostExplorer) GetReservationCoverageRequest(input *GetReservationCoverageInput) (req *request.Request, output *GetReservationCoverageOutput) {
|
||
op := &request.Operation{
|
||
Name: opGetReservationCoverage,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &GetReservationCoverageInput{}
|
||
}
|
||
|
||
output = &GetReservationCoverageOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
return
|
||
}
|
||
|
||
// GetReservationCoverage API operation for AWS Cost Explorer Service.
|
||
//
|
||
// Retrieves the reservation coverage for your account. This allows 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.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for AWS Cost Explorer Service's
|
||
// API operation GetReservationCoverage for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// You made too many calls in a short period of time. Try again later.
|
||
//
|
||
// * ErrCodeDataUnavailableException "DataUnavailableException"
|
||
// The requested data is unavailable.
|
||
//
|
||
// * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
|
||
// The pagination token is invalid. Try again without a pagination token.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationCoverage
|
||
func (c *CostExplorer) GetReservationCoverage(input *GetReservationCoverageInput) (*GetReservationCoverageOutput, error) {
|
||
req, out := c.GetReservationCoverageRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// GetReservationCoverageWithContext is the same as GetReservationCoverage with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See GetReservationCoverage for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *CostExplorer) GetReservationCoverageWithContext(ctx aws.Context, input *GetReservationCoverageInput, opts ...request.Option) (*GetReservationCoverageOutput, error) {
|
||
req, out := c.GetReservationCoverageRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opGetReservationPurchaseRecommendation = "GetReservationPurchaseRecommendation"
|
||
|
||
// GetReservationPurchaseRecommendationRequest generates a "aws/request.Request" representing the
|
||
// client's request for the GetReservationPurchaseRecommendation operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfuly.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See GetReservationPurchaseRecommendation for more information on using the GetReservationPurchaseRecommendation
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the GetReservationPurchaseRecommendationRequest method.
|
||
// req, resp := client.GetReservationPurchaseRecommendationRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationPurchaseRecommendation
|
||
func (c *CostExplorer) GetReservationPurchaseRecommendationRequest(input *GetReservationPurchaseRecommendationInput) (req *request.Request, output *GetReservationPurchaseRecommendationOutput) {
|
||
op := &request.Operation{
|
||
Name: opGetReservationPurchaseRecommendation,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &GetReservationPurchaseRecommendationInput{}
|
||
}
|
||
|
||
output = &GetReservationPurchaseRecommendationOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
return
|
||
}
|
||
|
||
// GetReservationPurchaseRecommendation 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 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.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for AWS Cost Explorer Service's
|
||
// API operation GetReservationPurchaseRecommendation for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// You made too many calls in a short period of time. Try again later.
|
||
//
|
||
// * ErrCodeDataUnavailableException "DataUnavailableException"
|
||
// The requested data is unavailable.
|
||
//
|
||
// * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
|
||
// The pagination token is invalid. Try again without a pagination token.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationPurchaseRecommendation
|
||
func (c *CostExplorer) GetReservationPurchaseRecommendation(input *GetReservationPurchaseRecommendationInput) (*GetReservationPurchaseRecommendationOutput, error) {
|
||
req, out := c.GetReservationPurchaseRecommendationRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// GetReservationPurchaseRecommendationWithContext is the same as GetReservationPurchaseRecommendation with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See GetReservationPurchaseRecommendation for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *CostExplorer) GetReservationPurchaseRecommendationWithContext(ctx aws.Context, input *GetReservationPurchaseRecommendationInput, opts ...request.Option) (*GetReservationPurchaseRecommendationOutput, error) {
|
||
req, out := c.GetReservationPurchaseRecommendationRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opGetReservationUtilization = "GetReservationUtilization"
|
||
|
||
// GetReservationUtilizationRequest generates a "aws/request.Request" representing the
|
||
// client's request for the GetReservationUtilization operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfuly.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See GetReservationUtilization for more information on using the GetReservationUtilization
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the GetReservationUtilizationRequest method.
|
||
// req, resp := client.GetReservationUtilizationRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationUtilization
|
||
func (c *CostExplorer) GetReservationUtilizationRequest(input *GetReservationUtilizationInput) (req *request.Request, output *GetReservationUtilizationOutput) {
|
||
op := &request.Operation{
|
||
Name: opGetReservationUtilization,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &GetReservationUtilizationInput{}
|
||
}
|
||
|
||
output = &GetReservationUtilizationOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
return
|
||
}
|
||
|
||
// GetReservationUtilization 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.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for AWS Cost Explorer Service's
|
||
// API operation GetReservationUtilization for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// You made too many calls in a short period of time. Try again later.
|
||
//
|
||
// * ErrCodeDataUnavailableException "DataUnavailableException"
|
||
// The requested data is unavailable.
|
||
//
|
||
// * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
|
||
// The pagination token is invalid. Try again without a pagination token.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationUtilization
|
||
func (c *CostExplorer) GetReservationUtilization(input *GetReservationUtilizationInput) (*GetReservationUtilizationOutput, error) {
|
||
req, out := c.GetReservationUtilizationRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// GetReservationUtilizationWithContext is the same as GetReservationUtilization with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See GetReservationUtilization for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *CostExplorer) GetReservationUtilizationWithContext(ctx aws.Context, input *GetReservationUtilizationInput, opts ...request.Option) (*GetReservationUtilizationOutput, error) {
|
||
req, out := c.GetReservationUtilizationRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opGetTags = "GetTags"
|
||
|
||
// GetTagsRequest generates a "aws/request.Request" representing the
|
||
// client's request for the GetTags operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfuly.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See GetTags for more information on using the GetTags
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the GetTagsRequest method.
|
||
// req, resp := client.GetTagsRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetTags
|
||
func (c *CostExplorer) GetTagsRequest(input *GetTagsInput) (req *request.Request, output *GetTagsOutput) {
|
||
op := &request.Operation{
|
||
Name: opGetTags,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &GetTagsInput{}
|
||
}
|
||
|
||
output = &GetTagsOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
return
|
||
}
|
||
|
||
// GetTags 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.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for AWS Cost Explorer Service's
|
||
// API operation GetTags for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// You made too many calls in a short period of time. Try again later.
|
||
//
|
||
// * ErrCodeBillExpirationException "BillExpirationException"
|
||
// The requested report expired. Update the date interval and try again.
|
||
//
|
||
// * ErrCodeDataUnavailableException "DataUnavailableException"
|
||
// The requested data is unavailable.
|
||
//
|
||
// * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
|
||
// The pagination token is invalid. Try again without a pagination token.
|
||
//
|
||
// * ErrCodeRequestChangedException "RequestChangedException"
|
||
// Your request parameters changed between pages. Try again with the old parameters
|
||
// or without a pagination token.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetTags
|
||
func (c *CostExplorer) GetTags(input *GetTagsInput) (*GetTagsOutput, error) {
|
||
req, out := c.GetTagsRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// GetTagsWithContext is the same as GetTags with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See GetTags for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *CostExplorer) GetTagsWithContext(ctx aws.Context, input *GetTagsInput, opts ...request.Option) (*GetTagsOutput, error) {
|
||
req, out := c.GetTagsRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// The amount of instance usage that a reservation covered.
|
||
type Coverage struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The amount of instance usage that a reservation covered, in hours.
|
||
CoverageHours *CoverageHours `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s Coverage) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s Coverage) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetCoverageHours sets the CoverageHours field's value.
|
||
func (s *Coverage) SetCoverageHours(v *CoverageHours) *Coverage {
|
||
s.CoverageHours = v
|
||
return s
|
||
}
|
||
|
||
// Reservation coverage for a specified period, in hours.
|
||
type CoverageByTime struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The groups of instances that are covered by a reservation.
|
||
Groups []*ReservationCoverageGroup `type:"list"`
|
||
|
||
// The period over which this coverage was used.
|
||
TimePeriod *DateInterval `type:"structure"`
|
||
|
||
// The total reservation coverage, in hours.
|
||
Total *Coverage `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s CoverageByTime) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s CoverageByTime) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetGroups sets the Groups field's value.
|
||
func (s *CoverageByTime) SetGroups(v []*ReservationCoverageGroup) *CoverageByTime {
|
||
s.Groups = v
|
||
return s
|
||
}
|
||
|
||
// SetTimePeriod sets the TimePeriod field's value.
|
||
func (s *CoverageByTime) SetTimePeriod(v *DateInterval) *CoverageByTime {
|
||
s.TimePeriod = v
|
||
return s
|
||
}
|
||
|
||
// SetTotal sets the Total field's value.
|
||
func (s *CoverageByTime) SetTotal(v *Coverage) *CoverageByTime {
|
||
s.Total = v
|
||
return s
|
||
}
|
||
|
||
// How long a running instance either used a reservation or was On-Demand.
|
||
type CoverageHours struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The percentage of instance hours that are covered by a reservation.
|
||
CoverageHoursPercentage *string `type:"string"`
|
||
|
||
// The number of instance running hours that are covered by On-Demand Instances.
|
||
OnDemandHours *string `type:"string"`
|
||
|
||
// The number of instance running hours that are covered by reservations.
|
||
ReservedHours *string `type:"string"`
|
||
|
||
// The total instance usage, in hours.
|
||
TotalRunningHours *string `type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s CoverageHours) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s CoverageHours) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetCoverageHoursPercentage sets the CoverageHoursPercentage field's value.
|
||
func (s *CoverageHours) SetCoverageHoursPercentage(v string) *CoverageHours {
|
||
s.CoverageHoursPercentage = &v
|
||
return s
|
||
}
|
||
|
||
// SetOnDemandHours sets the OnDemandHours field's value.
|
||
func (s *CoverageHours) SetOnDemandHours(v string) *CoverageHours {
|
||
s.OnDemandHours = &v
|
||
return s
|
||
}
|
||
|
||
// SetReservedHours sets the ReservedHours field's value.
|
||
func (s *CoverageHours) SetReservedHours(v string) *CoverageHours {
|
||
s.ReservedHours = &v
|
||
return s
|
||
}
|
||
|
||
// SetTotalRunningHours sets the TotalRunningHours field's value.
|
||
func (s *CoverageHours) SetTotalRunningHours(v string) *CoverageHours {
|
||
s.TotalRunningHours = &v
|
||
return s
|
||
}
|
||
|
||
// The time period that you want the usage and costs for.
|
||
type DateInterval struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DateInterval) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DateInterval) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *DateInterval) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "DateInterval"}
|
||
if s.End == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("End"))
|
||
}
|
||
if s.Start == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Start"))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetEnd sets the End field's value.
|
||
func (s *DateInterval) SetEnd(v string) *DateInterval {
|
||
s.End = &v
|
||
return s
|
||
}
|
||
|
||
// SetStart sets the Start field's value.
|
||
func (s *DateInterval) SetStart(v string) *DateInterval {
|
||
s.Start = &v
|
||
return s
|
||
}
|
||
|
||
// The metadata that you can use to filter and group your results. You can use
|
||
// GetDimensionValues to find specific values.
|
||
type DimensionValues struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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 *string `type:"string" enum:"Dimension"`
|
||
|
||
// The metadata values that you can use to filter and group your results. You
|
||
// can use GetDimensionValues to find specific values.
|
||
Values []*string `type:"list"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DimensionValues) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DimensionValues) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetKey sets the Key field's value.
|
||
func (s *DimensionValues) SetKey(v string) *DimensionValues {
|
||
s.Key = &v
|
||
return s
|
||
}
|
||
|
||
// SetValues sets the Values field's value.
|
||
func (s *DimensionValues) SetValues(v []*string) *DimensionValues {
|
||
s.Values = v
|
||
return s
|
||
}
|
||
|
||
// The metadata of a specific type that you can use to filter and group your
|
||
// results. You can use GetDimensionValues to find specific values.
|
||
type DimensionValuesWithAttributes struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DimensionValuesWithAttributes) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DimensionValuesWithAttributes) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAttributes sets the Attributes field's value.
|
||
func (s *DimensionValuesWithAttributes) SetAttributes(v map[string]*string) *DimensionValuesWithAttributes {
|
||
s.Attributes = v
|
||
return s
|
||
}
|
||
|
||
// SetValue sets the Value field's value.
|
||
func (s *DimensionValuesWithAttributes) SetValue(v string) *DimensionValuesWithAttributes {
|
||
s.Value = &v
|
||
return s
|
||
}
|
||
|
||
// Details about the EC2 instances that AWS recommends that you purchase.
|
||
type EC2InstanceDetails struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s EC2InstanceDetails) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s EC2InstanceDetails) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAvailabilityZone sets the AvailabilityZone field's value.
|
||
func (s *EC2InstanceDetails) SetAvailabilityZone(v string) *EC2InstanceDetails {
|
||
s.AvailabilityZone = &v
|
||
return s
|
||
}
|
||
|
||
// SetCurrentGeneration sets the CurrentGeneration field's value.
|
||
func (s *EC2InstanceDetails) SetCurrentGeneration(v bool) *EC2InstanceDetails {
|
||
s.CurrentGeneration = &v
|
||
return s
|
||
}
|
||
|
||
// SetFamily sets the Family field's value.
|
||
func (s *EC2InstanceDetails) SetFamily(v string) *EC2InstanceDetails {
|
||
s.Family = &v
|
||
return s
|
||
}
|
||
|
||
// SetInstanceType sets the InstanceType field's value.
|
||
func (s *EC2InstanceDetails) SetInstanceType(v string) *EC2InstanceDetails {
|
||
s.InstanceType = &v
|
||
return s
|
||
}
|
||
|
||
// SetPlatform sets the Platform field's value.
|
||
func (s *EC2InstanceDetails) SetPlatform(v string) *EC2InstanceDetails {
|
||
s.Platform = &v
|
||
return s
|
||
}
|
||
|
||
// SetRegion sets the Region field's value.
|
||
func (s *EC2InstanceDetails) SetRegion(v string) *EC2InstanceDetails {
|
||
s.Region = &v
|
||
return s
|
||
}
|
||
|
||
// SetSizeFlexEligible sets the SizeFlexEligible field's value.
|
||
func (s *EC2InstanceDetails) SetSizeFlexEligible(v bool) *EC2InstanceDetails {
|
||
s.SizeFlexEligible = &v
|
||
return s
|
||
}
|
||
|
||
// SetTenancy sets the Tenancy field's value.
|
||
func (s *EC2InstanceDetails) SetTenancy(v string) *EC2InstanceDetails {
|
||
s.Tenancy = &v
|
||
return s
|
||
}
|
||
|
||
// The EC2 hardware specifications that you want AWS to provide recommendations
|
||
// for.
|
||
type EC2Specification struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Whether you want a recommendation for standard or convertible reservations.
|
||
OfferingClass *string `type:"string" enum:"OfferingClass"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s EC2Specification) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s EC2Specification) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetOfferingClass sets the OfferingClass field's value.
|
||
func (s *EC2Specification) SetOfferingClass(v string) *EC2Specification {
|
||
s.OfferingClass = &v
|
||
return s
|
||
}
|
||
|
||
// 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
|
||
// INSTANCE_TYPE==m4.xlarge OR INSTANCE_TYPE==c4.large. The Expression for
|
||
// that looks like this:
|
||
//
|
||
// { "Dimensions": { "Key": "INSTANCE_TYPE", "Values": [ "m4.xlarge", “c4.large”
|
||
// ] } }
|
||
//
|
||
// 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 ((INSTANCE_TYPE == m4.large OR
|
||
// INSTANCE_TYPE == m3.large) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=
|
||
// DataTransfer). The Expression for that looks like this:
|
||
//
|
||
// { "And": [ {"Or": [ {"Dimensions": { "Key": "INSTANCE_TYPE", "Values": [
|
||
// "m4.x.large", "c4.large" ] }}, {"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" ] } }
|
||
type Expression struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s Expression) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s Expression) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAnd sets the And field's value.
|
||
func (s *Expression) SetAnd(v []*Expression) *Expression {
|
||
s.And = v
|
||
return s
|
||
}
|
||
|
||
// SetDimensions sets the Dimensions field's value.
|
||
func (s *Expression) SetDimensions(v *DimensionValues) *Expression {
|
||
s.Dimensions = v
|
||
return s
|
||
}
|
||
|
||
// SetNot sets the Not field's value.
|
||
func (s *Expression) SetNot(v *Expression) *Expression {
|
||
s.Not = v
|
||
return s
|
||
}
|
||
|
||
// SetOr sets the Or field's value.
|
||
func (s *Expression) SetOr(v []*Expression) *Expression {
|
||
s.Or = v
|
||
return s
|
||
}
|
||
|
||
// SetTags sets the Tags field's value.
|
||
func (s *Expression) SetTags(v *TagValues) *Expression {
|
||
s.Tags = v
|
||
return s
|
||
}
|
||
|
||
type GetCostAndUsageInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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.
|
||
Granularity *string `type:"string" enum:"Granularity"`
|
||
|
||
// 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 BlendedCost, 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 EC2, the results aren't meaningful because 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 *DateInterval `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GetCostAndUsageInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GetCostAndUsageInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *GetCostAndUsageInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "GetCostAndUsageInput"}
|
||
if s.TimePeriod != nil {
|
||
if err := s.TimePeriod.Validate(); err != nil {
|
||
invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetFilter sets the Filter field's value.
|
||
func (s *GetCostAndUsageInput) SetFilter(v *Expression) *GetCostAndUsageInput {
|
||
s.Filter = v
|
||
return s
|
||
}
|
||
|
||
// SetGranularity sets the Granularity field's value.
|
||
func (s *GetCostAndUsageInput) SetGranularity(v string) *GetCostAndUsageInput {
|
||
s.Granularity = &v
|
||
return s
|
||
}
|
||
|
||
// SetGroupBy sets the GroupBy field's value.
|
||
func (s *GetCostAndUsageInput) SetGroupBy(v []*GroupDefinition) *GetCostAndUsageInput {
|
||
s.GroupBy = v
|
||
return s
|
||
}
|
||
|
||
// SetMetrics sets the Metrics field's value.
|
||
func (s *GetCostAndUsageInput) SetMetrics(v []*string) *GetCostAndUsageInput {
|
||
s.Metrics = v
|
||
return s
|
||
}
|
||
|
||
// SetNextPageToken sets the NextPageToken field's value.
|
||
func (s *GetCostAndUsageInput) SetNextPageToken(v string) *GetCostAndUsageInput {
|
||
s.NextPageToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetTimePeriod sets the TimePeriod field's value.
|
||
func (s *GetCostAndUsageInput) SetTimePeriod(v *DateInterval) *GetCostAndUsageInput {
|
||
s.TimePeriod = v
|
||
return s
|
||
}
|
||
|
||
type GetCostAndUsageOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GetCostAndUsageOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GetCostAndUsageOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetGroupDefinitions sets the GroupDefinitions field's value.
|
||
func (s *GetCostAndUsageOutput) SetGroupDefinitions(v []*GroupDefinition) *GetCostAndUsageOutput {
|
||
s.GroupDefinitions = v
|
||
return s
|
||
}
|
||
|
||
// SetNextPageToken sets the NextPageToken field's value.
|
||
func (s *GetCostAndUsageOutput) SetNextPageToken(v string) *GetCostAndUsageOutput {
|
||
s.NextPageToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetResultsByTime sets the ResultsByTime field's value.
|
||
func (s *GetCostAndUsageOutput) SetResultsByTime(v []*ResultByTime) *GetCostAndUsageOutput {
|
||
s.ResultsByTime = v
|
||
return s
|
||
}
|
||
|
||
type GetDimensionValuesInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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 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 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
|
||
// 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 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 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 *string `type:"string" enum:"Context"`
|
||
|
||
// The name of the dimension. Each Dimension is available for different a Context.
|
||
// For more information, see Context.
|
||
//
|
||
// Dimension is a required field
|
||
Dimension *string `type:"string" required:"true" enum:"Dimension"`
|
||
|
||
// 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GetDimensionValuesInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GetDimensionValuesInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *GetDimensionValuesInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "GetDimensionValuesInput"}
|
||
if s.Dimension == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Dimension"))
|
||
}
|
||
if s.TimePeriod == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TimePeriod"))
|
||
}
|
||
if s.TimePeriod != nil {
|
||
if err := s.TimePeriod.Validate(); err != nil {
|
||
invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetContext sets the Context field's value.
|
||
func (s *GetDimensionValuesInput) SetContext(v string) *GetDimensionValuesInput {
|
||
s.Context = &v
|
||
return s
|
||
}
|
||
|
||
// SetDimension sets the Dimension field's value.
|
||
func (s *GetDimensionValuesInput) SetDimension(v string) *GetDimensionValuesInput {
|
||
s.Dimension = &v
|
||
return s
|
||
}
|
||
|
||
// SetNextPageToken sets the NextPageToken field's value.
|
||
func (s *GetDimensionValuesInput) SetNextPageToken(v string) *GetDimensionValuesInput {
|
||
s.NextPageToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetSearchString sets the SearchString field's value.
|
||
func (s *GetDimensionValuesInput) SetSearchString(v string) *GetDimensionValuesInput {
|
||
s.SearchString = &v
|
||
return s
|
||
}
|
||
|
||
// SetTimePeriod sets the TimePeriod field's value.
|
||
func (s *GetDimensionValuesInput) SetTimePeriod(v *DateInterval) *GetDimensionValuesInput {
|
||
s.TimePeriod = v
|
||
return s
|
||
}
|
||
|
||
type GetDimensionValuesOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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 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 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
|
||
// 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 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 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GetDimensionValuesOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GetDimensionValuesOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetDimensionValues sets the DimensionValues field's value.
|
||
func (s *GetDimensionValuesOutput) SetDimensionValues(v []*DimensionValuesWithAttributes) *GetDimensionValuesOutput {
|
||
s.DimensionValues = v
|
||
return s
|
||
}
|
||
|
||
// SetNextPageToken sets the NextPageToken field's value.
|
||
func (s *GetDimensionValuesOutput) SetNextPageToken(v string) *GetDimensionValuesOutput {
|
||
s.NextPageToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetReturnSize sets the ReturnSize field's value.
|
||
func (s *GetDimensionValuesOutput) SetReturnSize(v int64) *GetDimensionValuesOutput {
|
||
s.ReturnSize = &v
|
||
return s
|
||
}
|
||
|
||
// SetTotalSize sets the TotalSize field's value.
|
||
func (s *GetDimensionValuesOutput) SetTotalSize(v int64) *GetDimensionValuesOutput {
|
||
s.TotalSize = &v
|
||
return s
|
||
}
|
||
|
||
// You can use the following request parameters to query for how much of your
|
||
// instance usage is covered by a reservation.
|
||
type GetReservationCoverageInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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.
|
||
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.
|
||
Granularity *string `type:"string" enum:"Granularity"`
|
||
|
||
// You can group the data by the following attributes:
|
||
//
|
||
// * AZ
|
||
//
|
||
// * CACHE_ENGINE
|
||
//
|
||
// * DATABASE_ENGINE
|
||
//
|
||
// * DEPLOYMENT_OPTION
|
||
//
|
||
// * INSTANCE_TYPE
|
||
//
|
||
// * LINKED_ACCOUNT
|
||
//
|
||
// * OPERATING_SYSTEM
|
||
//
|
||
// * PLATFORM
|
||
//
|
||
// * REGION
|
||
//
|
||
// * TAG
|
||
//
|
||
// * TENANCY
|
||
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"`
|
||
|
||
// The start and end dates of the period for which you want to retrieve data
|
||
// about reservation coverage. 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GetReservationCoverageInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GetReservationCoverageInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *GetReservationCoverageInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "GetReservationCoverageInput"}
|
||
if s.TimePeriod == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TimePeriod"))
|
||
}
|
||
if s.TimePeriod != nil {
|
||
if err := s.TimePeriod.Validate(); err != nil {
|
||
invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetFilter sets the Filter field's value.
|
||
func (s *GetReservationCoverageInput) SetFilter(v *Expression) *GetReservationCoverageInput {
|
||
s.Filter = v
|
||
return s
|
||
}
|
||
|
||
// SetGranularity sets the Granularity field's value.
|
||
func (s *GetReservationCoverageInput) SetGranularity(v string) *GetReservationCoverageInput {
|
||
s.Granularity = &v
|
||
return s
|
||
}
|
||
|
||
// SetGroupBy sets the GroupBy field's value.
|
||
func (s *GetReservationCoverageInput) SetGroupBy(v []*GroupDefinition) *GetReservationCoverageInput {
|
||
s.GroupBy = v
|
||
return s
|
||
}
|
||
|
||
// SetNextPageToken sets the NextPageToken field's value.
|
||
func (s *GetReservationCoverageInput) SetNextPageToken(v string) *GetReservationCoverageInput {
|
||
s.NextPageToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetTimePeriod sets the TimePeriod field's value.
|
||
func (s *GetReservationCoverageInput) SetTimePeriod(v *DateInterval) *GetReservationCoverageInput {
|
||
s.TimePeriod = v
|
||
return s
|
||
}
|
||
|
||
type GetReservationCoverageOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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 is covered by a reservation.
|
||
Total *Coverage `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GetReservationCoverageOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GetReservationCoverageOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetCoveragesByTime sets the CoveragesByTime field's value.
|
||
func (s *GetReservationCoverageOutput) SetCoveragesByTime(v []*CoverageByTime) *GetReservationCoverageOutput {
|
||
s.CoveragesByTime = v
|
||
return s
|
||
}
|
||
|
||
// SetNextPageToken sets the NextPageToken field's value.
|
||
func (s *GetReservationCoverageOutput) SetNextPageToken(v string) *GetReservationCoverageOutput {
|
||
s.NextPageToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetTotal sets the Total field's value.
|
||
func (s *GetReservationCoverageOutput) SetTotal(v *Coverage) *GetReservationCoverageOutput {
|
||
s.Total = v
|
||
return s
|
||
}
|
||
|
||
type GetReservationPurchaseRecommendationInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The account ID that is associated with the recommendation.
|
||
AccountId *string `type:"string"`
|
||
|
||
// The account scope that you want recommendations for. The only valid value
|
||
// is Payer. This means that AWS includes the master account and any member
|
||
// accounts when it calculates its recommendations.
|
||
AccountScope *string `type:"string" enum:"AccountScope"`
|
||
|
||
// The number of previous days that you want AWS to consider when it calculates
|
||
// your recommendations.
|
||
LookbackPeriodInDays *string `type:"string" enum:"LookbackPeriodInDays"`
|
||
|
||
// 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 *string `type:"string" enum:"PaymentOption"`
|
||
|
||
// 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 EC2 instances.
|
||
ServiceSpecification *ServiceSpecification `type:"structure"`
|
||
|
||
// The reservation term that you want recommendations for.
|
||
TermInYears *string `type:"string" enum:"TermInYears"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GetReservationPurchaseRecommendationInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GetReservationPurchaseRecommendationInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *GetReservationPurchaseRecommendationInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "GetReservationPurchaseRecommendationInput"}
|
||
if s.Service == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Service"))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetAccountId sets the AccountId field's value.
|
||
func (s *GetReservationPurchaseRecommendationInput) SetAccountId(v string) *GetReservationPurchaseRecommendationInput {
|
||
s.AccountId = &v
|
||
return s
|
||
}
|
||
|
||
// SetAccountScope sets the AccountScope field's value.
|
||
func (s *GetReservationPurchaseRecommendationInput) SetAccountScope(v string) *GetReservationPurchaseRecommendationInput {
|
||
s.AccountScope = &v
|
||
return s
|
||
}
|
||
|
||
// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value.
|
||
func (s *GetReservationPurchaseRecommendationInput) SetLookbackPeriodInDays(v string) *GetReservationPurchaseRecommendationInput {
|
||
s.LookbackPeriodInDays = &v
|
||
return s
|
||
}
|
||
|
||
// SetNextPageToken sets the NextPageToken field's value.
|
||
func (s *GetReservationPurchaseRecommendationInput) SetNextPageToken(v string) *GetReservationPurchaseRecommendationInput {
|
||
s.NextPageToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetPageSize sets the PageSize field's value.
|
||
func (s *GetReservationPurchaseRecommendationInput) SetPageSize(v int64) *GetReservationPurchaseRecommendationInput {
|
||
s.PageSize = &v
|
||
return s
|
||
}
|
||
|
||
// SetPaymentOption sets the PaymentOption field's value.
|
||
func (s *GetReservationPurchaseRecommendationInput) SetPaymentOption(v string) *GetReservationPurchaseRecommendationInput {
|
||
s.PaymentOption = &v
|
||
return s
|
||
}
|
||
|
||
// SetService sets the Service field's value.
|
||
func (s *GetReservationPurchaseRecommendationInput) SetService(v string) *GetReservationPurchaseRecommendationInput {
|
||
s.Service = &v
|
||
return s
|
||
}
|
||
|
||
// SetServiceSpecification sets the ServiceSpecification field's value.
|
||
func (s *GetReservationPurchaseRecommendationInput) SetServiceSpecification(v *ServiceSpecification) *GetReservationPurchaseRecommendationInput {
|
||
s.ServiceSpecification = v
|
||
return s
|
||
}
|
||
|
||
// SetTermInYears sets the TermInYears field's value.
|
||
func (s *GetReservationPurchaseRecommendationInput) SetTermInYears(v string) *GetReservationPurchaseRecommendationInput {
|
||
s.TermInYears = &v
|
||
return s
|
||
}
|
||
|
||
type GetReservationPurchaseRecommendationOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GetReservationPurchaseRecommendationOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GetReservationPurchaseRecommendationOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetMetadata sets the Metadata field's value.
|
||
func (s *GetReservationPurchaseRecommendationOutput) SetMetadata(v *ReservationPurchaseRecommendationMetadata) *GetReservationPurchaseRecommendationOutput {
|
||
s.Metadata = v
|
||
return s
|
||
}
|
||
|
||
// SetNextPageToken sets the NextPageToken field's value.
|
||
func (s *GetReservationPurchaseRecommendationOutput) SetNextPageToken(v string) *GetReservationPurchaseRecommendationOutput {
|
||
s.NextPageToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetRecommendations sets the Recommendations field's value.
|
||
func (s *GetReservationPurchaseRecommendationOutput) SetRecommendations(v []*ReservationPurchaseRecommendation) *GetReservationPurchaseRecommendationOutput {
|
||
s.Recommendations = v
|
||
return s
|
||
}
|
||
|
||
type GetReservationUtilizationInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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.
|
||
Granularity *string `type:"string" enum:"Granularity"`
|
||
|
||
// 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 Reserved Instance (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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GetReservationUtilizationInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GetReservationUtilizationInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *GetReservationUtilizationInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "GetReservationUtilizationInput"}
|
||
if s.TimePeriod == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TimePeriod"))
|
||
}
|
||
if s.TimePeriod != nil {
|
||
if err := s.TimePeriod.Validate(); err != nil {
|
||
invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetFilter sets the Filter field's value.
|
||
func (s *GetReservationUtilizationInput) SetFilter(v *Expression) *GetReservationUtilizationInput {
|
||
s.Filter = v
|
||
return s
|
||
}
|
||
|
||
// SetGranularity sets the Granularity field's value.
|
||
func (s *GetReservationUtilizationInput) SetGranularity(v string) *GetReservationUtilizationInput {
|
||
s.Granularity = &v
|
||
return s
|
||
}
|
||
|
||
// SetGroupBy sets the GroupBy field's value.
|
||
func (s *GetReservationUtilizationInput) SetGroupBy(v []*GroupDefinition) *GetReservationUtilizationInput {
|
||
s.GroupBy = v
|
||
return s
|
||
}
|
||
|
||
// SetNextPageToken sets the NextPageToken field's value.
|
||
func (s *GetReservationUtilizationInput) SetNextPageToken(v string) *GetReservationUtilizationInput {
|
||
s.NextPageToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetTimePeriod sets the TimePeriod field's value.
|
||
func (s *GetReservationUtilizationInput) SetTimePeriod(v *DateInterval) *GetReservationUtilizationInput {
|
||
s.TimePeriod = v
|
||
return s
|
||
}
|
||
|
||
type GetReservationUtilizationOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The token for the next set of retrievable results. AWS provides the token
|
||
// when the response from a previous call has more results than the maximum
|
||
// page size.
|
||
NextPageToken *string `type:"string"`
|
||
|
||
// The total amount of time that you utilized your RIs.
|
||
Total *ReservationAggregates `type:"structure"`
|
||
|
||
// The amount of time that you utilized your RIs.
|
||
//
|
||
// UtilizationsByTime is a required field
|
||
UtilizationsByTime []*UtilizationByTime `type:"list" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GetReservationUtilizationOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GetReservationUtilizationOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetNextPageToken sets the NextPageToken field's value.
|
||
func (s *GetReservationUtilizationOutput) SetNextPageToken(v string) *GetReservationUtilizationOutput {
|
||
s.NextPageToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetTotal sets the Total field's value.
|
||
func (s *GetReservationUtilizationOutput) SetTotal(v *ReservationAggregates) *GetReservationUtilizationOutput {
|
||
s.Total = v
|
||
return s
|
||
}
|
||
|
||
// SetUtilizationsByTime sets the UtilizationsByTime field's value.
|
||
func (s *GetReservationUtilizationOutput) SetUtilizationsByTime(v []*UtilizationByTime) *GetReservationUtilizationOutput {
|
||
s.UtilizationsByTime = v
|
||
return s
|
||
}
|
||
|
||
type GetTagsInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GetTagsInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GetTagsInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *GetTagsInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "GetTagsInput"}
|
||
if s.TimePeriod == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TimePeriod"))
|
||
}
|
||
if s.TimePeriod != nil {
|
||
if err := s.TimePeriod.Validate(); err != nil {
|
||
invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetNextPageToken sets the NextPageToken field's value.
|
||
func (s *GetTagsInput) SetNextPageToken(v string) *GetTagsInput {
|
||
s.NextPageToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetSearchString sets the SearchString field's value.
|
||
func (s *GetTagsInput) SetSearchString(v string) *GetTagsInput {
|
||
s.SearchString = &v
|
||
return s
|
||
}
|
||
|
||
// SetTagKey sets the TagKey field's value.
|
||
func (s *GetTagsInput) SetTagKey(v string) *GetTagsInput {
|
||
s.TagKey = &v
|
||
return s
|
||
}
|
||
|
||
// SetTimePeriod sets the TimePeriod field's value.
|
||
func (s *GetTagsInput) SetTimePeriod(v *DateInterval) *GetTagsInput {
|
||
s.TimePeriod = v
|
||
return s
|
||
}
|
||
|
||
type GetTagsOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The token for the next set of retrievable results. AWS provides the token
|
||
// when the response from a previous call has more results than the maximum
|
||
// page size.
|
||
NextPageToken *string `type:"string"`
|
||
|
||
// 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GetTagsOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GetTagsOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetNextPageToken sets the NextPageToken field's value.
|
||
func (s *GetTagsOutput) SetNextPageToken(v string) *GetTagsOutput {
|
||
s.NextPageToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetReturnSize sets the ReturnSize field's value.
|
||
func (s *GetTagsOutput) SetReturnSize(v int64) *GetTagsOutput {
|
||
s.ReturnSize = &v
|
||
return s
|
||
}
|
||
|
||
// SetTags sets the Tags field's value.
|
||
func (s *GetTagsOutput) SetTags(v []*string) *GetTagsOutput {
|
||
s.Tags = v
|
||
return s
|
||
}
|
||
|
||
// SetTotalSize sets the TotalSize field's value.
|
||
func (s *GetTagsOutput) SetTotalSize(v int64) *GetTagsOutput {
|
||
s.TotalSize = &v
|
||
return s
|
||
}
|
||
|
||
// One level of grouped data within the results.
|
||
type Group struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s Group) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s Group) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetKeys sets the Keys field's value.
|
||
func (s *Group) SetKeys(v []*string) *Group {
|
||
s.Keys = v
|
||
return s
|
||
}
|
||
|
||
// SetMetrics sets the Metrics field's value.
|
||
func (s *Group) SetMetrics(v map[string]*MetricValue) *Group {
|
||
s.Metrics = v
|
||
return s
|
||
}
|
||
|
||
// Represents a group when you specify a group by criteria, or in the response
|
||
// to a query with a specific grouping.
|
||
type GroupDefinition struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The string that represents a key for a specified group.
|
||
Key *string `type:"string"`
|
||
|
||
// The string that represents the type of group.
|
||
Type *string `type:"string" enum:"GroupDefinitionType"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GroupDefinition) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GroupDefinition) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetKey sets the Key field's value.
|
||
func (s *GroupDefinition) SetKey(v string) *GroupDefinition {
|
||
s.Key = &v
|
||
return s
|
||
}
|
||
|
||
// SetType sets the Type field's value.
|
||
func (s *GroupDefinition) SetType(v string) *GroupDefinition {
|
||
s.Type = &v
|
||
return s
|
||
}
|
||
|
||
// Details about the instances that AWS recommends that you purchase.
|
||
type InstanceDetails struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The EC2 instances that AWS recommends that you purchase.
|
||
EC2InstanceDetails *EC2InstanceDetails `type:"structure"`
|
||
|
||
// The RDS instances that AWS recommends that you purchase.
|
||
RDSInstanceDetails *RDSInstanceDetails `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s InstanceDetails) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s InstanceDetails) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetEC2InstanceDetails sets the EC2InstanceDetails field's value.
|
||
func (s *InstanceDetails) SetEC2InstanceDetails(v *EC2InstanceDetails) *InstanceDetails {
|
||
s.EC2InstanceDetails = v
|
||
return s
|
||
}
|
||
|
||
// SetRDSInstanceDetails sets the RDSInstanceDetails field's value.
|
||
func (s *InstanceDetails) SetRDSInstanceDetails(v *RDSInstanceDetails) *InstanceDetails {
|
||
s.RDSInstanceDetails = v
|
||
return s
|
||
}
|
||
|
||
// The aggregated value for a metric.
|
||
type MetricValue struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The actual number that represents the metric.
|
||
Amount *string `type:"string"`
|
||
|
||
// The unit that the metric is given in.
|
||
Unit *string `type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s MetricValue) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s MetricValue) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAmount sets the Amount field's value.
|
||
func (s *MetricValue) SetAmount(v string) *MetricValue {
|
||
s.Amount = &v
|
||
return s
|
||
}
|
||
|
||
// SetUnit sets the Unit field's value.
|
||
func (s *MetricValue) SetUnit(v string) *MetricValue {
|
||
s.Unit = &v
|
||
return s
|
||
}
|
||
|
||
// Details about the RDS instances that AWS recommends that you purchase.
|
||
type RDSInstanceDetails struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Whether the recommendation is for a current generation instance.
|
||
CurrentGeneration *bool `type:"boolean"`
|
||
|
||
// 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s RDSInstanceDetails) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s RDSInstanceDetails) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetCurrentGeneration sets the CurrentGeneration field's value.
|
||
func (s *RDSInstanceDetails) SetCurrentGeneration(v bool) *RDSInstanceDetails {
|
||
s.CurrentGeneration = &v
|
||
return s
|
||
}
|
||
|
||
// SetDatabaseEngine sets the DatabaseEngine field's value.
|
||
func (s *RDSInstanceDetails) SetDatabaseEngine(v string) *RDSInstanceDetails {
|
||
s.DatabaseEngine = &v
|
||
return s
|
||
}
|
||
|
||
// SetDeploymentOption sets the DeploymentOption field's value.
|
||
func (s *RDSInstanceDetails) SetDeploymentOption(v string) *RDSInstanceDetails {
|
||
s.DeploymentOption = &v
|
||
return s
|
||
}
|
||
|
||
// SetFamily sets the Family field's value.
|
||
func (s *RDSInstanceDetails) SetFamily(v string) *RDSInstanceDetails {
|
||
s.Family = &v
|
||
return s
|
||
}
|
||
|
||
// SetInstanceType sets the InstanceType field's value.
|
||
func (s *RDSInstanceDetails) SetInstanceType(v string) *RDSInstanceDetails {
|
||
s.InstanceType = &v
|
||
return s
|
||
}
|
||
|
||
// SetLicenseModel sets the LicenseModel field's value.
|
||
func (s *RDSInstanceDetails) SetLicenseModel(v string) *RDSInstanceDetails {
|
||
s.LicenseModel = &v
|
||
return s
|
||
}
|
||
|
||
// SetRegion sets the Region field's value.
|
||
func (s *RDSInstanceDetails) SetRegion(v string) *RDSInstanceDetails {
|
||
s.Region = &v
|
||
return s
|
||
}
|
||
|
||
// SetSizeFlexEligible sets the SizeFlexEligible field's value.
|
||
func (s *RDSInstanceDetails) SetSizeFlexEligible(v bool) *RDSInstanceDetails {
|
||
s.SizeFlexEligible = &v
|
||
return s
|
||
}
|
||
|
||
// The aggregated numbers for your RI usage.
|
||
type ReservationAggregates struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The monthly cost of your RI, amortized over the RI period.
|
||
AmortizedRecurringFee *string `type:"string"`
|
||
|
||
// The upfront cost of your RI, amortized over the RI period.
|
||
AmortizedUpfrontFee *string `type:"string"`
|
||
|
||
// How much you saved due to purchasing and utilizing RIs. This is calculated
|
||
// by subtracting the TotalAmortizedFee from the OnDemandCostOfRIHoursUsed.
|
||
NetRISavings *string `type:"string"`
|
||
|
||
// How much your RIs would cost if charged On-Demand rates.
|
||
OnDemandCostOfRIHoursUsed *string `type:"string"`
|
||
|
||
// How many RI hours that you purchased.
|
||
PurchasedHours *string `type:"string"`
|
||
|
||
// The total number of RI hours that you used.
|
||
TotalActualHours *string `type:"string"`
|
||
|
||
// The total cost of your RI, amortized over the RI period.
|
||
TotalAmortizedFee *string `type:"string"`
|
||
|
||
// How much you could save if you use your entire reservation.
|
||
TotalPotentialRISavings *string `type:"string"`
|
||
|
||
// The number of RI hours that you didn't use.
|
||
UnusedHours *string `type:"string"`
|
||
|
||
// The percentage of RI time that you used.
|
||
UtilizationPercentage *string `type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ReservationAggregates) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ReservationAggregates) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAmortizedRecurringFee sets the AmortizedRecurringFee field's value.
|
||
func (s *ReservationAggregates) SetAmortizedRecurringFee(v string) *ReservationAggregates {
|
||
s.AmortizedRecurringFee = &v
|
||
return s
|
||
}
|
||
|
||
// SetAmortizedUpfrontFee sets the AmortizedUpfrontFee field's value.
|
||
func (s *ReservationAggregates) SetAmortizedUpfrontFee(v string) *ReservationAggregates {
|
||
s.AmortizedUpfrontFee = &v
|
||
return s
|
||
}
|
||
|
||
// SetNetRISavings sets the NetRISavings field's value.
|
||
func (s *ReservationAggregates) SetNetRISavings(v string) *ReservationAggregates {
|
||
s.NetRISavings = &v
|
||
return s
|
||
}
|
||
|
||
// SetOnDemandCostOfRIHoursUsed sets the OnDemandCostOfRIHoursUsed field's value.
|
||
func (s *ReservationAggregates) SetOnDemandCostOfRIHoursUsed(v string) *ReservationAggregates {
|
||
s.OnDemandCostOfRIHoursUsed = &v
|
||
return s
|
||
}
|
||
|
||
// SetPurchasedHours sets the PurchasedHours field's value.
|
||
func (s *ReservationAggregates) SetPurchasedHours(v string) *ReservationAggregates {
|
||
s.PurchasedHours = &v
|
||
return s
|
||
}
|
||
|
||
// SetTotalActualHours sets the TotalActualHours field's value.
|
||
func (s *ReservationAggregates) SetTotalActualHours(v string) *ReservationAggregates {
|
||
s.TotalActualHours = &v
|
||
return s
|
||
}
|
||
|
||
// SetTotalAmortizedFee sets the TotalAmortizedFee field's value.
|
||
func (s *ReservationAggregates) SetTotalAmortizedFee(v string) *ReservationAggregates {
|
||
s.TotalAmortizedFee = &v
|
||
return s
|
||
}
|
||
|
||
// SetTotalPotentialRISavings sets the TotalPotentialRISavings field's value.
|
||
func (s *ReservationAggregates) SetTotalPotentialRISavings(v string) *ReservationAggregates {
|
||
s.TotalPotentialRISavings = &v
|
||
return s
|
||
}
|
||
|
||
// SetUnusedHours sets the UnusedHours field's value.
|
||
func (s *ReservationAggregates) SetUnusedHours(v string) *ReservationAggregates {
|
||
s.UnusedHours = &v
|
||
return s
|
||
}
|
||
|
||
// SetUtilizationPercentage sets the UtilizationPercentage field's value.
|
||
func (s *ReservationAggregates) SetUtilizationPercentage(v string) *ReservationAggregates {
|
||
s.UtilizationPercentage = &v
|
||
return s
|
||
}
|
||
|
||
// A group of reservations that share a set of attributes.
|
||
type ReservationCoverageGroup struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ReservationCoverageGroup) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ReservationCoverageGroup) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAttributes sets the Attributes field's value.
|
||
func (s *ReservationCoverageGroup) SetAttributes(v map[string]*string) *ReservationCoverageGroup {
|
||
s.Attributes = v
|
||
return s
|
||
}
|
||
|
||
// SetCoverage sets the Coverage field's value.
|
||
func (s *ReservationCoverageGroup) SetCoverage(v *Coverage) *ReservationCoverageGroup {
|
||
s.Coverage = v
|
||
return s
|
||
}
|
||
|
||
// A specific reservation that AWS recommends for purchase.
|
||
type ReservationPurchaseRecommendation struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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 *string `type:"string" enum:"AccountScope"`
|
||
|
||
// How many days of previous usage that AWS takes into consideration when making
|
||
// this recommendation.
|
||
LookbackPeriodInDays *string `type:"string" enum:"LookbackPeriodInDays"`
|
||
|
||
// The payment option for the reservation. For example, AllUpfront or NoUpfront.
|
||
PaymentOption *string `type:"string" enum:"PaymentOption"`
|
||
|
||
// 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 *string `type:"string" enum:"TermInYears"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ReservationPurchaseRecommendation) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ReservationPurchaseRecommendation) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAccountScope sets the AccountScope field's value.
|
||
func (s *ReservationPurchaseRecommendation) SetAccountScope(v string) *ReservationPurchaseRecommendation {
|
||
s.AccountScope = &v
|
||
return s
|
||
}
|
||
|
||
// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value.
|
||
func (s *ReservationPurchaseRecommendation) SetLookbackPeriodInDays(v string) *ReservationPurchaseRecommendation {
|
||
s.LookbackPeriodInDays = &v
|
||
return s
|
||
}
|
||
|
||
// SetPaymentOption sets the PaymentOption field's value.
|
||
func (s *ReservationPurchaseRecommendation) SetPaymentOption(v string) *ReservationPurchaseRecommendation {
|
||
s.PaymentOption = &v
|
||
return s
|
||
}
|
||
|
||
// SetRecommendationDetails sets the RecommendationDetails field's value.
|
||
func (s *ReservationPurchaseRecommendation) SetRecommendationDetails(v []*ReservationPurchaseRecommendationDetail) *ReservationPurchaseRecommendation {
|
||
s.RecommendationDetails = v
|
||
return s
|
||
}
|
||
|
||
// SetRecommendationSummary sets the RecommendationSummary field's value.
|
||
func (s *ReservationPurchaseRecommendation) SetRecommendationSummary(v *ReservationPurchaseRecommendationSummary) *ReservationPurchaseRecommendation {
|
||
s.RecommendationSummary = v
|
||
return s
|
||
}
|
||
|
||
// SetServiceSpecification sets the ServiceSpecification field's value.
|
||
func (s *ReservationPurchaseRecommendation) SetServiceSpecification(v *ServiceSpecification) *ReservationPurchaseRecommendation {
|
||
s.ServiceSpecification = v
|
||
return s
|
||
}
|
||
|
||
// SetTermInYears sets the TermInYears field's value.
|
||
func (s *ReservationPurchaseRecommendation) SetTermInYears(v string) *ReservationPurchaseRecommendation {
|
||
s.TermInYears = &v
|
||
return s
|
||
}
|
||
|
||
// Details about your recommended reservation purchase.
|
||
type ReservationPurchaseRecommendationDetail struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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 hours 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ReservationPurchaseRecommendationDetail) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ReservationPurchaseRecommendationDetail) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAverageNormalizedUnitsUsedPerHour sets the AverageNormalizedUnitsUsedPerHour field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetAverageNormalizedUnitsUsedPerHour(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.AverageNormalizedUnitsUsedPerHour = &v
|
||
return s
|
||
}
|
||
|
||
// SetAverageNumberOfInstancesUsedPerHour sets the AverageNumberOfInstancesUsedPerHour field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetAverageNumberOfInstancesUsedPerHour(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.AverageNumberOfInstancesUsedPerHour = &v
|
||
return s
|
||
}
|
||
|
||
// SetAverageUtilization sets the AverageUtilization field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetAverageUtilization(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.AverageUtilization = &v
|
||
return s
|
||
}
|
||
|
||
// SetCurrencyCode sets the CurrencyCode field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetCurrencyCode(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.CurrencyCode = &v
|
||
return s
|
||
}
|
||
|
||
// SetEstimatedBreakEvenInMonths sets the EstimatedBreakEvenInMonths field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetEstimatedBreakEvenInMonths(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.EstimatedBreakEvenInMonths = &v
|
||
return s
|
||
}
|
||
|
||
// SetEstimatedMonthlyOnDemandCost sets the EstimatedMonthlyOnDemandCost field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetEstimatedMonthlyOnDemandCost(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.EstimatedMonthlyOnDemandCost = &v
|
||
return s
|
||
}
|
||
|
||
// SetEstimatedMonthlySavingsAmount sets the EstimatedMonthlySavingsAmount field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetEstimatedMonthlySavingsAmount(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.EstimatedMonthlySavingsAmount = &v
|
||
return s
|
||
}
|
||
|
||
// SetEstimatedMonthlySavingsPercentage sets the EstimatedMonthlySavingsPercentage field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetEstimatedMonthlySavingsPercentage(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.EstimatedMonthlySavingsPercentage = &v
|
||
return s
|
||
}
|
||
|
||
// SetEstimatedReservationCostForLookbackPeriod sets the EstimatedReservationCostForLookbackPeriod field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetEstimatedReservationCostForLookbackPeriod(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.EstimatedReservationCostForLookbackPeriod = &v
|
||
return s
|
||
}
|
||
|
||
// SetInstanceDetails sets the InstanceDetails field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetInstanceDetails(v *InstanceDetails) *ReservationPurchaseRecommendationDetail {
|
||
s.InstanceDetails = v
|
||
return s
|
||
}
|
||
|
||
// SetMaximumNormalizedUnitsUsedPerHour sets the MaximumNormalizedUnitsUsedPerHour field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetMaximumNormalizedUnitsUsedPerHour(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.MaximumNormalizedUnitsUsedPerHour = &v
|
||
return s
|
||
}
|
||
|
||
// SetMaximumNumberOfInstancesUsedPerHour sets the MaximumNumberOfInstancesUsedPerHour field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetMaximumNumberOfInstancesUsedPerHour(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.MaximumNumberOfInstancesUsedPerHour = &v
|
||
return s
|
||
}
|
||
|
||
// SetMinimumNormalizedUnitsUsedPerHour sets the MinimumNormalizedUnitsUsedPerHour field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetMinimumNormalizedUnitsUsedPerHour(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.MinimumNormalizedUnitsUsedPerHour = &v
|
||
return s
|
||
}
|
||
|
||
// SetMinimumNumberOfInstancesUsedPerHour sets the MinimumNumberOfInstancesUsedPerHour field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetMinimumNumberOfInstancesUsedPerHour(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.MinimumNumberOfInstancesUsedPerHour = &v
|
||
return s
|
||
}
|
||
|
||
// SetRecommendedNormalizedUnitsToPurchase sets the RecommendedNormalizedUnitsToPurchase field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetRecommendedNormalizedUnitsToPurchase(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.RecommendedNormalizedUnitsToPurchase = &v
|
||
return s
|
||
}
|
||
|
||
// SetRecommendedNumberOfInstancesToPurchase sets the RecommendedNumberOfInstancesToPurchase field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetRecommendedNumberOfInstancesToPurchase(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.RecommendedNumberOfInstancesToPurchase = &v
|
||
return s
|
||
}
|
||
|
||
// SetRecurringStandardMonthlyCost sets the RecurringStandardMonthlyCost field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetRecurringStandardMonthlyCost(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.RecurringStandardMonthlyCost = &v
|
||
return s
|
||
}
|
||
|
||
// SetUpfrontCost sets the UpfrontCost field's value.
|
||
func (s *ReservationPurchaseRecommendationDetail) SetUpfrontCost(v string) *ReservationPurchaseRecommendationDetail {
|
||
s.UpfrontCost = &v
|
||
return s
|
||
}
|
||
|
||
// Information about this specific recommendation, such as the time stamp for
|
||
// when AWS made a specific recommendation.
|
||
type ReservationPurchaseRecommendationMetadata struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The time stamp for when AWS made this recommendation.
|
||
GenerationTimestamp *string `type:"string"`
|
||
|
||
// The ID for this specific recommendation.
|
||
RecommendationId *string `type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ReservationPurchaseRecommendationMetadata) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ReservationPurchaseRecommendationMetadata) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetGenerationTimestamp sets the GenerationTimestamp field's value.
|
||
func (s *ReservationPurchaseRecommendationMetadata) SetGenerationTimestamp(v string) *ReservationPurchaseRecommendationMetadata {
|
||
s.GenerationTimestamp = &v
|
||
return s
|
||
}
|
||
|
||
// SetRecommendationId sets the RecommendationId field's value.
|
||
func (s *ReservationPurchaseRecommendationMetadata) SetRecommendationId(v string) *ReservationPurchaseRecommendationMetadata {
|
||
s.RecommendationId = &v
|
||
return s
|
||
}
|
||
|
||
// A summary about this recommendation, such as the currency code, the amount
|
||
// that AWS estimates you could save, and the total amount of reservation to
|
||
// purchase.
|
||
type ReservationPurchaseRecommendationSummary struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// 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"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ReservationPurchaseRecommendationSummary) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ReservationPurchaseRecommendationSummary) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetCurrencyCode sets the CurrencyCode field's value.
|
||
func (s *ReservationPurchaseRecommendationSummary) SetCurrencyCode(v string) *ReservationPurchaseRecommendationSummary {
|
||
s.CurrencyCode = &v
|
||
return s
|
||
}
|
||
|
||
// SetTotalEstimatedMonthlySavingsAmount sets the TotalEstimatedMonthlySavingsAmount field's value.
|
||
func (s *ReservationPurchaseRecommendationSummary) SetTotalEstimatedMonthlySavingsAmount(v string) *ReservationPurchaseRecommendationSummary {
|
||
s.TotalEstimatedMonthlySavingsAmount = &v
|
||
return s
|
||
}
|
||
|
||
// SetTotalEstimatedMonthlySavingsPercentage sets the TotalEstimatedMonthlySavingsPercentage field's value.
|
||
func (s *ReservationPurchaseRecommendationSummary) SetTotalEstimatedMonthlySavingsPercentage(v string) *ReservationPurchaseRecommendationSummary {
|
||
s.TotalEstimatedMonthlySavingsPercentage = &v
|
||
return s
|
||
}
|
||
|
||
// A group of RIs that share a set of attributes.
|
||
type ReservationUtilizationGroup struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The attributes for this group of RIs.
|
||
Attributes map[string]*string `type:"map"`
|
||
|
||
// The key for a specific RI attribute.
|
||
Key *string `type:"string"`
|
||
|
||
// How much you used this group of RIs.
|
||
Utilization *ReservationAggregates `type:"structure"`
|
||
|
||
// The value of a specific RI attribute.
|
||
Value *string `type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ReservationUtilizationGroup) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ReservationUtilizationGroup) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAttributes sets the Attributes field's value.
|
||
func (s *ReservationUtilizationGroup) SetAttributes(v map[string]*string) *ReservationUtilizationGroup {
|
||
s.Attributes = v
|
||
return s
|
||
}
|
||
|
||
// SetKey sets the Key field's value.
|
||
func (s *ReservationUtilizationGroup) SetKey(v string) *ReservationUtilizationGroup {
|
||
s.Key = &v
|
||
return s
|
||
}
|
||
|
||
// SetUtilization sets the Utilization field's value.
|
||
func (s *ReservationUtilizationGroup) SetUtilization(v *ReservationAggregates) *ReservationUtilizationGroup {
|
||
s.Utilization = v
|
||
return s
|
||
}
|
||
|
||
// SetValue sets the Value field's value.
|
||
func (s *ReservationUtilizationGroup) SetValue(v string) *ReservationUtilizationGroup {
|
||
s.Value = &v
|
||
return s
|
||
}
|
||
|
||
// The result that is associated with a time period.
|
||
type ResultByTime struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Whether this result is estimated.
|
||
Estimated *bool `type:"boolean"`
|
||
|
||
// The groups that are included in this time period.
|
||
Groups []*Group `type:"list"`
|
||
|
||
// The time period covered by a result.
|
||
TimePeriod *DateInterval `type:"structure"`
|
||
|
||
// The total amount of cost or usage accrued during the time period.
|
||
Total map[string]*MetricValue `type:"map"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ResultByTime) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ResultByTime) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetEstimated sets the Estimated field's value.
|
||
func (s *ResultByTime) SetEstimated(v bool) *ResultByTime {
|
||
s.Estimated = &v
|
||
return s
|
||
}
|
||
|
||
// SetGroups sets the Groups field's value.
|
||
func (s *ResultByTime) SetGroups(v []*Group) *ResultByTime {
|
||
s.Groups = v
|
||
return s
|
||
}
|
||
|
||
// SetTimePeriod sets the TimePeriod field's value.
|
||
func (s *ResultByTime) SetTimePeriod(v *DateInterval) *ResultByTime {
|
||
s.TimePeriod = v
|
||
return s
|
||
}
|
||
|
||
// SetTotal sets the Total field's value.
|
||
func (s *ResultByTime) SetTotal(v map[string]*MetricValue) *ResultByTime {
|
||
s.Total = v
|
||
return s
|
||
}
|
||
|
||
// Hardware specifications for the service that you want recommendations for.
|
||
type ServiceSpecification struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The EC2 hardware specifications that you want AWS to provide recommendations
|
||
// for.
|
||
EC2Specification *EC2Specification `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ServiceSpecification) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ServiceSpecification) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetEC2Specification sets the EC2Specification field's value.
|
||
func (s *ServiceSpecification) SetEC2Specification(v *EC2Specification) *ServiceSpecification {
|
||
s.EC2Specification = v
|
||
return s
|
||
}
|
||
|
||
// The values that are available for a tag.
|
||
type TagValues struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The key for a tag.
|
||
Key *string `type:"string"`
|
||
|
||
// The specific value of a tag.
|
||
Values []*string `type:"list"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s TagValues) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s TagValues) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetKey sets the Key field's value.
|
||
func (s *TagValues) SetKey(v string) *TagValues {
|
||
s.Key = &v
|
||
return s
|
||
}
|
||
|
||
// SetValues sets the Values field's value.
|
||
func (s *TagValues) SetValues(v []*string) *TagValues {
|
||
s.Values = v
|
||
return s
|
||
}
|
||
|
||
// The amount of utilization, in hours.
|
||
type UtilizationByTime struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The groups that are included in this utilization result.
|
||
Groups []*ReservationUtilizationGroup `type:"list"`
|
||
|
||
// The period of time over which this utilization was used.
|
||
TimePeriod *DateInterval `type:"structure"`
|
||
|
||
// The total number of RI hours that were used.
|
||
Total *ReservationAggregates `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UtilizationByTime) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UtilizationByTime) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetGroups sets the Groups field's value.
|
||
func (s *UtilizationByTime) SetGroups(v []*ReservationUtilizationGroup) *UtilizationByTime {
|
||
s.Groups = v
|
||
return s
|
||
}
|
||
|
||
// SetTimePeriod sets the TimePeriod field's value.
|
||
func (s *UtilizationByTime) SetTimePeriod(v *DateInterval) *UtilizationByTime {
|
||
s.TimePeriod = v
|
||
return s
|
||
}
|
||
|
||
// SetTotal sets the Total field's value.
|
||
func (s *UtilizationByTime) SetTotal(v *ReservationAggregates) *UtilizationByTime {
|
||
s.Total = v
|
||
return s
|
||
}
|
||
|
||
const (
|
||
// AccountScopePayer is a AccountScope enum value
|
||
AccountScopePayer = "PAYER"
|
||
)
|
||
|
||
const (
|
||
// ContextCostAndUsage is a Context enum value
|
||
ContextCostAndUsage = "COST_AND_USAGE"
|
||
|
||
// ContextReservations is a Context enum value
|
||
ContextReservations = "RESERVATIONS"
|
||
)
|
||
|
||
const (
|
||
// DimensionAz is a Dimension enum value
|
||
DimensionAz = "AZ"
|
||
|
||
// DimensionInstanceType is a Dimension enum value
|
||
DimensionInstanceType = "INSTANCE_TYPE"
|
||
|
||
// DimensionLinkedAccount is a Dimension enum value
|
||
DimensionLinkedAccount = "LINKED_ACCOUNT"
|
||
|
||
// DimensionOperation is a Dimension enum value
|
||
DimensionOperation = "OPERATION"
|
||
|
||
// DimensionPurchaseType is a Dimension enum value
|
||
DimensionPurchaseType = "PURCHASE_TYPE"
|
||
|
||
// DimensionRegion is a Dimension enum value
|
||
DimensionRegion = "REGION"
|
||
|
||
// DimensionService is a Dimension enum value
|
||
DimensionService = "SERVICE"
|
||
|
||
// DimensionUsageType is a Dimension enum value
|
||
DimensionUsageType = "USAGE_TYPE"
|
||
|
||
// DimensionUsageTypeGroup is a Dimension enum value
|
||
DimensionUsageTypeGroup = "USAGE_TYPE_GROUP"
|
||
|
||
// DimensionRecordType is a Dimension enum value
|
||
DimensionRecordType = "RECORD_TYPE"
|
||
|
||
// DimensionOperatingSystem is a Dimension enum value
|
||
DimensionOperatingSystem = "OPERATING_SYSTEM"
|
||
|
||
// DimensionTenancy is a Dimension enum value
|
||
DimensionTenancy = "TENANCY"
|
||
|
||
// DimensionScope is a Dimension enum value
|
||
DimensionScope = "SCOPE"
|
||
|
||
// DimensionPlatform is a Dimension enum value
|
||
DimensionPlatform = "PLATFORM"
|
||
|
||
// DimensionSubscriptionId is a Dimension enum value
|
||
DimensionSubscriptionId = "SUBSCRIPTION_ID"
|
||
|
||
// DimensionLegalEntityName is a Dimension enum value
|
||
DimensionLegalEntityName = "LEGAL_ENTITY_NAME"
|
||
|
||
// DimensionDeploymentOption is a Dimension enum value
|
||
DimensionDeploymentOption = "DEPLOYMENT_OPTION"
|
||
|
||
// DimensionDatabaseEngine is a Dimension enum value
|
||
DimensionDatabaseEngine = "DATABASE_ENGINE"
|
||
|
||
// DimensionCacheEngine is a Dimension enum value
|
||
DimensionCacheEngine = "CACHE_ENGINE"
|
||
|
||
// DimensionInstanceTypeFamily is a Dimension enum value
|
||
DimensionInstanceTypeFamily = "INSTANCE_TYPE_FAMILY"
|
||
)
|
||
|
||
const (
|
||
// GranularityDaily is a Granularity enum value
|
||
GranularityDaily = "DAILY"
|
||
|
||
// GranularityMonthly is a Granularity enum value
|
||
GranularityMonthly = "MONTHLY"
|
||
)
|
||
|
||
const (
|
||
// GroupDefinitionTypeDimension is a GroupDefinitionType enum value
|
||
GroupDefinitionTypeDimension = "DIMENSION"
|
||
|
||
// GroupDefinitionTypeTag is a GroupDefinitionType enum value
|
||
GroupDefinitionTypeTag = "TAG"
|
||
)
|
||
|
||
const (
|
||
// LookbackPeriodInDaysSevenDays is a LookbackPeriodInDays enum value
|
||
LookbackPeriodInDaysSevenDays = "SEVEN_DAYS"
|
||
|
||
// LookbackPeriodInDaysThirtyDays is a LookbackPeriodInDays enum value
|
||
LookbackPeriodInDaysThirtyDays = "THIRTY_DAYS"
|
||
|
||
// LookbackPeriodInDaysSixtyDays is a LookbackPeriodInDays enum value
|
||
LookbackPeriodInDaysSixtyDays = "SIXTY_DAYS"
|
||
)
|
||
|
||
const (
|
||
// OfferingClassStandard is a OfferingClass enum value
|
||
OfferingClassStandard = "STANDARD"
|
||
|
||
// OfferingClassConvertible is a OfferingClass enum value
|
||
OfferingClassConvertible = "CONVERTIBLE"
|
||
)
|
||
|
||
const (
|
||
// PaymentOptionNoUpfront is a PaymentOption enum value
|
||
PaymentOptionNoUpfront = "NO_UPFRONT"
|
||
|
||
// PaymentOptionPartialUpfront is a PaymentOption enum value
|
||
PaymentOptionPartialUpfront = "PARTIAL_UPFRONT"
|
||
|
||
// PaymentOptionAllUpfront is a PaymentOption enum value
|
||
PaymentOptionAllUpfront = "ALL_UPFRONT"
|
||
)
|
||
|
||
const (
|
||
// TermInYearsOneYear is a TermInYears enum value
|
||
TermInYearsOneYear = "ONE_YEAR"
|
||
|
||
// TermInYearsThreeYears is a TermInYears enum value
|
||
TermInYearsThreeYears = "THREE_YEARS"
|
||
)
|