File: //opt/go/pkg/mod/github.com/aws/
[email protected]/service/computeoptimizer/api.go
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package computeoptimizer
import (
"fmt"
"time"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/private/protocol"
"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
)
const opDeleteRecommendationPreferences = "DeleteRecommendationPreferences"
// DeleteRecommendationPreferencesRequest generates a "aws/request.Request" representing the
// client's request for the DeleteRecommendationPreferences operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 DeleteRecommendationPreferences for more information on using the DeleteRecommendationPreferences
// 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 DeleteRecommendationPreferencesRequest method.
// req, resp := client.DeleteRecommendationPreferencesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DeleteRecommendationPreferences
func (c *ComputeOptimizer) DeleteRecommendationPreferencesRequest(input *DeleteRecommendationPreferencesInput) (req *request.Request, output *DeleteRecommendationPreferencesOutput) {
op := &request.Operation{
Name: opDeleteRecommendationPreferences,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteRecommendationPreferencesInput{}
}
output = &DeleteRecommendationPreferencesOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteRecommendationPreferences API operation for AWS Compute Optimizer.
//
// Deletes a recommendation preference, such as enhanced infrastructure metrics.
//
// For more information, see Activating enhanced infrastructure metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
// in the Compute Optimizer User Guide.
//
// 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 Compute Optimizer's
// API operation DeleteRecommendationPreferences for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - ResourceNotFoundException
// A resource that is required for the action doesn't exist.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DeleteRecommendationPreferences
func (c *ComputeOptimizer) DeleteRecommendationPreferences(input *DeleteRecommendationPreferencesInput) (*DeleteRecommendationPreferencesOutput, error) {
req, out := c.DeleteRecommendationPreferencesRequest(input)
return out, req.Send()
}
// DeleteRecommendationPreferencesWithContext is the same as DeleteRecommendationPreferences with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteRecommendationPreferences 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 *ComputeOptimizer) DeleteRecommendationPreferencesWithContext(ctx aws.Context, input *DeleteRecommendationPreferencesInput, opts ...request.Option) (*DeleteRecommendationPreferencesOutput, error) {
req, out := c.DeleteRecommendationPreferencesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeRecommendationExportJobs = "DescribeRecommendationExportJobs"
// DescribeRecommendationExportJobsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeRecommendationExportJobs operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 DescribeRecommendationExportJobs for more information on using the DescribeRecommendationExportJobs
// 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 DescribeRecommendationExportJobsRequest method.
// req, resp := client.DescribeRecommendationExportJobsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DescribeRecommendationExportJobs
func (c *ComputeOptimizer) DescribeRecommendationExportJobsRequest(input *DescribeRecommendationExportJobsInput) (req *request.Request, output *DescribeRecommendationExportJobsOutput) {
op := &request.Operation{
Name: opDescribeRecommendationExportJobs,
HTTPMethod: "POST",
HTTPPath: "/",
Paginator: &request.Paginator{
InputTokens: []string{"nextToken"},
OutputTokens: []string{"nextToken"},
LimitToken: "maxResults",
TruncationToken: "",
},
}
if input == nil {
input = &DescribeRecommendationExportJobsInput{}
}
output = &DescribeRecommendationExportJobsOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeRecommendationExportJobs API operation for AWS Compute Optimizer.
//
// Describes recommendation export jobs created in the last seven days.
//
// Use the ExportAutoScalingGroupRecommendations or ExportEC2InstanceRecommendations
// actions to request an export of your recommendations. Then use the DescribeRecommendationExportJobs
// action to view your export jobs.
//
// 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 Compute Optimizer's
// API operation DescribeRecommendationExportJobs for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - ResourceNotFoundException
// A resource that is required for the action doesn't exist.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DescribeRecommendationExportJobs
func (c *ComputeOptimizer) DescribeRecommendationExportJobs(input *DescribeRecommendationExportJobsInput) (*DescribeRecommendationExportJobsOutput, error) {
req, out := c.DescribeRecommendationExportJobsRequest(input)
return out, req.Send()
}
// DescribeRecommendationExportJobsWithContext is the same as DescribeRecommendationExportJobs with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeRecommendationExportJobs 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 *ComputeOptimizer) DescribeRecommendationExportJobsWithContext(ctx aws.Context, input *DescribeRecommendationExportJobsInput, opts ...request.Option) (*DescribeRecommendationExportJobsOutput, error) {
req, out := c.DescribeRecommendationExportJobsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// DescribeRecommendationExportJobsPages iterates over the pages of a DescribeRecommendationExportJobs operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See DescribeRecommendationExportJobs method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a DescribeRecommendationExportJobs operation.
// pageNum := 0
// err := client.DescribeRecommendationExportJobsPages(params,
// func(page *computeoptimizer.DescribeRecommendationExportJobsOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *ComputeOptimizer) DescribeRecommendationExportJobsPages(input *DescribeRecommendationExportJobsInput, fn func(*DescribeRecommendationExportJobsOutput, bool) bool) error {
return c.DescribeRecommendationExportJobsPagesWithContext(aws.BackgroundContext(), input, fn)
}
// DescribeRecommendationExportJobsPagesWithContext same as DescribeRecommendationExportJobsPages except
// it takes a Context and allows setting request options on the pages.
//
// 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 *ComputeOptimizer) DescribeRecommendationExportJobsPagesWithContext(ctx aws.Context, input *DescribeRecommendationExportJobsInput, fn func(*DescribeRecommendationExportJobsOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *DescribeRecommendationExportJobsInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.DescribeRecommendationExportJobsRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*DescribeRecommendationExportJobsOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opExportAutoScalingGroupRecommendations = "ExportAutoScalingGroupRecommendations"
// ExportAutoScalingGroupRecommendationsRequest generates a "aws/request.Request" representing the
// client's request for the ExportAutoScalingGroupRecommendations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ExportAutoScalingGroupRecommendations for more information on using the ExportAutoScalingGroupRecommendations
// 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 ExportAutoScalingGroupRecommendationsRequest method.
// req, resp := client.ExportAutoScalingGroupRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportAutoScalingGroupRecommendations
func (c *ComputeOptimizer) ExportAutoScalingGroupRecommendationsRequest(input *ExportAutoScalingGroupRecommendationsInput) (req *request.Request, output *ExportAutoScalingGroupRecommendationsOutput) {
op := &request.Operation{
Name: opExportAutoScalingGroupRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ExportAutoScalingGroupRecommendationsInput{}
}
output = &ExportAutoScalingGroupRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
// ExportAutoScalingGroupRecommendations API operation for AWS Compute Optimizer.
//
// Exports optimization recommendations for Auto Scaling groups.
//
// Recommendations are exported in a comma-separated values (.csv) file, and
// its metadata in a JavaScript Object Notation (JSON) (.json) file, to an existing
// Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more
// information, see Exporting Recommendations (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html)
// in the Compute Optimizer User Guide.
//
// You can have only one Auto Scaling group export job in progress per Amazon
// Web Services Region.
//
// 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 Compute Optimizer's
// API operation ExportAutoScalingGroupRecommendations for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// - LimitExceededException
// The request exceeds a limit of the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportAutoScalingGroupRecommendations
func (c *ComputeOptimizer) ExportAutoScalingGroupRecommendations(input *ExportAutoScalingGroupRecommendationsInput) (*ExportAutoScalingGroupRecommendationsOutput, error) {
req, out := c.ExportAutoScalingGroupRecommendationsRequest(input)
return out, req.Send()
}
// ExportAutoScalingGroupRecommendationsWithContext is the same as ExportAutoScalingGroupRecommendations with the addition of
// the ability to pass a context and additional request options.
//
// See ExportAutoScalingGroupRecommendations 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 *ComputeOptimizer) ExportAutoScalingGroupRecommendationsWithContext(ctx aws.Context, input *ExportAutoScalingGroupRecommendationsInput, opts ...request.Option) (*ExportAutoScalingGroupRecommendationsOutput, error) {
req, out := c.ExportAutoScalingGroupRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opExportEBSVolumeRecommendations = "ExportEBSVolumeRecommendations"
// ExportEBSVolumeRecommendationsRequest generates a "aws/request.Request" representing the
// client's request for the ExportEBSVolumeRecommendations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ExportEBSVolumeRecommendations for more information on using the ExportEBSVolumeRecommendations
// 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 ExportEBSVolumeRecommendationsRequest method.
// req, resp := client.ExportEBSVolumeRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEBSVolumeRecommendations
func (c *ComputeOptimizer) ExportEBSVolumeRecommendationsRequest(input *ExportEBSVolumeRecommendationsInput) (req *request.Request, output *ExportEBSVolumeRecommendationsOutput) {
op := &request.Operation{
Name: opExportEBSVolumeRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ExportEBSVolumeRecommendationsInput{}
}
output = &ExportEBSVolumeRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
// ExportEBSVolumeRecommendations API operation for AWS Compute Optimizer.
//
// Exports optimization recommendations for Amazon EBS volumes.
//
// Recommendations are exported in a comma-separated values (.csv) file, and
// its metadata in a JavaScript Object Notation (JSON) (.json) file, to an existing
// Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more
// information, see Exporting Recommendations (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html)
// in the Compute Optimizer User Guide.
//
// You can have only one Amazon EBS volume export job in progress per Amazon
// Web Services Region.
//
// 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 Compute Optimizer's
// API operation ExportEBSVolumeRecommendations for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// - LimitExceededException
// The request exceeds a limit of the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEBSVolumeRecommendations
func (c *ComputeOptimizer) ExportEBSVolumeRecommendations(input *ExportEBSVolumeRecommendationsInput) (*ExportEBSVolumeRecommendationsOutput, error) {
req, out := c.ExportEBSVolumeRecommendationsRequest(input)
return out, req.Send()
}
// ExportEBSVolumeRecommendationsWithContext is the same as ExportEBSVolumeRecommendations with the addition of
// the ability to pass a context and additional request options.
//
// See ExportEBSVolumeRecommendations 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 *ComputeOptimizer) ExportEBSVolumeRecommendationsWithContext(ctx aws.Context, input *ExportEBSVolumeRecommendationsInput, opts ...request.Option) (*ExportEBSVolumeRecommendationsOutput, error) {
req, out := c.ExportEBSVolumeRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opExportEC2InstanceRecommendations = "ExportEC2InstanceRecommendations"
// ExportEC2InstanceRecommendationsRequest generates a "aws/request.Request" representing the
// client's request for the ExportEC2InstanceRecommendations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ExportEC2InstanceRecommendations for more information on using the ExportEC2InstanceRecommendations
// 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 ExportEC2InstanceRecommendationsRequest method.
// req, resp := client.ExportEC2InstanceRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendations
func (c *ComputeOptimizer) ExportEC2InstanceRecommendationsRequest(input *ExportEC2InstanceRecommendationsInput) (req *request.Request, output *ExportEC2InstanceRecommendationsOutput) {
op := &request.Operation{
Name: opExportEC2InstanceRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ExportEC2InstanceRecommendationsInput{}
}
output = &ExportEC2InstanceRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
// ExportEC2InstanceRecommendations API operation for AWS Compute Optimizer.
//
// Exports optimization recommendations for Amazon EC2 instances.
//
// Recommendations are exported in a comma-separated values (.csv) file, and
// its metadata in a JavaScript Object Notation (JSON) (.json) file, to an existing
// Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more
// information, see Exporting Recommendations (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html)
// in the Compute Optimizer User Guide.
//
// You can have only one Amazon EC2 instance export job in progress per Amazon
// Web Services Region.
//
// 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 Compute Optimizer's
// API operation ExportEC2InstanceRecommendations for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// - LimitExceededException
// The request exceeds a limit of the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendations
func (c *ComputeOptimizer) ExportEC2InstanceRecommendations(input *ExportEC2InstanceRecommendationsInput) (*ExportEC2InstanceRecommendationsOutput, error) {
req, out := c.ExportEC2InstanceRecommendationsRequest(input)
return out, req.Send()
}
// ExportEC2InstanceRecommendationsWithContext is the same as ExportEC2InstanceRecommendations with the addition of
// the ability to pass a context and additional request options.
//
// See ExportEC2InstanceRecommendations 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 *ComputeOptimizer) ExportEC2InstanceRecommendationsWithContext(ctx aws.Context, input *ExportEC2InstanceRecommendationsInput, opts ...request.Option) (*ExportEC2InstanceRecommendationsOutput, error) {
req, out := c.ExportEC2InstanceRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opExportECSServiceRecommendations = "ExportECSServiceRecommendations"
// ExportECSServiceRecommendationsRequest generates a "aws/request.Request" representing the
// client's request for the ExportECSServiceRecommendations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ExportECSServiceRecommendations for more information on using the ExportECSServiceRecommendations
// 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 ExportECSServiceRecommendationsRequest method.
// req, resp := client.ExportECSServiceRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportECSServiceRecommendations
func (c *ComputeOptimizer) ExportECSServiceRecommendationsRequest(input *ExportECSServiceRecommendationsInput) (req *request.Request, output *ExportECSServiceRecommendationsOutput) {
op := &request.Operation{
Name: opExportECSServiceRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ExportECSServiceRecommendationsInput{}
}
output = &ExportECSServiceRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
// ExportECSServiceRecommendations API operation for AWS Compute Optimizer.
//
// Exports optimization recommendations for Amazon ECS services on Fargate.
//
// Recommendations are exported in a CSV file, and its metadata in a JSON file,
// to an existing Amazon Simple Storage Service (Amazon S3) bucket that you
// specify. For more information, see Exporting Recommendations (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html)
// in the Compute Optimizer User Guide.
//
// You can only have one Amazon ECS service export job in progress per Amazon
// Web Services Region.
//
// 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 Compute Optimizer's
// API operation ExportECSServiceRecommendations for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// - LimitExceededException
// The request exceeds a limit of the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportECSServiceRecommendations
func (c *ComputeOptimizer) ExportECSServiceRecommendations(input *ExportECSServiceRecommendationsInput) (*ExportECSServiceRecommendationsOutput, error) {
req, out := c.ExportECSServiceRecommendationsRequest(input)
return out, req.Send()
}
// ExportECSServiceRecommendationsWithContext is the same as ExportECSServiceRecommendations with the addition of
// the ability to pass a context and additional request options.
//
// See ExportECSServiceRecommendations 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 *ComputeOptimizer) ExportECSServiceRecommendationsWithContext(ctx aws.Context, input *ExportECSServiceRecommendationsInput, opts ...request.Option) (*ExportECSServiceRecommendationsOutput, error) {
req, out := c.ExportECSServiceRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opExportLambdaFunctionRecommendations = "ExportLambdaFunctionRecommendations"
// ExportLambdaFunctionRecommendationsRequest generates a "aws/request.Request" representing the
// client's request for the ExportLambdaFunctionRecommendations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ExportLambdaFunctionRecommendations for more information on using the ExportLambdaFunctionRecommendations
// 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 ExportLambdaFunctionRecommendationsRequest method.
// req, resp := client.ExportLambdaFunctionRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLambdaFunctionRecommendations
func (c *ComputeOptimizer) ExportLambdaFunctionRecommendationsRequest(input *ExportLambdaFunctionRecommendationsInput) (req *request.Request, output *ExportLambdaFunctionRecommendationsOutput) {
op := &request.Operation{
Name: opExportLambdaFunctionRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ExportLambdaFunctionRecommendationsInput{}
}
output = &ExportLambdaFunctionRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
// ExportLambdaFunctionRecommendations API operation for AWS Compute Optimizer.
//
// Exports optimization recommendations for Lambda functions.
//
// Recommendations are exported in a comma-separated values (.csv) file, and
// its metadata in a JavaScript Object Notation (JSON) (.json) file, to an existing
// Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more
// information, see Exporting Recommendations (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html)
// in the Compute Optimizer User Guide.
//
// You can have only one Lambda function export job in progress per Amazon Web
// Services Region.
//
// 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 Compute Optimizer's
// API operation ExportLambdaFunctionRecommendations for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// - LimitExceededException
// The request exceeds a limit of the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLambdaFunctionRecommendations
func (c *ComputeOptimizer) ExportLambdaFunctionRecommendations(input *ExportLambdaFunctionRecommendationsInput) (*ExportLambdaFunctionRecommendationsOutput, error) {
req, out := c.ExportLambdaFunctionRecommendationsRequest(input)
return out, req.Send()
}
// ExportLambdaFunctionRecommendationsWithContext is the same as ExportLambdaFunctionRecommendations with the addition of
// the ability to pass a context and additional request options.
//
// See ExportLambdaFunctionRecommendations 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 *ComputeOptimizer) ExportLambdaFunctionRecommendationsWithContext(ctx aws.Context, input *ExportLambdaFunctionRecommendationsInput, opts ...request.Option) (*ExportLambdaFunctionRecommendationsOutput, error) {
req, out := c.ExportLambdaFunctionRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opExportLicenseRecommendations = "ExportLicenseRecommendations"
// ExportLicenseRecommendationsRequest generates a "aws/request.Request" representing the
// client's request for the ExportLicenseRecommendations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ExportLicenseRecommendations for more information on using the ExportLicenseRecommendations
// 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 ExportLicenseRecommendationsRequest method.
// req, resp := client.ExportLicenseRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLicenseRecommendations
func (c *ComputeOptimizer) ExportLicenseRecommendationsRequest(input *ExportLicenseRecommendationsInput) (req *request.Request, output *ExportLicenseRecommendationsOutput) {
op := &request.Operation{
Name: opExportLicenseRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ExportLicenseRecommendationsInput{}
}
output = &ExportLicenseRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
// ExportLicenseRecommendations API operation for AWS Compute Optimizer.
//
// Export optimization recommendations for your licenses.
//
// Recommendations are exported in a comma-separated values (CSV) file, and
// its metadata in a JavaScript Object Notation (JSON) file, to an existing
// Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more
// information, see Exporting Recommendations (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html)
// in the Compute Optimizer User Guide.
//
// You can have only one license export job in progress per Amazon Web Services
// Region.
//
// 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 Compute Optimizer's
// API operation ExportLicenseRecommendations for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// - LimitExceededException
// The request exceeds a limit of the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLicenseRecommendations
func (c *ComputeOptimizer) ExportLicenseRecommendations(input *ExportLicenseRecommendationsInput) (*ExportLicenseRecommendationsOutput, error) {
req, out := c.ExportLicenseRecommendationsRequest(input)
return out, req.Send()
}
// ExportLicenseRecommendationsWithContext is the same as ExportLicenseRecommendations with the addition of
// the ability to pass a context and additional request options.
//
// See ExportLicenseRecommendations 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 *ComputeOptimizer) ExportLicenseRecommendationsWithContext(ctx aws.Context, input *ExportLicenseRecommendationsInput, opts ...request.Option) (*ExportLicenseRecommendationsOutput, error) {
req, out := c.ExportLicenseRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opExportRDSDatabaseRecommendations = "ExportRDSDatabaseRecommendations"
// ExportRDSDatabaseRecommendationsRequest generates a "aws/request.Request" representing the
// client's request for the ExportRDSDatabaseRecommendations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ExportRDSDatabaseRecommendations for more information on using the ExportRDSDatabaseRecommendations
// 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 ExportRDSDatabaseRecommendationsRequest method.
// req, resp := client.ExportRDSDatabaseRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportRDSDatabaseRecommendations
func (c *ComputeOptimizer) ExportRDSDatabaseRecommendationsRequest(input *ExportRDSDatabaseRecommendationsInput) (req *request.Request, output *ExportRDSDatabaseRecommendationsOutput) {
op := &request.Operation{
Name: opExportRDSDatabaseRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ExportRDSDatabaseRecommendationsInput{}
}
output = &ExportRDSDatabaseRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
// ExportRDSDatabaseRecommendations API operation for AWS Compute Optimizer.
//
// Export optimization recommendations for your Amazon Relational Database Service
// (Amazon RDS).
//
// Recommendations are exported in a comma-separated values (CSV) file, and
// its metadata in a JavaScript Object Notation (JSON) file, to an existing
// Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more
// information, see Exporting Recommendations (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html)
// in the Compute Optimizer User Guide.
//
// You can have only one Amazon RDS export job in progress per Amazon Web Services
// Region.
//
// 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 Compute Optimizer's
// API operation ExportRDSDatabaseRecommendations for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// - LimitExceededException
// The request exceeds a limit of the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportRDSDatabaseRecommendations
func (c *ComputeOptimizer) ExportRDSDatabaseRecommendations(input *ExportRDSDatabaseRecommendationsInput) (*ExportRDSDatabaseRecommendationsOutput, error) {
req, out := c.ExportRDSDatabaseRecommendationsRequest(input)
return out, req.Send()
}
// ExportRDSDatabaseRecommendationsWithContext is the same as ExportRDSDatabaseRecommendations with the addition of
// the ability to pass a context and additional request options.
//
// See ExportRDSDatabaseRecommendations 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 *ComputeOptimizer) ExportRDSDatabaseRecommendationsWithContext(ctx aws.Context, input *ExportRDSDatabaseRecommendationsInput, opts ...request.Option) (*ExportRDSDatabaseRecommendationsOutput, error) {
req, out := c.ExportRDSDatabaseRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetAutoScalingGroupRecommendations = "GetAutoScalingGroupRecommendations"
// GetAutoScalingGroupRecommendationsRequest generates a "aws/request.Request" representing the
// client's request for the GetAutoScalingGroupRecommendations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetAutoScalingGroupRecommendations for more information on using the GetAutoScalingGroupRecommendations
// 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 GetAutoScalingGroupRecommendationsRequest method.
// req, resp := client.GetAutoScalingGroupRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetAutoScalingGroupRecommendations
func (c *ComputeOptimizer) GetAutoScalingGroupRecommendationsRequest(input *GetAutoScalingGroupRecommendationsInput) (req *request.Request, output *GetAutoScalingGroupRecommendationsOutput) {
op := &request.Operation{
Name: opGetAutoScalingGroupRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetAutoScalingGroupRecommendationsInput{}
}
output = &GetAutoScalingGroupRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
// GetAutoScalingGroupRecommendations API operation for AWS Compute Optimizer.
//
// Returns Auto Scaling group recommendations.
//
// Compute Optimizer generates recommendations for Amazon EC2 Auto Scaling groups
// that meet a specific set of requirements. For more information, see the Supported
// resources and requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html)
// in the Compute Optimizer User Guide.
//
// 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 Compute Optimizer's
// API operation GetAutoScalingGroupRecommendations for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - ResourceNotFoundException
// A resource that is required for the action doesn't exist.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetAutoScalingGroupRecommendations
func (c *ComputeOptimizer) GetAutoScalingGroupRecommendations(input *GetAutoScalingGroupRecommendationsInput) (*GetAutoScalingGroupRecommendationsOutput, error) {
req, out := c.GetAutoScalingGroupRecommendationsRequest(input)
return out, req.Send()
}
// GetAutoScalingGroupRecommendationsWithContext is the same as GetAutoScalingGroupRecommendations with the addition of
// the ability to pass a context and additional request options.
//
// See GetAutoScalingGroupRecommendations 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 *ComputeOptimizer) GetAutoScalingGroupRecommendationsWithContext(ctx aws.Context, input *GetAutoScalingGroupRecommendationsInput, opts ...request.Option) (*GetAutoScalingGroupRecommendationsOutput, error) {
req, out := c.GetAutoScalingGroupRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetEBSVolumeRecommendations = "GetEBSVolumeRecommendations"
// GetEBSVolumeRecommendationsRequest generates a "aws/request.Request" representing the
// client's request for the GetEBSVolumeRecommendations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetEBSVolumeRecommendations for more information on using the GetEBSVolumeRecommendations
// 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 GetEBSVolumeRecommendationsRequest method.
// req, resp := client.GetEBSVolumeRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEBSVolumeRecommendations
func (c *ComputeOptimizer) GetEBSVolumeRecommendationsRequest(input *GetEBSVolumeRecommendationsInput) (req *request.Request, output *GetEBSVolumeRecommendationsOutput) {
op := &request.Operation{
Name: opGetEBSVolumeRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetEBSVolumeRecommendationsInput{}
}
output = &GetEBSVolumeRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
// GetEBSVolumeRecommendations API operation for AWS Compute Optimizer.
//
// Returns Amazon Elastic Block Store (Amazon EBS) volume recommendations.
//
// Compute Optimizer generates recommendations for Amazon EBS volumes that meet
// a specific set of requirements. For more information, see the Supported resources
// and requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html)
// in the Compute Optimizer User Guide.
//
// 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 Compute Optimizer's
// API operation GetEBSVolumeRecommendations for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - ResourceNotFoundException
// A resource that is required for the action doesn't exist.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEBSVolumeRecommendations
func (c *ComputeOptimizer) GetEBSVolumeRecommendations(input *GetEBSVolumeRecommendationsInput) (*GetEBSVolumeRecommendationsOutput, error) {
req, out := c.GetEBSVolumeRecommendationsRequest(input)
return out, req.Send()
}
// GetEBSVolumeRecommendationsWithContext is the same as GetEBSVolumeRecommendations with the addition of
// the ability to pass a context and additional request options.
//
// See GetEBSVolumeRecommendations 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 *ComputeOptimizer) GetEBSVolumeRecommendationsWithContext(ctx aws.Context, input *GetEBSVolumeRecommendationsInput, opts ...request.Option) (*GetEBSVolumeRecommendationsOutput, error) {
req, out := c.GetEBSVolumeRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetEC2InstanceRecommendations = "GetEC2InstanceRecommendations"
// GetEC2InstanceRecommendationsRequest generates a "aws/request.Request" representing the
// client's request for the GetEC2InstanceRecommendations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetEC2InstanceRecommendations for more information on using the GetEC2InstanceRecommendations
// 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 GetEC2InstanceRecommendationsRequest method.
// req, resp := client.GetEC2InstanceRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2InstanceRecommendations
func (c *ComputeOptimizer) GetEC2InstanceRecommendationsRequest(input *GetEC2InstanceRecommendationsInput) (req *request.Request, output *GetEC2InstanceRecommendationsOutput) {
op := &request.Operation{
Name: opGetEC2InstanceRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetEC2InstanceRecommendationsInput{}
}
output = &GetEC2InstanceRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
// GetEC2InstanceRecommendations API operation for AWS Compute Optimizer.
//
// Returns Amazon EC2 instance recommendations.
//
// Compute Optimizer generates recommendations for Amazon Elastic Compute Cloud
// (Amazon EC2) instances that meet a specific set of requirements. For more
// information, see the Supported resources and requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html)
// in the Compute Optimizer User Guide.
//
// 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 Compute Optimizer's
// API operation GetEC2InstanceRecommendations for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - ResourceNotFoundException
// A resource that is required for the action doesn't exist.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2InstanceRecommendations
func (c *ComputeOptimizer) GetEC2InstanceRecommendations(input *GetEC2InstanceRecommendationsInput) (*GetEC2InstanceRecommendationsOutput, error) {
req, out := c.GetEC2InstanceRecommendationsRequest(input)
return out, req.Send()
}
// GetEC2InstanceRecommendationsWithContext is the same as GetEC2InstanceRecommendations with the addition of
// the ability to pass a context and additional request options.
//
// See GetEC2InstanceRecommendations 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 *ComputeOptimizer) GetEC2InstanceRecommendationsWithContext(ctx aws.Context, input *GetEC2InstanceRecommendationsInput, opts ...request.Option) (*GetEC2InstanceRecommendationsOutput, error) {
req, out := c.GetEC2InstanceRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetEC2RecommendationProjectedMetrics = "GetEC2RecommendationProjectedMetrics"
// GetEC2RecommendationProjectedMetricsRequest generates a "aws/request.Request" representing the
// client's request for the GetEC2RecommendationProjectedMetrics operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetEC2RecommendationProjectedMetrics for more information on using the GetEC2RecommendationProjectedMetrics
// 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 GetEC2RecommendationProjectedMetricsRequest method.
// req, resp := client.GetEC2RecommendationProjectedMetricsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2RecommendationProjectedMetrics
func (c *ComputeOptimizer) GetEC2RecommendationProjectedMetricsRequest(input *GetEC2RecommendationProjectedMetricsInput) (req *request.Request, output *GetEC2RecommendationProjectedMetricsOutput) {
op := &request.Operation{
Name: opGetEC2RecommendationProjectedMetrics,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetEC2RecommendationProjectedMetricsInput{}
}
output = &GetEC2RecommendationProjectedMetricsOutput{}
req = c.newRequest(op, input, output)
return
}
// GetEC2RecommendationProjectedMetrics API operation for AWS Compute Optimizer.
//
// Returns the projected utilization metrics of Amazon EC2 instance recommendations.
//
// The Cpu and Memory metrics are the only projected utilization metrics returned
// when you run this action. Additionally, the Memory metric is returned only
// for resources that have the unified CloudWatch agent installed on them. For
// more information, see Enabling Memory Utilization with the CloudWatch Agent
// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent).
//
// 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 Compute Optimizer's
// API operation GetEC2RecommendationProjectedMetrics for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - ResourceNotFoundException
// A resource that is required for the action doesn't exist.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2RecommendationProjectedMetrics
func (c *ComputeOptimizer) GetEC2RecommendationProjectedMetrics(input *GetEC2RecommendationProjectedMetricsInput) (*GetEC2RecommendationProjectedMetricsOutput, error) {
req, out := c.GetEC2RecommendationProjectedMetricsRequest(input)
return out, req.Send()
}
// GetEC2RecommendationProjectedMetricsWithContext is the same as GetEC2RecommendationProjectedMetrics with the addition of
// the ability to pass a context and additional request options.
//
// See GetEC2RecommendationProjectedMetrics 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 *ComputeOptimizer) GetEC2RecommendationProjectedMetricsWithContext(ctx aws.Context, input *GetEC2RecommendationProjectedMetricsInput, opts ...request.Option) (*GetEC2RecommendationProjectedMetricsOutput, error) {
req, out := c.GetEC2RecommendationProjectedMetricsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetECSServiceRecommendationProjectedMetrics = "GetECSServiceRecommendationProjectedMetrics"
// GetECSServiceRecommendationProjectedMetricsRequest generates a "aws/request.Request" representing the
// client's request for the GetECSServiceRecommendationProjectedMetrics operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetECSServiceRecommendationProjectedMetrics for more information on using the GetECSServiceRecommendationProjectedMetrics
// 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 GetECSServiceRecommendationProjectedMetricsRequest method.
// req, resp := client.GetECSServiceRecommendationProjectedMetricsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetECSServiceRecommendationProjectedMetrics
func (c *ComputeOptimizer) GetECSServiceRecommendationProjectedMetricsRequest(input *GetECSServiceRecommendationProjectedMetricsInput) (req *request.Request, output *GetECSServiceRecommendationProjectedMetricsOutput) {
op := &request.Operation{
Name: opGetECSServiceRecommendationProjectedMetrics,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetECSServiceRecommendationProjectedMetricsInput{}
}
output = &GetECSServiceRecommendationProjectedMetricsOutput{}
req = c.newRequest(op, input, output)
return
}
// GetECSServiceRecommendationProjectedMetrics API operation for AWS Compute Optimizer.
//
// Returns the projected metrics of Amazon ECS service recommendations.
//
// 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 Compute Optimizer's
// API operation GetECSServiceRecommendationProjectedMetrics for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - ResourceNotFoundException
// A resource that is required for the action doesn't exist.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetECSServiceRecommendationProjectedMetrics
func (c *ComputeOptimizer) GetECSServiceRecommendationProjectedMetrics(input *GetECSServiceRecommendationProjectedMetricsInput) (*GetECSServiceRecommendationProjectedMetricsOutput, error) {
req, out := c.GetECSServiceRecommendationProjectedMetricsRequest(input)
return out, req.Send()
}
// GetECSServiceRecommendationProjectedMetricsWithContext is the same as GetECSServiceRecommendationProjectedMetrics with the addition of
// the ability to pass a context and additional request options.
//
// See GetECSServiceRecommendationProjectedMetrics 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 *ComputeOptimizer) GetECSServiceRecommendationProjectedMetricsWithContext(ctx aws.Context, input *GetECSServiceRecommendationProjectedMetricsInput, opts ...request.Option) (*GetECSServiceRecommendationProjectedMetricsOutput, error) {
req, out := c.GetECSServiceRecommendationProjectedMetricsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetECSServiceRecommendations = "GetECSServiceRecommendations"
// GetECSServiceRecommendationsRequest generates a "aws/request.Request" representing the
// client's request for the GetECSServiceRecommendations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetECSServiceRecommendations for more information on using the GetECSServiceRecommendations
// 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 GetECSServiceRecommendationsRequest method.
// req, resp := client.GetECSServiceRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetECSServiceRecommendations
func (c *ComputeOptimizer) GetECSServiceRecommendationsRequest(input *GetECSServiceRecommendationsInput) (req *request.Request, output *GetECSServiceRecommendationsOutput) {
op := &request.Operation{
Name: opGetECSServiceRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetECSServiceRecommendationsInput{}
}
output = &GetECSServiceRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
// GetECSServiceRecommendations API operation for AWS Compute Optimizer.
//
// Returns Amazon ECS service recommendations.
//
// Compute Optimizer generates recommendations for Amazon ECS services on Fargate
// that meet a specific set of requirements. For more information, see the Supported
// resources and requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html)
// in the Compute Optimizer User Guide.
//
// 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 Compute Optimizer's
// API operation GetECSServiceRecommendations for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - ResourceNotFoundException
// A resource that is required for the action doesn't exist.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetECSServiceRecommendations
func (c *ComputeOptimizer) GetECSServiceRecommendations(input *GetECSServiceRecommendationsInput) (*GetECSServiceRecommendationsOutput, error) {
req, out := c.GetECSServiceRecommendationsRequest(input)
return out, req.Send()
}
// GetECSServiceRecommendationsWithContext is the same as GetECSServiceRecommendations with the addition of
// the ability to pass a context and additional request options.
//
// See GetECSServiceRecommendations 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 *ComputeOptimizer) GetECSServiceRecommendationsWithContext(ctx aws.Context, input *GetECSServiceRecommendationsInput, opts ...request.Option) (*GetECSServiceRecommendationsOutput, error) {
req, out := c.GetECSServiceRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetEffectiveRecommendationPreferences = "GetEffectiveRecommendationPreferences"
// GetEffectiveRecommendationPreferencesRequest generates a "aws/request.Request" representing the
// client's request for the GetEffectiveRecommendationPreferences operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetEffectiveRecommendationPreferences for more information on using the GetEffectiveRecommendationPreferences
// 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 GetEffectiveRecommendationPreferencesRequest method.
// req, resp := client.GetEffectiveRecommendationPreferencesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEffectiveRecommendationPreferences
func (c *ComputeOptimizer) GetEffectiveRecommendationPreferencesRequest(input *GetEffectiveRecommendationPreferencesInput) (req *request.Request, output *GetEffectiveRecommendationPreferencesOutput) {
op := &request.Operation{
Name: opGetEffectiveRecommendationPreferences,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetEffectiveRecommendationPreferencesInput{}
}
output = &GetEffectiveRecommendationPreferencesOutput{}
req = c.newRequest(op, input, output)
return
}
// GetEffectiveRecommendationPreferences API operation for AWS Compute Optimizer.
//
// Returns the recommendation preferences that are in effect for a given resource,
// such as enhanced infrastructure metrics. Considers all applicable preferences
// that you might have set at the resource, account, and organization level.
//
// When you create a recommendation preference, you can set its status to Active
// or Inactive. Use this action to view the recommendation preferences that
// are in effect, or Active.
//
// 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 Compute Optimizer's
// API operation GetEffectiveRecommendationPreferences for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - ResourceNotFoundException
// A resource that is required for the action doesn't exist.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEffectiveRecommendationPreferences
func (c *ComputeOptimizer) GetEffectiveRecommendationPreferences(input *GetEffectiveRecommendationPreferencesInput) (*GetEffectiveRecommendationPreferencesOutput, error) {
req, out := c.GetEffectiveRecommendationPreferencesRequest(input)
return out, req.Send()
}
// GetEffectiveRecommendationPreferencesWithContext is the same as GetEffectiveRecommendationPreferences with the addition of
// the ability to pass a context and additional request options.
//
// See GetEffectiveRecommendationPreferences 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 *ComputeOptimizer) GetEffectiveRecommendationPreferencesWithContext(ctx aws.Context, input *GetEffectiveRecommendationPreferencesInput, opts ...request.Option) (*GetEffectiveRecommendationPreferencesOutput, error) {
req, out := c.GetEffectiveRecommendationPreferencesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetEnrollmentStatus = "GetEnrollmentStatus"
// GetEnrollmentStatusRequest generates a "aws/request.Request" representing the
// client's request for the GetEnrollmentStatus operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetEnrollmentStatus for more information on using the GetEnrollmentStatus
// 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 GetEnrollmentStatusRequest method.
// req, resp := client.GetEnrollmentStatusRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatus
func (c *ComputeOptimizer) GetEnrollmentStatusRequest(input *GetEnrollmentStatusInput) (req *request.Request, output *GetEnrollmentStatusOutput) {
op := &request.Operation{
Name: opGetEnrollmentStatus,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetEnrollmentStatusInput{}
}
output = &GetEnrollmentStatusOutput{}
req = c.newRequest(op, input, output)
return
}
// GetEnrollmentStatus API operation for AWS Compute Optimizer.
//
// Returns the enrollment (opt in) status of an account to the Compute Optimizer
// service.
//
// If the account is the management account of an organization, this action
// also confirms the enrollment status of member accounts of the organization.
// Use the GetEnrollmentStatusesForOrganization action to get detailed information
// about the enrollment status of member accounts of an organization.
//
// 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 Compute Optimizer's
// API operation GetEnrollmentStatus for usage and error information.
//
// Returned Error Types:
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatus
func (c *ComputeOptimizer) GetEnrollmentStatus(input *GetEnrollmentStatusInput) (*GetEnrollmentStatusOutput, error) {
req, out := c.GetEnrollmentStatusRequest(input)
return out, req.Send()
}
// GetEnrollmentStatusWithContext is the same as GetEnrollmentStatus with the addition of
// the ability to pass a context and additional request options.
//
// See GetEnrollmentStatus 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 *ComputeOptimizer) GetEnrollmentStatusWithContext(ctx aws.Context, input *GetEnrollmentStatusInput, opts ...request.Option) (*GetEnrollmentStatusOutput, error) {
req, out := c.GetEnrollmentStatusRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetEnrollmentStatusesForOrganization = "GetEnrollmentStatusesForOrganization"
// GetEnrollmentStatusesForOrganizationRequest generates a "aws/request.Request" representing the
// client's request for the GetEnrollmentStatusesForOrganization operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetEnrollmentStatusesForOrganization for more information on using the GetEnrollmentStatusesForOrganization
// 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 GetEnrollmentStatusesForOrganizationRequest method.
// req, resp := client.GetEnrollmentStatusesForOrganizationRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatusesForOrganization
func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganizationRequest(input *GetEnrollmentStatusesForOrganizationInput) (req *request.Request, output *GetEnrollmentStatusesForOrganizationOutput) {
op := &request.Operation{
Name: opGetEnrollmentStatusesForOrganization,
HTTPMethod: "POST",
HTTPPath: "/",
Paginator: &request.Paginator{
InputTokens: []string{"nextToken"},
OutputTokens: []string{"nextToken"},
LimitToken: "maxResults",
TruncationToken: "",
},
}
if input == nil {
input = &GetEnrollmentStatusesForOrganizationInput{}
}
output = &GetEnrollmentStatusesForOrganizationOutput{}
req = c.newRequest(op, input, output)
return
}
// GetEnrollmentStatusesForOrganization API operation for AWS Compute Optimizer.
//
// Returns the Compute Optimizer enrollment (opt-in) status of organization
// member accounts, if your account is an organization management account.
//
// To get the enrollment status of standalone accounts, use the GetEnrollmentStatus
// action.
//
// 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 Compute Optimizer's
// API operation GetEnrollmentStatusesForOrganization for usage and error information.
//
// Returned Error Types:
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatusesForOrganization
func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganization(input *GetEnrollmentStatusesForOrganizationInput) (*GetEnrollmentStatusesForOrganizationOutput, error) {
req, out := c.GetEnrollmentStatusesForOrganizationRequest(input)
return out, req.Send()
}
// GetEnrollmentStatusesForOrganizationWithContext is the same as GetEnrollmentStatusesForOrganization with the addition of
// the ability to pass a context and additional request options.
//
// See GetEnrollmentStatusesForOrganization 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 *ComputeOptimizer) GetEnrollmentStatusesForOrganizationWithContext(ctx aws.Context, input *GetEnrollmentStatusesForOrganizationInput, opts ...request.Option) (*GetEnrollmentStatusesForOrganizationOutput, error) {
req, out := c.GetEnrollmentStatusesForOrganizationRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// GetEnrollmentStatusesForOrganizationPages iterates over the pages of a GetEnrollmentStatusesForOrganization operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See GetEnrollmentStatusesForOrganization method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a GetEnrollmentStatusesForOrganization operation.
// pageNum := 0
// err := client.GetEnrollmentStatusesForOrganizationPages(params,
// func(page *computeoptimizer.GetEnrollmentStatusesForOrganizationOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganizationPages(input *GetEnrollmentStatusesForOrganizationInput, fn func(*GetEnrollmentStatusesForOrganizationOutput, bool) bool) error {
return c.GetEnrollmentStatusesForOrganizationPagesWithContext(aws.BackgroundContext(), input, fn)
}
// GetEnrollmentStatusesForOrganizationPagesWithContext same as GetEnrollmentStatusesForOrganizationPages except
// it takes a Context and allows setting request options on the pages.
//
// 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 *ComputeOptimizer) GetEnrollmentStatusesForOrganizationPagesWithContext(ctx aws.Context, input *GetEnrollmentStatusesForOrganizationInput, fn func(*GetEnrollmentStatusesForOrganizationOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *GetEnrollmentStatusesForOrganizationInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.GetEnrollmentStatusesForOrganizationRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*GetEnrollmentStatusesForOrganizationOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opGetLambdaFunctionRecommendations = "GetLambdaFunctionRecommendations"
// GetLambdaFunctionRecommendationsRequest generates a "aws/request.Request" representing the
// client's request for the GetLambdaFunctionRecommendations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetLambdaFunctionRecommendations for more information on using the GetLambdaFunctionRecommendations
// 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 GetLambdaFunctionRecommendationsRequest method.
// req, resp := client.GetLambdaFunctionRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLambdaFunctionRecommendations
func (c *ComputeOptimizer) GetLambdaFunctionRecommendationsRequest(input *GetLambdaFunctionRecommendationsInput) (req *request.Request, output *GetLambdaFunctionRecommendationsOutput) {
op := &request.Operation{
Name: opGetLambdaFunctionRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
Paginator: &request.Paginator{
InputTokens: []string{"nextToken"},
OutputTokens: []string{"nextToken"},
LimitToken: "maxResults",
TruncationToken: "",
},
}
if input == nil {
input = &GetLambdaFunctionRecommendationsInput{}
}
output = &GetLambdaFunctionRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
// GetLambdaFunctionRecommendations API operation for AWS Compute Optimizer.
//
// Returns Lambda function recommendations.
//
// Compute Optimizer generates recommendations for functions that meet a specific
// set of requirements. For more information, see the Supported resources and
// requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html)
// in the Compute Optimizer User Guide.
//
// 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 Compute Optimizer's
// API operation GetLambdaFunctionRecommendations for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// - LimitExceededException
// The request exceeds a limit of the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLambdaFunctionRecommendations
func (c *ComputeOptimizer) GetLambdaFunctionRecommendations(input *GetLambdaFunctionRecommendationsInput) (*GetLambdaFunctionRecommendationsOutput, error) {
req, out := c.GetLambdaFunctionRecommendationsRequest(input)
return out, req.Send()
}
// GetLambdaFunctionRecommendationsWithContext is the same as GetLambdaFunctionRecommendations with the addition of
// the ability to pass a context and additional request options.
//
// See GetLambdaFunctionRecommendations 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 *ComputeOptimizer) GetLambdaFunctionRecommendationsWithContext(ctx aws.Context, input *GetLambdaFunctionRecommendationsInput, opts ...request.Option) (*GetLambdaFunctionRecommendationsOutput, error) {
req, out := c.GetLambdaFunctionRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// GetLambdaFunctionRecommendationsPages iterates over the pages of a GetLambdaFunctionRecommendations operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See GetLambdaFunctionRecommendations method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a GetLambdaFunctionRecommendations operation.
// pageNum := 0
// err := client.GetLambdaFunctionRecommendationsPages(params,
// func(page *computeoptimizer.GetLambdaFunctionRecommendationsOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *ComputeOptimizer) GetLambdaFunctionRecommendationsPages(input *GetLambdaFunctionRecommendationsInput, fn func(*GetLambdaFunctionRecommendationsOutput, bool) bool) error {
return c.GetLambdaFunctionRecommendationsPagesWithContext(aws.BackgroundContext(), input, fn)
}
// GetLambdaFunctionRecommendationsPagesWithContext same as GetLambdaFunctionRecommendationsPages except
// it takes a Context and allows setting request options on the pages.
//
// 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 *ComputeOptimizer) GetLambdaFunctionRecommendationsPagesWithContext(ctx aws.Context, input *GetLambdaFunctionRecommendationsInput, fn func(*GetLambdaFunctionRecommendationsOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *GetLambdaFunctionRecommendationsInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.GetLambdaFunctionRecommendationsRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*GetLambdaFunctionRecommendationsOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opGetLicenseRecommendations = "GetLicenseRecommendations"
// GetLicenseRecommendationsRequest generates a "aws/request.Request" representing the
// client's request for the GetLicenseRecommendations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetLicenseRecommendations for more information on using the GetLicenseRecommendations
// 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 GetLicenseRecommendationsRequest method.
// req, resp := client.GetLicenseRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLicenseRecommendations
func (c *ComputeOptimizer) GetLicenseRecommendationsRequest(input *GetLicenseRecommendationsInput) (req *request.Request, output *GetLicenseRecommendationsOutput) {
op := &request.Operation{
Name: opGetLicenseRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetLicenseRecommendationsInput{}
}
output = &GetLicenseRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
// GetLicenseRecommendations API operation for AWS Compute Optimizer.
//
// Returns license recommendations for Amazon EC2 instances that run on a specific
// license.
//
// Compute Optimizer generates recommendations for licenses that meet a specific
// set of requirements. For more information, see the Supported resources and
// requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html)
// in the Compute Optimizer User Guide.
//
// 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 Compute Optimizer's
// API operation GetLicenseRecommendations for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - ResourceNotFoundException
// A resource that is required for the action doesn't exist.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLicenseRecommendations
func (c *ComputeOptimizer) GetLicenseRecommendations(input *GetLicenseRecommendationsInput) (*GetLicenseRecommendationsOutput, error) {
req, out := c.GetLicenseRecommendationsRequest(input)
return out, req.Send()
}
// GetLicenseRecommendationsWithContext is the same as GetLicenseRecommendations with the addition of
// the ability to pass a context and additional request options.
//
// See GetLicenseRecommendations 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 *ComputeOptimizer) GetLicenseRecommendationsWithContext(ctx aws.Context, input *GetLicenseRecommendationsInput, opts ...request.Option) (*GetLicenseRecommendationsOutput, error) {
req, out := c.GetLicenseRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetRDSDatabaseRecommendationProjectedMetrics = "GetRDSDatabaseRecommendationProjectedMetrics"
// GetRDSDatabaseRecommendationProjectedMetricsRequest generates a "aws/request.Request" representing the
// client's request for the GetRDSDatabaseRecommendationProjectedMetrics operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetRDSDatabaseRecommendationProjectedMetrics for more information on using the GetRDSDatabaseRecommendationProjectedMetrics
// 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 GetRDSDatabaseRecommendationProjectedMetricsRequest method.
// req, resp := client.GetRDSDatabaseRecommendationProjectedMetricsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRDSDatabaseRecommendationProjectedMetrics
func (c *ComputeOptimizer) GetRDSDatabaseRecommendationProjectedMetricsRequest(input *GetRDSDatabaseRecommendationProjectedMetricsInput) (req *request.Request, output *GetRDSDatabaseRecommendationProjectedMetricsOutput) {
op := &request.Operation{
Name: opGetRDSDatabaseRecommendationProjectedMetrics,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetRDSDatabaseRecommendationProjectedMetricsInput{}
}
output = &GetRDSDatabaseRecommendationProjectedMetricsOutput{}
req = c.newRequest(op, input, output)
return
}
// GetRDSDatabaseRecommendationProjectedMetrics API operation for AWS Compute Optimizer.
//
// Returns the projected metrics of Amazon RDS recommendations.
//
// 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 Compute Optimizer's
// API operation GetRDSDatabaseRecommendationProjectedMetrics for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - ResourceNotFoundException
// A resource that is required for the action doesn't exist.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRDSDatabaseRecommendationProjectedMetrics
func (c *ComputeOptimizer) GetRDSDatabaseRecommendationProjectedMetrics(input *GetRDSDatabaseRecommendationProjectedMetricsInput) (*GetRDSDatabaseRecommendationProjectedMetricsOutput, error) {
req, out := c.GetRDSDatabaseRecommendationProjectedMetricsRequest(input)
return out, req.Send()
}
// GetRDSDatabaseRecommendationProjectedMetricsWithContext is the same as GetRDSDatabaseRecommendationProjectedMetrics with the addition of
// the ability to pass a context and additional request options.
//
// See GetRDSDatabaseRecommendationProjectedMetrics 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 *ComputeOptimizer) GetRDSDatabaseRecommendationProjectedMetricsWithContext(ctx aws.Context, input *GetRDSDatabaseRecommendationProjectedMetricsInput, opts ...request.Option) (*GetRDSDatabaseRecommendationProjectedMetricsOutput, error) {
req, out := c.GetRDSDatabaseRecommendationProjectedMetricsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetRDSDatabaseRecommendations = "GetRDSDatabaseRecommendations"
// GetRDSDatabaseRecommendationsRequest generates a "aws/request.Request" representing the
// client's request for the GetRDSDatabaseRecommendations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetRDSDatabaseRecommendations for more information on using the GetRDSDatabaseRecommendations
// 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 GetRDSDatabaseRecommendationsRequest method.
// req, resp := client.GetRDSDatabaseRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRDSDatabaseRecommendations
func (c *ComputeOptimizer) GetRDSDatabaseRecommendationsRequest(input *GetRDSDatabaseRecommendationsInput) (req *request.Request, output *GetRDSDatabaseRecommendationsOutput) {
op := &request.Operation{
Name: opGetRDSDatabaseRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetRDSDatabaseRecommendationsInput{}
}
output = &GetRDSDatabaseRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
// GetRDSDatabaseRecommendations API operation for AWS Compute Optimizer.
//
// Returns Amazon RDS recommendations.
//
// Compute Optimizer generates recommendations for Amazon RDS that meet a specific
// set of requirements. For more information, see the Supported resources and
// requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html)
// in the Compute Optimizer User Guide.
//
// 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 Compute Optimizer's
// API operation GetRDSDatabaseRecommendations for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - ResourceNotFoundException
// A resource that is required for the action doesn't exist.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRDSDatabaseRecommendations
func (c *ComputeOptimizer) GetRDSDatabaseRecommendations(input *GetRDSDatabaseRecommendationsInput) (*GetRDSDatabaseRecommendationsOutput, error) {
req, out := c.GetRDSDatabaseRecommendationsRequest(input)
return out, req.Send()
}
// GetRDSDatabaseRecommendationsWithContext is the same as GetRDSDatabaseRecommendations with the addition of
// the ability to pass a context and additional request options.
//
// See GetRDSDatabaseRecommendations 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 *ComputeOptimizer) GetRDSDatabaseRecommendationsWithContext(ctx aws.Context, input *GetRDSDatabaseRecommendationsInput, opts ...request.Option) (*GetRDSDatabaseRecommendationsOutput, error) {
req, out := c.GetRDSDatabaseRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetRecommendationPreferences = "GetRecommendationPreferences"
// GetRecommendationPreferencesRequest generates a "aws/request.Request" representing the
// client's request for the GetRecommendationPreferences operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetRecommendationPreferences for more information on using the GetRecommendationPreferences
// 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 GetRecommendationPreferencesRequest method.
// req, resp := client.GetRecommendationPreferencesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationPreferences
func (c *ComputeOptimizer) GetRecommendationPreferencesRequest(input *GetRecommendationPreferencesInput) (req *request.Request, output *GetRecommendationPreferencesOutput) {
op := &request.Operation{
Name: opGetRecommendationPreferences,
HTTPMethod: "POST",
HTTPPath: "/",
Paginator: &request.Paginator{
InputTokens: []string{"nextToken"},
OutputTokens: []string{"nextToken"},
LimitToken: "maxResults",
TruncationToken: "",
},
}
if input == nil {
input = &GetRecommendationPreferencesInput{}
}
output = &GetRecommendationPreferencesOutput{}
req = c.newRequest(op, input, output)
return
}
// GetRecommendationPreferences API operation for AWS Compute Optimizer.
//
// Returns existing recommendation preferences, such as enhanced infrastructure
// metrics.
//
// Use the scope parameter to specify which preferences to return. You can specify
// to return preferences for an organization, a specific account ID, or a specific
// EC2 instance or Auto Scaling group Amazon Resource Name (ARN).
//
// For more information, see Activating enhanced infrastructure metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
// in the Compute Optimizer User Guide.
//
// 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 Compute Optimizer's
// API operation GetRecommendationPreferences for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - ResourceNotFoundException
// A resource that is required for the action doesn't exist.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationPreferences
func (c *ComputeOptimizer) GetRecommendationPreferences(input *GetRecommendationPreferencesInput) (*GetRecommendationPreferencesOutput, error) {
req, out := c.GetRecommendationPreferencesRequest(input)
return out, req.Send()
}
// GetRecommendationPreferencesWithContext is the same as GetRecommendationPreferences with the addition of
// the ability to pass a context and additional request options.
//
// See GetRecommendationPreferences 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 *ComputeOptimizer) GetRecommendationPreferencesWithContext(ctx aws.Context, input *GetRecommendationPreferencesInput, opts ...request.Option) (*GetRecommendationPreferencesOutput, error) {
req, out := c.GetRecommendationPreferencesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// GetRecommendationPreferencesPages iterates over the pages of a GetRecommendationPreferences operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See GetRecommendationPreferences method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a GetRecommendationPreferences operation.
// pageNum := 0
// err := client.GetRecommendationPreferencesPages(params,
// func(page *computeoptimizer.GetRecommendationPreferencesOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *ComputeOptimizer) GetRecommendationPreferencesPages(input *GetRecommendationPreferencesInput, fn func(*GetRecommendationPreferencesOutput, bool) bool) error {
return c.GetRecommendationPreferencesPagesWithContext(aws.BackgroundContext(), input, fn)
}
// GetRecommendationPreferencesPagesWithContext same as GetRecommendationPreferencesPages except
// it takes a Context and allows setting request options on the pages.
//
// 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 *ComputeOptimizer) GetRecommendationPreferencesPagesWithContext(ctx aws.Context, input *GetRecommendationPreferencesInput, fn func(*GetRecommendationPreferencesOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *GetRecommendationPreferencesInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.GetRecommendationPreferencesRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*GetRecommendationPreferencesOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opGetRecommendationSummaries = "GetRecommendationSummaries"
// GetRecommendationSummariesRequest generates a "aws/request.Request" representing the
// client's request for the GetRecommendationSummaries operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetRecommendationSummaries for more information on using the GetRecommendationSummaries
// 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 GetRecommendationSummariesRequest method.
// req, resp := client.GetRecommendationSummariesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries
func (c *ComputeOptimizer) GetRecommendationSummariesRequest(input *GetRecommendationSummariesInput) (req *request.Request, output *GetRecommendationSummariesOutput) {
op := &request.Operation{
Name: opGetRecommendationSummaries,
HTTPMethod: "POST",
HTTPPath: "/",
Paginator: &request.Paginator{
InputTokens: []string{"nextToken"},
OutputTokens: []string{"nextToken"},
LimitToken: "maxResults",
TruncationToken: "",
},
}
if input == nil {
input = &GetRecommendationSummariesInput{}
}
output = &GetRecommendationSummariesOutput{}
req = c.newRequest(op, input, output)
return
}
// GetRecommendationSummaries API operation for AWS Compute Optimizer.
//
// Returns the optimization findings for an account.
//
// It returns the number of:
//
// - Amazon EC2 instances in an account that are Underprovisioned, Overprovisioned,
// or Optimized.
//
// - Auto Scaling groups in an account that are NotOptimized, or Optimized.
//
// - Amazon EBS volumes in an account that are NotOptimized, or Optimized.
//
// - Lambda functions in an account that are NotOptimized, or Optimized.
//
// - Amazon ECS services in an account that are Underprovisioned, Overprovisioned,
// or Optimized.
//
// 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 Compute Optimizer's
// API operation GetRecommendationSummaries for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries
func (c *ComputeOptimizer) GetRecommendationSummaries(input *GetRecommendationSummariesInput) (*GetRecommendationSummariesOutput, error) {
req, out := c.GetRecommendationSummariesRequest(input)
return out, req.Send()
}
// GetRecommendationSummariesWithContext is the same as GetRecommendationSummaries with the addition of
// the ability to pass a context and additional request options.
//
// See GetRecommendationSummaries 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 *ComputeOptimizer) GetRecommendationSummariesWithContext(ctx aws.Context, input *GetRecommendationSummariesInput, opts ...request.Option) (*GetRecommendationSummariesOutput, error) {
req, out := c.GetRecommendationSummariesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// GetRecommendationSummariesPages iterates over the pages of a GetRecommendationSummaries operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See GetRecommendationSummaries method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a GetRecommendationSummaries operation.
// pageNum := 0
// err := client.GetRecommendationSummariesPages(params,
// func(page *computeoptimizer.GetRecommendationSummariesOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *ComputeOptimizer) GetRecommendationSummariesPages(input *GetRecommendationSummariesInput, fn func(*GetRecommendationSummariesOutput, bool) bool) error {
return c.GetRecommendationSummariesPagesWithContext(aws.BackgroundContext(), input, fn)
}
// GetRecommendationSummariesPagesWithContext same as GetRecommendationSummariesPages except
// it takes a Context and allows setting request options on the pages.
//
// 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 *ComputeOptimizer) GetRecommendationSummariesPagesWithContext(ctx aws.Context, input *GetRecommendationSummariesInput, fn func(*GetRecommendationSummariesOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *GetRecommendationSummariesInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.GetRecommendationSummariesRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*GetRecommendationSummariesOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opPutRecommendationPreferences = "PutRecommendationPreferences"
// PutRecommendationPreferencesRequest generates a "aws/request.Request" representing the
// client's request for the PutRecommendationPreferences operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 PutRecommendationPreferences for more information on using the PutRecommendationPreferences
// 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 PutRecommendationPreferencesRequest method.
// req, resp := client.PutRecommendationPreferencesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/PutRecommendationPreferences
func (c *ComputeOptimizer) PutRecommendationPreferencesRequest(input *PutRecommendationPreferencesInput) (req *request.Request, output *PutRecommendationPreferencesOutput) {
op := &request.Operation{
Name: opPutRecommendationPreferences,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &PutRecommendationPreferencesInput{}
}
output = &PutRecommendationPreferencesOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// PutRecommendationPreferences API operation for AWS Compute Optimizer.
//
// Creates a new recommendation preference or updates an existing recommendation
// preference, such as enhanced infrastructure metrics.
//
// For more information, see Activating enhanced infrastructure metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
// in the Compute Optimizer User Guide.
//
// 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 Compute Optimizer's
// API operation PutRecommendationPreferences for usage and error information.
//
// Returned Error Types:
//
// - OptInRequiredException
// The account is not opted in to Compute Optimizer.
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - ResourceNotFoundException
// A resource that is required for the action doesn't exist.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/PutRecommendationPreferences
func (c *ComputeOptimizer) PutRecommendationPreferences(input *PutRecommendationPreferencesInput) (*PutRecommendationPreferencesOutput, error) {
req, out := c.PutRecommendationPreferencesRequest(input)
return out, req.Send()
}
// PutRecommendationPreferencesWithContext is the same as PutRecommendationPreferences with the addition of
// the ability to pass a context and additional request options.
//
// See PutRecommendationPreferences 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 *ComputeOptimizer) PutRecommendationPreferencesWithContext(ctx aws.Context, input *PutRecommendationPreferencesInput, opts ...request.Option) (*PutRecommendationPreferencesOutput, error) {
req, out := c.PutRecommendationPreferencesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opUpdateEnrollmentStatus = "UpdateEnrollmentStatus"
// UpdateEnrollmentStatusRequest generates a "aws/request.Request" representing the
// client's request for the UpdateEnrollmentStatus operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 UpdateEnrollmentStatus for more information on using the UpdateEnrollmentStatus
// 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 UpdateEnrollmentStatusRequest method.
// req, resp := client.UpdateEnrollmentStatusRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatus
func (c *ComputeOptimizer) UpdateEnrollmentStatusRequest(input *UpdateEnrollmentStatusInput) (req *request.Request, output *UpdateEnrollmentStatusOutput) {
op := &request.Operation{
Name: opUpdateEnrollmentStatus,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &UpdateEnrollmentStatusInput{}
}
output = &UpdateEnrollmentStatusOutput{}
req = c.newRequest(op, input, output)
return
}
// UpdateEnrollmentStatus API operation for AWS Compute Optimizer.
//
// Updates the enrollment (opt in and opt out) status of an account to the Compute
// Optimizer service.
//
// If the account is a management account of an organization, this action can
// also be used to enroll member accounts of the organization.
//
// You must have the appropriate permissions to opt in to Compute Optimizer,
// to view its recommendations, and to opt out. For more information, see Controlling
// access with Amazon Web Services Identity and Access Management (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html)
// in the Compute Optimizer User Guide.
//
// When you opt in, Compute Optimizer automatically creates a service-linked
// role in your account to access its data. For more information, see Using
// Service-Linked Roles for Compute Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/using-service-linked-roles.html)
// in the Compute Optimizer User Guide.
//
// 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 Compute Optimizer's
// API operation UpdateEnrollmentStatus for usage and error information.
//
// Returned Error Types:
//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
// - ServiceUnavailableException
// The request has failed due to a temporary failure of the server.
//
// - AccessDeniedException
// You do not have sufficient access to perform this action.
//
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
//
// - ThrottlingException
// The request was denied due to request throttling.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatus
func (c *ComputeOptimizer) UpdateEnrollmentStatus(input *UpdateEnrollmentStatusInput) (*UpdateEnrollmentStatusOutput, error) {
req, out := c.UpdateEnrollmentStatusRequest(input)
return out, req.Send()
}
// UpdateEnrollmentStatusWithContext is the same as UpdateEnrollmentStatus with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateEnrollmentStatus 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 *ComputeOptimizer) UpdateEnrollmentStatusWithContext(ctx aws.Context, input *UpdateEnrollmentStatusInput, opts ...request.Option) (*UpdateEnrollmentStatusOutput, error) {
req, out := c.UpdateEnrollmentStatusRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// You do not have sufficient access to perform this action.
type AccessDeniedException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AccessDeniedException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AccessDeniedException) GoString() string {
return s.String()
}
func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
return &AccessDeniedException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *AccessDeniedException) Code() string {
return "AccessDeniedException"
}
// Message returns the exception's message.
func (s *AccessDeniedException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *AccessDeniedException) OrigErr() error {
return nil
}
func (s *AccessDeniedException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *AccessDeniedException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *AccessDeniedException) RequestID() string {
return s.RespMetadata.RequestID
}
// Describes the enrollment status of an organization's member accounts in Compute
// Optimizer.
type AccountEnrollmentStatus struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account ID.
AccountId *string `locationName:"accountId" type:"string"`
// The Unix epoch timestamp, in seconds, of when the account enrollment status
// was last updated.
LastUpdatedTimestamp *time.Time `locationName:"lastUpdatedTimestamp" type:"timestamp"`
// The account enrollment status.
Status *string `locationName:"status" type:"string" enum:"Status"`
// The reason for the account enrollment status.
//
// For example, an account might show a status of Pending because member accounts
// of an organization require more time to be enrolled in the service.
StatusReason *string `locationName:"statusReason" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AccountEnrollmentStatus) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AccountEnrollmentStatus) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *AccountEnrollmentStatus) SetAccountId(v string) *AccountEnrollmentStatus {
s.AccountId = &v
return s
}
// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
func (s *AccountEnrollmentStatus) SetLastUpdatedTimestamp(v time.Time) *AccountEnrollmentStatus {
s.LastUpdatedTimestamp = &v
return s
}
// SetStatus sets the Status field's value.
func (s *AccountEnrollmentStatus) SetStatus(v string) *AccountEnrollmentStatus {
s.Status = &v
return s
}
// SetStatusReason sets the StatusReason field's value.
func (s *AccountEnrollmentStatus) SetStatusReason(v string) *AccountEnrollmentStatus {
s.StatusReason = &v
return s
}
// Describes the configuration of an Auto Scaling group.
type AutoScalingGroupConfiguration struct {
_ struct{} `type:"structure"`
// The desired capacity, or number of instances, for the Auto Scaling group.
DesiredCapacity *int64 `locationName:"desiredCapacity" type:"integer"`
// The instance type for the Auto Scaling group.
InstanceType *string `locationName:"instanceType" type:"string"`
// The maximum size, or maximum number of instances, for the Auto Scaling group.
MaxSize *int64 `locationName:"maxSize" type:"integer"`
// The minimum size, or minimum number of instances, for the Auto Scaling group.
MinSize *int64 `locationName:"minSize" type:"integer"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AutoScalingGroupConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AutoScalingGroupConfiguration) GoString() string {
return s.String()
}
// SetDesiredCapacity sets the DesiredCapacity field's value.
func (s *AutoScalingGroupConfiguration) SetDesiredCapacity(v int64) *AutoScalingGroupConfiguration {
s.DesiredCapacity = &v
return s
}
// SetInstanceType sets the InstanceType field's value.
func (s *AutoScalingGroupConfiguration) SetInstanceType(v string) *AutoScalingGroupConfiguration {
s.InstanceType = &v
return s
}
// SetMaxSize sets the MaxSize field's value.
func (s *AutoScalingGroupConfiguration) SetMaxSize(v int64) *AutoScalingGroupConfiguration {
s.MaxSize = &v
return s
}
// SetMinSize sets the MinSize field's value.
func (s *AutoScalingGroupConfiguration) SetMinSize(v int64) *AutoScalingGroupConfiguration {
s.MinSize = &v
return s
}
// An object that describes the estimated monthly savings possible by adopting
// Compute Optimizer’s Auto Scaling group recommendations. This is based on
// the Savings Plans and Reserved Instances discounts.
type AutoScalingGroupEstimatedMonthlySavings struct {
_ struct{} `type:"structure"`
// The currency of the estimated monthly savings.
Currency *string `locationName:"currency" type:"string" enum:"Currency"`
// The value of the estimated monthly savings.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AutoScalingGroupEstimatedMonthlySavings) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AutoScalingGroupEstimatedMonthlySavings) GoString() string {
return s.String()
}
// SetCurrency sets the Currency field's value.
func (s *AutoScalingGroupEstimatedMonthlySavings) SetCurrency(v string) *AutoScalingGroupEstimatedMonthlySavings {
s.Currency = &v
return s
}
// SetValue sets the Value field's value.
func (s *AutoScalingGroupEstimatedMonthlySavings) SetValue(v float64) *AutoScalingGroupEstimatedMonthlySavings {
s.Value = &v
return s
}
// Describes an Auto Scaling group recommendation.
type AutoScalingGroupRecommendation struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account ID of the Auto Scaling group.
AccountId *string `locationName:"accountId" type:"string"`
// The Amazon Resource Name (ARN) of the Auto Scaling group.
AutoScalingGroupArn *string `locationName:"autoScalingGroupArn" type:"string"`
// The name of the Auto Scaling group.
AutoScalingGroupName *string `locationName:"autoScalingGroupName" type:"string"`
// An array of objects that describe the current configuration of the Auto Scaling
// group.
CurrentConfiguration *AutoScalingGroupConfiguration `locationName:"currentConfiguration" type:"structure"`
// Describes the GPU accelerator settings for the current instance type of the
// Auto Scaling group.
CurrentInstanceGpuInfo *GpuInfo `locationName:"currentInstanceGpuInfo" type:"structure"`
// The risk of the current Auto Scaling group not meeting the performance needs
// of its workloads. The higher the risk, the more likely the current Auto Scaling
// group configuration has insufficient capacity and cannot meet workload requirements.
CurrentPerformanceRisk *string `locationName:"currentPerformanceRisk" type:"string" enum:"CurrentPerformanceRisk"`
// An object that describes the effective recommendation preferences for the
// Auto Scaling group.
EffectiveRecommendationPreferences *EffectiveRecommendationPreferences `locationName:"effectiveRecommendationPreferences" type:"structure"`
// The finding classification of the Auto Scaling group.
//
// Findings for Auto Scaling groups include:
//
// * NotOptimized —An Auto Scaling group is considered not optimized when
// Compute Optimizer identifies a recommendation that can provide better
// performance for your workload.
//
// * Optimized —An Auto Scaling group is considered optimized when Compute
// Optimizer determines that the group is correctly provisioned to run your
// workload based on the chosen instance type. For optimized resources, Compute
// Optimizer might recommend a new generation instance type.
Finding *string `locationName:"finding" type:"string" enum:"Finding"`
// The applications that might be running on the instances in the Auto Scaling
// group as inferred by Compute Optimizer.
//
// Compute Optimizer can infer if one of the following applications might be
// running on the instances:
//
// * AmazonEmr - Infers that Amazon EMR might be running on the instances.
//
// * ApacheCassandra - Infers that Apache Cassandra might be running on the
// instances.
//
// * ApacheHadoop - Infers that Apache Hadoop might be running on the instances.
//
// * Memcached - Infers that Memcached might be running on the instances.
//
// * NGINX - Infers that NGINX might be running on the instances.
//
// * PostgreSql - Infers that PostgreSQL might be running on the instances.
//
// * Redis - Infers that Redis might be running on the instances.
//
// * Kafka - Infers that Kafka might be running on the instance.
//
// * SQLServer - Infers that SQLServer might be running on the instance.
InferredWorkloadTypes []*string `locationName:"inferredWorkloadTypes" type:"list" enum:"InferredWorkloadType"`
// The timestamp of when the Auto Scaling group recommendation was last generated.
LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"`
// The number of days for which utilization metrics were analyzed for the Auto
// Scaling group.
LookBackPeriodInDays *float64 `locationName:"lookBackPeriodInDays" type:"double"`
// An array of objects that describe the recommendation options for the Auto
// Scaling group.
RecommendationOptions []*AutoScalingGroupRecommendationOption `locationName:"recommendationOptions" type:"list"`
// An array of objects that describe the utilization metrics of the Auto Scaling
// group.
UtilizationMetrics []*UtilizationMetric `locationName:"utilizationMetrics" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AutoScalingGroupRecommendation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AutoScalingGroupRecommendation) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *AutoScalingGroupRecommendation) SetAccountId(v string) *AutoScalingGroupRecommendation {
s.AccountId = &v
return s
}
// SetAutoScalingGroupArn sets the AutoScalingGroupArn field's value.
func (s *AutoScalingGroupRecommendation) SetAutoScalingGroupArn(v string) *AutoScalingGroupRecommendation {
s.AutoScalingGroupArn = &v
return s
}
// SetAutoScalingGroupName sets the AutoScalingGroupName field's value.
func (s *AutoScalingGroupRecommendation) SetAutoScalingGroupName(v string) *AutoScalingGroupRecommendation {
s.AutoScalingGroupName = &v
return s
}
// SetCurrentConfiguration sets the CurrentConfiguration field's value.
func (s *AutoScalingGroupRecommendation) SetCurrentConfiguration(v *AutoScalingGroupConfiguration) *AutoScalingGroupRecommendation {
s.CurrentConfiguration = v
return s
}
// SetCurrentInstanceGpuInfo sets the CurrentInstanceGpuInfo field's value.
func (s *AutoScalingGroupRecommendation) SetCurrentInstanceGpuInfo(v *GpuInfo) *AutoScalingGroupRecommendation {
s.CurrentInstanceGpuInfo = v
return s
}
// SetCurrentPerformanceRisk sets the CurrentPerformanceRisk field's value.
func (s *AutoScalingGroupRecommendation) SetCurrentPerformanceRisk(v string) *AutoScalingGroupRecommendation {
s.CurrentPerformanceRisk = &v
return s
}
// SetEffectiveRecommendationPreferences sets the EffectiveRecommendationPreferences field's value.
func (s *AutoScalingGroupRecommendation) SetEffectiveRecommendationPreferences(v *EffectiveRecommendationPreferences) *AutoScalingGroupRecommendation {
s.EffectiveRecommendationPreferences = v
return s
}
// SetFinding sets the Finding field's value.
func (s *AutoScalingGroupRecommendation) SetFinding(v string) *AutoScalingGroupRecommendation {
s.Finding = &v
return s
}
// SetInferredWorkloadTypes sets the InferredWorkloadTypes field's value.
func (s *AutoScalingGroupRecommendation) SetInferredWorkloadTypes(v []*string) *AutoScalingGroupRecommendation {
s.InferredWorkloadTypes = v
return s
}
// SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value.
func (s *AutoScalingGroupRecommendation) SetLastRefreshTimestamp(v time.Time) *AutoScalingGroupRecommendation {
s.LastRefreshTimestamp = &v
return s
}
// SetLookBackPeriodInDays sets the LookBackPeriodInDays field's value.
func (s *AutoScalingGroupRecommendation) SetLookBackPeriodInDays(v float64) *AutoScalingGroupRecommendation {
s.LookBackPeriodInDays = &v
return s
}
// SetRecommendationOptions sets the RecommendationOptions field's value.
func (s *AutoScalingGroupRecommendation) SetRecommendationOptions(v []*AutoScalingGroupRecommendationOption) *AutoScalingGroupRecommendation {
s.RecommendationOptions = v
return s
}
// SetUtilizationMetrics sets the UtilizationMetrics field's value.
func (s *AutoScalingGroupRecommendation) SetUtilizationMetrics(v []*UtilizationMetric) *AutoScalingGroupRecommendation {
s.UtilizationMetrics = v
return s
}
// Describes a recommendation option for an Auto Scaling group.
type AutoScalingGroupRecommendationOption struct {
_ struct{} `type:"structure"`
// An array of objects that describe an Auto Scaling group configuration.
Configuration *AutoScalingGroupConfiguration `locationName:"configuration" type:"structure"`
// Describes the GPU accelerator settings for the recommended instance type
// of the Auto Scaling group.
InstanceGpuInfo *GpuInfo `locationName:"instanceGpuInfo" type:"structure"`
// The level of effort required to migrate from the current instance type to
// the recommended instance type.
//
// For example, the migration effort is Low if Amazon EMR is the inferred workload
// type and an Amazon Web Services Graviton instance type is recommended. The
// migration effort is Medium if a workload type couldn't be inferred but an
// Amazon Web Services Graviton instance type is recommended. The migration
// effort is VeryLow if both the current and recommended instance types are
// of the same CPU architecture.
MigrationEffort *string `locationName:"migrationEffort" type:"string" enum:"MigrationEffort"`
// The performance risk of the Auto Scaling group configuration recommendation.
//
// Performance risk indicates the likelihood of the recommended instance type
// not meeting the resource needs of your workload. Compute Optimizer calculates
// an individual performance risk score for each specification of the recommended
// instance, including CPU, memory, EBS throughput, EBS IOPS, disk throughput,
// disk IOPS, network throughput, and network PPS. The performance risk of the
// recommended instance is calculated as the maximum performance risk score
// across the analyzed resource specifications.
//
// The value ranges from 0 - 4, with 0 meaning that the recommended resource
// is predicted to always provide enough hardware capability. The higher the
// performance risk is, the more likely you should validate whether the recommendation
// will meet the performance requirements of your workload before migrating
// your resource.
PerformanceRisk *float64 `locationName:"performanceRisk" type:"double"`
// An array of objects that describe the projected utilization metrics of the
// Auto Scaling group recommendation option.
//
// The Cpu and Memory metrics are the only projected utilization metrics returned.
// Additionally, the Memory metric is returned only for resources that have
// the unified CloudWatch agent installed on them. For more information, see
// Enabling Memory Utilization with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent).
ProjectedUtilizationMetrics []*UtilizationMetric `locationName:"projectedUtilizationMetrics" type:"list"`
// The rank of the Auto Scaling group recommendation option.
//
// The top recommendation option is ranked as 1.
Rank *int64 `locationName:"rank" type:"integer"`
// An object that describes the savings opportunity for the Auto Scaling group
// recommendation option. Savings opportunity includes the estimated monthly
// savings amount and percentage.
SavingsOpportunity *SavingsOpportunity `locationName:"savingsOpportunity" type:"structure"`
// An object that describes the savings opportunity for the Auto Scaling group
// recommendation option that includes Savings Plans and Reserved Instances
// discounts. Savings opportunity includes the estimated monthly savings and
// percentage.
SavingsOpportunityAfterDiscounts *AutoScalingGroupSavingsOpportunityAfterDiscounts `locationName:"savingsOpportunityAfterDiscounts" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AutoScalingGroupRecommendationOption) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AutoScalingGroupRecommendationOption) GoString() string {
return s.String()
}
// SetConfiguration sets the Configuration field's value.
func (s *AutoScalingGroupRecommendationOption) SetConfiguration(v *AutoScalingGroupConfiguration) *AutoScalingGroupRecommendationOption {
s.Configuration = v
return s
}
// SetInstanceGpuInfo sets the InstanceGpuInfo field's value.
func (s *AutoScalingGroupRecommendationOption) SetInstanceGpuInfo(v *GpuInfo) *AutoScalingGroupRecommendationOption {
s.InstanceGpuInfo = v
return s
}
// SetMigrationEffort sets the MigrationEffort field's value.
func (s *AutoScalingGroupRecommendationOption) SetMigrationEffort(v string) *AutoScalingGroupRecommendationOption {
s.MigrationEffort = &v
return s
}
// SetPerformanceRisk sets the PerformanceRisk field's value.
func (s *AutoScalingGroupRecommendationOption) SetPerformanceRisk(v float64) *AutoScalingGroupRecommendationOption {
s.PerformanceRisk = &v
return s
}
// SetProjectedUtilizationMetrics sets the ProjectedUtilizationMetrics field's value.
func (s *AutoScalingGroupRecommendationOption) SetProjectedUtilizationMetrics(v []*UtilizationMetric) *AutoScalingGroupRecommendationOption {
s.ProjectedUtilizationMetrics = v
return s
}
// SetRank sets the Rank field's value.
func (s *AutoScalingGroupRecommendationOption) SetRank(v int64) *AutoScalingGroupRecommendationOption {
s.Rank = &v
return s
}
// SetSavingsOpportunity sets the SavingsOpportunity field's value.
func (s *AutoScalingGroupRecommendationOption) SetSavingsOpportunity(v *SavingsOpportunity) *AutoScalingGroupRecommendationOption {
s.SavingsOpportunity = v
return s
}
// SetSavingsOpportunityAfterDiscounts sets the SavingsOpportunityAfterDiscounts field's value.
func (s *AutoScalingGroupRecommendationOption) SetSavingsOpportunityAfterDiscounts(v *AutoScalingGroupSavingsOpportunityAfterDiscounts) *AutoScalingGroupRecommendationOption {
s.SavingsOpportunityAfterDiscounts = v
return s
}
// Describes the savings opportunity for Auto Scaling group recommendations
// after applying the Savings Plans and Reserved Instances discounts.
//
// Savings opportunity represents the estimated monthly savings you can achieve
// by implementing Compute Optimizer recommendations.
type AutoScalingGroupSavingsOpportunityAfterDiscounts struct {
_ struct{} `type:"structure"`
// An object that describes the estimated monthly savings possible by adopting
// Compute Optimizer’s Auto Scaling group recommendations. This is based on
// the Savings Plans and Reserved Instances pricing discounts.
EstimatedMonthlySavings *AutoScalingGroupEstimatedMonthlySavings `locationName:"estimatedMonthlySavings" type:"structure"`
// The estimated monthly savings possible as a percentage of monthly cost after
// applying the Savings Plans and Reserved Instances discounts. This saving
// can be achieved by adopting Compute Optimizer’s Auto Scaling group recommendations.
SavingsOpportunityPercentage *float64 `locationName:"savingsOpportunityPercentage" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AutoScalingGroupSavingsOpportunityAfterDiscounts) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AutoScalingGroupSavingsOpportunityAfterDiscounts) GoString() string {
return s.String()
}
// SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value.
func (s *AutoScalingGroupSavingsOpportunityAfterDiscounts) SetEstimatedMonthlySavings(v *AutoScalingGroupEstimatedMonthlySavings) *AutoScalingGroupSavingsOpportunityAfterDiscounts {
s.EstimatedMonthlySavings = v
return s
}
// SetSavingsOpportunityPercentage sets the SavingsOpportunityPercentage field's value.
func (s *AutoScalingGroupSavingsOpportunityAfterDiscounts) SetSavingsOpportunityPercentage(v float64) *AutoScalingGroupSavingsOpportunityAfterDiscounts {
s.SavingsOpportunityPercentage = &v
return s
}
// Describes the container configurations within the tasks of your Amazon ECS
// service.
type ContainerConfiguration struct {
_ struct{} `type:"structure"`
// The name of the container.
ContainerName *string `locationName:"containerName" type:"string"`
// The number of CPU units reserved for the container.
Cpu *int64 `locationName:"cpu" type:"integer"`
// The memory size configurations for the container.
MemorySizeConfiguration *MemorySizeConfiguration `locationName:"memorySizeConfiguration" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ContainerConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ContainerConfiguration) GoString() string {
return s.String()
}
// SetContainerName sets the ContainerName field's value.
func (s *ContainerConfiguration) SetContainerName(v string) *ContainerConfiguration {
s.ContainerName = &v
return s
}
// SetCpu sets the Cpu field's value.
func (s *ContainerConfiguration) SetCpu(v int64) *ContainerConfiguration {
s.Cpu = &v
return s
}
// SetMemorySizeConfiguration sets the MemorySizeConfiguration field's value.
func (s *ContainerConfiguration) SetMemorySizeConfiguration(v *MemorySizeConfiguration) *ContainerConfiguration {
s.MemorySizeConfiguration = v
return s
}
// The CPU and memory recommendations for a container within the tasks of your
// Amazon ECS service.
type ContainerRecommendation struct {
_ struct{} `type:"structure"`
// The name of the container.
ContainerName *string `locationName:"containerName" type:"string"`
// The recommended number of CPU units reserved for the container.
Cpu *int64 `locationName:"cpu" type:"integer"`
// The recommended memory size configurations for the container.
MemorySizeConfiguration *MemorySizeConfiguration `locationName:"memorySizeConfiguration" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ContainerRecommendation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ContainerRecommendation) GoString() string {
return s.String()
}
// SetContainerName sets the ContainerName field's value.
func (s *ContainerRecommendation) SetContainerName(v string) *ContainerRecommendation {
s.ContainerName = &v
return s
}
// SetCpu sets the Cpu field's value.
func (s *ContainerRecommendation) SetCpu(v int64) *ContainerRecommendation {
s.Cpu = &v
return s
}
// SetMemorySizeConfiguration sets the MemorySizeConfiguration field's value.
func (s *ContainerRecommendation) SetMemorySizeConfiguration(v *MemorySizeConfiguration) *ContainerRecommendation {
s.MemorySizeConfiguration = v
return s
}
// Describes the performance risk ratings for a given resource type.
//
// Resources with a high or medium rating are at risk of not meeting the performance
// needs of their workloads, while resources with a low rating are performing
// well in their workloads.
type CurrentPerformanceRiskRatings struct {
_ struct{} `type:"structure"`
// A count of the applicable resource types with a high performance risk rating.
High *int64 `locationName:"high" type:"long"`
// A count of the applicable resource types with a low performance risk rating.
Low *int64 `locationName:"low" type:"long"`
// A count of the applicable resource types with a medium performance risk rating.
Medium *int64 `locationName:"medium" type:"long"`
// A count of the applicable resource types with a very low performance risk
// rating.
VeryLow *int64 `locationName:"veryLow" type:"long"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CurrentPerformanceRiskRatings) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CurrentPerformanceRiskRatings) GoString() string {
return s.String()
}
// SetHigh sets the High field's value.
func (s *CurrentPerformanceRiskRatings) SetHigh(v int64) *CurrentPerformanceRiskRatings {
s.High = &v
return s
}
// SetLow sets the Low field's value.
func (s *CurrentPerformanceRiskRatings) SetLow(v int64) *CurrentPerformanceRiskRatings {
s.Low = &v
return s
}
// SetMedium sets the Medium field's value.
func (s *CurrentPerformanceRiskRatings) SetMedium(v int64) *CurrentPerformanceRiskRatings {
s.Medium = &v
return s
}
// SetVeryLow sets the VeryLow field's value.
func (s *CurrentPerformanceRiskRatings) SetVeryLow(v int64) *CurrentPerformanceRiskRatings {
s.VeryLow = &v
return s
}
// Defines the various metric parameters that can be customized, such as threshold
// and headroom.
type CustomizableMetricParameters struct {
_ struct{} `type:"structure"`
// The headroom value in percentage used for the specified metric parameter.
//
// The following lists the valid values for CPU and memory utilization.
//
// * CPU utilization: PERCENT_30 | PERCENT_20 | PERCENT_0
//
// * Memory utilization: PERCENT_30 | PERCENT_20 | PERCENT_10
Headroom *string `locationName:"headroom" type:"string" enum:"CustomizableMetricHeadroom"`
// The threshold value used for the specified metric parameter.
//
// You can only specify the threshold value for CPU utilization.
Threshold *string `locationName:"threshold" type:"string" enum:"CustomizableMetricThreshold"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CustomizableMetricParameters) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CustomizableMetricParameters) GoString() string {
return s.String()
}
// SetHeadroom sets the Headroom field's value.
func (s *CustomizableMetricParameters) SetHeadroom(v string) *CustomizableMetricParameters {
s.Headroom = &v
return s
}
// SetThreshold sets the Threshold field's value.
func (s *CustomizableMetricParameters) SetThreshold(v string) *CustomizableMetricParameters {
s.Threshold = &v
return s
}
// The configuration of the recommended RDS storage.
type DBStorageConfiguration struct {
_ struct{} `type:"structure"`
// The size of the RDS storage in gigabytes (GB).
AllocatedStorage *int64 `locationName:"allocatedStorage" type:"integer"`
// The provisioned IOPs of the RDS storage.
Iops *int64 `locationName:"iops" type:"integer"`
// The maximum limit in gibibytes (GiB) to which Amazon RDS can automatically
// scale the storage of the RDS instance.
MaxAllocatedStorage *int64 `locationName:"maxAllocatedStorage" type:"integer"`
// The storage throughput of the RDS storage.
StorageThroughput *int64 `locationName:"storageThroughput" type:"integer"`
// The type of RDS storage.
StorageType *string `locationName:"storageType" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DBStorageConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DBStorageConfiguration) GoString() string {
return s.String()
}
// SetAllocatedStorage sets the AllocatedStorage field's value.
func (s *DBStorageConfiguration) SetAllocatedStorage(v int64) *DBStorageConfiguration {
s.AllocatedStorage = &v
return s
}
// SetIops sets the Iops field's value.
func (s *DBStorageConfiguration) SetIops(v int64) *DBStorageConfiguration {
s.Iops = &v
return s
}
// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
func (s *DBStorageConfiguration) SetMaxAllocatedStorage(v int64) *DBStorageConfiguration {
s.MaxAllocatedStorage = &v
return s
}
// SetStorageThroughput sets the StorageThroughput field's value.
func (s *DBStorageConfiguration) SetStorageThroughput(v int64) *DBStorageConfiguration {
s.StorageThroughput = &v
return s
}
// SetStorageType sets the StorageType field's value.
func (s *DBStorageConfiguration) SetStorageType(v string) *DBStorageConfiguration {
s.StorageType = &v
return s
}
type DeleteRecommendationPreferencesInput struct {
_ struct{} `type:"structure"`
// The name of the recommendation preference to delete.
//
// RecommendationPreferenceNames is a required field
RecommendationPreferenceNames []*string `locationName:"recommendationPreferenceNames" type:"list" required:"true" enum:"RecommendationPreferenceName"`
// The target resource type of the recommendation preference to delete.
//
// The Ec2Instance option encompasses standalone instances and instances that
// are part of Auto Scaling groups. The AutoScalingGroup option encompasses
// only instances that are part of an Auto Scaling group.
//
// ResourceType is a required field
ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
// An object that describes the scope of the recommendation preference to delete.
//
// You can delete recommendation preferences that are created at the organization
// level (for management accounts of an organization only), account level, and
// resource level. For more information, see Activating enhanced infrastructure
// metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
// in the Compute Optimizer User Guide.
Scope *Scope `locationName:"scope" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteRecommendationPreferencesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteRecommendationPreferencesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteRecommendationPreferencesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteRecommendationPreferencesInput"}
if s.RecommendationPreferenceNames == nil {
invalidParams.Add(request.NewErrParamRequired("RecommendationPreferenceNames"))
}
if s.ResourceType == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceType"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetRecommendationPreferenceNames sets the RecommendationPreferenceNames field's value.
func (s *DeleteRecommendationPreferencesInput) SetRecommendationPreferenceNames(v []*string) *DeleteRecommendationPreferencesInput {
s.RecommendationPreferenceNames = v
return s
}
// SetResourceType sets the ResourceType field's value.
func (s *DeleteRecommendationPreferencesInput) SetResourceType(v string) *DeleteRecommendationPreferencesInput {
s.ResourceType = &v
return s
}
// SetScope sets the Scope field's value.
func (s *DeleteRecommendationPreferencesInput) SetScope(v *Scope) *DeleteRecommendationPreferencesInput {
s.Scope = v
return s
}
type DeleteRecommendationPreferencesOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteRecommendationPreferencesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteRecommendationPreferencesOutput) GoString() string {
return s.String()
}
type DescribeRecommendationExportJobsInput struct {
_ struct{} `type:"structure"`
// An array of objects to specify a filter that returns a more specific list
// of export jobs.
Filters []*JobFilter `locationName:"filters" type:"list"`
// The identification numbers of the export jobs to return.
//
// An export job ID is returned when you create an export using the ExportAutoScalingGroupRecommendations
// or ExportEC2InstanceRecommendations actions.
//
// All export jobs created in the last seven days are returned if this parameter
// is omitted.
JobIds []*string `locationName:"jobIds" type:"list"`
// The maximum number of export jobs to return with a single request.
//
// To retrieve the remaining results, make another request with the returned
// nextToken value.
MaxResults *int64 `locationName:"maxResults" type:"integer"`
// The token to advance to the next page of export jobs.
NextToken *string `locationName:"nextToken" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeRecommendationExportJobsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeRecommendationExportJobsInput) GoString() string {
return s.String()
}
// SetFilters sets the Filters field's value.
func (s *DescribeRecommendationExportJobsInput) SetFilters(v []*JobFilter) *DescribeRecommendationExportJobsInput {
s.Filters = v
return s
}
// SetJobIds sets the JobIds field's value.
func (s *DescribeRecommendationExportJobsInput) SetJobIds(v []*string) *DescribeRecommendationExportJobsInput {
s.JobIds = v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *DescribeRecommendationExportJobsInput) SetMaxResults(v int64) *DescribeRecommendationExportJobsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *DescribeRecommendationExportJobsInput) SetNextToken(v string) *DescribeRecommendationExportJobsInput {
s.NextToken = &v
return s
}
type DescribeRecommendationExportJobsOutput struct {
_ struct{} `type:"structure"`
// The token to use to advance to the next page of export jobs.
//
// This value is null when there are no more pages of export jobs to return.
NextToken *string `locationName:"nextToken" type:"string"`
// An array of objects that describe recommendation export jobs.
RecommendationExportJobs []*RecommendationExportJob `locationName:"recommendationExportJobs" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeRecommendationExportJobsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeRecommendationExportJobsOutput) GoString() string {
return s.String()
}
// SetNextToken sets the NextToken field's value.
func (s *DescribeRecommendationExportJobsOutput) SetNextToken(v string) *DescribeRecommendationExportJobsOutput {
s.NextToken = &v
return s
}
// SetRecommendationExportJobs sets the RecommendationExportJobs field's value.
func (s *DescribeRecommendationExportJobsOutput) SetRecommendationExportJobs(v []*RecommendationExportJob) *DescribeRecommendationExportJobsOutput {
s.RecommendationExportJobs = v
return s
}
// Describes the effective recommendation preferences for Amazon EBS volumes.
type EBSEffectiveRecommendationPreferences struct {
_ struct{} `type:"structure"`
// Describes the savings estimation mode preference applied for calculating
// savings opportunity for Amazon EBS volumes.
SavingsEstimationMode *EBSSavingsEstimationMode `locationName:"savingsEstimationMode" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EBSEffectiveRecommendationPreferences) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EBSEffectiveRecommendationPreferences) GoString() string {
return s.String()
}
// SetSavingsEstimationMode sets the SavingsEstimationMode field's value.
func (s *EBSEffectiveRecommendationPreferences) SetSavingsEstimationMode(v *EBSSavingsEstimationMode) *EBSEffectiveRecommendationPreferences {
s.SavingsEstimationMode = v
return s
}
// An object that describes the estimated monthly savings possible by adopting
// Compute Optimizer’s Amazon EBS volume recommendations. This includes any
// applicable discounts.
type EBSEstimatedMonthlySavings struct {
_ struct{} `type:"structure"`
// The currency of the estimated monthly savings.
Currency *string `locationName:"currency" type:"string" enum:"Currency"`
// The value of the estimated monthly savings.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EBSEstimatedMonthlySavings) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EBSEstimatedMonthlySavings) GoString() string {
return s.String()
}
// SetCurrency sets the Currency field's value.
func (s *EBSEstimatedMonthlySavings) SetCurrency(v string) *EBSEstimatedMonthlySavings {
s.Currency = &v
return s
}
// SetValue sets the Value field's value.
func (s *EBSEstimatedMonthlySavings) SetValue(v float64) *EBSEstimatedMonthlySavings {
s.Value = &v
return s
}
// Describes a filter that returns a more specific list of Amazon Elastic Block
// Store (Amazon EBS) volume recommendations. Use this filter with the GetEBSVolumeRecommendations
// action.
//
// You can use LambdaFunctionRecommendationFilter with the GetLambdaFunctionRecommendations
// action, JobFilter with the DescribeRecommendationExportJobs action, and Filter
// with the GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations
// actions.
type EBSFilter struct {
_ struct{} `type:"structure"`
// The name of the filter.
//
// Specify Finding to return recommendations with a specific finding classification
// (for example, NotOptimized).
//
// You can filter your Amazon EBS volume recommendations by tag:key and tag-key
// tags.
//
// A tag:key is a key and value combination of a tag assigned to your Amazon
// EBS volume recommendations. Use the tag key in the filter name and the tag
// value as the filter value. For example, to find all Amazon EBS volume recommendations
// that have a tag with the key of Owner and the value of TeamA, specify tag:Owner
// for the filter name and TeamA for the filter value.
//
// A tag-key is the key of a tag assigned to your Amazon EBS volume recommendations.
// Use this filter to find all of your Amazon EBS volume recommendations that
// have a tag with a specific key. This doesn’t consider the tag value. For
// example, you can find your Amazon EBS volume recommendations with a tag key
// value of Owner or without any tag keys assigned.
Name *string `locationName:"name" type:"string" enum:"EBSFilterName"`
// The value of the filter.
//
// The valid values are Optimized, or NotOptimized.
Values []*string `locationName:"values" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EBSFilter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EBSFilter) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *EBSFilter) SetName(v string) *EBSFilter {
s.Name = &v
return s
}
// SetValues sets the Values field's value.
func (s *EBSFilter) SetValues(v []*string) *EBSFilter {
s.Values = v
return s
}
// Describes the savings estimation mode used for calculating savings opportunity
// for Amazon EBS volumes.
type EBSSavingsEstimationMode struct {
_ struct{} `type:"structure"`
// Describes the source for calculating the savings opportunity for Amazon EBS
// volumes.
Source *string `locationName:"source" type:"string" enum:"EBSSavingsEstimationModeSource"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EBSSavingsEstimationMode) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EBSSavingsEstimationMode) GoString() string {
return s.String()
}
// SetSource sets the Source field's value.
func (s *EBSSavingsEstimationMode) SetSource(v string) *EBSSavingsEstimationMode {
s.Source = &v
return s
}
// Describes the savings opportunity for Amazon EBS volume recommendations after
// applying specific discounts.
type EBSSavingsOpportunityAfterDiscounts struct {
_ struct{} `type:"structure"`
// The estimated monthly savings possible as a percentage of monthly cost by
// adopting Compute Optimizer’s Amazon EBS volume recommendations. This saving
// includes any applicable discounts.
EstimatedMonthlySavings *EBSEstimatedMonthlySavings `locationName:"estimatedMonthlySavings" type:"structure"`
// The estimated monthly savings possible as a percentage of monthly cost after
// applying the specific discounts. This saving can be achieved by adopting
// Compute Optimizer’s Amazon EBS volume recommendations.
SavingsOpportunityPercentage *float64 `locationName:"savingsOpportunityPercentage" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EBSSavingsOpportunityAfterDiscounts) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EBSSavingsOpportunityAfterDiscounts) GoString() string {
return s.String()
}
// SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value.
func (s *EBSSavingsOpportunityAfterDiscounts) SetEstimatedMonthlySavings(v *EBSEstimatedMonthlySavings) *EBSSavingsOpportunityAfterDiscounts {
s.EstimatedMonthlySavings = v
return s
}
// SetSavingsOpportunityPercentage sets the SavingsOpportunityPercentage field's value.
func (s *EBSSavingsOpportunityAfterDiscounts) SetSavingsOpportunityPercentage(v float64) *EBSSavingsOpportunityAfterDiscounts {
s.SavingsOpportunityPercentage = &v
return s
}
// Describes a utilization metric of an Amazon Elastic Block Store (Amazon EBS)
// volume.
//
// Compare the utilization metric data of your resource against its projected
// utilization metric data to determine the performance difference between your
// current resource and the recommended option.
type EBSUtilizationMetric struct {
_ struct{} `type:"structure"`
// The name of the utilization metric.
//
// The following utilization metrics are available:
//
// * VolumeReadOpsPerSecond - The completed read operations per second from
// the volume in a specified period of time. Unit: Count
//
// * VolumeWriteOpsPerSecond - The completed write operations per second
// to the volume in a specified period of time. Unit: Count
//
// * VolumeReadBytesPerSecond - The bytes read per second from the volume
// in a specified period of time. Unit: Bytes
//
// * VolumeWriteBytesPerSecond - The bytes written to the volume in a specified
// period of time. Unit: Bytes
Name *string `locationName:"name" type:"string" enum:"EBSMetricName"`
// The statistic of the utilization metric.
//
// The Compute Optimizer API, Command Line Interface (CLI), and SDKs return
// utilization metrics using only the Maximum statistic, which is the highest
// value observed during the specified period.
//
// The Compute Optimizer console displays graphs for some utilization metrics
// using the Average statistic, which is the value of Sum / SampleCount during
// the specified period. For more information, see Viewing resource recommendations
// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html)
// in the Compute Optimizer User Guide. You can also get averaged utilization
// metric data for your resources using Amazon CloudWatch. For more information,
// see the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html).
Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"`
// The value of the utilization metric.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EBSUtilizationMetric) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EBSUtilizationMetric) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *EBSUtilizationMetric) SetName(v string) *EBSUtilizationMetric {
s.Name = &v
return s
}
// SetStatistic sets the Statistic field's value.
func (s *EBSUtilizationMetric) SetStatistic(v string) *EBSUtilizationMetric {
s.Statistic = &v
return s
}
// SetValue sets the Value field's value.
func (s *EBSUtilizationMetric) SetValue(v float64) *EBSUtilizationMetric {
s.Value = &v
return s
}
// Describes the effective recommendation preferences for Amazon ECS services.
type ECSEffectiveRecommendationPreferences struct {
_ struct{} `type:"structure"`
// Describes the savings estimation mode preference applied for calculating
// savings opportunity for Amazon ECS services.
SavingsEstimationMode *ECSSavingsEstimationMode `locationName:"savingsEstimationMode" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSEffectiveRecommendationPreferences) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSEffectiveRecommendationPreferences) GoString() string {
return s.String()
}
// SetSavingsEstimationMode sets the SavingsEstimationMode field's value.
func (s *ECSEffectiveRecommendationPreferences) SetSavingsEstimationMode(v *ECSSavingsEstimationMode) *ECSEffectiveRecommendationPreferences {
s.SavingsEstimationMode = v
return s
}
// Describes the estimated monthly savings possible for Amazon ECS services
// by adopting Compute Optimizer recommendations. This is based on Amazon ECS
// service pricing after applying Savings Plans discounts.
type ECSEstimatedMonthlySavings struct {
_ struct{} `type:"structure"`
// The currency of the estimated monthly savings.
Currency *string `locationName:"currency" type:"string" enum:"Currency"`
// The value of the estimated monthly savings for Amazon ECS services.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSEstimatedMonthlySavings) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSEstimatedMonthlySavings) GoString() string {
return s.String()
}
// SetCurrency sets the Currency field's value.
func (s *ECSEstimatedMonthlySavings) SetCurrency(v string) *ECSEstimatedMonthlySavings {
s.Currency = &v
return s
}
// SetValue sets the Value field's value.
func (s *ECSEstimatedMonthlySavings) SetValue(v float64) *ECSEstimatedMonthlySavings {
s.Value = &v
return s
}
// Describes the savings estimation mode used for calculating savings opportunity
// for Amazon ECS services.
type ECSSavingsEstimationMode struct {
_ struct{} `type:"structure"`
// Describes the source for calculating the savings opportunity for Amazon ECS
// services.
Source *string `locationName:"source" type:"string" enum:"ECSSavingsEstimationModeSource"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSSavingsEstimationMode) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSSavingsEstimationMode) GoString() string {
return s.String()
}
// SetSource sets the Source field's value.
func (s *ECSSavingsEstimationMode) SetSource(v string) *ECSSavingsEstimationMode {
s.Source = &v
return s
}
// Describes the savings opportunity for Amazon ECS service recommendations
// after applying Savings Plans discounts.
//
// Savings opportunity represents the estimated monthly savings after applying
// Savings Plans discounts. You can achieve this by implementing a given Compute
// Optimizer recommendation.
type ECSSavingsOpportunityAfterDiscounts struct {
_ struct{} `type:"structure"`
// The estimated monthly savings possible by adopting Compute Optimizer’s
// Amazon ECS service recommendations. This includes any applicable Savings
// Plans discounts.
EstimatedMonthlySavings *ECSEstimatedMonthlySavings `locationName:"estimatedMonthlySavings" type:"structure"`
// The estimated monthly savings possible as a percentage of monthly cost by
// adopting Compute Optimizer’s Amazon ECS service recommendations. This includes
// any applicable Savings Plans discounts.
SavingsOpportunityPercentage *float64 `locationName:"savingsOpportunityPercentage" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSSavingsOpportunityAfterDiscounts) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSSavingsOpportunityAfterDiscounts) GoString() string {
return s.String()
}
// SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value.
func (s *ECSSavingsOpportunityAfterDiscounts) SetEstimatedMonthlySavings(v *ECSEstimatedMonthlySavings) *ECSSavingsOpportunityAfterDiscounts {
s.EstimatedMonthlySavings = v
return s
}
// SetSavingsOpportunityPercentage sets the SavingsOpportunityPercentage field's value.
func (s *ECSSavingsOpportunityAfterDiscounts) SetSavingsOpportunityPercentage(v float64) *ECSSavingsOpportunityAfterDiscounts {
s.SavingsOpportunityPercentage = &v
return s
}
// Describes the projected metrics of an Amazon ECS service recommendation option.
//
// To determine the performance difference between your current Amazon ECS service
// and the recommended option, compare the metric data of your service against
// its projected metric data.
type ECSServiceProjectedMetric struct {
_ struct{} `type:"structure"`
// The lower bound values for the projected metric.
LowerBoundValues []*float64 `locationName:"lowerBoundValues" type:"list"`
// The name of the projected metric.
//
// The following metrics are available:
//
// * Cpu — The percentage of allocated compute units that are currently
// in use on the service tasks.
//
// * Memory — The percentage of memory that's currently in use on the service
// tasks.
Name *string `locationName:"name" type:"string" enum:"ECSServiceMetricName"`
// The timestamps of the projected metric.
Timestamps []*time.Time `locationName:"timestamps" type:"list"`
// The upper bound values for the projected metric.
UpperBoundValues []*float64 `locationName:"upperBoundValues" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSServiceProjectedMetric) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSServiceProjectedMetric) GoString() string {
return s.String()
}
// SetLowerBoundValues sets the LowerBoundValues field's value.
func (s *ECSServiceProjectedMetric) SetLowerBoundValues(v []*float64) *ECSServiceProjectedMetric {
s.LowerBoundValues = v
return s
}
// SetName sets the Name field's value.
func (s *ECSServiceProjectedMetric) SetName(v string) *ECSServiceProjectedMetric {
s.Name = &v
return s
}
// SetTimestamps sets the Timestamps field's value.
func (s *ECSServiceProjectedMetric) SetTimestamps(v []*time.Time) *ECSServiceProjectedMetric {
s.Timestamps = v
return s
}
// SetUpperBoundValues sets the UpperBoundValues field's value.
func (s *ECSServiceProjectedMetric) SetUpperBoundValues(v []*float64) *ECSServiceProjectedMetric {
s.UpperBoundValues = v
return s
}
// Describes the projected utilization metrics of an Amazon ECS service recommendation
// option.
//
// To determine the performance difference between your current Amazon ECS service
// and the recommended option, compare the utilization metric data of your service
// against its projected utilization metric data.
type ECSServiceProjectedUtilizationMetric struct {
_ struct{} `type:"structure"`
// The lower bound values for the projected utilization metrics.
LowerBoundValue *float64 `locationName:"lowerBoundValue" type:"double"`
// The name of the projected utilization metric.
//
// The following utilization metrics are available:
//
// * Cpu — The percentage of allocated compute units that are currently
// in use on the service tasks.
//
// * Memory — The percentage of memory that's currently in use on the service
// tasks.
Name *string `locationName:"name" type:"string" enum:"ECSServiceMetricName"`
// The statistic of the projected utilization metric.
//
// The Compute Optimizer API, Command Line Interface (CLI), and SDKs return
// utilization metrics using only the Maximum statistic, which is the highest
// value observed during the specified period.
//
// The Compute Optimizer console displays graphs for some utilization metrics
// using the Average statistic, which is the value of Sum / SampleCount during
// the specified period. For more information, see Viewing resource recommendations
// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html)
// in the Compute Optimizer User Guide. You can also get averaged utilization
// metric data for your resources using Amazon CloudWatch. For more information,
// see the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html).
Statistic *string `locationName:"statistic" type:"string" enum:"ECSServiceMetricStatistic"`
// The upper bound values for the projected utilization metrics.
UpperBoundValue *float64 `locationName:"upperBoundValue" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSServiceProjectedUtilizationMetric) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSServiceProjectedUtilizationMetric) GoString() string {
return s.String()
}
// SetLowerBoundValue sets the LowerBoundValue field's value.
func (s *ECSServiceProjectedUtilizationMetric) SetLowerBoundValue(v float64) *ECSServiceProjectedUtilizationMetric {
s.LowerBoundValue = &v
return s
}
// SetName sets the Name field's value.
func (s *ECSServiceProjectedUtilizationMetric) SetName(v string) *ECSServiceProjectedUtilizationMetric {
s.Name = &v
return s
}
// SetStatistic sets the Statistic field's value.
func (s *ECSServiceProjectedUtilizationMetric) SetStatistic(v string) *ECSServiceProjectedUtilizationMetric {
s.Statistic = &v
return s
}
// SetUpperBoundValue sets the UpperBoundValue field's value.
func (s *ECSServiceProjectedUtilizationMetric) SetUpperBoundValue(v float64) *ECSServiceProjectedUtilizationMetric {
s.UpperBoundValue = &v
return s
}
// Describes an Amazon ECS service recommendation.
type ECSServiceRecommendation struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account ID of the Amazon ECS service.
AccountId *string `locationName:"accountId" type:"string"`
// The risk of the current Amazon ECS service not meeting the performance needs
// of its workloads. The higher the risk, the more likely the current service
// can't meet the performance requirements of its workload.
CurrentPerformanceRisk *string `locationName:"currentPerformanceRisk" type:"string" enum:"CurrentPerformanceRisk"`
// The configuration of the current Amazon ECS service.
CurrentServiceConfiguration *ServiceConfiguration `locationName:"currentServiceConfiguration" type:"structure"`
// Describes the effective recommendation preferences for Amazon ECS services.
EffectiveRecommendationPreferences *ECSEffectiveRecommendationPreferences `locationName:"effectiveRecommendationPreferences" type:"structure"`
// The finding classification of an Amazon ECS service.
//
// Findings for Amazon ECS services include:
//
// * Underprovisioned — When Compute Optimizer detects that there’s not
// enough memory or CPU, an Amazon ECS service is considered under-provisioned.
// An under-provisioned service might result in poor application performance.
//
// * Overprovisioned — When Compute Optimizer detects that there’s excessive
// memory or CPU, an Amazon ECS service is considered over-provisioned. An
// over-provisioned service might result in additional infrastructure costs.
//
// * Optimized — When both the CPU and memory of your Amazon ECS service
// meet the performance requirements of your workload, the service is considered
// optimized.
Finding *string `locationName:"finding" type:"string" enum:"ECSServiceRecommendationFinding"`
// The reason for the finding classification of an Amazon ECS service.
//
// Finding reason codes for Amazon ECS services include:
//
// * CPUUnderprovisioned — The service CPU configuration can be sized up
// to enhance the performance of your workload. This is identified by analyzing
// the CPUUtilization metric of the current service during the look-back
// period.
//
// * CPUOverprovisioned — The service CPU configuration can be sized down
// while still meeting the performance requirements of your workload. This
// is identified by analyzing the CPUUtilization metric of the current service
// during the look-back period.
//
// * MemoryUnderprovisioned — The service memory configuration can be sized
// up to enhance the performance of your workload. This is identified by
// analyzing the MemoryUtilization metric of the current service during the
// look-back period.
//
// * MemoryOverprovisioned — The service memory configuration can be sized
// down while still meeting the performance requirements of your workload.
// This is identified by analyzing the MemoryUtilization metric of the current
// service during the look-back period.
FindingReasonCodes []*string `locationName:"findingReasonCodes" type:"list" enum:"ECSServiceRecommendationFindingReasonCode"`
// The timestamp of when the Amazon ECS service recommendation was last generated.
LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"`
// The launch type the Amazon ECS service is using.
//
// Compute Optimizer only supports the Fargate launch type.
LaunchType *string `locationName:"launchType" type:"string" enum:"ECSServiceLaunchType"`
// The number of days the Amazon ECS service utilization metrics were analyzed.
LookbackPeriodInDays *float64 `locationName:"lookbackPeriodInDays" type:"double"`
// The Amazon Resource Name (ARN) of the current Amazon ECS service.
//
// The following is the format of the ARN:
//
// arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name
ServiceArn *string `locationName:"serviceArn" type:"string"`
// An array of objects that describe the recommendation options for the Amazon
// ECS service.
ServiceRecommendationOptions []*ECSServiceRecommendationOption `locationName:"serviceRecommendationOptions" type:"list"`
// A list of tags assigned to your Amazon ECS service recommendations.
Tags []*Tag `locationName:"tags" type:"list"`
// An array of objects that describe the utilization metrics of the Amazon ECS
// service.
UtilizationMetrics []*ECSServiceUtilizationMetric `locationName:"utilizationMetrics" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSServiceRecommendation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSServiceRecommendation) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *ECSServiceRecommendation) SetAccountId(v string) *ECSServiceRecommendation {
s.AccountId = &v
return s
}
// SetCurrentPerformanceRisk sets the CurrentPerformanceRisk field's value.
func (s *ECSServiceRecommendation) SetCurrentPerformanceRisk(v string) *ECSServiceRecommendation {
s.CurrentPerformanceRisk = &v
return s
}
// SetCurrentServiceConfiguration sets the CurrentServiceConfiguration field's value.
func (s *ECSServiceRecommendation) SetCurrentServiceConfiguration(v *ServiceConfiguration) *ECSServiceRecommendation {
s.CurrentServiceConfiguration = v
return s
}
// SetEffectiveRecommendationPreferences sets the EffectiveRecommendationPreferences field's value.
func (s *ECSServiceRecommendation) SetEffectiveRecommendationPreferences(v *ECSEffectiveRecommendationPreferences) *ECSServiceRecommendation {
s.EffectiveRecommendationPreferences = v
return s
}
// SetFinding sets the Finding field's value.
func (s *ECSServiceRecommendation) SetFinding(v string) *ECSServiceRecommendation {
s.Finding = &v
return s
}
// SetFindingReasonCodes sets the FindingReasonCodes field's value.
func (s *ECSServiceRecommendation) SetFindingReasonCodes(v []*string) *ECSServiceRecommendation {
s.FindingReasonCodes = v
return s
}
// SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value.
func (s *ECSServiceRecommendation) SetLastRefreshTimestamp(v time.Time) *ECSServiceRecommendation {
s.LastRefreshTimestamp = &v
return s
}
// SetLaunchType sets the LaunchType field's value.
func (s *ECSServiceRecommendation) SetLaunchType(v string) *ECSServiceRecommendation {
s.LaunchType = &v
return s
}
// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value.
func (s *ECSServiceRecommendation) SetLookbackPeriodInDays(v float64) *ECSServiceRecommendation {
s.LookbackPeriodInDays = &v
return s
}
// SetServiceArn sets the ServiceArn field's value.
func (s *ECSServiceRecommendation) SetServiceArn(v string) *ECSServiceRecommendation {
s.ServiceArn = &v
return s
}
// SetServiceRecommendationOptions sets the ServiceRecommendationOptions field's value.
func (s *ECSServiceRecommendation) SetServiceRecommendationOptions(v []*ECSServiceRecommendationOption) *ECSServiceRecommendation {
s.ServiceRecommendationOptions = v
return s
}
// SetTags sets the Tags field's value.
func (s *ECSServiceRecommendation) SetTags(v []*Tag) *ECSServiceRecommendation {
s.Tags = v
return s
}
// SetUtilizationMetrics sets the UtilizationMetrics field's value.
func (s *ECSServiceRecommendation) SetUtilizationMetrics(v []*ECSServiceUtilizationMetric) *ECSServiceRecommendation {
s.UtilizationMetrics = v
return s
}
// Describes a filter that returns a more specific list of Amazon ECS service
// recommendations. Use this filter with the GetECSServiceRecommendations action.
type ECSServiceRecommendationFilter struct {
_ struct{} `type:"structure"`
// The name of the filter.
//
// Specify Finding to return recommendations with a specific finding classification.
//
// Specify FindingReasonCode to return recommendations with a specific finding
// reason code.
//
// You can filter your Amazon ECS service recommendations by tag:key and tag-key
// tags.
//
// A tag:key is a key and value combination of a tag assigned to your Amazon
// ECS service recommendations. Use the tag key in the filter name and the tag
// value as the filter value. For example, to find all Amazon ECS service recommendations
// that have a tag with the key of Owner and the value of TeamA, specify tag:Owner
// for the filter name and TeamA for the filter value.
//
// A tag-key is the key of a tag assigned to your Amazon ECS service recommendations.
// Use this filter to find all of your Amazon ECS service recommendations that
// have a tag with a specific key. This doesn’t consider the tag value. For
// example, you can find your Amazon ECS service recommendations with a tag
// key value of Owner or without any tag keys assigned.
Name *string `locationName:"name" type:"string" enum:"ECSServiceRecommendationFilterName"`
// The value of the filter.
//
// The valid values for this parameter are as follows:
//
// * If you specify the name parameter as Finding, specify Optimized, NotOptimized,
// or Unavailable.
//
// * If you specify the name parameter as FindingReasonCode, specify CPUUnderprovisioned,
// CPUOverprovisioned, MemoryUnderprovisioned, or MemoryOverprovisioned.
Values []*string `locationName:"values" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSServiceRecommendationFilter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSServiceRecommendationFilter) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *ECSServiceRecommendationFilter) SetName(v string) *ECSServiceRecommendationFilter {
s.Name = &v
return s
}
// SetValues sets the Values field's value.
func (s *ECSServiceRecommendationFilter) SetValues(v []*string) *ECSServiceRecommendationFilter {
s.Values = v
return s
}
// Describes the recommendation options for an Amazon ECS service.
type ECSServiceRecommendationOption struct {
_ struct{} `type:"structure"`
// The CPU and memory size recommendations for the containers within the task
// of your Amazon ECS service.
ContainerRecommendations []*ContainerRecommendation `locationName:"containerRecommendations" type:"list"`
// The CPU size of the Amazon ECS service recommendation option.
Cpu *int64 `locationName:"cpu" type:"integer"`
// The memory size of the Amazon ECS service recommendation option.
Memory *int64 `locationName:"memory" type:"integer"`
// An array of objects that describe the projected utilization metrics of the
// Amazon ECS service recommendation option.
ProjectedUtilizationMetrics []*ECSServiceProjectedUtilizationMetric `locationName:"projectedUtilizationMetrics" type:"list"`
// Describes the savings opportunity for recommendations of a given resource
// type or for the recommendation option of an individual resource.
//
// Savings opportunity represents the estimated monthly savings you can achieve
// by implementing a given Compute Optimizer recommendation.
//
// Savings opportunity data requires that you opt in to Cost Explorer, as well
// as activate Receive Amazon EC2 resource recommendations in the Cost Explorer
// preferences page. That creates a connection between Cost Explorer and Compute
// Optimizer. With this connection, Cost Explorer generates savings estimates
// considering the price of existing resources, the price of recommended resources,
// and historical usage data. Estimated monthly savings reflects the projected
// dollar savings associated with each of the recommendations generated. For
// more information, see Enabling Cost Explorer (https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html)
// and Optimizing your cost with Rightsizing Recommendations (https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html)
// in the Cost Management User Guide.
SavingsOpportunity *SavingsOpportunity `locationName:"savingsOpportunity" type:"structure"`
// Describes the savings opportunity for Amazon ECS service recommendations
// or for the recommendation option.
//
// Savings opportunity represents the estimated monthly savings after applying
// Savings Plans discounts. You can achieve this by implementing a given Compute
// Optimizer recommendation.
SavingsOpportunityAfterDiscounts *ECSSavingsOpportunityAfterDiscounts `locationName:"savingsOpportunityAfterDiscounts" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSServiceRecommendationOption) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSServiceRecommendationOption) GoString() string {
return s.String()
}
// SetContainerRecommendations sets the ContainerRecommendations field's value.
func (s *ECSServiceRecommendationOption) SetContainerRecommendations(v []*ContainerRecommendation) *ECSServiceRecommendationOption {
s.ContainerRecommendations = v
return s
}
// SetCpu sets the Cpu field's value.
func (s *ECSServiceRecommendationOption) SetCpu(v int64) *ECSServiceRecommendationOption {
s.Cpu = &v
return s
}
// SetMemory sets the Memory field's value.
func (s *ECSServiceRecommendationOption) SetMemory(v int64) *ECSServiceRecommendationOption {
s.Memory = &v
return s
}
// SetProjectedUtilizationMetrics sets the ProjectedUtilizationMetrics field's value.
func (s *ECSServiceRecommendationOption) SetProjectedUtilizationMetrics(v []*ECSServiceProjectedUtilizationMetric) *ECSServiceRecommendationOption {
s.ProjectedUtilizationMetrics = v
return s
}
// SetSavingsOpportunity sets the SavingsOpportunity field's value.
func (s *ECSServiceRecommendationOption) SetSavingsOpportunity(v *SavingsOpportunity) *ECSServiceRecommendationOption {
s.SavingsOpportunity = v
return s
}
// SetSavingsOpportunityAfterDiscounts sets the SavingsOpportunityAfterDiscounts field's value.
func (s *ECSServiceRecommendationOption) SetSavingsOpportunityAfterDiscounts(v *ECSSavingsOpportunityAfterDiscounts) *ECSServiceRecommendationOption {
s.SavingsOpportunityAfterDiscounts = v
return s
}
// Describes the projected metrics of an Amazon ECS service recommendation option.
//
// To determine the performance difference between your current Amazon ECS service
// and the recommended option, compare the metric data of your service against
// its projected metric data.
type ECSServiceRecommendedOptionProjectedMetric struct {
_ struct{} `type:"structure"`
// An array of objects that describe the projected metric.
ProjectedMetrics []*ECSServiceProjectedMetric `locationName:"projectedMetrics" type:"list"`
// The recommended CPU size for the Amazon ECS service.
RecommendedCpuUnits *int64 `locationName:"recommendedCpuUnits" type:"integer"`
// The recommended memory size for the Amazon ECS service.
RecommendedMemorySize *int64 `locationName:"recommendedMemorySize" type:"integer"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSServiceRecommendedOptionProjectedMetric) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSServiceRecommendedOptionProjectedMetric) GoString() string {
return s.String()
}
// SetProjectedMetrics sets the ProjectedMetrics field's value.
func (s *ECSServiceRecommendedOptionProjectedMetric) SetProjectedMetrics(v []*ECSServiceProjectedMetric) *ECSServiceRecommendedOptionProjectedMetric {
s.ProjectedMetrics = v
return s
}
// SetRecommendedCpuUnits sets the RecommendedCpuUnits field's value.
func (s *ECSServiceRecommendedOptionProjectedMetric) SetRecommendedCpuUnits(v int64) *ECSServiceRecommendedOptionProjectedMetric {
s.RecommendedCpuUnits = &v
return s
}
// SetRecommendedMemorySize sets the RecommendedMemorySize field's value.
func (s *ECSServiceRecommendedOptionProjectedMetric) SetRecommendedMemorySize(v int64) *ECSServiceRecommendedOptionProjectedMetric {
s.RecommendedMemorySize = &v
return s
}
// Describes the utilization metric of an Amazon ECS service.
//
// To determine the performance difference between your current Amazon ECS service
// and the recommended option, compare the utilization metric data of your service
// against its projected utilization metric data.
type ECSServiceUtilizationMetric struct {
_ struct{} `type:"structure"`
// The name of the utilization metric.
//
// The following utilization metrics are available:
//
// * Cpu — The amount of CPU capacity that's used in the service.
//
// * Memory — The amount of memory that's used in the service.
Name *string `locationName:"name" type:"string" enum:"ECSServiceMetricName"`
// The statistic of the utilization metric.
//
// The Compute Optimizer API, Command Line Interface (CLI), and SDKs return
// utilization metrics using only the Maximum statistic, which is the highest
// value observed during the specified period.
//
// The Compute Optimizer console displays graphs for some utilization metrics
// using the Average statistic, which is the value of Sum / SampleCount during
// the specified period. For more information, see Viewing resource recommendations
// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html)
// in the Compute Optimizer User Guide. You can also get averaged utilization
// metric data for your resources using Amazon CloudWatch. For more information,
// see the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html).
Statistic *string `locationName:"statistic" type:"string" enum:"ECSServiceMetricStatistic"`
// The value of the utilization metric.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSServiceUtilizationMetric) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ECSServiceUtilizationMetric) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *ECSServiceUtilizationMetric) SetName(v string) *ECSServiceUtilizationMetric {
s.Name = &v
return s
}
// SetStatistic sets the Statistic field's value.
func (s *ECSServiceUtilizationMetric) SetStatistic(v string) *ECSServiceUtilizationMetric {
s.Statistic = &v
return s
}
// SetValue sets the Value field's value.
func (s *ECSServiceUtilizationMetric) SetValue(v float64) *ECSServiceUtilizationMetric {
s.Value = &v
return s
}
// Describes the effective preferred resources that Compute Optimizer considers
// as rightsizing recommendation candidates.
//
// Compute Optimizer only supports Amazon EC2 instance types.
type EffectivePreferredResource struct {
_ struct{} `type:"structure"`
// The expanded version of your preferred resource's include list.
EffectiveIncludeList []*string `locationName:"effectiveIncludeList" type:"list"`
// The list of preferred resources values that you want excluded from rightsizing
// recommendation candidates.
ExcludeList []*string `locationName:"excludeList" type:"list"`
// The list of preferred resource values that you want considered as rightsizing
// recommendation candidates.
IncludeList []*string `locationName:"includeList" type:"list"`
// The name of the preferred resource list.
Name *string `locationName:"name" type:"string" enum:"PreferredResourceName"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EffectivePreferredResource) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EffectivePreferredResource) GoString() string {
return s.String()
}
// SetEffectiveIncludeList sets the EffectiveIncludeList field's value.
func (s *EffectivePreferredResource) SetEffectiveIncludeList(v []*string) *EffectivePreferredResource {
s.EffectiveIncludeList = v
return s
}
// SetExcludeList sets the ExcludeList field's value.
func (s *EffectivePreferredResource) SetExcludeList(v []*string) *EffectivePreferredResource {
s.ExcludeList = v
return s
}
// SetIncludeList sets the IncludeList field's value.
func (s *EffectivePreferredResource) SetIncludeList(v []*string) *EffectivePreferredResource {
s.IncludeList = v
return s
}
// SetName sets the Name field's value.
func (s *EffectivePreferredResource) SetName(v string) *EffectivePreferredResource {
s.Name = &v
return s
}
// Describes the effective recommendation preferences for a resource.
type EffectiveRecommendationPreferences struct {
_ struct{} `type:"structure"`
// Describes the CPU vendor and architecture for an instance or Auto Scaling
// group recommendations.
//
// For example, when you specify AWS_ARM64 with:
//
// * A GetEC2InstanceRecommendations or GetAutoScalingGroupRecommendations
// request, Compute Optimizer returns recommendations that consist of Graviton
// instance types only.
//
// * A GetEC2RecommendationProjectedMetrics request, Compute Optimizer returns
// projected utilization metrics for Graviton instance type recommendations
// only.
//
// * A ExportEC2InstanceRecommendations or ExportAutoScalingGroupRecommendations
// request, Compute Optimizer exports recommendations that consist of Graviton
// instance types only.
CpuVendorArchitectures []*string `locationName:"cpuVendorArchitectures" type:"list" enum:"CpuVendorArchitecture"`
// Describes the activation status of the enhanced infrastructure metrics preference.
//
// A status of Active confirms that the preference is applied in the latest
// recommendation refresh, and a status of Inactive confirms that it's not yet
// applied to recommendations.
//
// For more information, see Enhanced infrastructure metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
// in the Compute Optimizer User Guide.
EnhancedInfrastructureMetrics *string `locationName:"enhancedInfrastructureMetrics" type:"string" enum:"EnhancedInfrastructureMetrics"`
// An object that describes the external metrics recommendation preference.
//
// If the preference is applied in the latest recommendation refresh, an object
// with a valid source value appears in the response. If the preference isn't
// applied to the recommendations already, then this object doesn't appear in
// the response.
ExternalMetricsPreference *ExternalMetricsPreference `locationName:"externalMetricsPreference" type:"structure"`
// Describes the activation status of the inferred workload types preference.
//
// A status of Active confirms that the preference is applied in the latest
// recommendation refresh. A status of Inactive confirms that it's not yet applied
// to recommendations.
InferredWorkloadTypes *string `locationName:"inferredWorkloadTypes" type:"string" enum:"InferredWorkloadTypesPreference"`
// The number of days the utilization metrics of the Amazon Web Services resource
// are analyzed.
LookBackPeriod *string `locationName:"lookBackPeriod" type:"string" enum:"LookBackPeriodPreference"`
// The resource type values that are considered as candidates when generating
// rightsizing recommendations.
PreferredResources []*EffectivePreferredResource `locationName:"preferredResources" type:"list"`
// Describes the savings estimation mode applied for calculating savings opportunity
// for a resource.
SavingsEstimationMode *InstanceSavingsEstimationMode `locationName:"savingsEstimationMode" type:"structure"`
// The resource’s CPU and memory utilization preferences, such as threshold
// and headroom, that are used to generate rightsizing recommendations.
//
// This preference is only available for the Amazon EC2 instance resource type.
UtilizationPreferences []*UtilizationPreference `locationName:"utilizationPreferences" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EffectiveRecommendationPreferences) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EffectiveRecommendationPreferences) GoString() string {
return s.String()
}
// SetCpuVendorArchitectures sets the CpuVendorArchitectures field's value.
func (s *EffectiveRecommendationPreferences) SetCpuVendorArchitectures(v []*string) *EffectiveRecommendationPreferences {
s.CpuVendorArchitectures = v
return s
}
// SetEnhancedInfrastructureMetrics sets the EnhancedInfrastructureMetrics field's value.
func (s *EffectiveRecommendationPreferences) SetEnhancedInfrastructureMetrics(v string) *EffectiveRecommendationPreferences {
s.EnhancedInfrastructureMetrics = &v
return s
}
// SetExternalMetricsPreference sets the ExternalMetricsPreference field's value.
func (s *EffectiveRecommendationPreferences) SetExternalMetricsPreference(v *ExternalMetricsPreference) *EffectiveRecommendationPreferences {
s.ExternalMetricsPreference = v
return s
}
// SetInferredWorkloadTypes sets the InferredWorkloadTypes field's value.
func (s *EffectiveRecommendationPreferences) SetInferredWorkloadTypes(v string) *EffectiveRecommendationPreferences {
s.InferredWorkloadTypes = &v
return s
}
// SetLookBackPeriod sets the LookBackPeriod field's value.
func (s *EffectiveRecommendationPreferences) SetLookBackPeriod(v string) *EffectiveRecommendationPreferences {
s.LookBackPeriod = &v
return s
}
// SetPreferredResources sets the PreferredResources field's value.
func (s *EffectiveRecommendationPreferences) SetPreferredResources(v []*EffectivePreferredResource) *EffectiveRecommendationPreferences {
s.PreferredResources = v
return s
}
// SetSavingsEstimationMode sets the SavingsEstimationMode field's value.
func (s *EffectiveRecommendationPreferences) SetSavingsEstimationMode(v *InstanceSavingsEstimationMode) *EffectiveRecommendationPreferences {
s.SavingsEstimationMode = v
return s
}
// SetUtilizationPreferences sets the UtilizationPreferences field's value.
func (s *EffectiveRecommendationPreferences) SetUtilizationPreferences(v []*UtilizationPreference) *EffectiveRecommendationPreferences {
s.UtilizationPreferences = v
return s
}
// Describes a filter that returns a more specific list of account enrollment
// statuses. Use this filter with the GetEnrollmentStatusesForOrganization action.
type EnrollmentFilter struct {
_ struct{} `type:"structure"`
// The name of the filter.
//
// Specify Status to return accounts with a specific enrollment status (for
// example, Active).
Name *string `locationName:"name" type:"string" enum:"EnrollmentFilterName"`
// The value of the filter.
//
// The valid values are Active, Inactive, Pending, and Failed.
Values []*string `locationName:"values" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EnrollmentFilter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EnrollmentFilter) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *EnrollmentFilter) SetName(v string) *EnrollmentFilter {
s.Name = &v
return s
}
// SetValues sets the Values field's value.
func (s *EnrollmentFilter) SetValues(v []*string) *EnrollmentFilter {
s.Values = v
return s
}
// Describes the estimated monthly savings amount possible, based on On-Demand
// instance pricing, by adopting Compute Optimizer recommendations for a given
// resource.
//
// For more information, see Estimated monthly savings and savings opportunities
// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/view-ec2-recommendations.html#ec2-savings-calculation)
// in the Compute Optimizer User Guide.
type EstimatedMonthlySavings struct {
_ struct{} `type:"structure"`
// The currency of the estimated monthly savings.
Currency *string `locationName:"currency" type:"string" enum:"Currency"`
// The value of the estimated monthly savings.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EstimatedMonthlySavings) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EstimatedMonthlySavings) GoString() string {
return s.String()
}
// SetCurrency sets the Currency field's value.
func (s *EstimatedMonthlySavings) SetCurrency(v string) *EstimatedMonthlySavings {
s.Currency = &v
return s
}
// SetValue sets the Value field's value.
func (s *EstimatedMonthlySavings) SetValue(v float64) *EstimatedMonthlySavings {
s.Value = &v
return s
}
type ExportAutoScalingGroupRecommendationsInput struct {
_ struct{} `type:"structure"`
// The IDs of the Amazon Web Services accounts for which to export Auto Scaling
// group recommendations.
//
// If your account is the management account of an organization, use this parameter
// to specify the member account for which you want to export recommendations.
//
// This parameter cannot be specified together with the include member accounts
// parameter. The parameters are mutually exclusive.
//
// Recommendations for member accounts are not included in the export if this
// parameter, or the include member accounts parameter, is omitted.
//
// You can specify multiple account IDs per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// The recommendations data to include in the export file. For more information
// about the fields that can be exported, see Exported files (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files)
// in the Compute Optimizer User Guide.
FieldsToExport []*string `locationName:"fieldsToExport" type:"list" enum:"ExportableAutoScalingGroupField"`
// The format of the export file.
//
// The only export file format currently supported is Csv.
FileFormat *string `locationName:"fileFormat" type:"string" enum:"FileFormat"`
// An array of objects to specify a filter that exports a more specific set
// of Auto Scaling group recommendations.
Filters []*Filter `locationName:"filters" type:"list"`
// Indicates whether to include recommendations for resources in all member
// accounts of the organization if your account is the management account of
// an organization.
//
// The member accounts must also be opted in to Compute Optimizer, and trusted
// access for Compute Optimizer must be enabled in the organization account.
// For more information, see Compute Optimizer and Amazon Web Services Organizations
// trusted access (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access)
// in the Compute Optimizer User Guide.
//
// Recommendations for member accounts of the organization are not included
// in the export file if this parameter is omitted.
//
// This parameter cannot be specified together with the account IDs parameter.
// The parameters are mutually exclusive.
//
// Recommendations for member accounts are not included in the export if this
// parameter, or the account IDs parameter, is omitted.
IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"`
// An object to specify the preferences for the Auto Scaling group recommendations
// to export.
RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"`
// An object to specify the destination Amazon Simple Storage Service (Amazon
// S3) bucket name and key prefix for the export job.
//
// You must create the destination Amazon S3 bucket for your recommendations
// export before you create the export job. Compute Optimizer does not create
// the S3 bucket for you. After you create the S3 bucket, ensure that it has
// the required permissions policy to allow Compute Optimizer to write the export
// file to it. If you plan to specify an object prefix when you create the export
// job, you must include the object prefix in the policy that you add to the
// S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute
// Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html)
// in the Compute Optimizer User Guide.
//
// S3DestinationConfig is a required field
S3DestinationConfig *S3DestinationConfig `locationName:"s3DestinationConfig" type:"structure" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportAutoScalingGroupRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportAutoScalingGroupRecommendationsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ExportAutoScalingGroupRecommendationsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ExportAutoScalingGroupRecommendationsInput"}
if s.S3DestinationConfig == nil {
invalidParams.Add(request.NewErrParamRequired("S3DestinationConfig"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAccountIds sets the AccountIds field's value.
func (s *ExportAutoScalingGroupRecommendationsInput) SetAccountIds(v []*string) *ExportAutoScalingGroupRecommendationsInput {
s.AccountIds = v
return s
}
// SetFieldsToExport sets the FieldsToExport field's value.
func (s *ExportAutoScalingGroupRecommendationsInput) SetFieldsToExport(v []*string) *ExportAutoScalingGroupRecommendationsInput {
s.FieldsToExport = v
return s
}
// SetFileFormat sets the FileFormat field's value.
func (s *ExportAutoScalingGroupRecommendationsInput) SetFileFormat(v string) *ExportAutoScalingGroupRecommendationsInput {
s.FileFormat = &v
return s
}
// SetFilters sets the Filters field's value.
func (s *ExportAutoScalingGroupRecommendationsInput) SetFilters(v []*Filter) *ExportAutoScalingGroupRecommendationsInput {
s.Filters = v
return s
}
// SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value.
func (s *ExportAutoScalingGroupRecommendationsInput) SetIncludeMemberAccounts(v bool) *ExportAutoScalingGroupRecommendationsInput {
s.IncludeMemberAccounts = &v
return s
}
// SetRecommendationPreferences sets the RecommendationPreferences field's value.
func (s *ExportAutoScalingGroupRecommendationsInput) SetRecommendationPreferences(v *RecommendationPreferences) *ExportAutoScalingGroupRecommendationsInput {
s.RecommendationPreferences = v
return s
}
// SetS3DestinationConfig sets the S3DestinationConfig field's value.
func (s *ExportAutoScalingGroupRecommendationsInput) SetS3DestinationConfig(v *S3DestinationConfig) *ExportAutoScalingGroupRecommendationsInput {
s.S3DestinationConfig = v
return s
}
type ExportAutoScalingGroupRecommendationsOutput struct {
_ struct{} `type:"structure"`
// The identification number of the export job.
//
// Use the DescribeRecommendationExportJobs action, and specify the job ID to
// view the status of an export job.
JobId *string `locationName:"jobId" type:"string"`
// An object that describes the destination Amazon S3 bucket of a recommendations
// export file.
S3Destination *S3Destination `locationName:"s3Destination" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportAutoScalingGroupRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportAutoScalingGroupRecommendationsOutput) GoString() string {
return s.String()
}
// SetJobId sets the JobId field's value.
func (s *ExportAutoScalingGroupRecommendationsOutput) SetJobId(v string) *ExportAutoScalingGroupRecommendationsOutput {
s.JobId = &v
return s
}
// SetS3Destination sets the S3Destination field's value.
func (s *ExportAutoScalingGroupRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportAutoScalingGroupRecommendationsOutput {
s.S3Destination = v
return s
}
// Describes the destination of the recommendations export and metadata files.
type ExportDestination struct {
_ struct{} `type:"structure"`
// An object that describes the destination Amazon Simple Storage Service (Amazon
// S3) bucket name and object keys of a recommendations export file, and its
// associated metadata file.
S3 *S3Destination `locationName:"s3" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportDestination) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportDestination) GoString() string {
return s.String()
}
// SetS3 sets the S3 field's value.
func (s *ExportDestination) SetS3(v *S3Destination) *ExportDestination {
s.S3 = v
return s
}
type ExportEBSVolumeRecommendationsInput struct {
_ struct{} `type:"structure"`
// The IDs of the Amazon Web Services accounts for which to export Amazon EBS
// volume recommendations.
//
// If your account is the management account of an organization, use this parameter
// to specify the member account for which you want to export recommendations.
//
// This parameter cannot be specified together with the include member accounts
// parameter. The parameters are mutually exclusive.
//
// Recommendations for member accounts are not included in the export if this
// parameter, or the include member accounts parameter, is omitted.
//
// You can specify multiple account IDs per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// The recommendations data to include in the export file. For more information
// about the fields that can be exported, see Exported files (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files)
// in the Compute Optimizer User Guide.
FieldsToExport []*string `locationName:"fieldsToExport" type:"list" enum:"ExportableVolumeField"`
// The format of the export file.
//
// The only export file format currently supported is Csv.
FileFormat *string `locationName:"fileFormat" type:"string" enum:"FileFormat"`
// An array of objects to specify a filter that exports a more specific set
// of Amazon EBS volume recommendations.
Filters []*EBSFilter `locationName:"filters" type:"list"`
// Indicates whether to include recommendations for resources in all member
// accounts of the organization if your account is the management account of
// an organization.
//
// The member accounts must also be opted in to Compute Optimizer, and trusted
// access for Compute Optimizer must be enabled in the organization account.
// For more information, see Compute Optimizer and Amazon Web Services Organizations
// trusted access (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access)
// in the Compute Optimizer User Guide.
//
// Recommendations for member accounts of the organization are not included
// in the export file if this parameter is omitted.
//
// This parameter cannot be specified together with the account IDs parameter.
// The parameters are mutually exclusive.
//
// Recommendations for member accounts are not included in the export if this
// parameter, or the account IDs parameter, is omitted.
IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"`
// Describes the destination Amazon Simple Storage Service (Amazon S3) bucket
// name and key prefix for a recommendations export job.
//
// You must create the destination Amazon S3 bucket for your recommendations
// export before you create the export job. Compute Optimizer does not create
// the S3 bucket for you. After you create the S3 bucket, ensure that it has
// the required permission policy to allow Compute Optimizer to write the export
// file to it. If you plan to specify an object prefix when you create the export
// job, you must include the object prefix in the policy that you add to the
// S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute
// Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html)
// in the Compute Optimizer User Guide.
//
// S3DestinationConfig is a required field
S3DestinationConfig *S3DestinationConfig `locationName:"s3DestinationConfig" type:"structure" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportEBSVolumeRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportEBSVolumeRecommendationsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ExportEBSVolumeRecommendationsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ExportEBSVolumeRecommendationsInput"}
if s.S3DestinationConfig == nil {
invalidParams.Add(request.NewErrParamRequired("S3DestinationConfig"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAccountIds sets the AccountIds field's value.
func (s *ExportEBSVolumeRecommendationsInput) SetAccountIds(v []*string) *ExportEBSVolumeRecommendationsInput {
s.AccountIds = v
return s
}
// SetFieldsToExport sets the FieldsToExport field's value.
func (s *ExportEBSVolumeRecommendationsInput) SetFieldsToExport(v []*string) *ExportEBSVolumeRecommendationsInput {
s.FieldsToExport = v
return s
}
// SetFileFormat sets the FileFormat field's value.
func (s *ExportEBSVolumeRecommendationsInput) SetFileFormat(v string) *ExportEBSVolumeRecommendationsInput {
s.FileFormat = &v
return s
}
// SetFilters sets the Filters field's value.
func (s *ExportEBSVolumeRecommendationsInput) SetFilters(v []*EBSFilter) *ExportEBSVolumeRecommendationsInput {
s.Filters = v
return s
}
// SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value.
func (s *ExportEBSVolumeRecommendationsInput) SetIncludeMemberAccounts(v bool) *ExportEBSVolumeRecommendationsInput {
s.IncludeMemberAccounts = &v
return s
}
// SetS3DestinationConfig sets the S3DestinationConfig field's value.
func (s *ExportEBSVolumeRecommendationsInput) SetS3DestinationConfig(v *S3DestinationConfig) *ExportEBSVolumeRecommendationsInput {
s.S3DestinationConfig = v
return s
}
type ExportEBSVolumeRecommendationsOutput struct {
_ struct{} `type:"structure"`
// The identification number of the export job.
//
// Use the DescribeRecommendationExportJobs action, and specify the job ID to
// view the status of an export job.
JobId *string `locationName:"jobId" type:"string"`
// Describes the destination Amazon Simple Storage Service (Amazon S3) bucket
// name and object keys of a recommendations export file, and its associated
// metadata file.
S3Destination *S3Destination `locationName:"s3Destination" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportEBSVolumeRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportEBSVolumeRecommendationsOutput) GoString() string {
return s.String()
}
// SetJobId sets the JobId field's value.
func (s *ExportEBSVolumeRecommendationsOutput) SetJobId(v string) *ExportEBSVolumeRecommendationsOutput {
s.JobId = &v
return s
}
// SetS3Destination sets the S3Destination field's value.
func (s *ExportEBSVolumeRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportEBSVolumeRecommendationsOutput {
s.S3Destination = v
return s
}
type ExportEC2InstanceRecommendationsInput struct {
_ struct{} `type:"structure"`
// The IDs of the Amazon Web Services accounts for which to export instance
// recommendations.
//
// If your account is the management account of an organization, use this parameter
// to specify the member account for which you want to export recommendations.
//
// This parameter cannot be specified together with the include member accounts
// parameter. The parameters are mutually exclusive.
//
// Recommendations for member accounts are not included in the export if this
// parameter, or the include member accounts parameter, is omitted.
//
// You can specify multiple account IDs per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// The recommendations data to include in the export file. For more information
// about the fields that can be exported, see Exported files (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files)
// in the Compute Optimizer User Guide.
FieldsToExport []*string `locationName:"fieldsToExport" type:"list" enum:"ExportableInstanceField"`
// The format of the export file.
//
// The only export file format currently supported is Csv.
FileFormat *string `locationName:"fileFormat" type:"string" enum:"FileFormat"`
// An array of objects to specify a filter that exports a more specific set
// of instance recommendations.
Filters []*Filter `locationName:"filters" type:"list"`
// Indicates whether to include recommendations for resources in all member
// accounts of the organization if your account is the management account of
// an organization.
//
// The member accounts must also be opted in to Compute Optimizer, and trusted
// access for Compute Optimizer must be enabled in the organization account.
// For more information, see Compute Optimizer and Amazon Web Services Organizations
// trusted access (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access)
// in the Compute Optimizer User Guide.
//
// Recommendations for member accounts of the organization are not included
// in the export file if this parameter is omitted.
//
// Recommendations for member accounts are not included in the export if this
// parameter, or the account IDs parameter, is omitted.
IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"`
// An object to specify the preferences for the Amazon EC2 instance recommendations
// to export.
RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"`
// An object to specify the destination Amazon Simple Storage Service (Amazon
// S3) bucket name and key prefix for the export job.
//
// You must create the destination Amazon S3 bucket for your recommendations
// export before you create the export job. Compute Optimizer does not create
// the S3 bucket for you. After you create the S3 bucket, ensure that it has
// the required permissions policy to allow Compute Optimizer to write the export
// file to it. If you plan to specify an object prefix when you create the export
// job, you must include the object prefix in the policy that you add to the
// S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute
// Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html)
// in the Compute Optimizer User Guide.
//
// S3DestinationConfig is a required field
S3DestinationConfig *S3DestinationConfig `locationName:"s3DestinationConfig" type:"structure" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportEC2InstanceRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportEC2InstanceRecommendationsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ExportEC2InstanceRecommendationsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ExportEC2InstanceRecommendationsInput"}
if s.S3DestinationConfig == nil {
invalidParams.Add(request.NewErrParamRequired("S3DestinationConfig"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAccountIds sets the AccountIds field's value.
func (s *ExportEC2InstanceRecommendationsInput) SetAccountIds(v []*string) *ExportEC2InstanceRecommendationsInput {
s.AccountIds = v
return s
}
// SetFieldsToExport sets the FieldsToExport field's value.
func (s *ExportEC2InstanceRecommendationsInput) SetFieldsToExport(v []*string) *ExportEC2InstanceRecommendationsInput {
s.FieldsToExport = v
return s
}
// SetFileFormat sets the FileFormat field's value.
func (s *ExportEC2InstanceRecommendationsInput) SetFileFormat(v string) *ExportEC2InstanceRecommendationsInput {
s.FileFormat = &v
return s
}
// SetFilters sets the Filters field's value.
func (s *ExportEC2InstanceRecommendationsInput) SetFilters(v []*Filter) *ExportEC2InstanceRecommendationsInput {
s.Filters = v
return s
}
// SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value.
func (s *ExportEC2InstanceRecommendationsInput) SetIncludeMemberAccounts(v bool) *ExportEC2InstanceRecommendationsInput {
s.IncludeMemberAccounts = &v
return s
}
// SetRecommendationPreferences sets the RecommendationPreferences field's value.
func (s *ExportEC2InstanceRecommendationsInput) SetRecommendationPreferences(v *RecommendationPreferences) *ExportEC2InstanceRecommendationsInput {
s.RecommendationPreferences = v
return s
}
// SetS3DestinationConfig sets the S3DestinationConfig field's value.
func (s *ExportEC2InstanceRecommendationsInput) SetS3DestinationConfig(v *S3DestinationConfig) *ExportEC2InstanceRecommendationsInput {
s.S3DestinationConfig = v
return s
}
type ExportEC2InstanceRecommendationsOutput struct {
_ struct{} `type:"structure"`
// The identification number of the export job.
//
// Use the DescribeRecommendationExportJobs action, and specify the job ID to
// view the status of an export job.
JobId *string `locationName:"jobId" type:"string"`
// An object that describes the destination Amazon S3 bucket of a recommendations
// export file.
S3Destination *S3Destination `locationName:"s3Destination" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportEC2InstanceRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportEC2InstanceRecommendationsOutput) GoString() string {
return s.String()
}
// SetJobId sets the JobId field's value.
func (s *ExportEC2InstanceRecommendationsOutput) SetJobId(v string) *ExportEC2InstanceRecommendationsOutput {
s.JobId = &v
return s
}
// SetS3Destination sets the S3Destination field's value.
func (s *ExportEC2InstanceRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportEC2InstanceRecommendationsOutput {
s.S3Destination = v
return s
}
type ExportECSServiceRecommendationsInput struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account IDs for the export Amazon ECS service recommendations.
//
// If your account is the management account or the delegated administrator
// of an organization, use this parameter to specify the member account you
// want to export recommendations to.
//
// This parameter can't be specified together with the include member accounts
// parameter. The parameters are mutually exclusive.
//
// If this parameter or the include member accounts parameter is omitted, the
// recommendations for member accounts aren't included in the export.
//
// You can specify multiple account IDs per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// The recommendations data to include in the export file. For more information
// about the fields that can be exported, see Exported files (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files)
// in the Compute Optimizer User Guide.
FieldsToExport []*string `locationName:"fieldsToExport" type:"list" enum:"ExportableECSServiceField"`
// The format of the export file.
//
// The CSV file is the only export file format currently supported.
FileFormat *string `locationName:"fileFormat" type:"string" enum:"FileFormat"`
// An array of objects to specify a filter that exports a more specific set
// of Amazon ECS service recommendations.
Filters []*ECSServiceRecommendationFilter `locationName:"filters" type:"list"`
// If your account is the management account or the delegated administrator
// of an organization, this parameter indicates whether to include recommendations
// for resources in all member accounts of the organization.
//
// The member accounts must also be opted in to Compute Optimizer, and trusted
// access for Compute Optimizer must be enabled in the organization account.
// For more information, see Compute Optimizer and Amazon Web Services Organizations
// trusted access (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access)
// in the Compute Optimizer User Guide.
//
// If this parameter is omitted, recommendations for member accounts of the
// organization aren't included in the export file.
//
// If this parameter or the account ID parameter is omitted, recommendations
// for member accounts aren't included in the export.
IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"`
// Describes the destination Amazon Simple Storage Service (Amazon S3) bucket
// name and key prefix for a recommendations export job.
//
// You must create the destination Amazon S3 bucket for your recommendations
// export before you create the export job. Compute Optimizer does not create
// the S3 bucket for you. After you create the S3 bucket, ensure that it has
// the required permission policy to allow Compute Optimizer to write the export
// file to it. If you plan to specify an object prefix when you create the export
// job, you must include the object prefix in the policy that you add to the
// S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute
// Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html)
// in the Compute Optimizer User Guide.
//
// S3DestinationConfig is a required field
S3DestinationConfig *S3DestinationConfig `locationName:"s3DestinationConfig" type:"structure" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportECSServiceRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportECSServiceRecommendationsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ExportECSServiceRecommendationsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ExportECSServiceRecommendationsInput"}
if s.S3DestinationConfig == nil {
invalidParams.Add(request.NewErrParamRequired("S3DestinationConfig"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAccountIds sets the AccountIds field's value.
func (s *ExportECSServiceRecommendationsInput) SetAccountIds(v []*string) *ExportECSServiceRecommendationsInput {
s.AccountIds = v
return s
}
// SetFieldsToExport sets the FieldsToExport field's value.
func (s *ExportECSServiceRecommendationsInput) SetFieldsToExport(v []*string) *ExportECSServiceRecommendationsInput {
s.FieldsToExport = v
return s
}
// SetFileFormat sets the FileFormat field's value.
func (s *ExportECSServiceRecommendationsInput) SetFileFormat(v string) *ExportECSServiceRecommendationsInput {
s.FileFormat = &v
return s
}
// SetFilters sets the Filters field's value.
func (s *ExportECSServiceRecommendationsInput) SetFilters(v []*ECSServiceRecommendationFilter) *ExportECSServiceRecommendationsInput {
s.Filters = v
return s
}
// SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value.
func (s *ExportECSServiceRecommendationsInput) SetIncludeMemberAccounts(v bool) *ExportECSServiceRecommendationsInput {
s.IncludeMemberAccounts = &v
return s
}
// SetS3DestinationConfig sets the S3DestinationConfig field's value.
func (s *ExportECSServiceRecommendationsInput) SetS3DestinationConfig(v *S3DestinationConfig) *ExportECSServiceRecommendationsInput {
s.S3DestinationConfig = v
return s
}
type ExportECSServiceRecommendationsOutput struct {
_ struct{} `type:"structure"`
// The identification number of the export job.
//
// To view the status of an export job, use the DescribeRecommendationExportJobs
// action and specify the job ID.
JobId *string `locationName:"jobId" type:"string"`
// Describes the destination Amazon Simple Storage Service (Amazon S3) bucket
// name and object keys of a recommendations export file, and its associated
// metadata file.
S3Destination *S3Destination `locationName:"s3Destination" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportECSServiceRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportECSServiceRecommendationsOutput) GoString() string {
return s.String()
}
// SetJobId sets the JobId field's value.
func (s *ExportECSServiceRecommendationsOutput) SetJobId(v string) *ExportECSServiceRecommendationsOutput {
s.JobId = &v
return s
}
// SetS3Destination sets the S3Destination field's value.
func (s *ExportECSServiceRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportECSServiceRecommendationsOutput {
s.S3Destination = v
return s
}
type ExportLambdaFunctionRecommendationsInput struct {
_ struct{} `type:"structure"`
// The IDs of the Amazon Web Services accounts for which to export Lambda function
// recommendations.
//
// If your account is the management account of an organization, use this parameter
// to specify the member account for which you want to export recommendations.
//
// This parameter cannot be specified together with the include member accounts
// parameter. The parameters are mutually exclusive.
//
// Recommendations for member accounts are not included in the export if this
// parameter, or the include member accounts parameter, is omitted.
//
// You can specify multiple account IDs per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// The recommendations data to include in the export file. For more information
// about the fields that can be exported, see Exported files (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files)
// in the Compute Optimizer User Guide.
FieldsToExport []*string `locationName:"fieldsToExport" type:"list" enum:"ExportableLambdaFunctionField"`
// The format of the export file.
//
// The only export file format currently supported is Csv.
FileFormat *string `locationName:"fileFormat" type:"string" enum:"FileFormat"`
// An array of objects to specify a filter that exports a more specific set
// of Lambda function recommendations.
Filters []*LambdaFunctionRecommendationFilter `locationName:"filters" type:"list"`
// Indicates whether to include recommendations for resources in all member
// accounts of the organization if your account is the management account of
// an organization.
//
// The member accounts must also be opted in to Compute Optimizer, and trusted
// access for Compute Optimizer must be enabled in the organization account.
// For more information, see Compute Optimizer and Amazon Web Services Organizations
// trusted access (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access)
// in the Compute Optimizer User Guide.
//
// Recommendations for member accounts of the organization are not included
// in the export file if this parameter is omitted.
//
// This parameter cannot be specified together with the account IDs parameter.
// The parameters are mutually exclusive.
//
// Recommendations for member accounts are not included in the export if this
// parameter, or the account IDs parameter, is omitted.
IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"`
// Describes the destination Amazon Simple Storage Service (Amazon S3) bucket
// name and key prefix for a recommendations export job.
//
// You must create the destination Amazon S3 bucket for your recommendations
// export before you create the export job. Compute Optimizer does not create
// the S3 bucket for you. After you create the S3 bucket, ensure that it has
// the required permission policy to allow Compute Optimizer to write the export
// file to it. If you plan to specify an object prefix when you create the export
// job, you must include the object prefix in the policy that you add to the
// S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute
// Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html)
// in the Compute Optimizer User Guide.
//
// S3DestinationConfig is a required field
S3DestinationConfig *S3DestinationConfig `locationName:"s3DestinationConfig" type:"structure" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportLambdaFunctionRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportLambdaFunctionRecommendationsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ExportLambdaFunctionRecommendationsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ExportLambdaFunctionRecommendationsInput"}
if s.S3DestinationConfig == nil {
invalidParams.Add(request.NewErrParamRequired("S3DestinationConfig"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAccountIds sets the AccountIds field's value.
func (s *ExportLambdaFunctionRecommendationsInput) SetAccountIds(v []*string) *ExportLambdaFunctionRecommendationsInput {
s.AccountIds = v
return s
}
// SetFieldsToExport sets the FieldsToExport field's value.
func (s *ExportLambdaFunctionRecommendationsInput) SetFieldsToExport(v []*string) *ExportLambdaFunctionRecommendationsInput {
s.FieldsToExport = v
return s
}
// SetFileFormat sets the FileFormat field's value.
func (s *ExportLambdaFunctionRecommendationsInput) SetFileFormat(v string) *ExportLambdaFunctionRecommendationsInput {
s.FileFormat = &v
return s
}
// SetFilters sets the Filters field's value.
func (s *ExportLambdaFunctionRecommendationsInput) SetFilters(v []*LambdaFunctionRecommendationFilter) *ExportLambdaFunctionRecommendationsInput {
s.Filters = v
return s
}
// SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value.
func (s *ExportLambdaFunctionRecommendationsInput) SetIncludeMemberAccounts(v bool) *ExportLambdaFunctionRecommendationsInput {
s.IncludeMemberAccounts = &v
return s
}
// SetS3DestinationConfig sets the S3DestinationConfig field's value.
func (s *ExportLambdaFunctionRecommendationsInput) SetS3DestinationConfig(v *S3DestinationConfig) *ExportLambdaFunctionRecommendationsInput {
s.S3DestinationConfig = v
return s
}
type ExportLambdaFunctionRecommendationsOutput struct {
_ struct{} `type:"structure"`
// The identification number of the export job.
//
// Use the DescribeRecommendationExportJobs action, and specify the job ID to
// view the status of an export job.
JobId *string `locationName:"jobId" type:"string"`
// Describes the destination Amazon Simple Storage Service (Amazon S3) bucket
// name and object keys of a recommendations export file, and its associated
// metadata file.
S3Destination *S3Destination `locationName:"s3Destination" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportLambdaFunctionRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportLambdaFunctionRecommendationsOutput) GoString() string {
return s.String()
}
// SetJobId sets the JobId field's value.
func (s *ExportLambdaFunctionRecommendationsOutput) SetJobId(v string) *ExportLambdaFunctionRecommendationsOutput {
s.JobId = &v
return s
}
// SetS3Destination sets the S3Destination field's value.
func (s *ExportLambdaFunctionRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportLambdaFunctionRecommendationsOutput {
s.S3Destination = v
return s
}
type ExportLicenseRecommendationsInput struct {
_ struct{} `type:"structure"`
// The IDs of the Amazon Web Services accounts for which to export license recommendations.
//
// If your account is the management account of an organization, use this parameter
// to specify the member account for which you want to export recommendations.
//
// This parameter can't be specified together with the include member accounts
// parameter. The parameters are mutually exclusive.
//
// If this parameter is omitted, recommendations for member accounts aren't
// included in the export.
//
// You can specify multiple account IDs per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// The recommendations data to include in the export file. For more information
// about the fields that can be exported, see Exported files (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files)
// in the Compute Optimizer User Guide.
FieldsToExport []*string `locationName:"fieldsToExport" type:"list" enum:"ExportableLicenseField"`
// The format of the export file.
//
// A CSV file is the only export format currently supported.
FileFormat *string `locationName:"fileFormat" type:"string" enum:"FileFormat"`
// An array of objects to specify a filter that exports a more specific set
// of license recommendations.
Filters []*LicenseRecommendationFilter `locationName:"filters" type:"list"`
// Indicates whether to include recommendations for resources in all member
// accounts of the organization if your account is the management account of
// an organization.
//
// The member accounts must also be opted in to Compute Optimizer, and trusted
// access for Compute Optimizer must be enabled in the organization account.
// For more information, see Compute Optimizer and Amazon Web Services Organizations
// trusted access (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access)
// in the Compute Optimizer User Guide.
//
// If this parameter is omitted, recommendations for member accounts of the
// organization aren't included in the export file .
//
// This parameter cannot be specified together with the account IDs parameter.
// The parameters are mutually exclusive.
IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"`
// Describes the destination Amazon Simple Storage Service (Amazon S3) bucket
// name and key prefix for a recommendations export job.
//
// You must create the destination Amazon S3 bucket for your recommendations
// export before you create the export job. Compute Optimizer does not create
// the S3 bucket for you. After you create the S3 bucket, ensure that it has
// the required permission policy to allow Compute Optimizer to write the export
// file to it. If you plan to specify an object prefix when you create the export
// job, you must include the object prefix in the policy that you add to the
// S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute
// Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html)
// in the Compute Optimizer User Guide.
//
// S3DestinationConfig is a required field
S3DestinationConfig *S3DestinationConfig `locationName:"s3DestinationConfig" type:"structure" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportLicenseRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportLicenseRecommendationsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ExportLicenseRecommendationsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ExportLicenseRecommendationsInput"}
if s.S3DestinationConfig == nil {
invalidParams.Add(request.NewErrParamRequired("S3DestinationConfig"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAccountIds sets the AccountIds field's value.
func (s *ExportLicenseRecommendationsInput) SetAccountIds(v []*string) *ExportLicenseRecommendationsInput {
s.AccountIds = v
return s
}
// SetFieldsToExport sets the FieldsToExport field's value.
func (s *ExportLicenseRecommendationsInput) SetFieldsToExport(v []*string) *ExportLicenseRecommendationsInput {
s.FieldsToExport = v
return s
}
// SetFileFormat sets the FileFormat field's value.
func (s *ExportLicenseRecommendationsInput) SetFileFormat(v string) *ExportLicenseRecommendationsInput {
s.FileFormat = &v
return s
}
// SetFilters sets the Filters field's value.
func (s *ExportLicenseRecommendationsInput) SetFilters(v []*LicenseRecommendationFilter) *ExportLicenseRecommendationsInput {
s.Filters = v
return s
}
// SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value.
func (s *ExportLicenseRecommendationsInput) SetIncludeMemberAccounts(v bool) *ExportLicenseRecommendationsInput {
s.IncludeMemberAccounts = &v
return s
}
// SetS3DestinationConfig sets the S3DestinationConfig field's value.
func (s *ExportLicenseRecommendationsInput) SetS3DestinationConfig(v *S3DestinationConfig) *ExportLicenseRecommendationsInput {
s.S3DestinationConfig = v
return s
}
type ExportLicenseRecommendationsOutput struct {
_ struct{} `type:"structure"`
// The identification number of the export job.
//
// To view the status of an export job, use the DescribeRecommendationExportJobs
// action and specify the job ID.
JobId *string `locationName:"jobId" type:"string"`
// Describes the destination Amazon Simple Storage Service (Amazon S3) bucket
// name and object keys of a recommendations export file, and its associated
// metadata file.
S3Destination *S3Destination `locationName:"s3Destination" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportLicenseRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportLicenseRecommendationsOutput) GoString() string {
return s.String()
}
// SetJobId sets the JobId field's value.
func (s *ExportLicenseRecommendationsOutput) SetJobId(v string) *ExportLicenseRecommendationsOutput {
s.JobId = &v
return s
}
// SetS3Destination sets the S3Destination field's value.
func (s *ExportLicenseRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportLicenseRecommendationsOutput {
s.S3Destination = v
return s
}
type ExportRDSDatabaseRecommendationsInput struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account IDs for the export Amazon RDS recommendations.
//
// If your account is the management account or the delegated administrator
// of an organization, use this parameter to specify the member account you
// want to export recommendations to.
//
// This parameter can't be specified together with the include member accounts
// parameter. The parameters are mutually exclusive.
//
// If this parameter or the include member accounts parameter is omitted, the
// recommendations for member accounts aren't included in the export.
//
// You can specify multiple account IDs per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// The recommendations data to include in the export file. For more information
// about the fields that can be exported, see Exported files (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files)
// in the Compute Optimizer User Guide.
FieldsToExport []*string `locationName:"fieldsToExport" type:"list" enum:"ExportableRDSDBField"`
// The format of the export file.
//
// The CSV file is the only export file format currently supported.
FileFormat *string `locationName:"fileFormat" type:"string" enum:"FileFormat"`
// An array of objects to specify a filter that exports a more specific set
// of Amazon RDS recommendations.
Filters []*RDSDBRecommendationFilter `locationName:"filters" type:"list"`
// If your account is the management account or the delegated administrator
// of an organization, this parameter indicates whether to include recommendations
// for resources in all member accounts of the organization.
//
// The member accounts must also be opted in to Compute Optimizer, and trusted
// access for Compute Optimizer must be enabled in the organization account.
// For more information, see Compute Optimizer and Amazon Web Services Organizations
// trusted access (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access)
// in the Compute Optimizer User Guide.
//
// If this parameter is omitted, recommendations for member accounts of the
// organization aren't included in the export file.
//
// If this parameter or the account ID parameter is omitted, recommendations
// for member accounts aren't included in the export.
IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"`
// Describes the recommendation preferences to return in the response of a GetAutoScalingGroupRecommendations,
// GetEC2InstanceRecommendations, GetEC2RecommendationProjectedMetrics, GetRDSDatabaseRecommendations,
// and GetRDSDatabaseRecommendationProjectedMetrics request.
RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"`
// Describes the destination Amazon Simple Storage Service (Amazon S3) bucket
// name and key prefix for a recommendations export job.
//
// You must create the destination Amazon S3 bucket for your recommendations
// export before you create the export job. Compute Optimizer does not create
// the S3 bucket for you. After you create the S3 bucket, ensure that it has
// the required permission policy to allow Compute Optimizer to write the export
// file to it. If you plan to specify an object prefix when you create the export
// job, you must include the object prefix in the policy that you add to the
// S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute
// Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html)
// in the Compute Optimizer User Guide.
//
// S3DestinationConfig is a required field
S3DestinationConfig *S3DestinationConfig `locationName:"s3DestinationConfig" type:"structure" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportRDSDatabaseRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportRDSDatabaseRecommendationsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ExportRDSDatabaseRecommendationsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ExportRDSDatabaseRecommendationsInput"}
if s.S3DestinationConfig == nil {
invalidParams.Add(request.NewErrParamRequired("S3DestinationConfig"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAccountIds sets the AccountIds field's value.
func (s *ExportRDSDatabaseRecommendationsInput) SetAccountIds(v []*string) *ExportRDSDatabaseRecommendationsInput {
s.AccountIds = v
return s
}
// SetFieldsToExport sets the FieldsToExport field's value.
func (s *ExportRDSDatabaseRecommendationsInput) SetFieldsToExport(v []*string) *ExportRDSDatabaseRecommendationsInput {
s.FieldsToExport = v
return s
}
// SetFileFormat sets the FileFormat field's value.
func (s *ExportRDSDatabaseRecommendationsInput) SetFileFormat(v string) *ExportRDSDatabaseRecommendationsInput {
s.FileFormat = &v
return s
}
// SetFilters sets the Filters field's value.
func (s *ExportRDSDatabaseRecommendationsInput) SetFilters(v []*RDSDBRecommendationFilter) *ExportRDSDatabaseRecommendationsInput {
s.Filters = v
return s
}
// SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value.
func (s *ExportRDSDatabaseRecommendationsInput) SetIncludeMemberAccounts(v bool) *ExportRDSDatabaseRecommendationsInput {
s.IncludeMemberAccounts = &v
return s
}
// SetRecommendationPreferences sets the RecommendationPreferences field's value.
func (s *ExportRDSDatabaseRecommendationsInput) SetRecommendationPreferences(v *RecommendationPreferences) *ExportRDSDatabaseRecommendationsInput {
s.RecommendationPreferences = v
return s
}
// SetS3DestinationConfig sets the S3DestinationConfig field's value.
func (s *ExportRDSDatabaseRecommendationsInput) SetS3DestinationConfig(v *S3DestinationConfig) *ExportRDSDatabaseRecommendationsInput {
s.S3DestinationConfig = v
return s
}
type ExportRDSDatabaseRecommendationsOutput struct {
_ struct{} `type:"structure"`
// The identification number of the export job.
//
// To view the status of an export job, use the DescribeRecommendationExportJobs
// action and specify the job ID.
JobId *string `locationName:"jobId" type:"string"`
// Describes the destination Amazon Simple Storage Service (Amazon S3) bucket
// name and object keys of a recommendations export file, and its associated
// metadata file.
S3Destination *S3Destination `locationName:"s3Destination" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportRDSDatabaseRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExportRDSDatabaseRecommendationsOutput) GoString() string {
return s.String()
}
// SetJobId sets the JobId field's value.
func (s *ExportRDSDatabaseRecommendationsOutput) SetJobId(v string) *ExportRDSDatabaseRecommendationsOutput {
s.JobId = &v
return s
}
// SetS3Destination sets the S3Destination field's value.
func (s *ExportRDSDatabaseRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportRDSDatabaseRecommendationsOutput {
s.S3Destination = v
return s
}
// Describes Compute Optimizer's integration status with your chosen external
// metric provider. For example, Datadog.
type ExternalMetricStatus struct {
_ struct{} `type:"structure"`
// The status code for Compute Optimizer's integration with an external metrics
// provider.
StatusCode *string `locationName:"statusCode" type:"string" enum:"ExternalMetricStatusCode"`
// The reason for Compute Optimizer's integration status with your external
// metric provider.
StatusReason *string `locationName:"statusReason" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExternalMetricStatus) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExternalMetricStatus) GoString() string {
return s.String()
}
// SetStatusCode sets the StatusCode field's value.
func (s *ExternalMetricStatus) SetStatusCode(v string) *ExternalMetricStatus {
s.StatusCode = &v
return s
}
// SetStatusReason sets the StatusReason field's value.
func (s *ExternalMetricStatus) SetStatusReason(v string) *ExternalMetricStatus {
s.StatusReason = &v
return s
}
// Describes the external metrics preferences for EC2 rightsizing recommendations.
type ExternalMetricsPreference struct {
_ struct{} `type:"structure"`
// Contains the source options for external metrics preferences.
Source *string `locationName:"source" type:"string" enum:"ExternalMetricsSource"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExternalMetricsPreference) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExternalMetricsPreference) GoString() string {
return s.String()
}
// SetSource sets the Source field's value.
func (s *ExternalMetricsPreference) SetSource(v string) *ExternalMetricsPreference {
s.Source = &v
return s
}
// Describes a filter that returns a more specific list of recommendations.
// Use this filter with the GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations
// actions.
//
// You can use EBSFilter with the GetEBSVolumeRecommendations action, LambdaFunctionRecommendationFilter
// with the GetLambdaFunctionRecommendations action, and JobFilter with the
// DescribeRecommendationExportJobs action.
type Filter struct {
_ struct{} `type:"structure"`
// The name of the filter.
//
// Specify Finding to return recommendations with a specific finding classification.
// For example, Underprovisioned.
//
// Specify RecommendationSourceType to return recommendations of a specific
// resource type. For example, Ec2Instance.
//
// Specify FindingReasonCodes to return recommendations with a specific finding
// reason code. For example, CPUUnderprovisioned.
//
// Specify InferredWorkloadTypes to return recommendations of a specific inferred
// workload. For example, Redis.
//
// You can filter your EC2 instance recommendations by tag:key and tag-key tags.
//
// A tag:key is a key and value combination of a tag assigned to your recommendations.
// Use the tag key in the filter name and the tag value as the filter value.
// For example, to find all recommendations that have a tag with the key of
// Owner and the value of TeamA, specify tag:Owner for the filter name and TeamA
// for the filter value.
//
// A tag-key is the key of a tag assigned to your recommendations. Use this
// filter to find all of your recommendations that have a tag with a specific
// key. This doesn’t consider the tag value. For example, you can find your
// recommendations with a tag key value of Owner or without any tag keys assigned.
Name *string `locationName:"name" type:"string" enum:"FilterName"`
// The value of the filter.
//
// The valid values for this parameter are as follows, depending on what you
// specify for the name parameter and the resource type that you wish to filter
// results for:
//
// * Specify Optimized or NotOptimized if you specify the name parameter
// as Finding and you want to filter results for Auto Scaling groups.
//
// * Specify Underprovisioned, Overprovisioned, or Optimized if you specify
// the name parameter as Finding and you want to filter results for EC2 instances.
//
// * Specify Ec2Instance or AutoScalingGroup if you specify the name parameter
// as RecommendationSourceType.
//
// * Specify one of the following options if you specify the name parameter
// as FindingReasonCodes: CPUOverprovisioned — The instance’s CPU configuration
// can be sized down while still meeting the performance requirements of
// your workload. CPUUnderprovisioned — The instance’s CPU configuration
// doesn't meet the performance requirements of your workload and there is
// an alternative instance type that provides better CPU performance. MemoryOverprovisioned
// — The instance’s memory configuration can be sized down while still
// meeting the performance requirements of your workload. MemoryUnderprovisioned
// — The instance’s memory configuration doesn't meet the performance
// requirements of your workload and there is an alternative instance type
// that provides better memory performance. EBSThroughputOverprovisioned
// — The instance’s EBS throughput configuration can be sized down while
// still meeting the performance requirements of your workload. EBSThroughputUnderprovisioned
// — The instance’s EBS throughput configuration doesn't meet the performance
// requirements of your workload and there is an alternative instance type
// that provides better EBS throughput performance. EBSIOPSOverprovisioned
// — The instance’s EBS IOPS configuration can be sized down while still
// meeting the performance requirements of your workload. EBSIOPSUnderprovisioned
// — The instance’s EBS IOPS configuration doesn't meet the performance
// requirements of your workload and there is an alternative instance type
// that provides better EBS IOPS performance. NetworkBandwidthOverprovisioned
// — The instance’s network bandwidth configuration can be sized down
// while still meeting the performance requirements of your workload. NetworkBandwidthUnderprovisioned
// — The instance’s network bandwidth configuration doesn't meet the
// performance requirements of your workload and there is an alternative
// instance type that provides better network bandwidth performance. This
// finding reason happens when the NetworkIn or NetworkOut performance of
// an instance is impacted. NetworkPPSOverprovisioned — The instance’s
// network PPS (packets per second) configuration can be sized down while
// still meeting the performance requirements of your workload. NetworkPPSUnderprovisioned
// — The instance’s network PPS (packets per second) configuration doesn't
// meet the performance requirements of your workload and there is an alternative
// instance type that provides better network PPS performance. DiskIOPSOverprovisioned
// — The instance’s disk IOPS configuration can be sized down while still
// meeting the performance requirements of your workload. DiskIOPSUnderprovisioned
// — The instance’s disk IOPS configuration doesn't meet the performance
// requirements of your workload and there is an alternative instance type
// that provides better disk IOPS performance. DiskThroughputOverprovisioned
// — The instance’s disk throughput configuration can be sized down while
// still meeting the performance requirements of your workload. DiskThroughputUnderprovisioned
// — The instance’s disk throughput configuration doesn't meet the performance
// requirements of your workload and there is an alternative instance type
// that provides better disk throughput performance.
Values []*string `locationName:"values" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Filter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Filter) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *Filter) SetName(v string) *Filter {
s.Name = &v
return s
}
// SetValues sets the Values field's value.
func (s *Filter) SetValues(v []*string) *Filter {
s.Values = v
return s
}
type GetAutoScalingGroupRecommendationsInput struct {
_ struct{} `type:"structure"`
// The ID of the Amazon Web Services account for which to return Auto Scaling
// group recommendations.
//
// If your account is the management account of an organization, use this parameter
// to specify the member account for which you want to return Auto Scaling group
// recommendations.
//
// Only one account ID can be specified per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// The Amazon Resource Name (ARN) of the Auto Scaling groups for which to return
// recommendations.
AutoScalingGroupArns []*string `locationName:"autoScalingGroupArns" type:"list"`
// An array of objects to specify a filter that returns a more specific list
// of Auto Scaling group recommendations.
Filters []*Filter `locationName:"filters" type:"list"`
// The maximum number of Auto Scaling group recommendations to return with a
// single request.
//
// To retrieve the remaining results, make another request with the returned
// nextToken value.
MaxResults *int64 `locationName:"maxResults" type:"integer"`
// The token to advance to the next page of Auto Scaling group recommendations.
NextToken *string `locationName:"nextToken" type:"string"`
// An object to specify the preferences for the Auto Scaling group recommendations
// to return in the response.
RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetAutoScalingGroupRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetAutoScalingGroupRecommendationsInput) GoString() string {
return s.String()
}
// SetAccountIds sets the AccountIds field's value.
func (s *GetAutoScalingGroupRecommendationsInput) SetAccountIds(v []*string) *GetAutoScalingGroupRecommendationsInput {
s.AccountIds = v
return s
}
// SetAutoScalingGroupArns sets the AutoScalingGroupArns field's value.
func (s *GetAutoScalingGroupRecommendationsInput) SetAutoScalingGroupArns(v []*string) *GetAutoScalingGroupRecommendationsInput {
s.AutoScalingGroupArns = v
return s
}
// SetFilters sets the Filters field's value.
func (s *GetAutoScalingGroupRecommendationsInput) SetFilters(v []*Filter) *GetAutoScalingGroupRecommendationsInput {
s.Filters = v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *GetAutoScalingGroupRecommendationsInput) SetMaxResults(v int64) *GetAutoScalingGroupRecommendationsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetAutoScalingGroupRecommendationsInput) SetNextToken(v string) *GetAutoScalingGroupRecommendationsInput {
s.NextToken = &v
return s
}
// SetRecommendationPreferences sets the RecommendationPreferences field's value.
func (s *GetAutoScalingGroupRecommendationsInput) SetRecommendationPreferences(v *RecommendationPreferences) *GetAutoScalingGroupRecommendationsInput {
s.RecommendationPreferences = v
return s
}
type GetAutoScalingGroupRecommendationsOutput struct {
_ struct{} `type:"structure"`
// An array of objects that describe Auto Scaling group recommendations.
AutoScalingGroupRecommendations []*AutoScalingGroupRecommendation `locationName:"autoScalingGroupRecommendations" type:"list"`
// An array of objects that describe errors of the request.
//
// For example, an error is returned if you request recommendations for an unsupported
// Auto Scaling group.
Errors []*GetRecommendationError `locationName:"errors" type:"list"`
// The token to use to advance to the next page of Auto Scaling group recommendations.
//
// This value is null when there are no more pages of Auto Scaling group recommendations
// to return.
NextToken *string `locationName:"nextToken" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetAutoScalingGroupRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetAutoScalingGroupRecommendationsOutput) GoString() string {
return s.String()
}
// SetAutoScalingGroupRecommendations sets the AutoScalingGroupRecommendations field's value.
func (s *GetAutoScalingGroupRecommendationsOutput) SetAutoScalingGroupRecommendations(v []*AutoScalingGroupRecommendation) *GetAutoScalingGroupRecommendationsOutput {
s.AutoScalingGroupRecommendations = v
return s
}
// SetErrors sets the Errors field's value.
func (s *GetAutoScalingGroupRecommendationsOutput) SetErrors(v []*GetRecommendationError) *GetAutoScalingGroupRecommendationsOutput {
s.Errors = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetAutoScalingGroupRecommendationsOutput) SetNextToken(v string) *GetAutoScalingGroupRecommendationsOutput {
s.NextToken = &v
return s
}
type GetEBSVolumeRecommendationsInput struct {
_ struct{} `type:"structure"`
// The ID of the Amazon Web Services account for which to return volume recommendations.
//
// If your account is the management account of an organization, use this parameter
// to specify the member account for which you want to return volume recommendations.
//
// Only one account ID can be specified per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// An array of objects to specify a filter that returns a more specific list
// of volume recommendations.
Filters []*EBSFilter `locationName:"filters" type:"list"`
// The maximum number of volume recommendations to return with a single request.
//
// To retrieve the remaining results, make another request with the returned
// nextToken value.
MaxResults *int64 `locationName:"maxResults" type:"integer"`
// The token to advance to the next page of volume recommendations.
NextToken *string `locationName:"nextToken" type:"string"`
// The Amazon Resource Name (ARN) of the volumes for which to return recommendations.
VolumeArns []*string `locationName:"volumeArns" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEBSVolumeRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEBSVolumeRecommendationsInput) GoString() string {
return s.String()
}
// SetAccountIds sets the AccountIds field's value.
func (s *GetEBSVolumeRecommendationsInput) SetAccountIds(v []*string) *GetEBSVolumeRecommendationsInput {
s.AccountIds = v
return s
}
// SetFilters sets the Filters field's value.
func (s *GetEBSVolumeRecommendationsInput) SetFilters(v []*EBSFilter) *GetEBSVolumeRecommendationsInput {
s.Filters = v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *GetEBSVolumeRecommendationsInput) SetMaxResults(v int64) *GetEBSVolumeRecommendationsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetEBSVolumeRecommendationsInput) SetNextToken(v string) *GetEBSVolumeRecommendationsInput {
s.NextToken = &v
return s
}
// SetVolumeArns sets the VolumeArns field's value.
func (s *GetEBSVolumeRecommendationsInput) SetVolumeArns(v []*string) *GetEBSVolumeRecommendationsInput {
s.VolumeArns = v
return s
}
type GetEBSVolumeRecommendationsOutput struct {
_ struct{} `type:"structure"`
// An array of objects that describe errors of the request.
//
// For example, an error is returned if you request recommendations for an unsupported
// volume.
Errors []*GetRecommendationError `locationName:"errors" type:"list"`
// The token to use to advance to the next page of volume recommendations.
//
// This value is null when there are no more pages of volume recommendations
// to return.
NextToken *string `locationName:"nextToken" type:"string"`
// An array of objects that describe volume recommendations.
VolumeRecommendations []*VolumeRecommendation `locationName:"volumeRecommendations" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEBSVolumeRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEBSVolumeRecommendationsOutput) GoString() string {
return s.String()
}
// SetErrors sets the Errors field's value.
func (s *GetEBSVolumeRecommendationsOutput) SetErrors(v []*GetRecommendationError) *GetEBSVolumeRecommendationsOutput {
s.Errors = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetEBSVolumeRecommendationsOutput) SetNextToken(v string) *GetEBSVolumeRecommendationsOutput {
s.NextToken = &v
return s
}
// SetVolumeRecommendations sets the VolumeRecommendations field's value.
func (s *GetEBSVolumeRecommendationsOutput) SetVolumeRecommendations(v []*VolumeRecommendation) *GetEBSVolumeRecommendationsOutput {
s.VolumeRecommendations = v
return s
}
type GetEC2InstanceRecommendationsInput struct {
_ struct{} `type:"structure"`
// The ID of the Amazon Web Services account for which to return instance recommendations.
//
// If your account is the management account of an organization, use this parameter
// to specify the member account for which you want to return instance recommendations.
//
// Only one account ID can be specified per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// An array of objects to specify a filter that returns a more specific list
// of instance recommendations.
Filters []*Filter `locationName:"filters" type:"list"`
// The Amazon Resource Name (ARN) of the instances for which to return recommendations.
InstanceArns []*string `locationName:"instanceArns" type:"list"`
// The maximum number of instance recommendations to return with a single request.
//
// To retrieve the remaining results, make another request with the returned
// nextToken value.
MaxResults *int64 `locationName:"maxResults" type:"integer"`
// The token to advance to the next page of instance recommendations.
NextToken *string `locationName:"nextToken" type:"string"`
// An object to specify the preferences for the Amazon EC2 instance recommendations
// to return in the response.
RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEC2InstanceRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEC2InstanceRecommendationsInput) GoString() string {
return s.String()
}
// SetAccountIds sets the AccountIds field's value.
func (s *GetEC2InstanceRecommendationsInput) SetAccountIds(v []*string) *GetEC2InstanceRecommendationsInput {
s.AccountIds = v
return s
}
// SetFilters sets the Filters field's value.
func (s *GetEC2InstanceRecommendationsInput) SetFilters(v []*Filter) *GetEC2InstanceRecommendationsInput {
s.Filters = v
return s
}
// SetInstanceArns sets the InstanceArns field's value.
func (s *GetEC2InstanceRecommendationsInput) SetInstanceArns(v []*string) *GetEC2InstanceRecommendationsInput {
s.InstanceArns = v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *GetEC2InstanceRecommendationsInput) SetMaxResults(v int64) *GetEC2InstanceRecommendationsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetEC2InstanceRecommendationsInput) SetNextToken(v string) *GetEC2InstanceRecommendationsInput {
s.NextToken = &v
return s
}
// SetRecommendationPreferences sets the RecommendationPreferences field's value.
func (s *GetEC2InstanceRecommendationsInput) SetRecommendationPreferences(v *RecommendationPreferences) *GetEC2InstanceRecommendationsInput {
s.RecommendationPreferences = v
return s
}
type GetEC2InstanceRecommendationsOutput struct {
_ struct{} `type:"structure"`
// An array of objects that describe errors of the request.
//
// For example, an error is returned if you request recommendations for an instance
// of an unsupported instance family.
Errors []*GetRecommendationError `locationName:"errors" type:"list"`
// An array of objects that describe instance recommendations.
InstanceRecommendations []*InstanceRecommendation `locationName:"instanceRecommendations" type:"list"`
// The token to use to advance to the next page of instance recommendations.
//
// This value is null when there are no more pages of instance recommendations
// to return.
NextToken *string `locationName:"nextToken" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEC2InstanceRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEC2InstanceRecommendationsOutput) GoString() string {
return s.String()
}
// SetErrors sets the Errors field's value.
func (s *GetEC2InstanceRecommendationsOutput) SetErrors(v []*GetRecommendationError) *GetEC2InstanceRecommendationsOutput {
s.Errors = v
return s
}
// SetInstanceRecommendations sets the InstanceRecommendations field's value.
func (s *GetEC2InstanceRecommendationsOutput) SetInstanceRecommendations(v []*InstanceRecommendation) *GetEC2InstanceRecommendationsOutput {
s.InstanceRecommendations = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetEC2InstanceRecommendationsOutput) SetNextToken(v string) *GetEC2InstanceRecommendationsOutput {
s.NextToken = &v
return s
}
type GetEC2RecommendationProjectedMetricsInput struct {
_ struct{} `type:"structure"`
// The timestamp of the last projected metrics data point to return.
//
// EndTime is a required field
EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
// The Amazon Resource Name (ARN) of the instances for which to return recommendation
// projected metrics.
//
// InstanceArn is a required field
InstanceArn *string `locationName:"instanceArn" type:"string" required:"true"`
// The granularity, in seconds, of the projected metrics data points.
//
// Period is a required field
Period *int64 `locationName:"period" type:"integer" required:"true"`
// An object to specify the preferences for the Amazon EC2 recommendation projected
// metrics to return in the response.
RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"`
// The timestamp of the first projected metrics data point to return.
//
// StartTime is a required field
StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
// The statistic of the projected metrics.
//
// Stat is a required field
Stat *string `locationName:"stat" type:"string" required:"true" enum:"MetricStatistic"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEC2RecommendationProjectedMetricsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEC2RecommendationProjectedMetricsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetEC2RecommendationProjectedMetricsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetEC2RecommendationProjectedMetricsInput"}
if s.EndTime == nil {
invalidParams.Add(request.NewErrParamRequired("EndTime"))
}
if s.InstanceArn == nil {
invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
}
if s.Period == nil {
invalidParams.Add(request.NewErrParamRequired("Period"))
}
if s.StartTime == nil {
invalidParams.Add(request.NewErrParamRequired("StartTime"))
}
if s.Stat == nil {
invalidParams.Add(request.NewErrParamRequired("Stat"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetEndTime sets the EndTime field's value.
func (s *GetEC2RecommendationProjectedMetricsInput) SetEndTime(v time.Time) *GetEC2RecommendationProjectedMetricsInput {
s.EndTime = &v
return s
}
// SetInstanceArn sets the InstanceArn field's value.
func (s *GetEC2RecommendationProjectedMetricsInput) SetInstanceArn(v string) *GetEC2RecommendationProjectedMetricsInput {
s.InstanceArn = &v
return s
}
// SetPeriod sets the Period field's value.
func (s *GetEC2RecommendationProjectedMetricsInput) SetPeriod(v int64) *GetEC2RecommendationProjectedMetricsInput {
s.Period = &v
return s
}
// SetRecommendationPreferences sets the RecommendationPreferences field's value.
func (s *GetEC2RecommendationProjectedMetricsInput) SetRecommendationPreferences(v *RecommendationPreferences) *GetEC2RecommendationProjectedMetricsInput {
s.RecommendationPreferences = v
return s
}
// SetStartTime sets the StartTime field's value.
func (s *GetEC2RecommendationProjectedMetricsInput) SetStartTime(v time.Time) *GetEC2RecommendationProjectedMetricsInput {
s.StartTime = &v
return s
}
// SetStat sets the Stat field's value.
func (s *GetEC2RecommendationProjectedMetricsInput) SetStat(v string) *GetEC2RecommendationProjectedMetricsInput {
s.Stat = &v
return s
}
type GetEC2RecommendationProjectedMetricsOutput struct {
_ struct{} `type:"structure"`
// An array of objects that describes projected metrics.
RecommendedOptionProjectedMetrics []*RecommendedOptionProjectedMetric `locationName:"recommendedOptionProjectedMetrics" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEC2RecommendationProjectedMetricsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEC2RecommendationProjectedMetricsOutput) GoString() string {
return s.String()
}
// SetRecommendedOptionProjectedMetrics sets the RecommendedOptionProjectedMetrics field's value.
func (s *GetEC2RecommendationProjectedMetricsOutput) SetRecommendedOptionProjectedMetrics(v []*RecommendedOptionProjectedMetric) *GetEC2RecommendationProjectedMetricsOutput {
s.RecommendedOptionProjectedMetrics = v
return s
}
type GetECSServiceRecommendationProjectedMetricsInput struct {
_ struct{} `type:"structure"`
// The timestamp of the last projected metrics data point to return.
//
// EndTime is a required field
EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
// The granularity, in seconds, of the projected metrics data points.
//
// Period is a required field
Period *int64 `locationName:"period" type:"integer" required:"true"`
// The ARN that identifies the Amazon ECS service.
//
// The following is the format of the ARN:
//
// arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name
//
// ServiceArn is a required field
ServiceArn *string `locationName:"serviceArn" type:"string" required:"true"`
// The timestamp of the first projected metrics data point to return.
//
// StartTime is a required field
StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
// The statistic of the projected metrics.
//
// Stat is a required field
Stat *string `locationName:"stat" type:"string" required:"true" enum:"MetricStatistic"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetECSServiceRecommendationProjectedMetricsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetECSServiceRecommendationProjectedMetricsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetECSServiceRecommendationProjectedMetricsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetECSServiceRecommendationProjectedMetricsInput"}
if s.EndTime == nil {
invalidParams.Add(request.NewErrParamRequired("EndTime"))
}
if s.Period == nil {
invalidParams.Add(request.NewErrParamRequired("Period"))
}
if s.ServiceArn == nil {
invalidParams.Add(request.NewErrParamRequired("ServiceArn"))
}
if s.StartTime == nil {
invalidParams.Add(request.NewErrParamRequired("StartTime"))
}
if s.Stat == nil {
invalidParams.Add(request.NewErrParamRequired("Stat"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetEndTime sets the EndTime field's value.
func (s *GetECSServiceRecommendationProjectedMetricsInput) SetEndTime(v time.Time) *GetECSServiceRecommendationProjectedMetricsInput {
s.EndTime = &v
return s
}
// SetPeriod sets the Period field's value.
func (s *GetECSServiceRecommendationProjectedMetricsInput) SetPeriod(v int64) *GetECSServiceRecommendationProjectedMetricsInput {
s.Period = &v
return s
}
// SetServiceArn sets the ServiceArn field's value.
func (s *GetECSServiceRecommendationProjectedMetricsInput) SetServiceArn(v string) *GetECSServiceRecommendationProjectedMetricsInput {
s.ServiceArn = &v
return s
}
// SetStartTime sets the StartTime field's value.
func (s *GetECSServiceRecommendationProjectedMetricsInput) SetStartTime(v time.Time) *GetECSServiceRecommendationProjectedMetricsInput {
s.StartTime = &v
return s
}
// SetStat sets the Stat field's value.
func (s *GetECSServiceRecommendationProjectedMetricsInput) SetStat(v string) *GetECSServiceRecommendationProjectedMetricsInput {
s.Stat = &v
return s
}
type GetECSServiceRecommendationProjectedMetricsOutput struct {
_ struct{} `type:"structure"`
// An array of objects that describes the projected metrics.
RecommendedOptionProjectedMetrics []*ECSServiceRecommendedOptionProjectedMetric `locationName:"recommendedOptionProjectedMetrics" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetECSServiceRecommendationProjectedMetricsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetECSServiceRecommendationProjectedMetricsOutput) GoString() string {
return s.String()
}
// SetRecommendedOptionProjectedMetrics sets the RecommendedOptionProjectedMetrics field's value.
func (s *GetECSServiceRecommendationProjectedMetricsOutput) SetRecommendedOptionProjectedMetrics(v []*ECSServiceRecommendedOptionProjectedMetric) *GetECSServiceRecommendationProjectedMetricsOutput {
s.RecommendedOptionProjectedMetrics = v
return s
}
type GetECSServiceRecommendationsInput struct {
_ struct{} `type:"structure"`
// Return the Amazon ECS service recommendations to the specified Amazon Web
// Services account IDs.
//
// If your account is the management account or the delegated administrator
// of an organization, use this parameter to return the Amazon ECS service recommendations
// to specific member accounts.
//
// You can only specify one account ID per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// An array of objects to specify a filter that returns a more specific list
// of Amazon ECS service recommendations.
Filters []*ECSServiceRecommendationFilter `locationName:"filters" type:"list"`
// The maximum number of Amazon ECS service recommendations to return with a
// single request.
//
// To retrieve the remaining results, make another request with the returned
// nextToken value.
MaxResults *int64 `locationName:"maxResults" type:"integer"`
// The token to advance to the next page of Amazon ECS service recommendations.
NextToken *string `locationName:"nextToken" type:"string"`
// The ARN that identifies the Amazon ECS service.
//
// The following is the format of the ARN:
//
// arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name
ServiceArns []*string `locationName:"serviceArns" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetECSServiceRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetECSServiceRecommendationsInput) GoString() string {
return s.String()
}
// SetAccountIds sets the AccountIds field's value.
func (s *GetECSServiceRecommendationsInput) SetAccountIds(v []*string) *GetECSServiceRecommendationsInput {
s.AccountIds = v
return s
}
// SetFilters sets the Filters field's value.
func (s *GetECSServiceRecommendationsInput) SetFilters(v []*ECSServiceRecommendationFilter) *GetECSServiceRecommendationsInput {
s.Filters = v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *GetECSServiceRecommendationsInput) SetMaxResults(v int64) *GetECSServiceRecommendationsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetECSServiceRecommendationsInput) SetNextToken(v string) *GetECSServiceRecommendationsInput {
s.NextToken = &v
return s
}
// SetServiceArns sets the ServiceArns field's value.
func (s *GetECSServiceRecommendationsInput) SetServiceArns(v []*string) *GetECSServiceRecommendationsInput {
s.ServiceArns = v
return s
}
type GetECSServiceRecommendationsOutput struct {
_ struct{} `type:"structure"`
// An array of objects that describe the Amazon ECS service recommendations.
EcsServiceRecommendations []*ECSServiceRecommendation `locationName:"ecsServiceRecommendations" type:"list"`
// An array of objects that describe errors of the request.
Errors []*GetRecommendationError `locationName:"errors" type:"list"`
// The token to advance to the next page of Amazon ECS service recommendations.
NextToken *string `locationName:"nextToken" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetECSServiceRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetECSServiceRecommendationsOutput) GoString() string {
return s.String()
}
// SetEcsServiceRecommendations sets the EcsServiceRecommendations field's value.
func (s *GetECSServiceRecommendationsOutput) SetEcsServiceRecommendations(v []*ECSServiceRecommendation) *GetECSServiceRecommendationsOutput {
s.EcsServiceRecommendations = v
return s
}
// SetErrors sets the Errors field's value.
func (s *GetECSServiceRecommendationsOutput) SetErrors(v []*GetRecommendationError) *GetECSServiceRecommendationsOutput {
s.Errors = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetECSServiceRecommendationsOutput) SetNextToken(v string) *GetECSServiceRecommendationsOutput {
s.NextToken = &v
return s
}
type GetEffectiveRecommendationPreferencesInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the resource for which to confirm effective
// recommendation preferences. Only EC2 instance and Auto Scaling group ARNs
// are currently supported.
//
// ResourceArn is a required field
ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEffectiveRecommendationPreferencesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEffectiveRecommendationPreferencesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetEffectiveRecommendationPreferencesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetEffectiveRecommendationPreferencesInput"}
if s.ResourceArn == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetResourceArn sets the ResourceArn field's value.
func (s *GetEffectiveRecommendationPreferencesInput) SetResourceArn(v string) *GetEffectiveRecommendationPreferencesInput {
s.ResourceArn = &v
return s
}
type GetEffectiveRecommendationPreferencesOutput struct {
_ struct{} `type:"structure"`
// The status of the enhanced infrastructure metrics recommendation preference.
// Considers all applicable preferences that you might have set at the resource,
// account, and organization level.
//
// A status of Active confirms that the preference is applied in the latest
// recommendation refresh, and a status of Inactive confirms that it's not yet
// applied to recommendations.
//
// To validate whether the preference is applied to your last generated set
// of recommendations, review the effectiveRecommendationPreferences value in
// the response of the GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations
// actions.
//
// For more information, see Enhanced infrastructure metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
// in the Compute Optimizer User Guide.
EnhancedInfrastructureMetrics *string `locationName:"enhancedInfrastructureMetrics" type:"string" enum:"EnhancedInfrastructureMetrics"`
// The provider of the external metrics recommendation preference. Considers
// all applicable preferences that you might have set at the account and organization
// level.
//
// If the preference is applied in the latest recommendation refresh, an object
// with a valid source value appears in the response. If the preference isn't
// applied to the recommendations already, then this object doesn't appear in
// the response.
//
// To validate whether the preference is applied to your last generated set
// of recommendations, review the effectiveRecommendationPreferences value in
// the response of the GetEC2InstanceRecommendations actions.
//
// For more information, see Enhanced infrastructure metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/external-metrics-ingestion.html)
// in the Compute Optimizer User Guide.
ExternalMetricsPreference *ExternalMetricsPreference `locationName:"externalMetricsPreference" type:"structure"`
// The number of days the utilization metrics of the Amazon Web Services resource
// are analyzed.
//
// To validate that the preference is applied to your last generated set of
// recommendations, review the effectiveRecommendationPreferences value in the
// response of the GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations
// actions.
LookBackPeriod *string `locationName:"lookBackPeriod" type:"string" enum:"LookBackPeriodPreference"`
// The resource type values that are considered as candidates when generating
// rightsizing recommendations. This object resolves any wildcard expressions
// and returns the effective list of candidate resource type values. It also
// considers all applicable preferences that you set at the resource, account,
// and organization level.
//
// To validate that the preference is applied to your last generated set of
// recommendations, review the effectiveRecommendationPreferences value in the
// response of the GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations
// actions.
PreferredResources []*EffectivePreferredResource `locationName:"preferredResources" type:"list"`
// The resource’s CPU and memory utilization preferences, such as threshold
// and headroom, that were used to generate rightsizing recommendations. It
// considers all applicable preferences that you set at the resource, account,
// and organization level.
//
// To validate that the preference is applied to your last generated set of
// recommendations, review the effectiveRecommendationPreferences value in the
// response of the GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations
// actions.
UtilizationPreferences []*UtilizationPreference `locationName:"utilizationPreferences" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEffectiveRecommendationPreferencesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEffectiveRecommendationPreferencesOutput) GoString() string {
return s.String()
}
// SetEnhancedInfrastructureMetrics sets the EnhancedInfrastructureMetrics field's value.
func (s *GetEffectiveRecommendationPreferencesOutput) SetEnhancedInfrastructureMetrics(v string) *GetEffectiveRecommendationPreferencesOutput {
s.EnhancedInfrastructureMetrics = &v
return s
}
// SetExternalMetricsPreference sets the ExternalMetricsPreference field's value.
func (s *GetEffectiveRecommendationPreferencesOutput) SetExternalMetricsPreference(v *ExternalMetricsPreference) *GetEffectiveRecommendationPreferencesOutput {
s.ExternalMetricsPreference = v
return s
}
// SetLookBackPeriod sets the LookBackPeriod field's value.
func (s *GetEffectiveRecommendationPreferencesOutput) SetLookBackPeriod(v string) *GetEffectiveRecommendationPreferencesOutput {
s.LookBackPeriod = &v
return s
}
// SetPreferredResources sets the PreferredResources field's value.
func (s *GetEffectiveRecommendationPreferencesOutput) SetPreferredResources(v []*EffectivePreferredResource) *GetEffectiveRecommendationPreferencesOutput {
s.PreferredResources = v
return s
}
// SetUtilizationPreferences sets the UtilizationPreferences field's value.
func (s *GetEffectiveRecommendationPreferencesOutput) SetUtilizationPreferences(v []*UtilizationPreference) *GetEffectiveRecommendationPreferencesOutput {
s.UtilizationPreferences = v
return s
}
type GetEnrollmentStatusInput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEnrollmentStatusInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEnrollmentStatusInput) GoString() string {
return s.String()
}
type GetEnrollmentStatusOutput struct {
_ struct{} `type:"structure"`
// The Unix epoch timestamp, in seconds, of when the account enrollment status
// was last updated.
LastUpdatedTimestamp *time.Time `locationName:"lastUpdatedTimestamp" type:"timestamp"`
// Confirms the enrollment status of member accounts of the organization, if
// the account is a management account of an organization.
MemberAccountsEnrolled *bool `locationName:"memberAccountsEnrolled" type:"boolean"`
// The count of organization member accounts that are opted in to the service,
// if your account is an organization management account.
NumberOfMemberAccountsOptedIn *int64 `locationName:"numberOfMemberAccountsOptedIn" type:"integer"`
// The enrollment status of the account.
Status *string `locationName:"status" type:"string" enum:"Status"`
// The reason for the enrollment status of the account.
//
// For example, an account might show a status of Pending because member accounts
// of an organization require more time to be enrolled in the service.
StatusReason *string `locationName:"statusReason" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEnrollmentStatusOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEnrollmentStatusOutput) GoString() string {
return s.String()
}
// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
func (s *GetEnrollmentStatusOutput) SetLastUpdatedTimestamp(v time.Time) *GetEnrollmentStatusOutput {
s.LastUpdatedTimestamp = &v
return s
}
// SetMemberAccountsEnrolled sets the MemberAccountsEnrolled field's value.
func (s *GetEnrollmentStatusOutput) SetMemberAccountsEnrolled(v bool) *GetEnrollmentStatusOutput {
s.MemberAccountsEnrolled = &v
return s
}
// SetNumberOfMemberAccountsOptedIn sets the NumberOfMemberAccountsOptedIn field's value.
func (s *GetEnrollmentStatusOutput) SetNumberOfMemberAccountsOptedIn(v int64) *GetEnrollmentStatusOutput {
s.NumberOfMemberAccountsOptedIn = &v
return s
}
// SetStatus sets the Status field's value.
func (s *GetEnrollmentStatusOutput) SetStatus(v string) *GetEnrollmentStatusOutput {
s.Status = &v
return s
}
// SetStatusReason sets the StatusReason field's value.
func (s *GetEnrollmentStatusOutput) SetStatusReason(v string) *GetEnrollmentStatusOutput {
s.StatusReason = &v
return s
}
type GetEnrollmentStatusesForOrganizationInput struct {
_ struct{} `type:"structure"`
// An array of objects to specify a filter that returns a more specific list
// of account enrollment statuses.
Filters []*EnrollmentFilter `locationName:"filters" type:"list"`
// The maximum number of account enrollment statuses to return with a single
// request. You can specify up to 100 statuses to return with each request.
//
// To retrieve the remaining results, make another request with the returned
// nextToken value.
MaxResults *int64 `locationName:"maxResults" type:"integer"`
// The token to advance to the next page of account enrollment statuses.
NextToken *string `locationName:"nextToken" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEnrollmentStatusesForOrganizationInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEnrollmentStatusesForOrganizationInput) GoString() string {
return s.String()
}
// SetFilters sets the Filters field's value.
func (s *GetEnrollmentStatusesForOrganizationInput) SetFilters(v []*EnrollmentFilter) *GetEnrollmentStatusesForOrganizationInput {
s.Filters = v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *GetEnrollmentStatusesForOrganizationInput) SetMaxResults(v int64) *GetEnrollmentStatusesForOrganizationInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetEnrollmentStatusesForOrganizationInput) SetNextToken(v string) *GetEnrollmentStatusesForOrganizationInput {
s.NextToken = &v
return s
}
type GetEnrollmentStatusesForOrganizationOutput struct {
_ struct{} `type:"structure"`
// An array of objects that describe the enrollment statuses of organization
// member accounts.
AccountEnrollmentStatuses []*AccountEnrollmentStatus `locationName:"accountEnrollmentStatuses" type:"list"`
// The token to use to advance to the next page of account enrollment statuses.
//
// This value is null when there are no more pages of account enrollment statuses
// to return.
NextToken *string `locationName:"nextToken" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEnrollmentStatusesForOrganizationOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEnrollmentStatusesForOrganizationOutput) GoString() string {
return s.String()
}
// SetAccountEnrollmentStatuses sets the AccountEnrollmentStatuses field's value.
func (s *GetEnrollmentStatusesForOrganizationOutput) SetAccountEnrollmentStatuses(v []*AccountEnrollmentStatus) *GetEnrollmentStatusesForOrganizationOutput {
s.AccountEnrollmentStatuses = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetEnrollmentStatusesForOrganizationOutput) SetNextToken(v string) *GetEnrollmentStatusesForOrganizationOutput {
s.NextToken = &v
return s
}
type GetLambdaFunctionRecommendationsInput struct {
_ struct{} `type:"structure"`
// The ID of the Amazon Web Services account for which to return function recommendations.
//
// If your account is the management account of an organization, use this parameter
// to specify the member account for which you want to return function recommendations.
//
// Only one account ID can be specified per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// An array of objects to specify a filter that returns a more specific list
// of function recommendations.
Filters []*LambdaFunctionRecommendationFilter `locationName:"filters" type:"list"`
// The Amazon Resource Name (ARN) of the functions for which to return recommendations.
//
// You can specify a qualified or unqualified ARN. If you specify an unqualified
// ARN without a function version suffix, Compute Optimizer will return recommendations
// for the latest ($LATEST) version of the function. If you specify a qualified
// ARN with a version suffix, Compute Optimizer will return recommendations
// for the specified function version. For more information about using function
// versions, see Using versions (https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html#versioning-versions-using)
// in the Lambda Developer Guide.
FunctionArns []*string `locationName:"functionArns" type:"list"`
// The maximum number of function recommendations to return with a single request.
//
// To retrieve the remaining results, make another request with the returned
// nextToken value.
MaxResults *int64 `locationName:"maxResults" type:"integer"`
// The token to advance to the next page of function recommendations.
NextToken *string `locationName:"nextToken" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetLambdaFunctionRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetLambdaFunctionRecommendationsInput) GoString() string {
return s.String()
}
// SetAccountIds sets the AccountIds field's value.
func (s *GetLambdaFunctionRecommendationsInput) SetAccountIds(v []*string) *GetLambdaFunctionRecommendationsInput {
s.AccountIds = v
return s
}
// SetFilters sets the Filters field's value.
func (s *GetLambdaFunctionRecommendationsInput) SetFilters(v []*LambdaFunctionRecommendationFilter) *GetLambdaFunctionRecommendationsInput {
s.Filters = v
return s
}
// SetFunctionArns sets the FunctionArns field's value.
func (s *GetLambdaFunctionRecommendationsInput) SetFunctionArns(v []*string) *GetLambdaFunctionRecommendationsInput {
s.FunctionArns = v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *GetLambdaFunctionRecommendationsInput) SetMaxResults(v int64) *GetLambdaFunctionRecommendationsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetLambdaFunctionRecommendationsInput) SetNextToken(v string) *GetLambdaFunctionRecommendationsInput {
s.NextToken = &v
return s
}
type GetLambdaFunctionRecommendationsOutput struct {
_ struct{} `type:"structure"`
// An array of objects that describe function recommendations.
LambdaFunctionRecommendations []*LambdaFunctionRecommendation `locationName:"lambdaFunctionRecommendations" type:"list"`
// The token to use to advance to the next page of function recommendations.
//
// This value is null when there are no more pages of function recommendations
// to return.
NextToken *string `locationName:"nextToken" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetLambdaFunctionRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetLambdaFunctionRecommendationsOutput) GoString() string {
return s.String()
}
// SetLambdaFunctionRecommendations sets the LambdaFunctionRecommendations field's value.
func (s *GetLambdaFunctionRecommendationsOutput) SetLambdaFunctionRecommendations(v []*LambdaFunctionRecommendation) *GetLambdaFunctionRecommendationsOutput {
s.LambdaFunctionRecommendations = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetLambdaFunctionRecommendationsOutput) SetNextToken(v string) *GetLambdaFunctionRecommendationsOutput {
s.NextToken = &v
return s
}
type GetLicenseRecommendationsInput struct {
_ struct{} `type:"structure"`
// The ID of the Amazon Web Services account for which to return license recommendations.
//
// If your account is the management account of an organization, use this parameter
// to specify the member account for which you want to return license recommendations.
//
// Only one account ID can be specified per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// An array of objects to specify a filter that returns a more specific list
// of license recommendations.
Filters []*LicenseRecommendationFilter `locationName:"filters" type:"list"`
// The maximum number of license recommendations to return with a single request.
//
// To retrieve the remaining results, make another request with the returned
// nextToken value.
MaxResults *int64 `locationName:"maxResults" type:"integer"`
// The token to advance to the next page of license recommendations.
NextToken *string `locationName:"nextToken" type:"string"`
// The ARN that identifies the Amazon EC2 instance.
//
// The following is the format of the ARN:
//
// arn:aws:ec2:region:aws_account_id:instance/instance-id
ResourceArns []*string `locationName:"resourceArns" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetLicenseRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetLicenseRecommendationsInput) GoString() string {
return s.String()
}
// SetAccountIds sets the AccountIds field's value.
func (s *GetLicenseRecommendationsInput) SetAccountIds(v []*string) *GetLicenseRecommendationsInput {
s.AccountIds = v
return s
}
// SetFilters sets the Filters field's value.
func (s *GetLicenseRecommendationsInput) SetFilters(v []*LicenseRecommendationFilter) *GetLicenseRecommendationsInput {
s.Filters = v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *GetLicenseRecommendationsInput) SetMaxResults(v int64) *GetLicenseRecommendationsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetLicenseRecommendationsInput) SetNextToken(v string) *GetLicenseRecommendationsInput {
s.NextToken = &v
return s
}
// SetResourceArns sets the ResourceArns field's value.
func (s *GetLicenseRecommendationsInput) SetResourceArns(v []*string) *GetLicenseRecommendationsInput {
s.ResourceArns = v
return s
}
type GetLicenseRecommendationsOutput struct {
_ struct{} `type:"structure"`
// An array of objects that describe errors of the request.
Errors []*GetRecommendationError `locationName:"errors" type:"list"`
// An array of objects that describe license recommendations.
LicenseRecommendations []*LicenseRecommendation `locationName:"licenseRecommendations" type:"list"`
// The token to use to advance to the next page of license recommendations.
NextToken *string `locationName:"nextToken" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetLicenseRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetLicenseRecommendationsOutput) GoString() string {
return s.String()
}
// SetErrors sets the Errors field's value.
func (s *GetLicenseRecommendationsOutput) SetErrors(v []*GetRecommendationError) *GetLicenseRecommendationsOutput {
s.Errors = v
return s
}
// SetLicenseRecommendations sets the LicenseRecommendations field's value.
func (s *GetLicenseRecommendationsOutput) SetLicenseRecommendations(v []*LicenseRecommendation) *GetLicenseRecommendationsOutput {
s.LicenseRecommendations = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetLicenseRecommendationsOutput) SetNextToken(v string) *GetLicenseRecommendationsOutput {
s.NextToken = &v
return s
}
type GetRDSDatabaseRecommendationProjectedMetricsInput struct {
_ struct{} `type:"structure"`
// The timestamp of the last projected metrics data point to return.
//
// EndTime is a required field
EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
// The granularity, in seconds, of the projected metrics data points.
//
// Period is a required field
Period *int64 `locationName:"period" type:"integer" required:"true"`
// Describes the recommendation preferences to return in the response of a GetAutoScalingGroupRecommendations,
// GetEC2InstanceRecommendations, GetEC2RecommendationProjectedMetrics, GetRDSDatabaseRecommendations,
// and GetRDSDatabaseRecommendationProjectedMetrics request.
RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"`
// The ARN that identifies the Amazon RDS.
//
// The following is the format of the ARN:
//
// arn:aws:rds:{region}:{accountId}:db:{resourceName}
//
// ResourceArn is a required field
ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
// The timestamp of the first projected metrics data point to return.
//
// StartTime is a required field
StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
// The statistic of the projected metrics.
//
// Stat is a required field
Stat *string `locationName:"stat" type:"string" required:"true" enum:"MetricStatistic"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRDSDatabaseRecommendationProjectedMetricsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRDSDatabaseRecommendationProjectedMetricsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetRDSDatabaseRecommendationProjectedMetricsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetRDSDatabaseRecommendationProjectedMetricsInput"}
if s.EndTime == nil {
invalidParams.Add(request.NewErrParamRequired("EndTime"))
}
if s.Period == nil {
invalidParams.Add(request.NewErrParamRequired("Period"))
}
if s.ResourceArn == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
}
if s.StartTime == nil {
invalidParams.Add(request.NewErrParamRequired("StartTime"))
}
if s.Stat == nil {
invalidParams.Add(request.NewErrParamRequired("Stat"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetEndTime sets the EndTime field's value.
func (s *GetRDSDatabaseRecommendationProjectedMetricsInput) SetEndTime(v time.Time) *GetRDSDatabaseRecommendationProjectedMetricsInput {
s.EndTime = &v
return s
}
// SetPeriod sets the Period field's value.
func (s *GetRDSDatabaseRecommendationProjectedMetricsInput) SetPeriod(v int64) *GetRDSDatabaseRecommendationProjectedMetricsInput {
s.Period = &v
return s
}
// SetRecommendationPreferences sets the RecommendationPreferences field's value.
func (s *GetRDSDatabaseRecommendationProjectedMetricsInput) SetRecommendationPreferences(v *RecommendationPreferences) *GetRDSDatabaseRecommendationProjectedMetricsInput {
s.RecommendationPreferences = v
return s
}
// SetResourceArn sets the ResourceArn field's value.
func (s *GetRDSDatabaseRecommendationProjectedMetricsInput) SetResourceArn(v string) *GetRDSDatabaseRecommendationProjectedMetricsInput {
s.ResourceArn = &v
return s
}
// SetStartTime sets the StartTime field's value.
func (s *GetRDSDatabaseRecommendationProjectedMetricsInput) SetStartTime(v time.Time) *GetRDSDatabaseRecommendationProjectedMetricsInput {
s.StartTime = &v
return s
}
// SetStat sets the Stat field's value.
func (s *GetRDSDatabaseRecommendationProjectedMetricsInput) SetStat(v string) *GetRDSDatabaseRecommendationProjectedMetricsInput {
s.Stat = &v
return s
}
type GetRDSDatabaseRecommendationProjectedMetricsOutput struct {
_ struct{} `type:"structure"`
// An array of objects that describes the projected metrics.
RecommendedOptionProjectedMetrics []*RDSDatabaseRecommendedOptionProjectedMetric `locationName:"recommendedOptionProjectedMetrics" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRDSDatabaseRecommendationProjectedMetricsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRDSDatabaseRecommendationProjectedMetricsOutput) GoString() string {
return s.String()
}
// SetRecommendedOptionProjectedMetrics sets the RecommendedOptionProjectedMetrics field's value.
func (s *GetRDSDatabaseRecommendationProjectedMetricsOutput) SetRecommendedOptionProjectedMetrics(v []*RDSDatabaseRecommendedOptionProjectedMetric) *GetRDSDatabaseRecommendationProjectedMetricsOutput {
s.RecommendedOptionProjectedMetrics = v
return s
}
type GetRDSDatabaseRecommendationsInput struct {
_ struct{} `type:"structure"`
// Return the Amazon RDS recommendations to the specified Amazon Web Services
// account IDs.
//
// If your account is the management account or the delegated administrator
// of an organization, use this parameter to return the Amazon RDS recommendations
// to specific member accounts.
//
// You can only specify one account ID per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// An array of objects to specify a filter that returns a more specific list
// of Amazon RDS recommendations.
Filters []*RDSDBRecommendationFilter `locationName:"filters" type:"list"`
// The maximum number of Amazon RDS recommendations to return with a single
// request.
//
// To retrieve the remaining results, make another request with the returned
// nextToken value.
MaxResults *int64 `locationName:"maxResults" type:"integer"`
// The token to advance to the next page of Amazon RDS recommendations.
NextToken *string `locationName:"nextToken" type:"string"`
// Describes the recommendation preferences to return in the response of a GetAutoScalingGroupRecommendations,
// GetEC2InstanceRecommendations, GetEC2RecommendationProjectedMetrics, GetRDSDatabaseRecommendations,
// and GetRDSDatabaseRecommendationProjectedMetrics request.
RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"`
// The ARN that identifies the Amazon RDS.
//
// The following is the format of the ARN:
//
// arn:aws:rds:{region}:{accountId}:db:{resourceName}
//
// The following is the format of a DB Cluster ARN:
//
// arn:aws:rds:{region}:{accountId}:cluster:{resourceName}
ResourceArns []*string `locationName:"resourceArns" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRDSDatabaseRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRDSDatabaseRecommendationsInput) GoString() string {
return s.String()
}
// SetAccountIds sets the AccountIds field's value.
func (s *GetRDSDatabaseRecommendationsInput) SetAccountIds(v []*string) *GetRDSDatabaseRecommendationsInput {
s.AccountIds = v
return s
}
// SetFilters sets the Filters field's value.
func (s *GetRDSDatabaseRecommendationsInput) SetFilters(v []*RDSDBRecommendationFilter) *GetRDSDatabaseRecommendationsInput {
s.Filters = v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *GetRDSDatabaseRecommendationsInput) SetMaxResults(v int64) *GetRDSDatabaseRecommendationsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetRDSDatabaseRecommendationsInput) SetNextToken(v string) *GetRDSDatabaseRecommendationsInput {
s.NextToken = &v
return s
}
// SetRecommendationPreferences sets the RecommendationPreferences field's value.
func (s *GetRDSDatabaseRecommendationsInput) SetRecommendationPreferences(v *RecommendationPreferences) *GetRDSDatabaseRecommendationsInput {
s.RecommendationPreferences = v
return s
}
// SetResourceArns sets the ResourceArns field's value.
func (s *GetRDSDatabaseRecommendationsInput) SetResourceArns(v []*string) *GetRDSDatabaseRecommendationsInput {
s.ResourceArns = v
return s
}
type GetRDSDatabaseRecommendationsOutput struct {
_ struct{} `type:"structure"`
// An array of objects that describe errors of the request.
Errors []*GetRecommendationError `locationName:"errors" type:"list"`
// The token to advance to the next page of Amazon RDS recommendations.
NextToken *string `locationName:"nextToken" type:"string"`
// An array of objects that describe the Amazon RDS recommendations.
RdsDBRecommendations []*RDSDBRecommendation `locationName:"rdsDBRecommendations" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRDSDatabaseRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRDSDatabaseRecommendationsOutput) GoString() string {
return s.String()
}
// SetErrors sets the Errors field's value.
func (s *GetRDSDatabaseRecommendationsOutput) SetErrors(v []*GetRecommendationError) *GetRDSDatabaseRecommendationsOutput {
s.Errors = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetRDSDatabaseRecommendationsOutput) SetNextToken(v string) *GetRDSDatabaseRecommendationsOutput {
s.NextToken = &v
return s
}
// SetRdsDBRecommendations sets the RdsDBRecommendations field's value.
func (s *GetRDSDatabaseRecommendationsOutput) SetRdsDBRecommendations(v []*RDSDBRecommendation) *GetRDSDatabaseRecommendationsOutput {
s.RdsDBRecommendations = v
return s
}
// Describes an error experienced when getting recommendations.
//
// For example, an error is returned if you request recommendations for an unsupported
// Auto Scaling group, or if you request recommendations for an instance of
// an unsupported instance family.
type GetRecommendationError struct {
_ struct{} `type:"structure"`
// The error code.
Code *string `locationName:"code" type:"string"`
// The ID of the error.
Identifier *string `locationName:"identifier" type:"string"`
// The message, or reason, for the error.
Message *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRecommendationError) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRecommendationError) GoString() string {
return s.String()
}
// SetCode sets the Code field's value.
func (s *GetRecommendationError) SetCode(v string) *GetRecommendationError {
s.Code = &v
return s
}
// SetIdentifier sets the Identifier field's value.
func (s *GetRecommendationError) SetIdentifier(v string) *GetRecommendationError {
s.Identifier = &v
return s
}
// SetMessage sets the Message field's value.
func (s *GetRecommendationError) SetMessage(v string) *GetRecommendationError {
s.Message = &v
return s
}
type GetRecommendationPreferencesInput struct {
_ struct{} `type:"structure"`
// The maximum number of recommendation preferences to return with a single
// request.
//
// To retrieve the remaining results, make another request with the returned
// nextToken value.
MaxResults *int64 `locationName:"maxResults" type:"integer"`
// The token to advance to the next page of recommendation preferences.
NextToken *string `locationName:"nextToken" type:"string"`
// The target resource type of the recommendation preference for which to return
// preferences.
//
// The Ec2Instance option encompasses standalone instances and instances that
// are part of Auto Scaling groups. The AutoScalingGroup option encompasses
// only instances that are part of an Auto Scaling group.
//
// ResourceType is a required field
ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
// An object that describes the scope of the recommendation preference to return.
//
// You can return recommendation preferences that are created at the organization
// level (for management accounts of an organization only), account level, and
// resource level. For more information, see Activating enhanced infrastructure
// metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
// in the Compute Optimizer User Guide.
Scope *Scope `locationName:"scope" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRecommendationPreferencesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRecommendationPreferencesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetRecommendationPreferencesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetRecommendationPreferencesInput"}
if s.ResourceType == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceType"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetMaxResults sets the MaxResults field's value.
func (s *GetRecommendationPreferencesInput) SetMaxResults(v int64) *GetRecommendationPreferencesInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetRecommendationPreferencesInput) SetNextToken(v string) *GetRecommendationPreferencesInput {
s.NextToken = &v
return s
}
// SetResourceType sets the ResourceType field's value.
func (s *GetRecommendationPreferencesInput) SetResourceType(v string) *GetRecommendationPreferencesInput {
s.ResourceType = &v
return s
}
// SetScope sets the Scope field's value.
func (s *GetRecommendationPreferencesInput) SetScope(v *Scope) *GetRecommendationPreferencesInput {
s.Scope = v
return s
}
type GetRecommendationPreferencesOutput struct {
_ struct{} `type:"structure"`
// The token to use to advance to the next page of recommendation preferences.
//
// This value is null when there are no more pages of recommendation preferences
// to return.
NextToken *string `locationName:"nextToken" type:"string"`
// An array of objects that describe recommendation preferences.
RecommendationPreferencesDetails []*RecommendationPreferencesDetail `locationName:"recommendationPreferencesDetails" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRecommendationPreferencesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRecommendationPreferencesOutput) GoString() string {
return s.String()
}
// SetNextToken sets the NextToken field's value.
func (s *GetRecommendationPreferencesOutput) SetNextToken(v string) *GetRecommendationPreferencesOutput {
s.NextToken = &v
return s
}
// SetRecommendationPreferencesDetails sets the RecommendationPreferencesDetails field's value.
func (s *GetRecommendationPreferencesOutput) SetRecommendationPreferencesDetails(v []*RecommendationPreferencesDetail) *GetRecommendationPreferencesOutput {
s.RecommendationPreferencesDetails = v
return s
}
type GetRecommendationSummariesInput struct {
_ struct{} `type:"structure"`
// The ID of the Amazon Web Services account for which to return recommendation
// summaries.
//
// If your account is the management account of an organization, use this parameter
// to specify the member account for which you want to return recommendation
// summaries.
//
// Only one account ID can be specified per request.
AccountIds []*string `locationName:"accountIds" type:"list"`
// The maximum number of recommendation summaries to return with a single request.
//
// To retrieve the remaining results, make another request with the returned
// nextToken value.
MaxResults *int64 `locationName:"maxResults" type:"integer"`
// The token to advance to the next page of recommendation summaries.
NextToken *string `locationName:"nextToken" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRecommendationSummariesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRecommendationSummariesInput) GoString() string {
return s.String()
}
// SetAccountIds sets the AccountIds field's value.
func (s *GetRecommendationSummariesInput) SetAccountIds(v []*string) *GetRecommendationSummariesInput {
s.AccountIds = v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *GetRecommendationSummariesInput) SetMaxResults(v int64) *GetRecommendationSummariesInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetRecommendationSummariesInput) SetNextToken(v string) *GetRecommendationSummariesInput {
s.NextToken = &v
return s
}
type GetRecommendationSummariesOutput struct {
_ struct{} `type:"structure"`
// The token to use to advance to the next page of recommendation summaries.
//
// This value is null when there are no more pages of recommendation summaries
// to return.
NextToken *string `locationName:"nextToken" type:"string"`
// An array of objects that summarize a recommendation.
RecommendationSummaries []*RecommendationSummary `locationName:"recommendationSummaries" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRecommendationSummariesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRecommendationSummariesOutput) GoString() string {
return s.String()
}
// SetNextToken sets the NextToken field's value.
func (s *GetRecommendationSummariesOutput) SetNextToken(v string) *GetRecommendationSummariesOutput {
s.NextToken = &v
return s
}
// SetRecommendationSummaries sets the RecommendationSummaries field's value.
func (s *GetRecommendationSummariesOutput) SetRecommendationSummaries(v []*RecommendationSummary) *GetRecommendationSummariesOutput {
s.RecommendationSummaries = v
return s
}
// Describes the GPU accelerators for the instance type.
type Gpu struct {
_ struct{} `type:"structure"`
// The number of GPUs for the instance type.
GpuCount *int64 `locationName:"gpuCount" type:"integer"`
// The total size of the memory for the GPU accelerators for the instance type,
// in MiB.
GpuMemorySizeInMiB *int64 `locationName:"gpuMemorySizeInMiB" type:"integer"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Gpu) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Gpu) GoString() string {
return s.String()
}
// SetGpuCount sets the GpuCount field's value.
func (s *Gpu) SetGpuCount(v int64) *Gpu {
s.GpuCount = &v
return s
}
// SetGpuMemorySizeInMiB sets the GpuMemorySizeInMiB field's value.
func (s *Gpu) SetGpuMemorySizeInMiB(v int64) *Gpu {
s.GpuMemorySizeInMiB = &v
return s
}
// Describes the GPU accelerator settings for the instance type.
type GpuInfo struct {
_ struct{} `type:"structure"`
// Describes the GPU accelerators for the instance type.
Gpus []*Gpu `locationName:"gpus" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GpuInfo) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GpuInfo) GoString() string {
return s.String()
}
// SetGpus sets the Gpus field's value.
func (s *GpuInfo) SetGpus(v []*Gpu) *GpuInfo {
s.Gpus = v
return s
}
// The estimated monthly savings after you adjust the configurations of your
// instances running on the inferred workload types to the recommended configurations.
// If the inferredWorkloadTypes list contains multiple entries, then the savings
// are the sum of the monthly savings from instances that run the exact combination
// of the inferred workload types.
type InferredWorkloadSaving struct {
_ struct{} `type:"structure"`
// An object that describes the estimated monthly savings amount possible by
// adopting Compute Optimizer recommendations for a given resource. This is
// based on the On-Demand instance pricing.
EstimatedMonthlySavings *EstimatedMonthlySavings `locationName:"estimatedMonthlySavings" type:"structure"`
// The applications that might be running on the instance as inferred by Compute
// Optimizer.
//
// Compute Optimizer can infer if one of the following applications might be
// running on the instance:
//
// * AmazonEmr - Infers that Amazon EMR might be running on the instance.
//
// * ApacheCassandra - Infers that Apache Cassandra might be running on the
// instance.
//
// * ApacheHadoop - Infers that Apache Hadoop might be running on the instance.
//
// * Memcached - Infers that Memcached might be running on the instance.
//
// * NGINX - Infers that NGINX might be running on the instance.
//
// * PostgreSql - Infers that PostgreSQL might be running on the instance.
//
// * Redis - Infers that Redis might be running on the instance.
//
// * Kafka - Infers that Kafka might be running on the instance.
//
// * SQLServer - Infers that SQLServer might be running on the instance.
InferredWorkloadTypes []*string `locationName:"inferredWorkloadTypes" type:"list" enum:"InferredWorkloadType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferredWorkloadSaving) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferredWorkloadSaving) GoString() string {
return s.String()
}
// SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value.
func (s *InferredWorkloadSaving) SetEstimatedMonthlySavings(v *EstimatedMonthlySavings) *InferredWorkloadSaving {
s.EstimatedMonthlySavings = v
return s
}
// SetInferredWorkloadTypes sets the InferredWorkloadTypes field's value.
func (s *InferredWorkloadSaving) SetInferredWorkloadTypes(v []*string) *InferredWorkloadSaving {
s.InferredWorkloadTypes = v
return s
}
// An object that describes the estimated monthly savings possible by adopting
// Compute Optimizer’s Amazon EC2 instance recommendations. This is based
// on the Savings Plans and Reserved Instances pricing discounts.
type InstanceEstimatedMonthlySavings struct {
_ struct{} `type:"structure"`
// The currency of the estimated monthly savings.
Currency *string `locationName:"currency" type:"string" enum:"Currency"`
// The value of the estimated monthly savings.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InstanceEstimatedMonthlySavings) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InstanceEstimatedMonthlySavings) GoString() string {
return s.String()
}
// SetCurrency sets the Currency field's value.
func (s *InstanceEstimatedMonthlySavings) SetCurrency(v string) *InstanceEstimatedMonthlySavings {
s.Currency = &v
return s
}
// SetValue sets the Value field's value.
func (s *InstanceEstimatedMonthlySavings) SetValue(v float64) *InstanceEstimatedMonthlySavings {
s.Value = &v
return s
}
// Describes an Amazon EC2 instance recommendation.
type InstanceRecommendation struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account ID of the instance.
AccountId *string `locationName:"accountId" type:"string"`
// Describes the GPU accelerator settings for the current instance type.
CurrentInstanceGpuInfo *GpuInfo `locationName:"currentInstanceGpuInfo" type:"structure"`
// The instance type of the current instance.
CurrentInstanceType *string `locationName:"currentInstanceType" type:"string"`
// The risk of the current instance not meeting the performance needs of its
// workloads. The higher the risk, the more likely the current instance cannot
// meet the performance requirements of its workload.
CurrentPerformanceRisk *string `locationName:"currentPerformanceRisk" type:"string" enum:"CurrentPerformanceRisk"`
// An object that describes the effective recommendation preferences for the
// instance.
EffectiveRecommendationPreferences *EffectiveRecommendationPreferences `locationName:"effectiveRecommendationPreferences" type:"structure"`
// An object that describes Compute Optimizer's integration status with your
// external metrics provider.
ExternalMetricStatus *ExternalMetricStatus `locationName:"externalMetricStatus" type:"structure"`
// The finding classification of the instance.
//
// Findings for instances include:
//
// * Underprovisioned —An instance is considered under-provisioned when
// at least one specification of your instance, such as CPU, memory, or network,
// does not meet the performance requirements of your workload. Under-provisioned
// instances may lead to poor application performance.
//
// * Overprovisioned —An instance is considered over-provisioned when at
// least one specification of your instance, such as CPU, memory, or network,
// can be sized down while still meeting the performance requirements of
// your workload, and no specification is under-provisioned. Over-provisioned
// instances may lead to unnecessary infrastructure cost.
//
// * Optimized —An instance is considered optimized when all specifications
// of your instance, such as CPU, memory, and network, meet the performance
// requirements of your workload and is not over provisioned. For optimized
// resources, Compute Optimizer might recommend a new generation instance
// type.
//
// The valid values in your API responses appear as OVER_PROVISIONED, UNDER_PROVISIONED,
// or OPTIMIZED.
Finding *string `locationName:"finding" type:"string" enum:"Finding"`
// The reason for the finding classification of the instance.
//
// Finding reason codes for instances include:
//
// * CPUOverprovisioned — The instance’s CPU configuration can be sized
// down while still meeting the performance requirements of your workload.
// This is identified by analyzing the CPUUtilization metric of the current
// instance during the look-back period.
//
// * CPUUnderprovisioned — The instance’s CPU configuration doesn't meet
// the performance requirements of your workload and there is an alternative
// instance type that provides better CPU performance. This is identified
// by analyzing the CPUUtilization metric of the current instance during
// the look-back period.
//
// * MemoryOverprovisioned — The instance’s memory configuration can
// be sized down while still meeting the performance requirements of your
// workload. This is identified by analyzing the memory utilization metric
// of the current instance during the look-back period.
//
// * MemoryUnderprovisioned — The instance’s memory configuration doesn't
// meet the performance requirements of your workload and there is an alternative
// instance type that provides better memory performance. This is identified
// by analyzing the memory utilization metric of the current instance during
// the look-back period. Memory utilization is analyzed only for resources
// that have the unified CloudWatch agent installed on them. For more information,
// see Enabling memory utilization with the Amazon CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent)
// in the Compute Optimizer User Guide. On Linux instances, Compute Optimizer
// analyses the mem_used_percent metric in the CWAgent namespace, or the
// legacy MemoryUtilization metric in the System/Linux namespace. On Windows
// instances, Compute Optimizer analyses the Memory % Committed Bytes In
// Use metric in the CWAgent namespace.
//
// * EBSThroughputOverprovisioned — The instance’s EBS throughput configuration
// can be sized down while still meeting the performance requirements of
// your workload. This is identified by analyzing the VolumeReadBytes and
// VolumeWriteBytes metrics of EBS volumes attached to the current instance
// during the look-back period.
//
// * EBSThroughputUnderprovisioned — The instance’s EBS throughput configuration
// doesn't meet the performance requirements of your workload and there is
// an alternative instance type that provides better EBS throughput performance.
// This is identified by analyzing the VolumeReadBytes and VolumeWriteBytes
// metrics of EBS volumes attached to the current instance during the look-back
// period.
//
// * EBSIOPSOverprovisioned — The instance’s EBS IOPS configuration can
// be sized down while still meeting the performance requirements of your
// workload. This is identified by analyzing the VolumeReadOps and VolumeWriteOps
// metric of EBS volumes attached to the current instance during the look-back
// period.
//
// * EBSIOPSUnderprovisioned — The instance’s EBS IOPS configuration
// doesn't meet the performance requirements of your workload and there is
// an alternative instance type that provides better EBS IOPS performance.
// This is identified by analyzing the VolumeReadOps and VolumeWriteOps metric
// of EBS volumes attached to the current instance during the look-back period.
//
// * NetworkBandwidthOverprovisioned — The instance’s network bandwidth
// configuration can be sized down while still meeting the performance requirements
// of your workload. This is identified by analyzing the NetworkIn and NetworkOut
// metrics of the current instance during the look-back period.
//
// * NetworkBandwidthUnderprovisioned — The instance’s network bandwidth
// configuration doesn't meet the performance requirements of your workload
// and there is an alternative instance type that provides better network
// bandwidth performance. This is identified by analyzing the NetworkIn and
// NetworkOut metrics of the current instance during the look-back period.
// This finding reason happens when the NetworkIn or NetworkOut performance
// of an instance is impacted.
//
// * NetworkPPSOverprovisioned — The instance’s network PPS (packets
// per second) configuration can be sized down while still meeting the performance
// requirements of your workload. This is identified by analyzing the NetworkPacketsIn
// and NetworkPacketsIn metrics of the current instance during the look-back
// period.
//
// * NetworkPPSUnderprovisioned — The instance’s network PPS (packets
// per second) configuration doesn't meet the performance requirements of
// your workload and there is an alternative instance type that provides
// better network PPS performance. This is identified by analyzing the NetworkPacketsIn
// and NetworkPacketsIn metrics of the current instance during the look-back
// period.
//
// * DiskIOPSOverprovisioned — The instance’s disk IOPS configuration
// can be sized down while still meeting the performance requirements of
// your workload. This is identified by analyzing the DiskReadOps and DiskWriteOps
// metrics of the current instance during the look-back period.
//
// * DiskIOPSUnderprovisioned — The instance’s disk IOPS configuration
// doesn't meet the performance requirements of your workload and there is
// an alternative instance type that provides better disk IOPS performance.
// This is identified by analyzing the DiskReadOps and DiskWriteOps metrics
// of the current instance during the look-back period.
//
// * DiskThroughputOverprovisioned — The instance’s disk throughput configuration
// can be sized down while still meeting the performance requirements of
// your workload. This is identified by analyzing the DiskReadBytes and DiskWriteBytes
// metrics of the current instance during the look-back period.
//
// * DiskThroughputUnderprovisioned — The instance’s disk throughput
// configuration doesn't meet the performance requirements of your workload
// and there is an alternative instance type that provides better disk throughput
// performance. This is identified by analyzing the DiskReadBytes and DiskWriteBytes
// metrics of the current instance during the look-back period.
//
// For more information about instance metrics, see List the available CloudWatch
// metrics for your instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)
// in the Amazon Elastic Compute Cloud User Guide. For more information about
// EBS volume metrics, see Amazon CloudWatch metrics for Amazon EBS (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cloudwatch_ebs.html)
// in the Amazon Elastic Compute Cloud User Guide.
FindingReasonCodes []*string `locationName:"findingReasonCodes" type:"list" enum:"InstanceRecommendationFindingReasonCode"`
// Describes if an Amazon EC2 instance is idle.
Idle *string `locationName:"idle" type:"string" enum:"InstanceIdle"`
// The applications that might be running on the instance as inferred by Compute
// Optimizer.
//
// Compute Optimizer can infer if one of the following applications might be
// running on the instance:
//
// * AmazonEmr - Infers that Amazon EMR might be running on the instance.
//
// * ApacheCassandra - Infers that Apache Cassandra might be running on the
// instance.
//
// * ApacheHadoop - Infers that Apache Hadoop might be running on the instance.
//
// * Memcached - Infers that Memcached might be running on the instance.
//
// * NGINX - Infers that NGINX might be running on the instance.
//
// * PostgreSql - Infers that PostgreSQL might be running on the instance.
//
// * Redis - Infers that Redis might be running on the instance.
//
// * Kafka - Infers that Kafka might be running on the instance.
//
// * SQLServer - Infers that SQLServer might be running on the instance.
InferredWorkloadTypes []*string `locationName:"inferredWorkloadTypes" type:"list" enum:"InferredWorkloadType"`
// The Amazon Resource Name (ARN) of the current instance.
InstanceArn *string `locationName:"instanceArn" type:"string"`
// The name of the current instance.
InstanceName *string `locationName:"instanceName" type:"string"`
// The state of the instance when the recommendation was generated.
InstanceState *string `locationName:"instanceState" type:"string" enum:"InstanceState"`
// The timestamp of when the instance recommendation was last generated.
LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"`
// The number of days for which utilization metrics were analyzed for the instance.
LookBackPeriodInDays *float64 `locationName:"lookBackPeriodInDays" type:"double"`
// An array of objects that describe the recommendation options for the instance.
RecommendationOptions []*InstanceRecommendationOption `locationName:"recommendationOptions" type:"list"`
// An array of objects that describe the source resource of the recommendation.
RecommendationSources []*RecommendationSource `locationName:"recommendationSources" type:"list"`
// A list of tags assigned to your Amazon EC2 instance recommendations.
Tags []*Tag `locationName:"tags" type:"list"`
// An array of objects that describe the utilization metrics of the instance.
UtilizationMetrics []*UtilizationMetric `locationName:"utilizationMetrics" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InstanceRecommendation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InstanceRecommendation) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *InstanceRecommendation) SetAccountId(v string) *InstanceRecommendation {
s.AccountId = &v
return s
}
// SetCurrentInstanceGpuInfo sets the CurrentInstanceGpuInfo field's value.
func (s *InstanceRecommendation) SetCurrentInstanceGpuInfo(v *GpuInfo) *InstanceRecommendation {
s.CurrentInstanceGpuInfo = v
return s
}
// SetCurrentInstanceType sets the CurrentInstanceType field's value.
func (s *InstanceRecommendation) SetCurrentInstanceType(v string) *InstanceRecommendation {
s.CurrentInstanceType = &v
return s
}
// SetCurrentPerformanceRisk sets the CurrentPerformanceRisk field's value.
func (s *InstanceRecommendation) SetCurrentPerformanceRisk(v string) *InstanceRecommendation {
s.CurrentPerformanceRisk = &v
return s
}
// SetEffectiveRecommendationPreferences sets the EffectiveRecommendationPreferences field's value.
func (s *InstanceRecommendation) SetEffectiveRecommendationPreferences(v *EffectiveRecommendationPreferences) *InstanceRecommendation {
s.EffectiveRecommendationPreferences = v
return s
}
// SetExternalMetricStatus sets the ExternalMetricStatus field's value.
func (s *InstanceRecommendation) SetExternalMetricStatus(v *ExternalMetricStatus) *InstanceRecommendation {
s.ExternalMetricStatus = v
return s
}
// SetFinding sets the Finding field's value.
func (s *InstanceRecommendation) SetFinding(v string) *InstanceRecommendation {
s.Finding = &v
return s
}
// SetFindingReasonCodes sets the FindingReasonCodes field's value.
func (s *InstanceRecommendation) SetFindingReasonCodes(v []*string) *InstanceRecommendation {
s.FindingReasonCodes = v
return s
}
// SetIdle sets the Idle field's value.
func (s *InstanceRecommendation) SetIdle(v string) *InstanceRecommendation {
s.Idle = &v
return s
}
// SetInferredWorkloadTypes sets the InferredWorkloadTypes field's value.
func (s *InstanceRecommendation) SetInferredWorkloadTypes(v []*string) *InstanceRecommendation {
s.InferredWorkloadTypes = v
return s
}
// SetInstanceArn sets the InstanceArn field's value.
func (s *InstanceRecommendation) SetInstanceArn(v string) *InstanceRecommendation {
s.InstanceArn = &v
return s
}
// SetInstanceName sets the InstanceName field's value.
func (s *InstanceRecommendation) SetInstanceName(v string) *InstanceRecommendation {
s.InstanceName = &v
return s
}
// SetInstanceState sets the InstanceState field's value.
func (s *InstanceRecommendation) SetInstanceState(v string) *InstanceRecommendation {
s.InstanceState = &v
return s
}
// SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value.
func (s *InstanceRecommendation) SetLastRefreshTimestamp(v time.Time) *InstanceRecommendation {
s.LastRefreshTimestamp = &v
return s
}
// SetLookBackPeriodInDays sets the LookBackPeriodInDays field's value.
func (s *InstanceRecommendation) SetLookBackPeriodInDays(v float64) *InstanceRecommendation {
s.LookBackPeriodInDays = &v
return s
}
// SetRecommendationOptions sets the RecommendationOptions field's value.
func (s *InstanceRecommendation) SetRecommendationOptions(v []*InstanceRecommendationOption) *InstanceRecommendation {
s.RecommendationOptions = v
return s
}
// SetRecommendationSources sets the RecommendationSources field's value.
func (s *InstanceRecommendation) SetRecommendationSources(v []*RecommendationSource) *InstanceRecommendation {
s.RecommendationSources = v
return s
}
// SetTags sets the Tags field's value.
func (s *InstanceRecommendation) SetTags(v []*Tag) *InstanceRecommendation {
s.Tags = v
return s
}
// SetUtilizationMetrics sets the UtilizationMetrics field's value.
func (s *InstanceRecommendation) SetUtilizationMetrics(v []*UtilizationMetric) *InstanceRecommendation {
s.UtilizationMetrics = v
return s
}
// Describes a recommendation option for an Amazon EC2 instance.
type InstanceRecommendationOption struct {
_ struct{} `type:"structure"`
// Describes the GPU accelerator settings for the recommended instance type.
InstanceGpuInfo *GpuInfo `locationName:"instanceGpuInfo" type:"structure"`
// The instance type of the instance recommendation.
InstanceType *string `locationName:"instanceType" type:"string"`
// The level of effort required to migrate from the current instance type to
// the recommended instance type.
//
// For example, the migration effort is Low if Amazon EMR is the inferred workload
// type and an Amazon Web Services Graviton instance type is recommended. The
// migration effort is Medium if a workload type couldn't be inferred but an
// Amazon Web Services Graviton instance type is recommended. The migration
// effort is VeryLow if both the current and recommended instance types are
// of the same CPU architecture.
MigrationEffort *string `locationName:"migrationEffort" type:"string" enum:"MigrationEffort"`
// The performance risk of the instance recommendation option.
//
// Performance risk indicates the likelihood of the recommended instance type
// not meeting the resource needs of your workload. Compute Optimizer calculates
// an individual performance risk score for each specification of the recommended
// instance, including CPU, memory, EBS throughput, EBS IOPS, disk throughput,
// disk IOPS, network throughput, and network PPS. The performance risk of the
// recommended instance is calculated as the maximum performance risk score
// across the analyzed resource specifications.
//
// The value ranges from 0 - 4, with 0 meaning that the recommended resource
// is predicted to always provide enough hardware capability. The higher the
// performance risk is, the more likely you should validate whether the recommendation
// will meet the performance requirements of your workload before migrating
// your resource.
PerformanceRisk *float64 `locationName:"performanceRisk" type:"double"`
// Describes the configuration differences between the current instance and
// the recommended instance type. You should consider the configuration differences
// before migrating your workloads from the current instance to the recommended
// instance type. The Change the instance type guide for Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html)
// and Change the instance type guide for Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-resize.html)
// provide general guidance for getting started with an instance migration.
//
// Platform differences include:
//
// * Hypervisor — The hypervisor of the recommended instance type is different
// than that of the current instance. For example, the recommended instance
// type uses a Nitro hypervisor and the current instance uses a Xen hypervisor.
// The differences that you should consider between these hypervisors are
// covered in the Nitro Hypervisor (http://aws.amazon.com/ec2/faqs/#Nitro_Hypervisor)
// section of the Amazon EC2 frequently asked questions. For more information,
// see Instances built on the Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances)
// in the Amazon EC2 User Guide for Linux, or Instances built on the Nitro
// System (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/instance-types.html#ec2-nitro-instances)
// in the Amazon EC2 User Guide for Windows.
//
// * NetworkInterface — The network interface of the recommended instance
// type is different than that of the current instance. For example, the
// recommended instance type supports enhanced networking and the current
// instance might not. To enable enhanced networking for the recommended
// instance type, you must install the Elastic Network Adapter (ENA) driver
// or the Intel 82599 Virtual Function driver. For more information, see
// Networking and storage features (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#instance-networking-storage)
// and Enhanced networking on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html)
// in the Amazon EC2 User Guide for Linux, or Networking and storage features
// (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/instance-types.html#instance-networking-storage)
// and Enhanced networking on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html)
// in the Amazon EC2 User Guide for Windows.
//
// * StorageInterface — The storage interface of the recommended instance
// type is different than that of the current instance. For example, the
// recommended instance type uses an NVMe storage interface and the current
// instance does not. To access NVMe volumes for the recommended instance
// type, you will need to install or upgrade the NVMe driver. For more information,
// see Networking and storage features (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#instance-networking-storage)
// and Amazon EBS and NVMe on Linux instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html)
// in the Amazon EC2 User Guide for Linux, or Networking and storage features
// (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/instance-types.html#instance-networking-storage)
// and Amazon EBS and NVMe on Windows instances (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/nvme-ebs-volumes.html)
// in the Amazon EC2 User Guide for Windows.
//
// * InstanceStoreAvailability — The recommended instance type does not
// support instance store volumes and the current instance does. Before migrating,
// you might need to back up the data on your instance store volumes if you
// want to preserve them. For more information, see How do I back up an instance
// store volume on my Amazon EC2 instance to Amazon EBS? (https://aws.amazon.com/premiumsupport/knowledge-center/back-up-instance-store-ebs/)
// in the Amazon Web Services Premium Support Knowledge Base. For more information,
// see Networking and storage features (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#instance-networking-storage)
// and Amazon EC2 instance store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)
// in the Amazon EC2 User Guide for Linux, or see Networking and storage
// features (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/instance-types.html#instance-networking-storage)
// and Amazon EC2 instance store (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/InstanceStorage.html)
// in the Amazon EC2 User Guide for Windows.
//
// * VirtualizationType — The recommended instance type uses the hardware
// virtual machine (HVM) virtualization type and the current instance uses
// the paravirtual (PV) virtualization type. For more information about the
// differences between these virtualization types, see Linux AMI virtualization
// types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html)
// in the Amazon EC2 User Guide for Linux, or Windows AMI virtualization
// types (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/windows-ami-version-history.html#virtualization-types)
// in the Amazon EC2 User Guide for Windows.
//
// * Architecture — The CPU architecture between the recommended instance
// type and the current instance is different. For example, the recommended
// instance type might use an Arm CPU architecture and the current instance
// type might use a different one, such as x86. Before migrating, you should
// consider recompiling the software on your instance for the new architecture.
// Alternatively, you might switch to an Amazon Machine Image (AMI) that
// supports the new architecture. For more information about the CPU architecture
// for each instance type, see Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/).
PlatformDifferences []*string `locationName:"platformDifferences" type:"list" enum:"PlatformDifference"`
// An array of objects that describe the projected utilization metrics of the
// instance recommendation option.
//
// The Cpu and Memory metrics are the only projected utilization metrics returned.
// Additionally, the Memory metric is returned only for resources that have
// the unified CloudWatch agent installed on them. For more information, see
// Enabling Memory Utilization with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent).
ProjectedUtilizationMetrics []*UtilizationMetric `locationName:"projectedUtilizationMetrics" type:"list"`
// The rank of the instance recommendation option.
//
// The top recommendation option is ranked as 1.
Rank *int64 `locationName:"rank" type:"integer"`
// An object that describes the savings opportunity for the instance recommendation
// option. Savings opportunity includes the estimated monthly savings amount
// and percentage.
SavingsOpportunity *SavingsOpportunity `locationName:"savingsOpportunity" type:"structure"`
// An object that describes the savings opportunity for the instance recommendation
// option that includes Savings Plans and Reserved Instances discounts. Savings
// opportunity includes the estimated monthly savings and percentage.
SavingsOpportunityAfterDiscounts *InstanceSavingsOpportunityAfterDiscounts `locationName:"savingsOpportunityAfterDiscounts" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InstanceRecommendationOption) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InstanceRecommendationOption) GoString() string {
return s.String()
}
// SetInstanceGpuInfo sets the InstanceGpuInfo field's value.
func (s *InstanceRecommendationOption) SetInstanceGpuInfo(v *GpuInfo) *InstanceRecommendationOption {
s.InstanceGpuInfo = v
return s
}
// SetInstanceType sets the InstanceType field's value.
func (s *InstanceRecommendationOption) SetInstanceType(v string) *InstanceRecommendationOption {
s.InstanceType = &v
return s
}
// SetMigrationEffort sets the MigrationEffort field's value.
func (s *InstanceRecommendationOption) SetMigrationEffort(v string) *InstanceRecommendationOption {
s.MigrationEffort = &v
return s
}
// SetPerformanceRisk sets the PerformanceRisk field's value.
func (s *InstanceRecommendationOption) SetPerformanceRisk(v float64) *InstanceRecommendationOption {
s.PerformanceRisk = &v
return s
}
// SetPlatformDifferences sets the PlatformDifferences field's value.
func (s *InstanceRecommendationOption) SetPlatformDifferences(v []*string) *InstanceRecommendationOption {
s.PlatformDifferences = v
return s
}
// SetProjectedUtilizationMetrics sets the ProjectedUtilizationMetrics field's value.
func (s *InstanceRecommendationOption) SetProjectedUtilizationMetrics(v []*UtilizationMetric) *InstanceRecommendationOption {
s.ProjectedUtilizationMetrics = v
return s
}
// SetRank sets the Rank field's value.
func (s *InstanceRecommendationOption) SetRank(v int64) *InstanceRecommendationOption {
s.Rank = &v
return s
}
// SetSavingsOpportunity sets the SavingsOpportunity field's value.
func (s *InstanceRecommendationOption) SetSavingsOpportunity(v *SavingsOpportunity) *InstanceRecommendationOption {
s.SavingsOpportunity = v
return s
}
// SetSavingsOpportunityAfterDiscounts sets the SavingsOpportunityAfterDiscounts field's value.
func (s *InstanceRecommendationOption) SetSavingsOpportunityAfterDiscounts(v *InstanceSavingsOpportunityAfterDiscounts) *InstanceRecommendationOption {
s.SavingsOpportunityAfterDiscounts = v
return s
}
// Describes the savings estimation mode used for calculating savings opportunity
// for Amazon EC2 instances.
type InstanceSavingsEstimationMode struct {
_ struct{} `type:"structure"`
// Describes the source for calculating the savings opportunity for Amazon EC2
// instances.
Source *string `locationName:"source" type:"string" enum:"InstanceSavingsEstimationModeSource"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InstanceSavingsEstimationMode) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InstanceSavingsEstimationMode) GoString() string {
return s.String()
}
// SetSource sets the Source field's value.
func (s *InstanceSavingsEstimationMode) SetSource(v string) *InstanceSavingsEstimationMode {
s.Source = &v
return s
}
// Describes the savings opportunity for instance recommendations after applying
// the Savings Plans and Reserved Instances discounts.
//
// Savings opportunity after discounts represents the estimated monthly savings
// you can achieve by implementing Compute Optimizer recommendations.
type InstanceSavingsOpportunityAfterDiscounts struct {
_ struct{} `type:"structure"`
// An object that describes the estimated monthly savings possible by adopting
// Compute Optimizer’s Amazon EC2 instance recommendations. This is based
// on pricing after applying the Savings Plans and Reserved Instances discounts.
EstimatedMonthlySavings *InstanceEstimatedMonthlySavings `locationName:"estimatedMonthlySavings" type:"structure"`
// The estimated monthly savings possible as a percentage of monthly cost after
// applying the Savings Plans and Reserved Instances discounts. This saving
// can be achieved by adopting Compute Optimizer’s EC2 instance recommendations.
SavingsOpportunityPercentage *float64 `locationName:"savingsOpportunityPercentage" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InstanceSavingsOpportunityAfterDiscounts) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InstanceSavingsOpportunityAfterDiscounts) GoString() string {
return s.String()
}
// SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value.
func (s *InstanceSavingsOpportunityAfterDiscounts) SetEstimatedMonthlySavings(v *InstanceEstimatedMonthlySavings) *InstanceSavingsOpportunityAfterDiscounts {
s.EstimatedMonthlySavings = v
return s
}
// SetSavingsOpportunityPercentage sets the SavingsOpportunityPercentage field's value.
func (s *InstanceSavingsOpportunityAfterDiscounts) SetSavingsOpportunityPercentage(v float64) *InstanceSavingsOpportunityAfterDiscounts {
s.SavingsOpportunityPercentage = &v
return s
}
// An internal error has occurred. Try your call again.
type InternalServerException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InternalServerException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InternalServerException) GoString() string {
return s.String()
}
func newErrorInternalServerException(v protocol.ResponseMetadata) error {
return &InternalServerException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *InternalServerException) Code() string {
return "InternalServerException"
}
// Message returns the exception's message.
func (s *InternalServerException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *InternalServerException) OrigErr() error {
return nil
}
func (s *InternalServerException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *InternalServerException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *InternalServerException) RequestID() string {
return s.RespMetadata.RequestID
}
// The value supplied for the input parameter is out of range or not valid.
type InvalidParameterValueException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvalidParameterValueException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvalidParameterValueException) GoString() string {
return s.String()
}
func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error {
return &InvalidParameterValueException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *InvalidParameterValueException) Code() string {
return "InvalidParameterValueException"
}
// Message returns the exception's message.
func (s *InvalidParameterValueException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *InvalidParameterValueException) OrigErr() error {
return nil
}
func (s *InvalidParameterValueException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *InvalidParameterValueException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *InvalidParameterValueException) RequestID() string {
return s.RespMetadata.RequestID
}
// Describes a filter that returns a more specific list of recommendation export
// jobs. Use this filter with the DescribeRecommendationExportJobs action.
//
// You can use EBSFilter with the GetEBSVolumeRecommendations action, LambdaFunctionRecommendationFilter
// with the GetLambdaFunctionRecommendations action, and Filter with the GetAutoScalingGroupRecommendations
// and GetEC2InstanceRecommendations actions.
type JobFilter struct {
_ struct{} `type:"structure"`
// The name of the filter.
//
// Specify ResourceType to return export jobs of a specific resource type (for
// example, Ec2Instance).
//
// Specify JobStatus to return export jobs with a specific status (e.g, Complete).
Name *string `locationName:"name" type:"string" enum:"JobFilterName"`
// The value of the filter.
//
// The valid values for this parameter are as follows, depending on what you
// specify for the name parameter:
//
// * Specify Ec2Instance or AutoScalingGroup if you specify the name parameter
// as ResourceType. There is no filter for EBS volumes because volume recommendations
// cannot be exported at this time.
//
// * Specify Queued, InProgress, Complete, or Failed if you specify the name
// parameter as JobStatus.
Values []*string `locationName:"values" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s JobFilter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s JobFilter) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *JobFilter) SetName(v string) *JobFilter {
s.Name = &v
return s
}
// SetValues sets the Values field's value.
func (s *JobFilter) SetValues(v []*string) *JobFilter {
s.Values = v
return s
}
// Describes the effective recommendation preferences for Lambda functions.
type LambdaEffectiveRecommendationPreferences struct {
_ struct{} `type:"structure"`
// Describes the savings estimation mode applied for calculating savings opportunity
// for Lambda functions.
SavingsEstimationMode *LambdaSavingsEstimationMode `locationName:"savingsEstimationMode" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaEffectiveRecommendationPreferences) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaEffectiveRecommendationPreferences) GoString() string {
return s.String()
}
// SetSavingsEstimationMode sets the SavingsEstimationMode field's value.
func (s *LambdaEffectiveRecommendationPreferences) SetSavingsEstimationMode(v *LambdaSavingsEstimationMode) *LambdaEffectiveRecommendationPreferences {
s.SavingsEstimationMode = v
return s
}
// Describes the estimated monthly savings possible for Lambda functions by
// adopting Compute Optimizer recommendations. This is based on Lambda functions
// pricing after applying Savings Plans discounts.
type LambdaEstimatedMonthlySavings struct {
_ struct{} `type:"structure"`
// The currency of the estimated monthly savings.
Currency *string `locationName:"currency" type:"string" enum:"Currency"`
// The value of the estimated monthly savings.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaEstimatedMonthlySavings) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaEstimatedMonthlySavings) GoString() string {
return s.String()
}
// SetCurrency sets the Currency field's value.
func (s *LambdaEstimatedMonthlySavings) SetCurrency(v string) *LambdaEstimatedMonthlySavings {
s.Currency = &v
return s
}
// SetValue sets the Value field's value.
func (s *LambdaEstimatedMonthlySavings) SetValue(v float64) *LambdaEstimatedMonthlySavings {
s.Value = &v
return s
}
// Describes a projected utilization metric of an Lambda function recommendation
// option.
type LambdaFunctionMemoryProjectedMetric struct {
_ struct{} `type:"structure"`
// The name of the projected utilization metric.
Name *string `locationName:"name" type:"string" enum:"LambdaFunctionMemoryMetricName"`
// The statistic of the projected utilization metric.
Statistic *string `locationName:"statistic" type:"string" enum:"LambdaFunctionMemoryMetricStatistic"`
// The values of the projected utilization metrics.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaFunctionMemoryProjectedMetric) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaFunctionMemoryProjectedMetric) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *LambdaFunctionMemoryProjectedMetric) SetName(v string) *LambdaFunctionMemoryProjectedMetric {
s.Name = &v
return s
}
// SetStatistic sets the Statistic field's value.
func (s *LambdaFunctionMemoryProjectedMetric) SetStatistic(v string) *LambdaFunctionMemoryProjectedMetric {
s.Statistic = &v
return s
}
// SetValue sets the Value field's value.
func (s *LambdaFunctionMemoryProjectedMetric) SetValue(v float64) *LambdaFunctionMemoryProjectedMetric {
s.Value = &v
return s
}
// Describes a recommendation option for an Lambda function.
type LambdaFunctionMemoryRecommendationOption struct {
_ struct{} `type:"structure"`
// The memory size, in MB, of the function recommendation option.
MemorySize *int64 `locationName:"memorySize" type:"integer"`
// An array of objects that describe the projected utilization metrics of the
// function recommendation option.
ProjectedUtilizationMetrics []*LambdaFunctionMemoryProjectedMetric `locationName:"projectedUtilizationMetrics" type:"list"`
// The rank of the function recommendation option.
//
// The top recommendation option is ranked as 1.
Rank *int64 `locationName:"rank" type:"integer"`
// An object that describes the savings opportunity for the Lambda function
// recommendation option. Savings opportunity includes the estimated monthly
// savings amount and percentage.
SavingsOpportunity *SavingsOpportunity `locationName:"savingsOpportunity" type:"structure"`
// An object that describes the savings opportunity for the Lambda recommendation
// option which includes Saving Plans discounts. Savings opportunity includes
// the estimated monthly savings and percentage.
SavingsOpportunityAfterDiscounts *LambdaSavingsOpportunityAfterDiscounts `locationName:"savingsOpportunityAfterDiscounts" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaFunctionMemoryRecommendationOption) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaFunctionMemoryRecommendationOption) GoString() string {
return s.String()
}
// SetMemorySize sets the MemorySize field's value.
func (s *LambdaFunctionMemoryRecommendationOption) SetMemorySize(v int64) *LambdaFunctionMemoryRecommendationOption {
s.MemorySize = &v
return s
}
// SetProjectedUtilizationMetrics sets the ProjectedUtilizationMetrics field's value.
func (s *LambdaFunctionMemoryRecommendationOption) SetProjectedUtilizationMetrics(v []*LambdaFunctionMemoryProjectedMetric) *LambdaFunctionMemoryRecommendationOption {
s.ProjectedUtilizationMetrics = v
return s
}
// SetRank sets the Rank field's value.
func (s *LambdaFunctionMemoryRecommendationOption) SetRank(v int64) *LambdaFunctionMemoryRecommendationOption {
s.Rank = &v
return s
}
// SetSavingsOpportunity sets the SavingsOpportunity field's value.
func (s *LambdaFunctionMemoryRecommendationOption) SetSavingsOpportunity(v *SavingsOpportunity) *LambdaFunctionMemoryRecommendationOption {
s.SavingsOpportunity = v
return s
}
// SetSavingsOpportunityAfterDiscounts sets the SavingsOpportunityAfterDiscounts field's value.
func (s *LambdaFunctionMemoryRecommendationOption) SetSavingsOpportunityAfterDiscounts(v *LambdaSavingsOpportunityAfterDiscounts) *LambdaFunctionMemoryRecommendationOption {
s.SavingsOpportunityAfterDiscounts = v
return s
}
// Describes an Lambda function recommendation.
type LambdaFunctionRecommendation struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account ID of the function.
AccountId *string `locationName:"accountId" type:"string"`
// The amount of memory, in MB, that's allocated to the current function.
CurrentMemorySize *int64 `locationName:"currentMemorySize" type:"integer"`
// The risk of the current Lambda function not meeting the performance needs
// of its workloads. The higher the risk, the more likely the current Lambda
// function requires more memory.
CurrentPerformanceRisk *string `locationName:"currentPerformanceRisk" type:"string" enum:"CurrentPerformanceRisk"`
// Describes the effective recommendation preferences for Lambda functions.
EffectiveRecommendationPreferences *LambdaEffectiveRecommendationPreferences `locationName:"effectiveRecommendationPreferences" type:"structure"`
// The finding classification of the function.
//
// Findings for functions include:
//
// * Optimized — The function is correctly provisioned to run your workload
// based on its current configuration and its utilization history. This finding
// classification does not include finding reason codes.
//
// * NotOptimized — The function is performing at a higher level (over-provisioned)
// or at a lower level (under-provisioned) than required for your workload
// because its current configuration is not optimal. Over-provisioned resources
// might lead to unnecessary infrastructure cost, and under-provisioned resources
// might lead to poor application performance. This finding classification
// can include the MemoryUnderprovisioned and MemoryUnderprovisioned finding
// reason codes.
//
// * Unavailable — Compute Optimizer was unable to generate a recommendation
// for the function. This could be because the function has not accumulated
// sufficient metric data, or the function does not qualify for a recommendation.
// This finding classification can include the InsufficientData and Inconclusive
// finding reason codes. Functions with a finding of unavailable are not
// returned unless you specify the filter parameter with a value of Unavailable
// in your GetLambdaFunctionRecommendations request.
Finding *string `locationName:"finding" type:"string" enum:"LambdaFunctionRecommendationFinding"`
// The reason for the finding classification of the function.
//
// Functions that have a finding classification of Optimized don't have a finding
// reason code.
//
// Finding reason codes for functions include:
//
// * MemoryOverprovisioned — The function is over-provisioned when its
// memory configuration can be sized down while still meeting the performance
// requirements of your workload. An over-provisioned function might lead
// to unnecessary infrastructure cost. This finding reason code is part of
// the NotOptimized finding classification.
//
// * MemoryUnderprovisioned — The function is under-provisioned when its
// memory configuration doesn't meet the performance requirements of the
// workload. An under-provisioned function might lead to poor application
// performance. This finding reason code is part of the NotOptimized finding
// classification.
//
// * InsufficientData — The function does not have sufficient metric data
// for Compute Optimizer to generate a recommendation. For more information,
// see the Supported resources and requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html)
// in the Compute Optimizer User Guide. This finding reason code is part
// of the Unavailable finding classification.
//
// * Inconclusive — The function does not qualify for a recommendation
// because Compute Optimizer cannot generate a recommendation with a high
// degree of confidence. This finding reason code is part of the Unavailable
// finding classification.
FindingReasonCodes []*string `locationName:"findingReasonCodes" type:"list" enum:"LambdaFunctionRecommendationFindingReasonCode"`
// The Amazon Resource Name (ARN) of the current function.
FunctionArn *string `locationName:"functionArn" type:"string"`
// The version number of the current function.
FunctionVersion *string `locationName:"functionVersion" type:"string"`
// The timestamp of when the function recommendation was last generated.
LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"`
// The number of days for which utilization metrics were analyzed for the function.
LookbackPeriodInDays *float64 `locationName:"lookbackPeriodInDays" type:"double"`
// An array of objects that describe the memory configuration recommendation
// options for the function.
MemorySizeRecommendationOptions []*LambdaFunctionMemoryRecommendationOption `locationName:"memorySizeRecommendationOptions" type:"list"`
// The number of times your function code was applied during the look-back period.
NumberOfInvocations *int64 `locationName:"numberOfInvocations" type:"long"`
// A list of tags assigned to your Lambda function recommendations.
Tags []*Tag `locationName:"tags" type:"list"`
// An array of objects that describe the utilization metrics of the function.
UtilizationMetrics []*LambdaFunctionUtilizationMetric `locationName:"utilizationMetrics" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaFunctionRecommendation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaFunctionRecommendation) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *LambdaFunctionRecommendation) SetAccountId(v string) *LambdaFunctionRecommendation {
s.AccountId = &v
return s
}
// SetCurrentMemorySize sets the CurrentMemorySize field's value.
func (s *LambdaFunctionRecommendation) SetCurrentMemorySize(v int64) *LambdaFunctionRecommendation {
s.CurrentMemorySize = &v
return s
}
// SetCurrentPerformanceRisk sets the CurrentPerformanceRisk field's value.
func (s *LambdaFunctionRecommendation) SetCurrentPerformanceRisk(v string) *LambdaFunctionRecommendation {
s.CurrentPerformanceRisk = &v
return s
}
// SetEffectiveRecommendationPreferences sets the EffectiveRecommendationPreferences field's value.
func (s *LambdaFunctionRecommendation) SetEffectiveRecommendationPreferences(v *LambdaEffectiveRecommendationPreferences) *LambdaFunctionRecommendation {
s.EffectiveRecommendationPreferences = v
return s
}
// SetFinding sets the Finding field's value.
func (s *LambdaFunctionRecommendation) SetFinding(v string) *LambdaFunctionRecommendation {
s.Finding = &v
return s
}
// SetFindingReasonCodes sets the FindingReasonCodes field's value.
func (s *LambdaFunctionRecommendation) SetFindingReasonCodes(v []*string) *LambdaFunctionRecommendation {
s.FindingReasonCodes = v
return s
}
// SetFunctionArn sets the FunctionArn field's value.
func (s *LambdaFunctionRecommendation) SetFunctionArn(v string) *LambdaFunctionRecommendation {
s.FunctionArn = &v
return s
}
// SetFunctionVersion sets the FunctionVersion field's value.
func (s *LambdaFunctionRecommendation) SetFunctionVersion(v string) *LambdaFunctionRecommendation {
s.FunctionVersion = &v
return s
}
// SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value.
func (s *LambdaFunctionRecommendation) SetLastRefreshTimestamp(v time.Time) *LambdaFunctionRecommendation {
s.LastRefreshTimestamp = &v
return s
}
// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value.
func (s *LambdaFunctionRecommendation) SetLookbackPeriodInDays(v float64) *LambdaFunctionRecommendation {
s.LookbackPeriodInDays = &v
return s
}
// SetMemorySizeRecommendationOptions sets the MemorySizeRecommendationOptions field's value.
func (s *LambdaFunctionRecommendation) SetMemorySizeRecommendationOptions(v []*LambdaFunctionMemoryRecommendationOption) *LambdaFunctionRecommendation {
s.MemorySizeRecommendationOptions = v
return s
}
// SetNumberOfInvocations sets the NumberOfInvocations field's value.
func (s *LambdaFunctionRecommendation) SetNumberOfInvocations(v int64) *LambdaFunctionRecommendation {
s.NumberOfInvocations = &v
return s
}
// SetTags sets the Tags field's value.
func (s *LambdaFunctionRecommendation) SetTags(v []*Tag) *LambdaFunctionRecommendation {
s.Tags = v
return s
}
// SetUtilizationMetrics sets the UtilizationMetrics field's value.
func (s *LambdaFunctionRecommendation) SetUtilizationMetrics(v []*LambdaFunctionUtilizationMetric) *LambdaFunctionRecommendation {
s.UtilizationMetrics = v
return s
}
// Describes a filter that returns a more specific list of Lambda function recommendations.
// Use this filter with the GetLambdaFunctionRecommendations action.
//
// You can use EBSFilter with the GetEBSVolumeRecommendations action, JobFilter
// with the DescribeRecommendationExportJobs action, and Filter with the GetAutoScalingGroupRecommendations
// and GetEC2InstanceRecommendations actions.
type LambdaFunctionRecommendationFilter struct {
_ struct{} `type:"structure"`
// The name of the filter.
//
// Specify Finding to return recommendations with a specific finding classification
// (for example, NotOptimized).
//
// Specify FindingReasonCode to return recommendations with a specific finding
// reason code (for example, MemoryUnderprovisioned).
//
// You can filter your Lambda function recommendations by tag:key and tag-key
// tags.
//
// A tag:key is a key and value combination of a tag assigned to your Lambda
// function recommendations. Use the tag key in the filter name and the tag
// value as the filter value. For example, to find all Lambda function recommendations
// that have a tag with the key of Owner and the value of TeamA, specify tag:Owner
// for the filter name and TeamA for the filter value.
//
// A tag-key is the key of a tag assigned to your Lambda function recommendations.
// Use this filter to find all of your Lambda function recommendations that
// have a tag with a specific key. This doesn’t consider the tag value. For
// example, you can find your Lambda function recommendations with a tag key
// value of Owner or without any tag keys assigned.
Name *string `locationName:"name" type:"string" enum:"LambdaFunctionRecommendationFilterName"`
// The value of the filter.
//
// The valid values for this parameter are as follows, depending on what you
// specify for the name parameter:
//
// * Specify Optimized, NotOptimized, or Unavailable if you specify the name
// parameter as Finding.
//
// * Specify MemoryOverprovisioned, MemoryUnderprovisioned, InsufficientData,
// or Inconclusive if you specify the name parameter as FindingReasonCode.
Values []*string `locationName:"values" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaFunctionRecommendationFilter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaFunctionRecommendationFilter) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *LambdaFunctionRecommendationFilter) SetName(v string) *LambdaFunctionRecommendationFilter {
s.Name = &v
return s
}
// SetValues sets the Values field's value.
func (s *LambdaFunctionRecommendationFilter) SetValues(v []*string) *LambdaFunctionRecommendationFilter {
s.Values = v
return s
}
// Describes a utilization metric of an Lambda function.
type LambdaFunctionUtilizationMetric struct {
_ struct{} `type:"structure"`
// The name of the utilization metric.
//
// The following utilization metrics are available:
//
// * Duration - The amount of time that your function code spends processing
// an event.
//
// * Memory - The amount of memory used per invocation.
Name *string `locationName:"name" type:"string" enum:"LambdaFunctionMetricName"`
// The statistic of the utilization metric.
//
// The Compute Optimizer API, Command Line Interface (CLI), and SDKs return
// utilization metrics using only the Maximum statistic, which is the highest
// value observed during the specified period.
//
// The Compute Optimizer console displays graphs for some utilization metrics
// using the Average statistic, which is the value of Sum / SampleCount during
// the specified period. For more information, see Viewing resource recommendations
// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html)
// in the Compute Optimizer User Guide. You can also get averaged utilization
// metric data for your resources using Amazon CloudWatch. For more information,
// see the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html).
Statistic *string `locationName:"statistic" type:"string" enum:"LambdaFunctionMetricStatistic"`
// The value of the utilization metric.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaFunctionUtilizationMetric) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaFunctionUtilizationMetric) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *LambdaFunctionUtilizationMetric) SetName(v string) *LambdaFunctionUtilizationMetric {
s.Name = &v
return s
}
// SetStatistic sets the Statistic field's value.
func (s *LambdaFunctionUtilizationMetric) SetStatistic(v string) *LambdaFunctionUtilizationMetric {
s.Statistic = &v
return s
}
// SetValue sets the Value field's value.
func (s *LambdaFunctionUtilizationMetric) SetValue(v float64) *LambdaFunctionUtilizationMetric {
s.Value = &v
return s
}
// Describes the savings estimation used for calculating savings opportunity
// for Lambda functions.
type LambdaSavingsEstimationMode struct {
_ struct{} `type:"structure"`
// Describes the source for calculation of savings opportunity for Lambda functions.
Source *string `locationName:"source" type:"string" enum:"LambdaSavingsEstimationModeSource"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaSavingsEstimationMode) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaSavingsEstimationMode) GoString() string {
return s.String()
}
// SetSource sets the Source field's value.
func (s *LambdaSavingsEstimationMode) SetSource(v string) *LambdaSavingsEstimationMode {
s.Source = &v
return s
}
// Describes the savings opportunity for Lambda functions recommendations after
// applying Savings Plans discounts.
//
// Savings opportunity represents the estimated monthly savings after applying
// Savings Plans discounts. You can achieve this by implementing a given Compute
// Optimizer recommendation.
type LambdaSavingsOpportunityAfterDiscounts struct {
_ struct{} `type:"structure"`
// The estimated monthly savings possible by adopting Compute Optimizer’s
// Lambda function recommendations. This includes any applicable Savings Plans
// discounts.
EstimatedMonthlySavings *LambdaEstimatedMonthlySavings `locationName:"estimatedMonthlySavings" type:"structure"`
// The estimated monthly savings possible as a percentage of monthly cost by
// adopting Compute Optimizer’s Lambda function recommendations. This includes
// any applicable Savings Plans discounts.
SavingsOpportunityPercentage *float64 `locationName:"savingsOpportunityPercentage" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaSavingsOpportunityAfterDiscounts) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LambdaSavingsOpportunityAfterDiscounts) GoString() string {
return s.String()
}
// SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value.
func (s *LambdaSavingsOpportunityAfterDiscounts) SetEstimatedMonthlySavings(v *LambdaEstimatedMonthlySavings) *LambdaSavingsOpportunityAfterDiscounts {
s.EstimatedMonthlySavings = v
return s
}
// SetSavingsOpportunityPercentage sets the SavingsOpportunityPercentage field's value.
func (s *LambdaSavingsOpportunityAfterDiscounts) SetSavingsOpportunityPercentage(v float64) *LambdaSavingsOpportunityAfterDiscounts {
s.SavingsOpportunityPercentage = &v
return s
}
// Describes the configuration of a license for an Amazon EC2 instance.
type LicenseConfiguration struct {
_ struct{} `type:"structure"`
// The instance type used in the license.
InstanceType *string `locationName:"instanceType" type:"string"`
// The edition of the license for the application that runs on the instance.
LicenseEdition *string `locationName:"licenseEdition" type:"string" enum:"LicenseEdition"`
// The license type associated with the instance.
LicenseModel *string `locationName:"licenseModel" type:"string" enum:"LicenseModel"`
// The name of the license for the application that runs on the instance.
LicenseName *string `locationName:"licenseName" type:"string" enum:"LicenseName"`
// The version of the license for the application that runs on the instance.
LicenseVersion *string `locationName:"licenseVersion" type:"string"`
// The list of metric sources required to generate recommendations for commercial
// software licenses.
MetricsSource []*MetricSource `locationName:"metricsSource" type:"list"`
// The current number of cores associated with the instance.
NumberOfCores *int64 `locationName:"numberOfCores" type:"integer"`
// The operating system of the instance.
OperatingSystem *string `locationName:"operatingSystem" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LicenseConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LicenseConfiguration) GoString() string {
return s.String()
}
// SetInstanceType sets the InstanceType field's value.
func (s *LicenseConfiguration) SetInstanceType(v string) *LicenseConfiguration {
s.InstanceType = &v
return s
}
// SetLicenseEdition sets the LicenseEdition field's value.
func (s *LicenseConfiguration) SetLicenseEdition(v string) *LicenseConfiguration {
s.LicenseEdition = &v
return s
}
// SetLicenseModel sets the LicenseModel field's value.
func (s *LicenseConfiguration) SetLicenseModel(v string) *LicenseConfiguration {
s.LicenseModel = &v
return s
}
// SetLicenseName sets the LicenseName field's value.
func (s *LicenseConfiguration) SetLicenseName(v string) *LicenseConfiguration {
s.LicenseName = &v
return s
}
// SetLicenseVersion sets the LicenseVersion field's value.
func (s *LicenseConfiguration) SetLicenseVersion(v string) *LicenseConfiguration {
s.LicenseVersion = &v
return s
}
// SetMetricsSource sets the MetricsSource field's value.
func (s *LicenseConfiguration) SetMetricsSource(v []*MetricSource) *LicenseConfiguration {
s.MetricsSource = v
return s
}
// SetNumberOfCores sets the NumberOfCores field's value.
func (s *LicenseConfiguration) SetNumberOfCores(v int64) *LicenseConfiguration {
s.NumberOfCores = &v
return s
}
// SetOperatingSystem sets the OperatingSystem field's value.
func (s *LicenseConfiguration) SetOperatingSystem(v string) *LicenseConfiguration {
s.OperatingSystem = &v
return s
}
// Describes a license recommendation for an EC2 instance.
type LicenseRecommendation struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account ID of the license.
AccountId *string `locationName:"accountId" type:"string"`
// An object that describes the current configuration of an instance that runs
// on a license.
CurrentLicenseConfiguration *LicenseConfiguration `locationName:"currentLicenseConfiguration" type:"structure"`
// The finding classification for an instance that runs on a license.
//
// Findings include:
//
// * InsufficentMetrics — When Compute Optimizer detects that your CloudWatch
// Application Insights isn't enabled or is enabled with insufficient permissions.
//
// * NotOptimized — When Compute Optimizer detects that your EC2 infrastructure
// isn't using any of the SQL server license features you're paying for,
// a license is considered not optimized.
//
// * Optimized — When Compute Optimizer detects that all specifications
// of your license meet the performance requirements of your workload.
Finding *string `locationName:"finding" type:"string" enum:"LicenseFinding"`
// The reason for the finding classification for an instance that runs on a
// license.
//
// Finding reason codes include:
//
// * Optimized — All specifications of your license meet the performance
// requirements of your workload.
//
// * LicenseOverprovisioned — A license is considered over-provisioned
// when your license can be downgraded while still meeting the performance
// requirements of your workload.
//
// * InvalidCloudwatchApplicationInsights — CloudWatch Application Insights
// isn't configured properly.
//
// * CloudwatchApplicationInsightsError — There is a CloudWatch Application
// Insights error.
FindingReasonCodes []*string `locationName:"findingReasonCodes" type:"list" enum:"LicenseFindingReasonCode"`
// The timestamp of when the license recommendation was last generated.
LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"`
// An array of objects that describe the license recommendation options.
LicenseRecommendationOptions []*LicenseRecommendationOption `locationName:"licenseRecommendationOptions" type:"list"`
// The number of days for which utilization metrics were analyzed for an instance
// that runs on a license.
LookbackPeriodInDays *float64 `locationName:"lookbackPeriodInDays" type:"double"`
// The ARN that identifies the Amazon EC2 instance.
ResourceArn *string `locationName:"resourceArn" type:"string"`
// A list of tags assigned to an EC2 instance.
Tags []*Tag `locationName:"tags" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LicenseRecommendation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LicenseRecommendation) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *LicenseRecommendation) SetAccountId(v string) *LicenseRecommendation {
s.AccountId = &v
return s
}
// SetCurrentLicenseConfiguration sets the CurrentLicenseConfiguration field's value.
func (s *LicenseRecommendation) SetCurrentLicenseConfiguration(v *LicenseConfiguration) *LicenseRecommendation {
s.CurrentLicenseConfiguration = v
return s
}
// SetFinding sets the Finding field's value.
func (s *LicenseRecommendation) SetFinding(v string) *LicenseRecommendation {
s.Finding = &v
return s
}
// SetFindingReasonCodes sets the FindingReasonCodes field's value.
func (s *LicenseRecommendation) SetFindingReasonCodes(v []*string) *LicenseRecommendation {
s.FindingReasonCodes = v
return s
}
// SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value.
func (s *LicenseRecommendation) SetLastRefreshTimestamp(v time.Time) *LicenseRecommendation {
s.LastRefreshTimestamp = &v
return s
}
// SetLicenseRecommendationOptions sets the LicenseRecommendationOptions field's value.
func (s *LicenseRecommendation) SetLicenseRecommendationOptions(v []*LicenseRecommendationOption) *LicenseRecommendation {
s.LicenseRecommendationOptions = v
return s
}
// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value.
func (s *LicenseRecommendation) SetLookbackPeriodInDays(v float64) *LicenseRecommendation {
s.LookbackPeriodInDays = &v
return s
}
// SetResourceArn sets the ResourceArn field's value.
func (s *LicenseRecommendation) SetResourceArn(v string) *LicenseRecommendation {
s.ResourceArn = &v
return s
}
// SetTags sets the Tags field's value.
func (s *LicenseRecommendation) SetTags(v []*Tag) *LicenseRecommendation {
s.Tags = v
return s
}
// Describes a filter that returns a more specific list of license recommendations.
// Use this filter with the GetLicenseRecommendation action.
type LicenseRecommendationFilter struct {
_ struct{} `type:"structure"`
// The name of the filter.
//
// Specify Finding to return recommendations with a specific finding classification.
//
// Specify FindingReasonCode to return recommendations with a specific finding
// reason code.
//
// You can filter your license recommendations by tag:key and tag-key tags.
//
// A tag:key is a key and value combination of a tag assigned to your license
// recommendations. Use the tag key in the filter name and the tag value as
// the filter value. For example, to find all license recommendations that have
// a tag with the key of Owner and the value of TeamA, specify tag:Owner for
// the filter name and TeamA for the filter value.
//
// A tag-key is the key of a tag assigned to your license recommendations. Use
// this filter to find all of your license recommendations that have a tag with
// a specific key. This doesn’t consider the tag value. For example, you can
// find your license recommendations with a tag key value of Owner or without
// any tag keys assigned.
Name *string `locationName:"name" type:"string" enum:"LicenseRecommendationFilterName"`
// The value of the filter.
//
// The valid values for this parameter are as follows, depending on what you
// specify for the name parameter:
//
// * If you specify the name parameter as Finding, then specify Optimized,
// NotOptimized, or InsufficentMetrics.
//
// * If you specify the name parameter as FindingReasonCode, then specify
// Optimized, LicenseOverprovisioned, InvalidCloudwatchApplicationInsights,
// or CloudwatchApplicationInsightsError.
Values []*string `locationName:"values" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LicenseRecommendationFilter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LicenseRecommendationFilter) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *LicenseRecommendationFilter) SetName(v string) *LicenseRecommendationFilter {
s.Name = &v
return s
}
// SetValues sets the Values field's value.
func (s *LicenseRecommendationFilter) SetValues(v []*string) *LicenseRecommendationFilter {
s.Values = v
return s
}
// Describes the recommendation options for licenses.
type LicenseRecommendationOption struct {
_ struct{} `type:"structure"`
// The recommended edition of the license for the application that runs on the
// instance.
LicenseEdition *string `locationName:"licenseEdition" type:"string" enum:"LicenseEdition"`
// The recommended license type associated with the instance.
LicenseModel *string `locationName:"licenseModel" type:"string" enum:"LicenseModel"`
// The operating system of a license recommendation option.
OperatingSystem *string `locationName:"operatingSystem" type:"string"`
// The rank of the license recommendation option.
//
// The top recommendation option is ranked as 1.
Rank *int64 `locationName:"rank" type:"integer"`
// Describes the savings opportunity for recommendations of a given resource
// type or for the recommendation option of an individual resource.
//
// Savings opportunity represents the estimated monthly savings you can achieve
// by implementing a given Compute Optimizer recommendation.
//
// Savings opportunity data requires that you opt in to Cost Explorer, as well
// as activate Receive Amazon EC2 resource recommendations in the Cost Explorer
// preferences page. That creates a connection between Cost Explorer and Compute
// Optimizer. With this connection, Cost Explorer generates savings estimates
// considering the price of existing resources, the price of recommended resources,
// and historical usage data. Estimated monthly savings reflects the projected
// dollar savings associated with each of the recommendations generated. For
// more information, see Enabling Cost Explorer (https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html)
// and Optimizing your cost with Rightsizing Recommendations (https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html)
// in the Cost Management User Guide.
SavingsOpportunity *SavingsOpportunity `locationName:"savingsOpportunity" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LicenseRecommendationOption) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LicenseRecommendationOption) GoString() string {
return s.String()
}
// SetLicenseEdition sets the LicenseEdition field's value.
func (s *LicenseRecommendationOption) SetLicenseEdition(v string) *LicenseRecommendationOption {
s.LicenseEdition = &v
return s
}
// SetLicenseModel sets the LicenseModel field's value.
func (s *LicenseRecommendationOption) SetLicenseModel(v string) *LicenseRecommendationOption {
s.LicenseModel = &v
return s
}
// SetOperatingSystem sets the OperatingSystem field's value.
func (s *LicenseRecommendationOption) SetOperatingSystem(v string) *LicenseRecommendationOption {
s.OperatingSystem = &v
return s
}
// SetRank sets the Rank field's value.
func (s *LicenseRecommendationOption) SetRank(v int64) *LicenseRecommendationOption {
s.Rank = &v
return s
}
// SetSavingsOpportunity sets the SavingsOpportunity field's value.
func (s *LicenseRecommendationOption) SetSavingsOpportunity(v *SavingsOpportunity) *LicenseRecommendationOption {
s.SavingsOpportunity = v
return s
}
// The request exceeds a limit of the service.
type LimitExceededException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LimitExceededException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LimitExceededException) GoString() string {
return s.String()
}
func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
return &LimitExceededException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *LimitExceededException) Code() string {
return "LimitExceededException"
}
// Message returns the exception's message.
func (s *LimitExceededException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *LimitExceededException) OrigErr() error {
return nil
}
func (s *LimitExceededException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *LimitExceededException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *LimitExceededException) RequestID() string {
return s.RespMetadata.RequestID
}
// The memory size configurations of a container.
type MemorySizeConfiguration struct {
_ struct{} `type:"structure"`
// The amount of memory in the container.
Memory *int64 `locationName:"memory" type:"integer"`
// The limit of memory reserve for the container.
MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MemorySizeConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MemorySizeConfiguration) GoString() string {
return s.String()
}
// SetMemory sets the Memory field's value.
func (s *MemorySizeConfiguration) SetMemory(v int64) *MemorySizeConfiguration {
s.Memory = &v
return s
}
// SetMemoryReservation sets the MemoryReservation field's value.
func (s *MemorySizeConfiguration) SetMemoryReservation(v int64) *MemorySizeConfiguration {
s.MemoryReservation = &v
return s
}
// The list of metric sources required to generate recommendations for commercial
// software licenses.
type MetricSource struct {
_ struct{} `type:"structure"`
// The name of the metric source provider.
Provider *string `locationName:"provider" type:"string" enum:"MetricSourceProvider"`
// The ARN of the metric source provider.
ProviderArn *string `locationName:"providerArn" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MetricSource) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MetricSource) GoString() string {
return s.String()
}
// SetProvider sets the Provider field's value.
func (s *MetricSource) SetProvider(v string) *MetricSource {
s.Provider = &v
return s
}
// SetProviderArn sets the ProviderArn field's value.
func (s *MetricSource) SetProviderArn(v string) *MetricSource {
s.ProviderArn = &v
return s
}
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
type MissingAuthenticationToken struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MissingAuthenticationToken) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MissingAuthenticationToken) GoString() string {
return s.String()
}
func newErrorMissingAuthenticationToken(v protocol.ResponseMetadata) error {
return &MissingAuthenticationToken{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *MissingAuthenticationToken) Code() string {
return "MissingAuthenticationToken"
}
// Message returns the exception's message.
func (s *MissingAuthenticationToken) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *MissingAuthenticationToken) OrigErr() error {
return nil
}
func (s *MissingAuthenticationToken) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *MissingAuthenticationToken) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *MissingAuthenticationToken) RequestID() string {
return s.RespMetadata.RequestID
}
// The account is not opted in to Compute Optimizer.
type OptInRequiredException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s OptInRequiredException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s OptInRequiredException) GoString() string {
return s.String()
}
func newErrorOptInRequiredException(v protocol.ResponseMetadata) error {
return &OptInRequiredException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *OptInRequiredException) Code() string {
return "OptInRequiredException"
}
// Message returns the exception's message.
func (s *OptInRequiredException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *OptInRequiredException) OrigErr() error {
return nil
}
func (s *OptInRequiredException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *OptInRequiredException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *OptInRequiredException) RequestID() string {
return s.RespMetadata.RequestID
}
// The preference to control which resource type values are considered when
// generating rightsizing recommendations. You can specify this preference as
// a combination of include and exclude lists. You must specify either an includeList
// or excludeList. If the preference is an empty set of resource type values,
// an error occurs. For more information, see Rightsizing recommendation preferences
// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/rightsizing-preferences.html)
// in the Compute Optimizer User Guide.
//
// - This preference is only available for the Amazon EC2 instance and Auto
// Scaling group resource types.
//
// - Compute Optimizer only supports the customization of Ec2InstanceTypes.
type PreferredResource struct {
_ struct{} `type:"structure"`
// The preferred resource type values to exclude from the recommendation candidates.
// If this isn’t specified, all supported resources are included by default.
// You can specify up to 1000 values in this list.
ExcludeList []*string `locationName:"excludeList" type:"list"`
// The preferred resource type values to include in the recommendation candidates.
// You can specify the exact resource type value, such as m5.large, or use wild
// card expressions, such as m5. If this isn’t specified, all supported resources
// are included by default. You can specify up to 1000 values in this list.
IncludeList []*string `locationName:"includeList" type:"list"`
// The type of preferred resource to customize.
//
// Compute Optimizer only supports the customization of Ec2InstanceTypes.
Name *string `locationName:"name" type:"string" enum:"PreferredResourceName"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PreferredResource) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PreferredResource) GoString() string {
return s.String()
}
// SetExcludeList sets the ExcludeList field's value.
func (s *PreferredResource) SetExcludeList(v []*string) *PreferredResource {
s.ExcludeList = v
return s
}
// SetIncludeList sets the IncludeList field's value.
func (s *PreferredResource) SetIncludeList(v []*string) *PreferredResource {
s.IncludeList = v
return s
}
// SetName sets the Name field's value.
func (s *PreferredResource) SetName(v string) *PreferredResource {
s.Name = &v
return s
}
// Describes a projected utilization metric of a recommendation option, such
// as an Amazon EC2 instance. This represents the projected utilization of a
// recommendation option had you used that resource during the analyzed period.
//
// Compare the utilization metric data of your resource against its projected
// utilization metric data to determine the performance difference between your
// current resource and the recommended option.
//
// The Cpu, Memory, GPU, and GPU_MEMORY metrics are the only projected utilization
// metrics returned when you run the GetEC2RecommendationProjectedMetrics action.
// Additionally, these metrics are only returned for resources with the unified
// CloudWatch agent installed on them. For more information, see Enabling Memory
// Utilization with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent)
// and Enabling NVIDIA GPU utilization with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#nvidia-cw-agent).
type ProjectedMetric struct {
_ struct{} `type:"structure"`
// The name of the projected utilization metric.
//
// The following projected utilization metrics are returned:
//
// * Cpu - The projected percentage of allocated EC2 compute units that would
// be in use on the recommendation option had you used that resource during
// the analyzed period. This metric identifies the processing power required
// to run an application on the recommendation option. Depending on the instance
// type, tools in your operating system can show a lower percentage than
// CloudWatch when the instance is not allocated a full processor core.
//
// * Memory - The percentage of memory that would be in use on the recommendation
// option had you used that resource during the analyzed period. This metric
// identifies the amount of memory required to run an application on the
// recommendation option. Units: Percent The Memory metric is only returned
// for resources with the unified CloudWatch agent installed on them. For
// more information, see Enabling Memory Utilization with the CloudWatch
// Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent).
//
// * GPU - The projected percentage of allocated GPUs if you adjust your
// configurations to Compute Optimizer's recommendation option.
//
// * GPU_MEMORY - The projected percentage of total GPU memory if you adjust
// your configurations to Compute Optimizer's recommendation option. The
// GPU and GPU_MEMORY metrics are only returned for resources with the unified
// CloudWatch Agent installed on them. For more information, see Enabling
// NVIDIA GPU utilization with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#nvidia-cw-agent).
Name *string `locationName:"name" type:"string" enum:"MetricName"`
// The timestamps of the projected utilization metric.
Timestamps []*time.Time `locationName:"timestamps" type:"list"`
// The values of the projected utilization metrics.
Values []*float64 `locationName:"values" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ProjectedMetric) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ProjectedMetric) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *ProjectedMetric) SetName(v string) *ProjectedMetric {
s.Name = &v
return s
}
// SetTimestamps sets the Timestamps field's value.
func (s *ProjectedMetric) SetTimestamps(v []*time.Time) *ProjectedMetric {
s.Timestamps = v
return s
}
// SetValues sets the Values field's value.
func (s *ProjectedMetric) SetValues(v []*float64) *ProjectedMetric {
s.Values = v
return s
}
type PutRecommendationPreferencesInput struct {
_ struct{} `type:"structure"`
// The status of the enhanced infrastructure metrics recommendation preference
// to create or update.
//
// Specify the Active status to activate the preference, or specify Inactive
// to deactivate the preference.
//
// For more information, see Enhanced infrastructure metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
// in the Compute Optimizer User Guide.
EnhancedInfrastructureMetrics *string `locationName:"enhancedInfrastructureMetrics" type:"string" enum:"EnhancedInfrastructureMetrics"`
// The provider of the external metrics recommendation preference to create
// or update.
//
// Specify a valid provider in the source field to activate the preference.
// To delete this preference, see the DeleteRecommendationPreferences action.
//
// This preference can only be set for the Ec2Instance resource type.
//
// For more information, see External metrics ingestion (https://docs.aws.amazon.com/compute-optimizer/latest/ug/external-metrics-ingestion.html)
// in the Compute Optimizer User Guide.
ExternalMetricsPreference *ExternalMetricsPreference `locationName:"externalMetricsPreference" type:"structure"`
// The status of the inferred workload types recommendation preference to create
// or update.
//
// The inferred workload type feature is active by default. To deactivate it,
// create a recommendation preference.
//
// Specify the Inactive status to deactivate the feature, or specify Active
// to activate it.
//
// For more information, see Inferred workload types (https://docs.aws.amazon.com/compute-optimizer/latest/ug/inferred-workload-types.html)
// in the Compute Optimizer User Guide.
InferredWorkloadTypes *string `locationName:"inferredWorkloadTypes" type:"string" enum:"InferredWorkloadTypesPreference"`
// The preference to control the number of days the utilization metrics of the
// Amazon Web Services resource are analyzed. When this preference isn't specified,
// we use the default value DAYS_14.
//
// You can only set this preference for the Amazon EC2 instance and Auto Scaling
// group resource types.
LookBackPeriod *string `locationName:"lookBackPeriod" type:"string" enum:"LookBackPeriodPreference"`
// The preference to control which resource type values are considered when
// generating rightsizing recommendations. You can specify this preference as
// a combination of include and exclude lists. You must specify either an includeList
// or excludeList. If the preference is an empty set of resource type values,
// an error occurs.
//
// You can only set this preference for the Amazon EC2 instance and Auto Scaling
// group resource types.
PreferredResources []*PreferredResource `locationName:"preferredResources" type:"list"`
// The target resource type of the recommendation preference to create.
//
// The Ec2Instance option encompasses standalone instances and instances that
// are part of Auto Scaling groups. The AutoScalingGroup option encompasses
// only instances that are part of an Auto Scaling group.
//
// ResourceType is a required field
ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
// The status of the savings estimation mode preference to create or update.
//
// Specify the AfterDiscounts status to activate the preference, or specify
// BeforeDiscounts to deactivate the preference.
//
// Only the account manager or delegated administrator of your organization
// can activate this preference.
//
// For more information, see Savings estimation mode (https://docs.aws.amazon.com/compute-optimizer/latest/ug/savings-estimation-mode.html)
// in the Compute Optimizer User Guide.
SavingsEstimationMode *string `locationName:"savingsEstimationMode" type:"string" enum:"SavingsEstimationMode"`
// An object that describes the scope of the recommendation preference to create.
//
// You can create recommendation preferences at the organization level (for
// management accounts of an organization only), account level, and resource
// level. For more information, see Activating enhanced infrastructure metrics
// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
// in the Compute Optimizer User Guide.
//
// You cannot create recommendation preferences for Auto Scaling groups at the
// organization and account levels. You can create recommendation preferences
// for Auto Scaling groups only at the resource level by specifying a scope
// name of ResourceArn and a scope value of the Auto Scaling group Amazon Resource
// Name (ARN). This will configure the preference for all instances that are
// part of the specified Auto Scaling group. You also cannot create recommendation
// preferences at the resource level for instances that are part of an Auto
// Scaling group. You can create recommendation preferences at the resource
// level only for standalone instances.
Scope *Scope `locationName:"scope" type:"structure"`
// The preference to control the resource’s CPU utilization threshold, CPU
// utilization headroom, and memory utilization headroom. When this preference
// isn't specified, we use the following default values.
//
// CPU utilization:
//
// * P99_5 for threshold
//
// * PERCENT_20 for headroom
//
// Memory utilization:
//
// * PERCENT_20 for headroom
//
// * You can only set CPU and memory utilization preferences for the Amazon
// EC2 instance resource type.
//
// * The threshold setting isn’t available for memory utilization.
UtilizationPreferences []*UtilizationPreference `locationName:"utilizationPreferences" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PutRecommendationPreferencesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PutRecommendationPreferencesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *PutRecommendationPreferencesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "PutRecommendationPreferencesInput"}
if s.ResourceType == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceType"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetEnhancedInfrastructureMetrics sets the EnhancedInfrastructureMetrics field's value.
func (s *PutRecommendationPreferencesInput) SetEnhancedInfrastructureMetrics(v string) *PutRecommendationPreferencesInput {
s.EnhancedInfrastructureMetrics = &v
return s
}
// SetExternalMetricsPreference sets the ExternalMetricsPreference field's value.
func (s *PutRecommendationPreferencesInput) SetExternalMetricsPreference(v *ExternalMetricsPreference) *PutRecommendationPreferencesInput {
s.ExternalMetricsPreference = v
return s
}
// SetInferredWorkloadTypes sets the InferredWorkloadTypes field's value.
func (s *PutRecommendationPreferencesInput) SetInferredWorkloadTypes(v string) *PutRecommendationPreferencesInput {
s.InferredWorkloadTypes = &v
return s
}
// SetLookBackPeriod sets the LookBackPeriod field's value.
func (s *PutRecommendationPreferencesInput) SetLookBackPeriod(v string) *PutRecommendationPreferencesInput {
s.LookBackPeriod = &v
return s
}
// SetPreferredResources sets the PreferredResources field's value.
func (s *PutRecommendationPreferencesInput) SetPreferredResources(v []*PreferredResource) *PutRecommendationPreferencesInput {
s.PreferredResources = v
return s
}
// SetResourceType sets the ResourceType field's value.
func (s *PutRecommendationPreferencesInput) SetResourceType(v string) *PutRecommendationPreferencesInput {
s.ResourceType = &v
return s
}
// SetSavingsEstimationMode sets the SavingsEstimationMode field's value.
func (s *PutRecommendationPreferencesInput) SetSavingsEstimationMode(v string) *PutRecommendationPreferencesInput {
s.SavingsEstimationMode = &v
return s
}
// SetScope sets the Scope field's value.
func (s *PutRecommendationPreferencesInput) SetScope(v *Scope) *PutRecommendationPreferencesInput {
s.Scope = v
return s
}
// SetUtilizationPreferences sets the UtilizationPreferences field's value.
func (s *PutRecommendationPreferencesInput) SetUtilizationPreferences(v []*UtilizationPreference) *PutRecommendationPreferencesInput {
s.UtilizationPreferences = v
return s
}
type PutRecommendationPreferencesOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PutRecommendationPreferencesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PutRecommendationPreferencesOutput) GoString() string {
return s.String()
}
// Describes the recommendation options for an Amazon RDS instance.
type RDSDBInstanceRecommendationOption struct {
_ struct{} `type:"structure"`
// Describes the DB instance class recommendation option for your Amazon RDS
// instance.
DbInstanceClass *string `locationName:"dbInstanceClass" type:"string"`
// The performance risk of the RDS instance recommendation option.
PerformanceRisk *float64 `locationName:"performanceRisk" type:"double"`
// An array of objects that describe the projected utilization metrics of the
// RDS instance recommendation option.
ProjectedUtilizationMetrics []*RDSDBUtilizationMetric `locationName:"projectedUtilizationMetrics" type:"list"`
// The rank identifier of the RDS instance recommendation option.
Rank *int64 `locationName:"rank" type:"integer"`
// Describes the savings opportunity for recommendations of a given resource
// type or for the recommendation option of an individual resource.
//
// Savings opportunity represents the estimated monthly savings you can achieve
// by implementing a given Compute Optimizer recommendation.
//
// Savings opportunity data requires that you opt in to Cost Explorer, as well
// as activate Receive Amazon EC2 resource recommendations in the Cost Explorer
// preferences page. That creates a connection between Cost Explorer and Compute
// Optimizer. With this connection, Cost Explorer generates savings estimates
// considering the price of existing resources, the price of recommended resources,
// and historical usage data. Estimated monthly savings reflects the projected
// dollar savings associated with each of the recommendations generated. For
// more information, see Enabling Cost Explorer (https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html)
// and Optimizing your cost with Rightsizing Recommendations (https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html)
// in the Cost Management User Guide.
SavingsOpportunity *SavingsOpportunity `locationName:"savingsOpportunity" type:"structure"`
// Describes the savings opportunity for Amazon RDS recommendations or for the
// recommendation option.
//
// Savings opportunity represents the estimated monthly savings after applying
// Savings Plans discounts. You can achieve this by implementing a given Compute
// Optimizer recommendation.
SavingsOpportunityAfterDiscounts *RDSInstanceSavingsOpportunityAfterDiscounts `locationName:"savingsOpportunityAfterDiscounts" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSDBInstanceRecommendationOption) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSDBInstanceRecommendationOption) GoString() string {
return s.String()
}
// SetDbInstanceClass sets the DbInstanceClass field's value.
func (s *RDSDBInstanceRecommendationOption) SetDbInstanceClass(v string) *RDSDBInstanceRecommendationOption {
s.DbInstanceClass = &v
return s
}
// SetPerformanceRisk sets the PerformanceRisk field's value.
func (s *RDSDBInstanceRecommendationOption) SetPerformanceRisk(v float64) *RDSDBInstanceRecommendationOption {
s.PerformanceRisk = &v
return s
}
// SetProjectedUtilizationMetrics sets the ProjectedUtilizationMetrics field's value.
func (s *RDSDBInstanceRecommendationOption) SetProjectedUtilizationMetrics(v []*RDSDBUtilizationMetric) *RDSDBInstanceRecommendationOption {
s.ProjectedUtilizationMetrics = v
return s
}
// SetRank sets the Rank field's value.
func (s *RDSDBInstanceRecommendationOption) SetRank(v int64) *RDSDBInstanceRecommendationOption {
s.Rank = &v
return s
}
// SetSavingsOpportunity sets the SavingsOpportunity field's value.
func (s *RDSDBInstanceRecommendationOption) SetSavingsOpportunity(v *SavingsOpportunity) *RDSDBInstanceRecommendationOption {
s.SavingsOpportunity = v
return s
}
// SetSavingsOpportunityAfterDiscounts sets the SavingsOpportunityAfterDiscounts field's value.
func (s *RDSDBInstanceRecommendationOption) SetSavingsOpportunityAfterDiscounts(v *RDSInstanceSavingsOpportunityAfterDiscounts) *RDSDBInstanceRecommendationOption {
s.SavingsOpportunityAfterDiscounts = v
return s
}
// Describes an Amazon RDS recommendation.
type RDSDBRecommendation struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account ID of the Amazon RDS.
AccountId *string `locationName:"accountId" type:"string"`
// The DB instance class of the current RDS instance.
CurrentDBInstanceClass *string `locationName:"currentDBInstanceClass" type:"string"`
// The configuration of the current RDS storage.
CurrentStorageConfiguration *DBStorageConfiguration `locationName:"currentStorageConfiguration" type:"structure"`
// Describes the effective recommendation preferences for Amazon RDS.
EffectiveRecommendationPreferences *RDSEffectiveRecommendationPreferences `locationName:"effectiveRecommendationPreferences" type:"structure"`
// The engine of the RDS instance.
Engine *string `locationName:"engine" type:"string"`
// The database engine version.
EngineVersion *string `locationName:"engineVersion" type:"string"`
// This indicates if the RDS instance is idle or not.
Idle *string `locationName:"idle" type:"string" enum:"Idle"`
// The finding classification of an Amazon RDS instance.
//
// Findings for Amazon RDS instance include:
//
// * Underprovisioned — When Compute Optimizer detects that there’s not
// enough resource specifications, an Amazon RDS is considered under-provisioned.
//
// * Overprovisioned — When Compute Optimizer detects that there’s excessive
// resource specifications, an Amazon RDS is considered over-provisioned.
//
// * Optimized — When the specifications of your Amazon RDS instance meet
// the performance requirements of your workload, the service is considered
// optimized.
InstanceFinding *string `locationName:"instanceFinding" type:"string" enum:"RDSInstanceFinding"`
// The reason for the finding classification of an Amazon RDS instance.
InstanceFindingReasonCodes []*string `locationName:"instanceFindingReasonCodes" type:"list" enum:"RDSInstanceFindingReasonCode"`
// An array of objects that describe the recommendation options for the Amazon
// RDS instance.
InstanceRecommendationOptions []*RDSDBInstanceRecommendationOption `locationName:"instanceRecommendationOptions" type:"list"`
// The timestamp of when the Amazon RDS recommendation was last generated.
LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"`
// The number of days the Amazon RDS utilization metrics were analyzed.
LookbackPeriodInDays *float64 `locationName:"lookbackPeriodInDays" type:"double"`
// The ARN of the current Amazon RDS.
//
// The following is the format of the ARN:
//
// arn:aws:rds:{region}:{accountId}:db:{resourceName}
ResourceArn *string `locationName:"resourceArn" type:"string"`
// The finding classification of Amazon RDS storage.
//
// Findings for Amazon RDS instance include:
//
// * Underprovisioned — When Compute Optimizer detects that there’s not
// enough storage, an Amazon RDS is considered under-provisioned.
//
// * Overprovisioned — When Compute Optimizer detects that there’s excessive
// storage, an Amazon RDS is considered over-provisioned.
//
// * Optimized — When the storage of your Amazon RDS meet the performance
// requirements of your workload, the service is considered optimized.
StorageFinding *string `locationName:"storageFinding" type:"string" enum:"RDSStorageFinding"`
// The reason for the finding classification of Amazon RDS storage.
StorageFindingReasonCodes []*string `locationName:"storageFindingReasonCodes" type:"list" enum:"RDSStorageFindingReasonCode"`
// An array of objects that describe the recommendation options for Amazon RDS
// storage.
StorageRecommendationOptions []*RDSDBStorageRecommendationOption `locationName:"storageRecommendationOptions" type:"list"`
// A list of tags assigned to your Amazon RDS recommendations.
Tags []*Tag `locationName:"tags" type:"list"`
// An array of objects that describe the utilization metrics of the Amazon RDS.
UtilizationMetrics []*RDSDBUtilizationMetric `locationName:"utilizationMetrics" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSDBRecommendation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSDBRecommendation) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *RDSDBRecommendation) SetAccountId(v string) *RDSDBRecommendation {
s.AccountId = &v
return s
}
// SetCurrentDBInstanceClass sets the CurrentDBInstanceClass field's value.
func (s *RDSDBRecommendation) SetCurrentDBInstanceClass(v string) *RDSDBRecommendation {
s.CurrentDBInstanceClass = &v
return s
}
// SetCurrentStorageConfiguration sets the CurrentStorageConfiguration field's value.
func (s *RDSDBRecommendation) SetCurrentStorageConfiguration(v *DBStorageConfiguration) *RDSDBRecommendation {
s.CurrentStorageConfiguration = v
return s
}
// SetEffectiveRecommendationPreferences sets the EffectiveRecommendationPreferences field's value.
func (s *RDSDBRecommendation) SetEffectiveRecommendationPreferences(v *RDSEffectiveRecommendationPreferences) *RDSDBRecommendation {
s.EffectiveRecommendationPreferences = v
return s
}
// SetEngine sets the Engine field's value.
func (s *RDSDBRecommendation) SetEngine(v string) *RDSDBRecommendation {
s.Engine = &v
return s
}
// SetEngineVersion sets the EngineVersion field's value.
func (s *RDSDBRecommendation) SetEngineVersion(v string) *RDSDBRecommendation {
s.EngineVersion = &v
return s
}
// SetIdle sets the Idle field's value.
func (s *RDSDBRecommendation) SetIdle(v string) *RDSDBRecommendation {
s.Idle = &v
return s
}
// SetInstanceFinding sets the InstanceFinding field's value.
func (s *RDSDBRecommendation) SetInstanceFinding(v string) *RDSDBRecommendation {
s.InstanceFinding = &v
return s
}
// SetInstanceFindingReasonCodes sets the InstanceFindingReasonCodes field's value.
func (s *RDSDBRecommendation) SetInstanceFindingReasonCodes(v []*string) *RDSDBRecommendation {
s.InstanceFindingReasonCodes = v
return s
}
// SetInstanceRecommendationOptions sets the InstanceRecommendationOptions field's value.
func (s *RDSDBRecommendation) SetInstanceRecommendationOptions(v []*RDSDBInstanceRecommendationOption) *RDSDBRecommendation {
s.InstanceRecommendationOptions = v
return s
}
// SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value.
func (s *RDSDBRecommendation) SetLastRefreshTimestamp(v time.Time) *RDSDBRecommendation {
s.LastRefreshTimestamp = &v
return s
}
// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value.
func (s *RDSDBRecommendation) SetLookbackPeriodInDays(v float64) *RDSDBRecommendation {
s.LookbackPeriodInDays = &v
return s
}
// SetResourceArn sets the ResourceArn field's value.
func (s *RDSDBRecommendation) SetResourceArn(v string) *RDSDBRecommendation {
s.ResourceArn = &v
return s
}
// SetStorageFinding sets the StorageFinding field's value.
func (s *RDSDBRecommendation) SetStorageFinding(v string) *RDSDBRecommendation {
s.StorageFinding = &v
return s
}
// SetStorageFindingReasonCodes sets the StorageFindingReasonCodes field's value.
func (s *RDSDBRecommendation) SetStorageFindingReasonCodes(v []*string) *RDSDBRecommendation {
s.StorageFindingReasonCodes = v
return s
}
// SetStorageRecommendationOptions sets the StorageRecommendationOptions field's value.
func (s *RDSDBRecommendation) SetStorageRecommendationOptions(v []*RDSDBStorageRecommendationOption) *RDSDBRecommendation {
s.StorageRecommendationOptions = v
return s
}
// SetTags sets the Tags field's value.
func (s *RDSDBRecommendation) SetTags(v []*Tag) *RDSDBRecommendation {
s.Tags = v
return s
}
// SetUtilizationMetrics sets the UtilizationMetrics field's value.
func (s *RDSDBRecommendation) SetUtilizationMetrics(v []*RDSDBUtilizationMetric) *RDSDBRecommendation {
s.UtilizationMetrics = v
return s
}
// Describes a filter that returns a more specific list of Amazon RDS recommendations.
// Use this filter with the GetECSServiceRecommendations action.
type RDSDBRecommendationFilter struct {
_ struct{} `type:"structure"`
// The name of the filter.
//
// Specify Finding to return recommendations with a specific finding classification.
//
// You can filter your Amazon RDS recommendations by tag:key and tag-key tags.
//
// A tag:key is a key and value combination of a tag assigned to your Amazon
// RDS recommendations. Use the tag key in the filter name and the tag value
// as the filter value. For example, to find all Amazon RDS service recommendations
// that have a tag with the key of Owner and the value of TeamA, specify tag:Owner
// for the filter name and TeamA for the filter value.
//
// A tag-key is the key of a tag assigned to your Amazon RDS recommendations.
// Use this filter to find all of your Amazon RDS recommendations that have
// a tag with a specific key. This doesn’t consider the tag value. For example,
// you can find your Amazon RDS service recommendations with a tag key value
// of Owner or without any tag keys assigned.
Name *string `locationName:"name" type:"string" enum:"RDSDBRecommendationFilterName"`
// The value of the filter.
Values []*string `locationName:"values" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSDBRecommendationFilter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSDBRecommendationFilter) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *RDSDBRecommendationFilter) SetName(v string) *RDSDBRecommendationFilter {
s.Name = &v
return s
}
// SetValues sets the Values field's value.
func (s *RDSDBRecommendationFilter) SetValues(v []*string) *RDSDBRecommendationFilter {
s.Values = v
return s
}
// Describes the recommendation options for Amazon RDS storage.
type RDSDBStorageRecommendationOption struct {
_ struct{} `type:"structure"`
// The rank identifier of the RDS storage recommendation option.
Rank *int64 `locationName:"rank" type:"integer"`
// Describes the savings opportunity for recommendations of a given resource
// type or for the recommendation option of an individual resource.
//
// Savings opportunity represents the estimated monthly savings you can achieve
// by implementing a given Compute Optimizer recommendation.
//
// Savings opportunity data requires that you opt in to Cost Explorer, as well
// as activate Receive Amazon EC2 resource recommendations in the Cost Explorer
// preferences page. That creates a connection between Cost Explorer and Compute
// Optimizer. With this connection, Cost Explorer generates savings estimates
// considering the price of existing resources, the price of recommended resources,
// and historical usage data. Estimated monthly savings reflects the projected
// dollar savings associated with each of the recommendations generated. For
// more information, see Enabling Cost Explorer (https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html)
// and Optimizing your cost with Rightsizing Recommendations (https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html)
// in the Cost Management User Guide.
SavingsOpportunity *SavingsOpportunity `locationName:"savingsOpportunity" type:"structure"`
// Describes the savings opportunity for Amazon RDS storage recommendations
// or for the recommendation option.
//
// Savings opportunity represents the estimated monthly savings after applying
// Savings Plans discounts. You can achieve this by implementing a given Compute
// Optimizer recommendation.
SavingsOpportunityAfterDiscounts *RDSStorageSavingsOpportunityAfterDiscounts `locationName:"savingsOpportunityAfterDiscounts" type:"structure"`
// The recommended storage configuration.
StorageConfiguration *DBStorageConfiguration `locationName:"storageConfiguration" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSDBStorageRecommendationOption) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSDBStorageRecommendationOption) GoString() string {
return s.String()
}
// SetRank sets the Rank field's value.
func (s *RDSDBStorageRecommendationOption) SetRank(v int64) *RDSDBStorageRecommendationOption {
s.Rank = &v
return s
}
// SetSavingsOpportunity sets the SavingsOpportunity field's value.
func (s *RDSDBStorageRecommendationOption) SetSavingsOpportunity(v *SavingsOpportunity) *RDSDBStorageRecommendationOption {
s.SavingsOpportunity = v
return s
}
// SetSavingsOpportunityAfterDiscounts sets the SavingsOpportunityAfterDiscounts field's value.
func (s *RDSDBStorageRecommendationOption) SetSavingsOpportunityAfterDiscounts(v *RDSStorageSavingsOpportunityAfterDiscounts) *RDSDBStorageRecommendationOption {
s.SavingsOpportunityAfterDiscounts = v
return s
}
// SetStorageConfiguration sets the StorageConfiguration field's value.
func (s *RDSDBStorageRecommendationOption) SetStorageConfiguration(v *DBStorageConfiguration) *RDSDBStorageRecommendationOption {
s.StorageConfiguration = v
return s
}
// Describes the utilization metric of an Amazon RDS.
//
// To determine the performance difference between your current Amazon RDS and
// the recommended option, compare the utilization metric data of your service
// against its projected utilization metric data.
type RDSDBUtilizationMetric struct {
_ struct{} `type:"structure"`
// The name of the utilization metric.
Name *string `locationName:"name" type:"string" enum:"RDSDBMetricName"`
// The statistic of the utilization metric.
//
// The Compute Optimizer API, Command Line Interface (CLI), and SDKs return
// utilization metrics using only the Maximum statistic, which is the highest
// value observed during the specified period.
//
// The Compute Optimizer console displays graphs for some utilization metrics
// using the Average statistic, which is the value of Sum / SampleCount during
// the specified period. For more information, see Viewing resource recommendations
// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html)
// in the Compute Optimizer User Guide. You can also get averaged utilization
// metric data for your resources using Amazon CloudWatch. For more information,
// see the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html).
Statistic *string `locationName:"statistic" type:"string" enum:"RDSDBMetricStatistic"`
// The value of the utilization metric.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSDBUtilizationMetric) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSDBUtilizationMetric) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *RDSDBUtilizationMetric) SetName(v string) *RDSDBUtilizationMetric {
s.Name = &v
return s
}
// SetStatistic sets the Statistic field's value.
func (s *RDSDBUtilizationMetric) SetStatistic(v string) *RDSDBUtilizationMetric {
s.Statistic = &v
return s
}
// SetValue sets the Value field's value.
func (s *RDSDBUtilizationMetric) SetValue(v float64) *RDSDBUtilizationMetric {
s.Value = &v
return s
}
// Describes the projected metrics of an Amazon RDS recommendation option.
//
// To determine the performance difference between your current Amazon RDS and
// the recommended option, compare the metric data of your service against its
// projected metric data.
type RDSDatabaseProjectedMetric struct {
_ struct{} `type:"structure"`
// The name of the projected metric.
Name *string `locationName:"name" type:"string" enum:"RDSDBMetricName"`
// The timestamps of the projected metric.
Timestamps []*time.Time `locationName:"timestamps" type:"list"`
// The values for the projected metric.
Values []*float64 `locationName:"values" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSDatabaseProjectedMetric) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSDatabaseProjectedMetric) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *RDSDatabaseProjectedMetric) SetName(v string) *RDSDatabaseProjectedMetric {
s.Name = &v
return s
}
// SetTimestamps sets the Timestamps field's value.
func (s *RDSDatabaseProjectedMetric) SetTimestamps(v []*time.Time) *RDSDatabaseProjectedMetric {
s.Timestamps = v
return s
}
// SetValues sets the Values field's value.
func (s *RDSDatabaseProjectedMetric) SetValues(v []*float64) *RDSDatabaseProjectedMetric {
s.Values = v
return s
}
// Describes the projected metrics of an Amazon RDS recommendation option.
//
// To determine the performance difference between your current Amazon RDS and
// the recommended option, compare the metric data of your service against its
// projected metric data.
type RDSDatabaseRecommendedOptionProjectedMetric struct {
_ struct{} `type:"structure"`
// An array of objects that describe the projected metric.
ProjectedMetrics []*RDSDatabaseProjectedMetric `locationName:"projectedMetrics" type:"list"`
// The rank identifier of the RDS instance recommendation option.
Rank *int64 `locationName:"rank" type:"integer"`
// The recommended DB instance class for the Amazon RDS.
RecommendedDBInstanceClass *string `locationName:"recommendedDBInstanceClass" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSDatabaseRecommendedOptionProjectedMetric) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSDatabaseRecommendedOptionProjectedMetric) GoString() string {
return s.String()
}
// SetProjectedMetrics sets the ProjectedMetrics field's value.
func (s *RDSDatabaseRecommendedOptionProjectedMetric) SetProjectedMetrics(v []*RDSDatabaseProjectedMetric) *RDSDatabaseRecommendedOptionProjectedMetric {
s.ProjectedMetrics = v
return s
}
// SetRank sets the Rank field's value.
func (s *RDSDatabaseRecommendedOptionProjectedMetric) SetRank(v int64) *RDSDatabaseRecommendedOptionProjectedMetric {
s.Rank = &v
return s
}
// SetRecommendedDBInstanceClass sets the RecommendedDBInstanceClass field's value.
func (s *RDSDatabaseRecommendedOptionProjectedMetric) SetRecommendedDBInstanceClass(v string) *RDSDatabaseRecommendedOptionProjectedMetric {
s.RecommendedDBInstanceClass = &v
return s
}
// Describes the effective recommendation preferences for Amazon RDS.
type RDSEffectiveRecommendationPreferences struct {
_ struct{} `type:"structure"`
// Describes the CPU vendor and architecture for Amazon RDS recommendations.
CpuVendorArchitectures []*string `locationName:"cpuVendorArchitectures" type:"list" enum:"CpuVendorArchitecture"`
// Describes the activation status of the enhanced infrastructure metrics preference.
//
// A status of Active confirms that the preference is applied in the latest
// recommendation refresh, and a status of Inactive confirms that it's not yet
// applied to recommendations.
//
// For more information, see Enhanced infrastructure metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
// in the Compute Optimizer User Guide.
EnhancedInfrastructureMetrics *string `locationName:"enhancedInfrastructureMetrics" type:"string" enum:"EnhancedInfrastructureMetrics"`
// The number of days the utilization metrics of the Amazon RDS are analyzed.
LookBackPeriod *string `locationName:"lookBackPeriod" type:"string" enum:"LookBackPeriodPreference"`
// Describes the savings estimation mode preference applied for calculating
// savings opportunity for Amazon RDS.
SavingsEstimationMode *RDSSavingsEstimationMode `locationName:"savingsEstimationMode" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSEffectiveRecommendationPreferences) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSEffectiveRecommendationPreferences) GoString() string {
return s.String()
}
// SetCpuVendorArchitectures sets the CpuVendorArchitectures field's value.
func (s *RDSEffectiveRecommendationPreferences) SetCpuVendorArchitectures(v []*string) *RDSEffectiveRecommendationPreferences {
s.CpuVendorArchitectures = v
return s
}
// SetEnhancedInfrastructureMetrics sets the EnhancedInfrastructureMetrics field's value.
func (s *RDSEffectiveRecommendationPreferences) SetEnhancedInfrastructureMetrics(v string) *RDSEffectiveRecommendationPreferences {
s.EnhancedInfrastructureMetrics = &v
return s
}
// SetLookBackPeriod sets the LookBackPeriod field's value.
func (s *RDSEffectiveRecommendationPreferences) SetLookBackPeriod(v string) *RDSEffectiveRecommendationPreferences {
s.LookBackPeriod = &v
return s
}
// SetSavingsEstimationMode sets the SavingsEstimationMode field's value.
func (s *RDSEffectiveRecommendationPreferences) SetSavingsEstimationMode(v *RDSSavingsEstimationMode) *RDSEffectiveRecommendationPreferences {
s.SavingsEstimationMode = v
return s
}
// Describes the estimated monthly savings possible for Amazon RDS instances
// by adopting Compute Optimizer recommendations. This is based on Amazon RDS
// pricing after applying Savings Plans discounts.
type RDSInstanceEstimatedMonthlySavings struct {
_ struct{} `type:"structure"`
// The currency of the estimated monthly savings.
Currency *string `locationName:"currency" type:"string" enum:"Currency"`
// The value of the estimated monthly savings for Amazon RDS instances.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSInstanceEstimatedMonthlySavings) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSInstanceEstimatedMonthlySavings) GoString() string {
return s.String()
}
// SetCurrency sets the Currency field's value.
func (s *RDSInstanceEstimatedMonthlySavings) SetCurrency(v string) *RDSInstanceEstimatedMonthlySavings {
s.Currency = &v
return s
}
// SetValue sets the Value field's value.
func (s *RDSInstanceEstimatedMonthlySavings) SetValue(v float64) *RDSInstanceEstimatedMonthlySavings {
s.Value = &v
return s
}
// Describes the savings opportunity for Amazon RDS instance recommendations
// after applying Savings Plans discounts.
//
// Savings opportunity represents the estimated monthly savings after applying
// Savings Plans discounts. You can achieve this by implementing a given Compute
// Optimizer recommendation.
type RDSInstanceSavingsOpportunityAfterDiscounts struct {
_ struct{} `type:"structure"`
// The estimated monthly savings possible by adopting Compute Optimizer’s
// Amazon RDS instance recommendations. This includes any applicable Savings
// Plans discounts.
EstimatedMonthlySavings *RDSInstanceEstimatedMonthlySavings `locationName:"estimatedMonthlySavings" type:"structure"`
// The estimated monthly savings possible as a percentage of monthly cost by
// adopting Compute Optimizer’s Amazon RDS instance recommendations. This
// includes any applicable Savings Plans discounts.
SavingsOpportunityPercentage *float64 `locationName:"savingsOpportunityPercentage" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSInstanceSavingsOpportunityAfterDiscounts) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSInstanceSavingsOpportunityAfterDiscounts) GoString() string {
return s.String()
}
// SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value.
func (s *RDSInstanceSavingsOpportunityAfterDiscounts) SetEstimatedMonthlySavings(v *RDSInstanceEstimatedMonthlySavings) *RDSInstanceSavingsOpportunityAfterDiscounts {
s.EstimatedMonthlySavings = v
return s
}
// SetSavingsOpportunityPercentage sets the SavingsOpportunityPercentage field's value.
func (s *RDSInstanceSavingsOpportunityAfterDiscounts) SetSavingsOpportunityPercentage(v float64) *RDSInstanceSavingsOpportunityAfterDiscounts {
s.SavingsOpportunityPercentage = &v
return s
}
// Describes the savings estimation mode used for calculating savings opportunity
// for Amazon RDS.
type RDSSavingsEstimationMode struct {
_ struct{} `type:"structure"`
// Describes the source for calculating the savings opportunity for Amazon RDS.
Source *string `locationName:"source" type:"string" enum:"RDSSavingsEstimationModeSource"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSSavingsEstimationMode) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSSavingsEstimationMode) GoString() string {
return s.String()
}
// SetSource sets the Source field's value.
func (s *RDSSavingsEstimationMode) SetSource(v string) *RDSSavingsEstimationMode {
s.Source = &v
return s
}
// Describes the estimated monthly savings possible for Amazon RDS storage by
// adopting Compute Optimizer recommendations. This is based on Amazon RDS pricing
// after applying Savings Plans discounts.
type RDSStorageEstimatedMonthlySavings struct {
_ struct{} `type:"structure"`
// The currency of the estimated monthly savings.
Currency *string `locationName:"currency" type:"string" enum:"Currency"`
// The value of the estimated monthly savings for Amazon RDS storage.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSStorageEstimatedMonthlySavings) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSStorageEstimatedMonthlySavings) GoString() string {
return s.String()
}
// SetCurrency sets the Currency field's value.
func (s *RDSStorageEstimatedMonthlySavings) SetCurrency(v string) *RDSStorageEstimatedMonthlySavings {
s.Currency = &v
return s
}
// SetValue sets the Value field's value.
func (s *RDSStorageEstimatedMonthlySavings) SetValue(v float64) *RDSStorageEstimatedMonthlySavings {
s.Value = &v
return s
}
// Describes the savings opportunity for Amazon RDS storage recommendations
// after applying Savings Plans discounts.
//
// Savings opportunity represents the estimated monthly savings after applying
// Savings Plans discounts. You can achieve this by implementing a given Compute
// Optimizer recommendation.
type RDSStorageSavingsOpportunityAfterDiscounts struct {
_ struct{} `type:"structure"`
// The estimated monthly savings possible by adopting Compute Optimizer’s
// Amazon RDS storage recommendations. This includes any applicable Savings
// Plans discounts.
EstimatedMonthlySavings *RDSStorageEstimatedMonthlySavings `locationName:"estimatedMonthlySavings" type:"structure"`
// The estimated monthly savings possible as a percentage of monthly cost by
// adopting Compute Optimizer’s Amazon RDS storage recommendations. This includes
// any applicable Savings Plans discounts.
SavingsOpportunityPercentage *float64 `locationName:"savingsOpportunityPercentage" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSStorageSavingsOpportunityAfterDiscounts) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDSStorageSavingsOpportunityAfterDiscounts) GoString() string {
return s.String()
}
// SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value.
func (s *RDSStorageSavingsOpportunityAfterDiscounts) SetEstimatedMonthlySavings(v *RDSStorageEstimatedMonthlySavings) *RDSStorageSavingsOpportunityAfterDiscounts {
s.EstimatedMonthlySavings = v
return s
}
// SetSavingsOpportunityPercentage sets the SavingsOpportunityPercentage field's value.
func (s *RDSStorageSavingsOpportunityAfterDiscounts) SetSavingsOpportunityPercentage(v float64) *RDSStorageSavingsOpportunityAfterDiscounts {
s.SavingsOpportunityPercentage = &v
return s
}
// A summary of a finding reason code.
type ReasonCodeSummary struct {
_ struct{} `type:"structure"`
// The name of the finding reason code.
Name *string `locationName:"name" type:"string" enum:"FindingReasonCode"`
// The value of the finding reason code summary.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ReasonCodeSummary) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ReasonCodeSummary) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *ReasonCodeSummary) SetName(v string) *ReasonCodeSummary {
s.Name = &v
return s
}
// SetValue sets the Value field's value.
func (s *ReasonCodeSummary) SetValue(v float64) *ReasonCodeSummary {
s.Value = &v
return s
}
// Describes a recommendation export job.
//
// Use the DescribeRecommendationExportJobs action to view your recommendation
// export jobs.
//
// Use the ExportAutoScalingGroupRecommendations or ExportEC2InstanceRecommendations
// actions to request an export of your recommendations.
type RecommendationExportJob struct {
_ struct{} `type:"structure"`
// The timestamp of when the export job was created.
CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
// An object that describes the destination of the export file.
Destination *ExportDestination `locationName:"destination" type:"structure"`
// The reason for an export job failure.
FailureReason *string `locationName:"failureReason" type:"string"`
// The identification number of the export job.
JobId *string `locationName:"jobId" type:"string"`
// The timestamp of when the export job was last updated.
LastUpdatedTimestamp *time.Time `locationName:"lastUpdatedTimestamp" type:"timestamp"`
// The resource type of the exported recommendations.
ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
// The status of the export job.
Status *string `locationName:"status" type:"string" enum:"JobStatus"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RecommendationExportJob) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RecommendationExportJob) GoString() string {
return s.String()
}
// SetCreationTimestamp sets the CreationTimestamp field's value.
func (s *RecommendationExportJob) SetCreationTimestamp(v time.Time) *RecommendationExportJob {
s.CreationTimestamp = &v
return s
}
// SetDestination sets the Destination field's value.
func (s *RecommendationExportJob) SetDestination(v *ExportDestination) *RecommendationExportJob {
s.Destination = v
return s
}
// SetFailureReason sets the FailureReason field's value.
func (s *RecommendationExportJob) SetFailureReason(v string) *RecommendationExportJob {
s.FailureReason = &v
return s
}
// SetJobId sets the JobId field's value.
func (s *RecommendationExportJob) SetJobId(v string) *RecommendationExportJob {
s.JobId = &v
return s
}
// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
func (s *RecommendationExportJob) SetLastUpdatedTimestamp(v time.Time) *RecommendationExportJob {
s.LastUpdatedTimestamp = &v
return s
}
// SetResourceType sets the ResourceType field's value.
func (s *RecommendationExportJob) SetResourceType(v string) *RecommendationExportJob {
s.ResourceType = &v
return s
}
// SetStatus sets the Status field's value.
func (s *RecommendationExportJob) SetStatus(v string) *RecommendationExportJob {
s.Status = &v
return s
}
// Describes the recommendation preferences to return in the response of a GetAutoScalingGroupRecommendations,
// GetEC2InstanceRecommendations, GetEC2RecommendationProjectedMetrics, GetRDSDatabaseRecommendations,
// and GetRDSDatabaseRecommendationProjectedMetrics request.
type RecommendationPreferences struct {
_ struct{} `type:"structure"`
// Specifies the CPU vendor and architecture for Amazon EC2 instance and Auto
// Scaling group recommendations.
//
// For example, when you specify AWS_ARM64 with:
//
// * A GetEC2InstanceRecommendations or GetAutoScalingGroupRecommendations
// request, Compute Optimizer returns recommendations that consist of Graviton
// instance types only.
//
// * A GetEC2RecommendationProjectedMetrics request, Compute Optimizer returns
// projected utilization metrics for Graviton instance type recommendations
// only.
//
// * A ExportEC2InstanceRecommendations or ExportAutoScalingGroupRecommendations
// request, Compute Optimizer exports recommendations that consist of Graviton
// instance types only.
CpuVendorArchitectures []*string `locationName:"cpuVendorArchitectures" type:"list" enum:"CpuVendorArchitecture"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RecommendationPreferences) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RecommendationPreferences) GoString() string {
return s.String()
}
// SetCpuVendorArchitectures sets the CpuVendorArchitectures field's value.
func (s *RecommendationPreferences) SetCpuVendorArchitectures(v []*string) *RecommendationPreferences {
s.CpuVendorArchitectures = v
return s
}
// Describes a recommendation preference.
type RecommendationPreferencesDetail struct {
_ struct{} `type:"structure"`
// The status of the enhanced infrastructure metrics recommendation preference.
//
// When the recommendations page is refreshed, a status of Active confirms that
// the preference is applied to the recommendations, and a status of Inactive
// confirms that the preference isn't yet applied to recommendations.
//
// For more information, see Enhanced infrastructure metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
// in the Compute Optimizer User Guide.
EnhancedInfrastructureMetrics *string `locationName:"enhancedInfrastructureMetrics" type:"string" enum:"EnhancedInfrastructureMetrics"`
// An object that describes the external metrics recommendation preference.
//
// If the preference is applied in the latest recommendation refresh, an object
// with a valid source value appears in the response. If the preference isn't
// applied to the recommendations already, then this object doesn't appear in
// the response.
ExternalMetricsPreference *ExternalMetricsPreference `locationName:"externalMetricsPreference" type:"structure"`
// The status of the inferred workload types recommendation preference.
//
// When the recommendations page is refreshed, a status of Active confirms that
// the preference is applied to the recommendations, and a status of Inactive
// confirms that the preference isn't yet applied to recommendations.
InferredWorkloadTypes *string `locationName:"inferredWorkloadTypes" type:"string" enum:"InferredWorkloadTypesPreference"`
// The preference to control the number of days the utilization metrics of the
// Amazon Web Services resource are analyzed. If the preference isn’t set,
// this object is null.
LookBackPeriod *string `locationName:"lookBackPeriod" type:"string" enum:"LookBackPeriodPreference"`
// The preference to control which resource type values are considered when
// generating rightsizing recommendations. This object resolves any wildcard
// expressions and returns the effective list of candidate resource type values.
// If the preference isn’t set, this object is null.
PreferredResources []*EffectivePreferredResource `locationName:"preferredResources" type:"list"`
// The target resource type of the recommendation preference to create.
//
// The Ec2Instance option encompasses standalone instances and instances that
// are part of Auto Scaling groups. The AutoScalingGroup option encompasses
// only instances that are part of an Auto Scaling group.
ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
// Describes the savings estimation mode used for calculating savings opportunity.
//
// Only the account manager or delegated administrator of your organization
// can activate this preference.
SavingsEstimationMode *string `locationName:"savingsEstimationMode" type:"string" enum:"SavingsEstimationMode"`
// An object that describes the scope of the recommendation preference.
//
// Recommendation preferences can be created at the organization level (for
// management accounts of an organization only), account level, and resource
// level. For more information, see Activating enhanced infrastructure metrics
// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
// in the Compute Optimizer User Guide.
Scope *Scope `locationName:"scope" type:"structure"`
// The preference to control the resource’s CPU utilization threshold, CPU
// utilization headroom, and memory utilization headroom. If the preference
// isn’t set, this object is null.
//
// This preference is only available for the Amazon EC2 instance resource type.
UtilizationPreferences []*UtilizationPreference `locationName:"utilizationPreferences" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RecommendationPreferencesDetail) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RecommendationPreferencesDetail) GoString() string {
return s.String()
}
// SetEnhancedInfrastructureMetrics sets the EnhancedInfrastructureMetrics field's value.
func (s *RecommendationPreferencesDetail) SetEnhancedInfrastructureMetrics(v string) *RecommendationPreferencesDetail {
s.EnhancedInfrastructureMetrics = &v
return s
}
// SetExternalMetricsPreference sets the ExternalMetricsPreference field's value.
func (s *RecommendationPreferencesDetail) SetExternalMetricsPreference(v *ExternalMetricsPreference) *RecommendationPreferencesDetail {
s.ExternalMetricsPreference = v
return s
}
// SetInferredWorkloadTypes sets the InferredWorkloadTypes field's value.
func (s *RecommendationPreferencesDetail) SetInferredWorkloadTypes(v string) *RecommendationPreferencesDetail {
s.InferredWorkloadTypes = &v
return s
}
// SetLookBackPeriod sets the LookBackPeriod field's value.
func (s *RecommendationPreferencesDetail) SetLookBackPeriod(v string) *RecommendationPreferencesDetail {
s.LookBackPeriod = &v
return s
}
// SetPreferredResources sets the PreferredResources field's value.
func (s *RecommendationPreferencesDetail) SetPreferredResources(v []*EffectivePreferredResource) *RecommendationPreferencesDetail {
s.PreferredResources = v
return s
}
// SetResourceType sets the ResourceType field's value.
func (s *RecommendationPreferencesDetail) SetResourceType(v string) *RecommendationPreferencesDetail {
s.ResourceType = &v
return s
}
// SetSavingsEstimationMode sets the SavingsEstimationMode field's value.
func (s *RecommendationPreferencesDetail) SetSavingsEstimationMode(v string) *RecommendationPreferencesDetail {
s.SavingsEstimationMode = &v
return s
}
// SetScope sets the Scope field's value.
func (s *RecommendationPreferencesDetail) SetScope(v *Scope) *RecommendationPreferencesDetail {
s.Scope = v
return s
}
// SetUtilizationPreferences sets the UtilizationPreferences field's value.
func (s *RecommendationPreferencesDetail) SetUtilizationPreferences(v []*UtilizationPreference) *RecommendationPreferencesDetail {
s.UtilizationPreferences = v
return s
}
// Describes the source of a recommendation, such as an Amazon EC2 instance
// or Auto Scaling group.
type RecommendationSource struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the recommendation source.
RecommendationSourceArn *string `locationName:"recommendationSourceArn" type:"string"`
// The resource type of the recommendation source.
RecommendationSourceType *string `locationName:"recommendationSourceType" type:"string" enum:"RecommendationSourceType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RecommendationSource) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RecommendationSource) GoString() string {
return s.String()
}
// SetRecommendationSourceArn sets the RecommendationSourceArn field's value.
func (s *RecommendationSource) SetRecommendationSourceArn(v string) *RecommendationSource {
s.RecommendationSourceArn = &v
return s
}
// SetRecommendationSourceType sets the RecommendationSourceType field's value.
func (s *RecommendationSource) SetRecommendationSourceType(v string) *RecommendationSource {
s.RecommendationSourceType = &v
return s
}
// A summary of a recommendation.
type RecommendationSummary struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account ID of the recommendation summary.
AccountId *string `locationName:"accountId" type:"string"`
// An object that describes the performance risk ratings for a given resource
// type.
CurrentPerformanceRiskRatings *CurrentPerformanceRiskRatings `locationName:"currentPerformanceRiskRatings" type:"structure"`
// An array of objects that describes the estimated monthly saving amounts for
// the instances running on the specified inferredWorkloadTypes. The array contains
// the top five savings opportunites for the instances that run inferred workload
// types.
InferredWorkloadSavings []*InferredWorkloadSaving `locationName:"inferredWorkloadSavings" type:"list"`
// The resource type that the recommendation summary applies to.
RecommendationResourceType *string `locationName:"recommendationResourceType" type:"string" enum:"RecommendationSourceType"`
// An object that describes the savings opportunity for a given resource type.
// Savings opportunity includes the estimated monthly savings amount and percentage.
SavingsOpportunity *SavingsOpportunity `locationName:"savingsOpportunity" type:"structure"`
// An array of objects that describe a recommendation summary.
Summaries []*Summary `locationName:"summaries" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RecommendationSummary) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RecommendationSummary) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *RecommendationSummary) SetAccountId(v string) *RecommendationSummary {
s.AccountId = &v
return s
}
// SetCurrentPerformanceRiskRatings sets the CurrentPerformanceRiskRatings field's value.
func (s *RecommendationSummary) SetCurrentPerformanceRiskRatings(v *CurrentPerformanceRiskRatings) *RecommendationSummary {
s.CurrentPerformanceRiskRatings = v
return s
}
// SetInferredWorkloadSavings sets the InferredWorkloadSavings field's value.
func (s *RecommendationSummary) SetInferredWorkloadSavings(v []*InferredWorkloadSaving) *RecommendationSummary {
s.InferredWorkloadSavings = v
return s
}
// SetRecommendationResourceType sets the RecommendationResourceType field's value.
func (s *RecommendationSummary) SetRecommendationResourceType(v string) *RecommendationSummary {
s.RecommendationResourceType = &v
return s
}
// SetSavingsOpportunity sets the SavingsOpportunity field's value.
func (s *RecommendationSummary) SetSavingsOpportunity(v *SavingsOpportunity) *RecommendationSummary {
s.SavingsOpportunity = v
return s
}
// SetSummaries sets the Summaries field's value.
func (s *RecommendationSummary) SetSummaries(v []*Summary) *RecommendationSummary {
s.Summaries = v
return s
}
// Describes a projected utilization metric of a recommendation option.
//
// The Cpu and Memory metrics are the only projected utilization metrics returned
// when you run the GetEC2RecommendationProjectedMetrics action. Additionally,
// the Memory metric is returned only for resources that have the unified CloudWatch
// agent installed on them. For more information, see Enabling Memory Utilization
// with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent).
type RecommendedOptionProjectedMetric struct {
_ struct{} `type:"structure"`
// An array of objects that describe a projected utilization metric.
ProjectedMetrics []*ProjectedMetric `locationName:"projectedMetrics" type:"list"`
// The rank of the recommendation option projected metric.
//
// The top recommendation option is ranked as 1.
//
// The projected metric rank correlates to the recommendation option rank. For
// example, the projected metric ranked as 1 is related to the recommendation
// option that is also ranked as 1 in the same response.
Rank *int64 `locationName:"rank" type:"integer"`
// The recommended instance type.
RecommendedInstanceType *string `locationName:"recommendedInstanceType" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RecommendedOptionProjectedMetric) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RecommendedOptionProjectedMetric) GoString() string {
return s.String()
}
// SetProjectedMetrics sets the ProjectedMetrics field's value.
func (s *RecommendedOptionProjectedMetric) SetProjectedMetrics(v []*ProjectedMetric) *RecommendedOptionProjectedMetric {
s.ProjectedMetrics = v
return s
}
// SetRank sets the Rank field's value.
func (s *RecommendedOptionProjectedMetric) SetRank(v int64) *RecommendedOptionProjectedMetric {
s.Rank = &v
return s
}
// SetRecommendedInstanceType sets the RecommendedInstanceType field's value.
func (s *RecommendedOptionProjectedMetric) SetRecommendedInstanceType(v string) *RecommendedOptionProjectedMetric {
s.RecommendedInstanceType = &v
return s
}
// A resource that is required for the action doesn't exist.
type ResourceNotFoundException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ResourceNotFoundException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ResourceNotFoundException) GoString() string {
return s.String()
}
func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
return &ResourceNotFoundException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ResourceNotFoundException) Code() string {
return "ResourceNotFoundException"
}
// Message returns the exception's message.
func (s *ResourceNotFoundException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ResourceNotFoundException) OrigErr() error {
return nil
}
func (s *ResourceNotFoundException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ResourceNotFoundException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ResourceNotFoundException) RequestID() string {
return s.RespMetadata.RequestID
}
// Describes the destination Amazon Simple Storage Service (Amazon S3) bucket
// name and object keys of a recommendations export file, and its associated
// metadata file.
type S3Destination struct {
_ struct{} `type:"structure"`
// The name of the Amazon S3 bucket used as the destination of an export file.
Bucket *string `locationName:"bucket" type:"string"`
// The Amazon S3 bucket key of an export file.
//
// The key uniquely identifies the object, or export file, in the S3 bucket.
Key *string `locationName:"key" type:"string"`
// The Amazon S3 bucket key of a metadata file.
//
// The key uniquely identifies the object, or metadata file, in the S3 bucket.
MetadataKey *string `locationName:"metadataKey" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s S3Destination) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s S3Destination) GoString() string {
return s.String()
}
// SetBucket sets the Bucket field's value.
func (s *S3Destination) SetBucket(v string) *S3Destination {
s.Bucket = &v
return s
}
// SetKey sets the Key field's value.
func (s *S3Destination) SetKey(v string) *S3Destination {
s.Key = &v
return s
}
// SetMetadataKey sets the MetadataKey field's value.
func (s *S3Destination) SetMetadataKey(v string) *S3Destination {
s.MetadataKey = &v
return s
}
// Describes the destination Amazon Simple Storage Service (Amazon S3) bucket
// name and key prefix for a recommendations export job.
//
// You must create the destination Amazon S3 bucket for your recommendations
// export before you create the export job. Compute Optimizer does not create
// the S3 bucket for you. After you create the S3 bucket, ensure that it has
// the required permission policy to allow Compute Optimizer to write the export
// file to it. If you plan to specify an object prefix when you create the export
// job, you must include the object prefix in the policy that you add to the
// S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute
// Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html)
// in the Compute Optimizer User Guide.
type S3DestinationConfig struct {
_ struct{} `type:"structure"`
// The name of the Amazon S3 bucket to use as the destination for an export
// job.
Bucket *string `locationName:"bucket" type:"string"`
// The Amazon S3 bucket prefix for an export job.
KeyPrefix *string `locationName:"keyPrefix" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s S3DestinationConfig) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s S3DestinationConfig) GoString() string {
return s.String()
}
// SetBucket sets the Bucket field's value.
func (s *S3DestinationConfig) SetBucket(v string) *S3DestinationConfig {
s.Bucket = &v
return s
}
// SetKeyPrefix sets the KeyPrefix field's value.
func (s *S3DestinationConfig) SetKeyPrefix(v string) *S3DestinationConfig {
s.KeyPrefix = &v
return s
}
// Describes the savings opportunity for recommendations of a given resource
// type or for the recommendation option of an individual resource.
//
// Savings opportunity represents the estimated monthly savings you can achieve
// by implementing a given Compute Optimizer recommendation.
//
// Savings opportunity data requires that you opt in to Cost Explorer, as well
// as activate Receive Amazon EC2 resource recommendations in the Cost Explorer
// preferences page. That creates a connection between Cost Explorer and Compute
// Optimizer. With this connection, Cost Explorer generates savings estimates
// considering the price of existing resources, the price of recommended resources,
// and historical usage data. Estimated monthly savings reflects the projected
// dollar savings associated with each of the recommendations generated. For
// more information, see Enabling Cost Explorer (https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html)
// and Optimizing your cost with Rightsizing Recommendations (https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html)
// in the Cost Management User Guide.
type SavingsOpportunity struct {
_ struct{} `type:"structure"`
// An object that describes the estimated monthly savings amount possible by
// adopting Compute Optimizer recommendations for a given resource. This is
// based on the On-Demand instance pricing..
EstimatedMonthlySavings *EstimatedMonthlySavings `locationName:"estimatedMonthlySavings" type:"structure"`
// The estimated monthly savings possible as a percentage of monthly cost by
// adopting Compute Optimizer recommendations for a given resource.
SavingsOpportunityPercentage *float64 `locationName:"savingsOpportunityPercentage" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SavingsOpportunity) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SavingsOpportunity) GoString() string {
return s.String()
}
// SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value.
func (s *SavingsOpportunity) SetEstimatedMonthlySavings(v *EstimatedMonthlySavings) *SavingsOpportunity {
s.EstimatedMonthlySavings = v
return s
}
// SetSavingsOpportunityPercentage sets the SavingsOpportunityPercentage field's value.
func (s *SavingsOpportunity) SetSavingsOpportunityPercentage(v float64) *SavingsOpportunity {
s.SavingsOpportunityPercentage = &v
return s
}
// Describes the scope of a recommendation preference.
//
// Recommendation preferences can be created at the organization level (for
// management accounts of an organization only), account level, and resource
// level. For more information, see Activating enhanced infrastructure metrics
// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
// in the Compute Optimizer User Guide.
//
// You cannot create recommendation preferences for Auto Scaling groups at the
// organization and account levels. You can create recommendation preferences
// for Auto Scaling groups only at the resource level by specifying a scope
// name of ResourceArn and a scope value of the Auto Scaling group Amazon Resource
// Name (ARN). This will configure the preference for all instances that are
// part of the specified Auto Scaling group. You also cannot create recommendation
// preferences at the resource level for instances that are part of an Auto
// Scaling group. You can create recommendation preferences at the resource
// level only for standalone instances.
type Scope struct {
_ struct{} `type:"structure"`
// The name of the scope.
//
// The following scopes are possible:
//
// * Organization - Specifies that the recommendation preference applies
// at the organization level, for all member accounts of an organization.
//
// * AccountId - Specifies that the recommendation preference applies at
// the account level, for all resources of a given resource type in an account.
//
// * ResourceArn - Specifies that the recommendation preference applies at
// the individual resource level.
Name *string `locationName:"name" type:"string" enum:"ScopeName"`
// The value of the scope.
//
// If you specified the name of the scope as:
//
// * Organization - The value must be ALL_ACCOUNTS.
//
// * AccountId - The value must be a 12-digit Amazon Web Services account
// ID.
//
// * ResourceArn - The value must be the Amazon Resource Name (ARN) of an
// EC2 instance or an Auto Scaling group.
//
// Only EC2 instance and Auto Scaling group ARNs are currently supported.
Value *string `locationName:"value" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Scope) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Scope) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *Scope) SetName(v string) *Scope {
s.Name = &v
return s
}
// SetValue sets the Value field's value.
func (s *Scope) SetValue(v string) *Scope {
s.Value = &v
return s
}
// The Amazon ECS service configurations used for recommendations.
type ServiceConfiguration struct {
_ struct{} `type:"structure"`
// Describes the Auto Scaling configuration methods for an Amazon ECS service.
// This affects the generated recommendations. For example, if Auto Scaling
// is configured on a service’s CPU, then Compute Optimizer doesn’t generate
// CPU size recommendations.
//
// The Auto Scaling configuration methods include:
//
// * TARGET_TRACKING_SCALING_CPU — If the Amazon ECS service is configured
// to use target scaling on CPU, Compute Optimizer doesn't generate CPU recommendations.
//
// * TARGET_TRACKING_SCALING_MEMORY — If the Amazon ECS service is configured
// to use target scaling on memory, Compute Optimizer doesn't generate memory
// recommendations.
//
// For more information about step scaling and target scaling, see Step scaling
// policies for Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html)
// and Target tracking scaling policies for Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)
// in the Application Auto Scaling User Guide.
AutoScalingConfiguration *string `locationName:"autoScalingConfiguration" type:"string" enum:"AutoScalingConfiguration"`
// The container configurations within a task of an Amazon ECS service.
ContainerConfigurations []*ContainerConfiguration `locationName:"containerConfigurations" type:"list"`
// The number of CPU units used by the tasks in the Amazon ECS service.
Cpu *int64 `locationName:"cpu" type:"integer"`
// The amount of memory used by the tasks in the Amazon ECS service.
Memory *int64 `locationName:"memory" type:"integer"`
// The task definition ARN used by the tasks in the Amazon ECS service.
TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ServiceConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ServiceConfiguration) GoString() string {
return s.String()
}
// SetAutoScalingConfiguration sets the AutoScalingConfiguration field's value.
func (s *ServiceConfiguration) SetAutoScalingConfiguration(v string) *ServiceConfiguration {
s.AutoScalingConfiguration = &v
return s
}
// SetContainerConfigurations sets the ContainerConfigurations field's value.
func (s *ServiceConfiguration) SetContainerConfigurations(v []*ContainerConfiguration) *ServiceConfiguration {
s.ContainerConfigurations = v
return s
}
// SetCpu sets the Cpu field's value.
func (s *ServiceConfiguration) SetCpu(v int64) *ServiceConfiguration {
s.Cpu = &v
return s
}
// SetMemory sets the Memory field's value.
func (s *ServiceConfiguration) SetMemory(v int64) *ServiceConfiguration {
s.Memory = &v
return s
}
// SetTaskDefinitionArn sets the TaskDefinitionArn field's value.
func (s *ServiceConfiguration) SetTaskDefinitionArn(v string) *ServiceConfiguration {
s.TaskDefinitionArn = &v
return s
}
// The request has failed due to a temporary failure of the server.
type ServiceUnavailableException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ServiceUnavailableException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ServiceUnavailableException) GoString() string {
return s.String()
}
func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
return &ServiceUnavailableException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ServiceUnavailableException) Code() string {
return "ServiceUnavailableException"
}
// Message returns the exception's message.
func (s *ServiceUnavailableException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ServiceUnavailableException) OrigErr() error {
return nil
}
func (s *ServiceUnavailableException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ServiceUnavailableException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ServiceUnavailableException) RequestID() string {
return s.RespMetadata.RequestID
}
// The summary of a recommendation.
type Summary struct {
_ struct{} `type:"structure"`
// The finding classification of the recommendation.
Name *string `locationName:"name" type:"string" enum:"Finding"`
// An array of objects that summarize a finding reason code.
ReasonCodeSummaries []*ReasonCodeSummary `locationName:"reasonCodeSummaries" type:"list"`
// The value of the recommendation summary.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Summary) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Summary) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *Summary) SetName(v string) *Summary {
s.Name = &v
return s
}
// SetReasonCodeSummaries sets the ReasonCodeSummaries field's value.
func (s *Summary) SetReasonCodeSummaries(v []*ReasonCodeSummary) *Summary {
s.ReasonCodeSummaries = v
return s
}
// SetValue sets the Value field's value.
func (s *Summary) SetValue(v float64) *Summary {
s.Value = &v
return s
}
// A list of tag key and value pairs that you define.
type Tag struct {
_ struct{} `type:"structure"`
// One part of a key-value pair that makes up a tag. A key is a general label
// that acts like a category for more specific tag values.
Key *string `locationName:"key" type:"string"`
// One part of a key-value pair that make up a tag. A value acts as a descriptor
// within a tag category (key). The value can be empty or null.
Value *string `locationName:"value" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Tag) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Tag) GoString() string {
return s.String()
}
// SetKey sets the Key field's value.
func (s *Tag) SetKey(v string) *Tag {
s.Key = &v
return s
}
// SetValue sets the Value field's value.
func (s *Tag) SetValue(v string) *Tag {
s.Value = &v
return s
}
// The request was denied due to request throttling.
type ThrottlingException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ThrottlingException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ThrottlingException) GoString() string {
return s.String()
}
func newErrorThrottlingException(v protocol.ResponseMetadata) error {
return &ThrottlingException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ThrottlingException) Code() string {
return "ThrottlingException"
}
// Message returns the exception's message.
func (s *ThrottlingException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ThrottlingException) OrigErr() error {
return nil
}
func (s *ThrottlingException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ThrottlingException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ThrottlingException) RequestID() string {
return s.RespMetadata.RequestID
}
type UpdateEnrollmentStatusInput struct {
_ struct{} `type:"structure"`
// Indicates whether to enroll member accounts of the organization if the account
// is the management account of an organization.
IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"`
// The new enrollment status of the account.
//
// The following status options are available:
//
// * Active - Opts in your account to the Compute Optimizer service. Compute
// Optimizer begins analyzing the configuration and utilization metrics of
// your Amazon Web Services resources after you opt in. For more information,
// see Metrics analyzed by Compute Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html)
// in the Compute Optimizer User Guide.
//
// * Inactive - Opts out your account from the Compute Optimizer service.
// Your account's recommendations and related metrics data will be deleted
// from Compute Optimizer after you opt out.
//
// The Pending and Failed options cannot be used to update the enrollment status
// of an account. They are returned in the response of a request to update the
// enrollment status of an account.
//
// Status is a required field
Status *string `locationName:"status" type:"string" required:"true" enum:"Status"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateEnrollmentStatusInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateEnrollmentStatusInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateEnrollmentStatusInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UpdateEnrollmentStatusInput"}
if s.Status == nil {
invalidParams.Add(request.NewErrParamRequired("Status"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value.
func (s *UpdateEnrollmentStatusInput) SetIncludeMemberAccounts(v bool) *UpdateEnrollmentStatusInput {
s.IncludeMemberAccounts = &v
return s
}
// SetStatus sets the Status field's value.
func (s *UpdateEnrollmentStatusInput) SetStatus(v string) *UpdateEnrollmentStatusInput {
s.Status = &v
return s
}
type UpdateEnrollmentStatusOutput struct {
_ struct{} `type:"structure"`
// The enrollment status of the account.
Status *string `locationName:"status" type:"string" enum:"Status"`
// The reason for the enrollment status of the account. For example, an account
// might show a status of Pending because member accounts of an organization
// require more time to be enrolled in the service.
StatusReason *string `locationName:"statusReason" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateEnrollmentStatusOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateEnrollmentStatusOutput) GoString() string {
return s.String()
}
// SetStatus sets the Status field's value.
func (s *UpdateEnrollmentStatusOutput) SetStatus(v string) *UpdateEnrollmentStatusOutput {
s.Status = &v
return s
}
// SetStatusReason sets the StatusReason field's value.
func (s *UpdateEnrollmentStatusOutput) SetStatusReason(v string) *UpdateEnrollmentStatusOutput {
s.StatusReason = &v
return s
}
// Describes a utilization metric of a resource, such as an Amazon EC2 instance.
//
// Compare the utilization metric data of your resource against its projected
// utilization metric data to determine the performance difference between your
// current resource and the recommended option.
type UtilizationMetric struct {
_ struct{} `type:"structure"`
// The name of the utilization metric.
//
// The following utilization metrics are available:
//
// * Cpu - The percentage of allocated EC2 compute units that are currently
// in use on the instance. This metric identifies the processing power required
// to run an application on the instance. Depending on the instance type,
// tools in your operating system can show a lower percentage than CloudWatch
// when the instance is not allocated a full processor core. Units: Percent
//
// * Memory - The percentage of memory that is currently in use on the instance.
// This metric identifies the amount of memory required to run an application
// on the instance. Units: Percent The Memory metric is returned only for
// resources that have the unified CloudWatch agent installed on them. For
// more information, see Enabling Memory Utilization with the CloudWatch
// Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent).
//
// * GPU - The percentage of allocated GPUs that currently run on the instance.
//
// * GPU_MEMORY - The percentage of total GPU memory that currently runs
// on the instance. The GPU and GPU_MEMORY metrics are only returned for
// resources with the unified CloudWatch Agent installed on them. For more
// information, see Enabling NVIDIA GPU utilization with the CloudWatch Agent
// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#nvidia-cw-agent).
//
// * EBS_READ_OPS_PER_SECOND - The completed read operations from all EBS
// volumes attached to the instance in a specified period of time. Unit:
// Count
//
// * EBS_WRITE_OPS_PER_SECOND - The completed write operations to all EBS
// volumes attached to the instance in a specified period of time. Unit:
// Count
//
// * EBS_READ_BYTES_PER_SECOND - The bytes read from all EBS volumes attached
// to the instance in a specified period of time. Unit: Bytes
//
// * EBS_WRITE_BYTES_PER_SECOND - The bytes written to all EBS volumes attached
// to the instance in a specified period of time. Unit: Bytes
//
// * DISK_READ_OPS_PER_SECOND - The completed read operations from all instance
// store volumes available to the instance in a specified period of time.
// If there are no instance store volumes, either the value is 0 or the metric
// is not reported.
//
// * DISK_WRITE_OPS_PER_SECOND - The completed write operations from all
// instance store volumes available to the instance in a specified period
// of time. If there are no instance store volumes, either the value is 0
// or the metric is not reported.
//
// * DISK_READ_BYTES_PER_SECOND - The bytes read from all instance store
// volumes available to the instance. This metric is used to determine the
// volume of the data the application reads from the disk of the instance.
// This can be used to determine the speed of the application. If there are
// no instance store volumes, either the value is 0 or the metric is not
// reported.
//
// * DISK_WRITE_BYTES_PER_SECOND - The bytes written to all instance store
// volumes available to the instance. This metric is used to determine the
// volume of the data the application writes onto the disk of the instance.
// This can be used to determine the speed of the application. If there are
// no instance store volumes, either the value is 0 or the metric is not
// reported.
//
// * NETWORK_IN_BYTES_PER_SECOND - The number of bytes received by the instance
// on all network interfaces. This metric identifies the volume of incoming
// network traffic to a single instance.
//
// * NETWORK_OUT_BYTES_PER_SECOND - The number of bytes sent out by the instance
// on all network interfaces. This metric identifies the volume of outgoing
// network traffic from a single instance.
//
// * NETWORK_PACKETS_IN_PER_SECOND - The number of packets received by the
// instance on all network interfaces. This metric identifies the volume
// of incoming traffic in terms of the number of packets on a single instance.
//
// * NETWORK_PACKETS_OUT_PER_SECOND - The number of packets sent out by the
// instance on all network interfaces. This metric identifies the volume
// of outgoing traffic in terms of the number of packets on a single instance.
Name *string `locationName:"name" type:"string" enum:"MetricName"`
// The statistic of the utilization metric.
//
// The Compute Optimizer API, Command Line Interface (CLI), and SDKs return
// utilization metrics using only the Maximum statistic, which is the highest
// value observed during the specified period.
//
// The Compute Optimizer console displays graphs for some utilization metrics
// using the Average statistic, which is the value of Sum / SampleCount during
// the specified period. For more information, see Viewing resource recommendations
// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html)
// in the Compute Optimizer User Guide. You can also get averaged utilization
// metric data for your resources using Amazon CloudWatch. For more information,
// see the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html).
Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"`
// The value of the utilization metric.
Value *float64 `locationName:"value" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UtilizationMetric) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UtilizationMetric) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *UtilizationMetric) SetName(v string) *UtilizationMetric {
s.Name = &v
return s
}
// SetStatistic sets the Statistic field's value.
func (s *UtilizationMetric) SetStatistic(v string) *UtilizationMetric {
s.Statistic = &v
return s
}
// SetValue sets the Value field's value.
func (s *UtilizationMetric) SetValue(v float64) *UtilizationMetric {
s.Value = &v
return s
}
// The preference to control the resource’s CPU utilization threshold, CPU
// utilization headroom, and memory utilization headroom.
//
// This preference is only available for the Amazon EC2 instance resource type.
type UtilizationPreference struct {
_ struct{} `type:"structure"`
// The name of the resource utilization metric name to customize.
MetricName *string `locationName:"metricName" type:"string" enum:"CustomizableMetricName"`
// The parameters to set when customizing the resource utilization thresholds.
MetricParameters *CustomizableMetricParameters `locationName:"metricParameters" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UtilizationPreference) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UtilizationPreference) GoString() string {
return s.String()
}
// SetMetricName sets the MetricName field's value.
func (s *UtilizationPreference) SetMetricName(v string) *UtilizationPreference {
s.MetricName = &v
return s
}
// SetMetricParameters sets the MetricParameters field's value.
func (s *UtilizationPreference) SetMetricParameters(v *CustomizableMetricParameters) *UtilizationPreference {
s.MetricParameters = v
return s
}
// Describes the configuration of an Amazon Elastic Block Store (Amazon EBS)
// volume.
type VolumeConfiguration struct {
_ struct{} `type:"structure"`
// Contains the image used to boot the instance during launch.
RootVolume *bool `locationName:"rootVolume" type:"boolean"`
// The baseline IOPS of the volume.
VolumeBaselineIOPS *int64 `locationName:"volumeBaselineIOPS" type:"integer"`
// The baseline throughput of the volume.
VolumeBaselineThroughput *int64 `locationName:"volumeBaselineThroughput" type:"integer"`
// The burst IOPS of the volume.
VolumeBurstIOPS *int64 `locationName:"volumeBurstIOPS" type:"integer"`
// The burst throughput of the volume.
VolumeBurstThroughput *int64 `locationName:"volumeBurstThroughput" type:"integer"`
// The size of the volume, in GiB.
VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
// The volume type.
//
// This can be gp2 for General Purpose SSD, io1 or io2 for Provisioned IOPS
// SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for
// Magnetic volumes.
VolumeType *string `locationName:"volumeType" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s VolumeConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s VolumeConfiguration) GoString() string {
return s.String()
}
// SetRootVolume sets the RootVolume field's value.
func (s *VolumeConfiguration) SetRootVolume(v bool) *VolumeConfiguration {
s.RootVolume = &v
return s
}
// SetVolumeBaselineIOPS sets the VolumeBaselineIOPS field's value.
func (s *VolumeConfiguration) SetVolumeBaselineIOPS(v int64) *VolumeConfiguration {
s.VolumeBaselineIOPS = &v
return s
}
// SetVolumeBaselineThroughput sets the VolumeBaselineThroughput field's value.
func (s *VolumeConfiguration) SetVolumeBaselineThroughput(v int64) *VolumeConfiguration {
s.VolumeBaselineThroughput = &v
return s
}
// SetVolumeBurstIOPS sets the VolumeBurstIOPS field's value.
func (s *VolumeConfiguration) SetVolumeBurstIOPS(v int64) *VolumeConfiguration {
s.VolumeBurstIOPS = &v
return s
}
// SetVolumeBurstThroughput sets the VolumeBurstThroughput field's value.
func (s *VolumeConfiguration) SetVolumeBurstThroughput(v int64) *VolumeConfiguration {
s.VolumeBurstThroughput = &v
return s
}
// SetVolumeSize sets the VolumeSize field's value.
func (s *VolumeConfiguration) SetVolumeSize(v int64) *VolumeConfiguration {
s.VolumeSize = &v
return s
}
// SetVolumeType sets the VolumeType field's value.
func (s *VolumeConfiguration) SetVolumeType(v string) *VolumeConfiguration {
s.VolumeType = &v
return s
}
// Describes an Amazon Elastic Block Store (Amazon EBS) volume recommendation.
type VolumeRecommendation struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account ID of the volume.
AccountId *string `locationName:"accountId" type:"string"`
// An array of objects that describe the current configuration of the volume.
CurrentConfiguration *VolumeConfiguration `locationName:"currentConfiguration" type:"structure"`
// The risk of the current EBS volume not meeting the performance needs of its
// workloads. The higher the risk, the more likely the current EBS volume doesn't
// have sufficient capacity.
CurrentPerformanceRisk *string `locationName:"currentPerformanceRisk" type:"string" enum:"CurrentPerformanceRisk"`
// Describes the effective recommendation preferences for Amazon EBS volume.
EffectiveRecommendationPreferences *EBSEffectiveRecommendationPreferences `locationName:"effectiveRecommendationPreferences" type:"structure"`
// The finding classification of the volume.
//
// Findings for volumes include:
//
// * NotOptimized —A volume is considered not optimized when Compute Optimizer
// identifies a recommendation that can provide better performance for your
// workload.
//
// * Optimized —An volume is considered optimized when Compute Optimizer
// determines that the volume is correctly provisioned to run your workload
// based on the chosen volume type. For optimized resources, Compute Optimizer
// might recommend a new generation volume type.
Finding *string `locationName:"finding" type:"string" enum:"EBSFinding"`
// The timestamp of when the volume recommendation was last generated.
LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"`
// The number of days for which utilization metrics were analyzed for the volume.
LookBackPeriodInDays *float64 `locationName:"lookBackPeriodInDays" type:"double"`
// A list of tags assigned to your Amazon EBS volume recommendations.
Tags []*Tag `locationName:"tags" type:"list"`
// An array of objects that describe the utilization metrics of the volume.
UtilizationMetrics []*EBSUtilizationMetric `locationName:"utilizationMetrics" type:"list"`
// The Amazon Resource Name (ARN) of the current volume.
VolumeArn *string `locationName:"volumeArn" type:"string"`
// An array of objects that describe the recommendation options for the volume.
VolumeRecommendationOptions []*VolumeRecommendationOption `locationName:"volumeRecommendationOptions" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s VolumeRecommendation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s VolumeRecommendation) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *VolumeRecommendation) SetAccountId(v string) *VolumeRecommendation {
s.AccountId = &v
return s
}
// SetCurrentConfiguration sets the CurrentConfiguration field's value.
func (s *VolumeRecommendation) SetCurrentConfiguration(v *VolumeConfiguration) *VolumeRecommendation {
s.CurrentConfiguration = v
return s
}
// SetCurrentPerformanceRisk sets the CurrentPerformanceRisk field's value.
func (s *VolumeRecommendation) SetCurrentPerformanceRisk(v string) *VolumeRecommendation {
s.CurrentPerformanceRisk = &v
return s
}
// SetEffectiveRecommendationPreferences sets the EffectiveRecommendationPreferences field's value.
func (s *VolumeRecommendation) SetEffectiveRecommendationPreferences(v *EBSEffectiveRecommendationPreferences) *VolumeRecommendation {
s.EffectiveRecommendationPreferences = v
return s
}
// SetFinding sets the Finding field's value.
func (s *VolumeRecommendation) SetFinding(v string) *VolumeRecommendation {
s.Finding = &v
return s
}
// SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value.
func (s *VolumeRecommendation) SetLastRefreshTimestamp(v time.Time) *VolumeRecommendation {
s.LastRefreshTimestamp = &v
return s
}
// SetLookBackPeriodInDays sets the LookBackPeriodInDays field's value.
func (s *VolumeRecommendation) SetLookBackPeriodInDays(v float64) *VolumeRecommendation {
s.LookBackPeriodInDays = &v
return s
}
// SetTags sets the Tags field's value.
func (s *VolumeRecommendation) SetTags(v []*Tag) *VolumeRecommendation {
s.Tags = v
return s
}
// SetUtilizationMetrics sets the UtilizationMetrics field's value.
func (s *VolumeRecommendation) SetUtilizationMetrics(v []*EBSUtilizationMetric) *VolumeRecommendation {
s.UtilizationMetrics = v
return s
}
// SetVolumeArn sets the VolumeArn field's value.
func (s *VolumeRecommendation) SetVolumeArn(v string) *VolumeRecommendation {
s.VolumeArn = &v
return s
}
// SetVolumeRecommendationOptions sets the VolumeRecommendationOptions field's value.
func (s *VolumeRecommendation) SetVolumeRecommendationOptions(v []*VolumeRecommendationOption) *VolumeRecommendation {
s.VolumeRecommendationOptions = v
return s
}
// Describes a recommendation option for an Amazon Elastic Block Store (Amazon
// EBS) instance.
type VolumeRecommendationOption struct {
_ struct{} `type:"structure"`
// An array of objects that describe a volume configuration.
Configuration *VolumeConfiguration `locationName:"configuration" type:"structure"`
// The performance risk of the volume recommendation option.
//
// Performance risk is the likelihood of the recommended volume type meeting
// the performance requirement of your workload.
//
// The value ranges from 0 - 4, with 0 meaning that the recommended resource
// is predicted to always provide enough hardware capability. The higher the
// performance risk is, the more likely you should validate whether the recommendation
// will meet the performance requirements of your workload before migrating
// your resource.
PerformanceRisk *float64 `locationName:"performanceRisk" type:"double"`
// The rank of the volume recommendation option.
//
// The top recommendation option is ranked as 1.
Rank *int64 `locationName:"rank" type:"integer"`
// An object that describes the savings opportunity for the EBS volume recommendation
// option. Savings opportunity includes the estimated monthly savings amount
// and percentage.
SavingsOpportunity *SavingsOpportunity `locationName:"savingsOpportunity" type:"structure"`
// An object that describes the savings opportunity for the Amazon EBS volume
// recommendation option with specific discounts. Savings opportunity includes
// the estimated monthly savings and percentage.
SavingsOpportunityAfterDiscounts *EBSSavingsOpportunityAfterDiscounts `locationName:"savingsOpportunityAfterDiscounts" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s VolumeRecommendationOption) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s VolumeRecommendationOption) GoString() string {
return s.String()
}
// SetConfiguration sets the Configuration field's value.
func (s *VolumeRecommendationOption) SetConfiguration(v *VolumeConfiguration) *VolumeRecommendationOption {
s.Configuration = v
return s
}
// SetPerformanceRisk sets the PerformanceRisk field's value.
func (s *VolumeRecommendationOption) SetPerformanceRisk(v float64) *VolumeRecommendationOption {
s.PerformanceRisk = &v
return s
}
// SetRank sets the Rank field's value.
func (s *VolumeRecommendationOption) SetRank(v int64) *VolumeRecommendationOption {
s.Rank = &v
return s
}
// SetSavingsOpportunity sets the SavingsOpportunity field's value.
func (s *VolumeRecommendationOption) SetSavingsOpportunity(v *SavingsOpportunity) *VolumeRecommendationOption {
s.SavingsOpportunity = v
return s
}
// SetSavingsOpportunityAfterDiscounts sets the SavingsOpportunityAfterDiscounts field's value.
func (s *VolumeRecommendationOption) SetSavingsOpportunityAfterDiscounts(v *EBSSavingsOpportunityAfterDiscounts) *VolumeRecommendationOption {
s.SavingsOpportunityAfterDiscounts = v
return s
}
const (
// AutoScalingConfigurationTargetTrackingScalingCpu is a AutoScalingConfiguration enum value
AutoScalingConfigurationTargetTrackingScalingCpu = "TargetTrackingScalingCpu"
// AutoScalingConfigurationTargetTrackingScalingMemory is a AutoScalingConfiguration enum value
AutoScalingConfigurationTargetTrackingScalingMemory = "TargetTrackingScalingMemory"
)
// AutoScalingConfiguration_Values returns all elements of the AutoScalingConfiguration enum
func AutoScalingConfiguration_Values() []string {
return []string{
AutoScalingConfigurationTargetTrackingScalingCpu,
AutoScalingConfigurationTargetTrackingScalingMemory,
}
}
const (
// CpuVendorArchitectureAwsArm64 is a CpuVendorArchitecture enum value
CpuVendorArchitectureAwsArm64 = "AWS_ARM64"
// CpuVendorArchitectureCurrent is a CpuVendorArchitecture enum value
CpuVendorArchitectureCurrent = "CURRENT"
)
// CpuVendorArchitecture_Values returns all elements of the CpuVendorArchitecture enum
func CpuVendorArchitecture_Values() []string {
return []string{
CpuVendorArchitectureAwsArm64,
CpuVendorArchitectureCurrent,
}
}
const (
// CurrencyUsd is a Currency enum value
CurrencyUsd = "USD"
// CurrencyCny is a Currency enum value
CurrencyCny = "CNY"
)
// Currency_Values returns all elements of the Currency enum
func Currency_Values() []string {
return []string{
CurrencyUsd,
CurrencyCny,
}
}
const (
// CurrentPerformanceRiskVeryLow is a CurrentPerformanceRisk enum value
CurrentPerformanceRiskVeryLow = "VeryLow"
// CurrentPerformanceRiskLow is a CurrentPerformanceRisk enum value
CurrentPerformanceRiskLow = "Low"
// CurrentPerformanceRiskMedium is a CurrentPerformanceRisk enum value
CurrentPerformanceRiskMedium = "Medium"
// CurrentPerformanceRiskHigh is a CurrentPerformanceRisk enum value
CurrentPerformanceRiskHigh = "High"
)
// CurrentPerformanceRisk_Values returns all elements of the CurrentPerformanceRisk enum
func CurrentPerformanceRisk_Values() []string {
return []string{
CurrentPerformanceRiskVeryLow,
CurrentPerformanceRiskLow,
CurrentPerformanceRiskMedium,
CurrentPerformanceRiskHigh,
}
}
const (
// CustomizableMetricHeadroomPercent30 is a CustomizableMetricHeadroom enum value
CustomizableMetricHeadroomPercent30 = "PERCENT_30"
// CustomizableMetricHeadroomPercent20 is a CustomizableMetricHeadroom enum value
CustomizableMetricHeadroomPercent20 = "PERCENT_20"
// CustomizableMetricHeadroomPercent10 is a CustomizableMetricHeadroom enum value
CustomizableMetricHeadroomPercent10 = "PERCENT_10"
// CustomizableMetricHeadroomPercent0 is a CustomizableMetricHeadroom enum value
CustomizableMetricHeadroomPercent0 = "PERCENT_0"
)
// CustomizableMetricHeadroom_Values returns all elements of the CustomizableMetricHeadroom enum
func CustomizableMetricHeadroom_Values() []string {
return []string{
CustomizableMetricHeadroomPercent30,
CustomizableMetricHeadroomPercent20,
CustomizableMetricHeadroomPercent10,
CustomizableMetricHeadroomPercent0,
}
}
const (
// CustomizableMetricNameCpuUtilization is a CustomizableMetricName enum value
CustomizableMetricNameCpuUtilization = "CpuUtilization"
// CustomizableMetricNameMemoryUtilization is a CustomizableMetricName enum value
CustomizableMetricNameMemoryUtilization = "MemoryUtilization"
)
// CustomizableMetricName_Values returns all elements of the CustomizableMetricName enum
func CustomizableMetricName_Values() []string {
return []string{
CustomizableMetricNameCpuUtilization,
CustomizableMetricNameMemoryUtilization,
}
}
const (
// CustomizableMetricThresholdP90 is a CustomizableMetricThreshold enum value
CustomizableMetricThresholdP90 = "P90"
// CustomizableMetricThresholdP95 is a CustomizableMetricThreshold enum value
CustomizableMetricThresholdP95 = "P95"
// CustomizableMetricThresholdP995 is a CustomizableMetricThreshold enum value
CustomizableMetricThresholdP995 = "P99_5"
)
// CustomizableMetricThreshold_Values returns all elements of the CustomizableMetricThreshold enum
func CustomizableMetricThreshold_Values() []string {
return []string{
CustomizableMetricThresholdP90,
CustomizableMetricThresholdP95,
CustomizableMetricThresholdP995,
}
}
const (
// EBSFilterNameFinding is a EBSFilterName enum value
EBSFilterNameFinding = "Finding"
)
// EBSFilterName_Values returns all elements of the EBSFilterName enum
func EBSFilterName_Values() []string {
return []string{
EBSFilterNameFinding,
}
}
const (
// EBSFindingOptimized is a EBSFinding enum value
EBSFindingOptimized = "Optimized"
// EBSFindingNotOptimized is a EBSFinding enum value
EBSFindingNotOptimized = "NotOptimized"
)
// EBSFinding_Values returns all elements of the EBSFinding enum
func EBSFinding_Values() []string {
return []string{
EBSFindingOptimized,
EBSFindingNotOptimized,
}
}
const (
// EBSMetricNameVolumeReadOpsPerSecond is a EBSMetricName enum value
EBSMetricNameVolumeReadOpsPerSecond = "VolumeReadOpsPerSecond"
// EBSMetricNameVolumeWriteOpsPerSecond is a EBSMetricName enum value
EBSMetricNameVolumeWriteOpsPerSecond = "VolumeWriteOpsPerSecond"
// EBSMetricNameVolumeReadBytesPerSecond is a EBSMetricName enum value
EBSMetricNameVolumeReadBytesPerSecond = "VolumeReadBytesPerSecond"
// EBSMetricNameVolumeWriteBytesPerSecond is a EBSMetricName enum value
EBSMetricNameVolumeWriteBytesPerSecond = "VolumeWriteBytesPerSecond"
)
// EBSMetricName_Values returns all elements of the EBSMetricName enum
func EBSMetricName_Values() []string {
return []string{
EBSMetricNameVolumeReadOpsPerSecond,
EBSMetricNameVolumeWriteOpsPerSecond,
EBSMetricNameVolumeReadBytesPerSecond,
EBSMetricNameVolumeWriteBytesPerSecond,
}
}
const (
// EBSSavingsEstimationModeSourcePublicPricing is a EBSSavingsEstimationModeSource enum value
EBSSavingsEstimationModeSourcePublicPricing = "PublicPricing"
// EBSSavingsEstimationModeSourceCostExplorerRightsizing is a EBSSavingsEstimationModeSource enum value
EBSSavingsEstimationModeSourceCostExplorerRightsizing = "CostExplorerRightsizing"
// EBSSavingsEstimationModeSourceCostOptimizationHub is a EBSSavingsEstimationModeSource enum value
EBSSavingsEstimationModeSourceCostOptimizationHub = "CostOptimizationHub"
)
// EBSSavingsEstimationModeSource_Values returns all elements of the EBSSavingsEstimationModeSource enum
func EBSSavingsEstimationModeSource_Values() []string {
return []string{
EBSSavingsEstimationModeSourcePublicPricing,
EBSSavingsEstimationModeSourceCostExplorerRightsizing,
EBSSavingsEstimationModeSourceCostOptimizationHub,
}
}
const (
// ECSSavingsEstimationModeSourcePublicPricing is a ECSSavingsEstimationModeSource enum value
ECSSavingsEstimationModeSourcePublicPricing = "PublicPricing"
// ECSSavingsEstimationModeSourceCostExplorerRightsizing is a ECSSavingsEstimationModeSource enum value
ECSSavingsEstimationModeSourceCostExplorerRightsizing = "CostExplorerRightsizing"
// ECSSavingsEstimationModeSourceCostOptimizationHub is a ECSSavingsEstimationModeSource enum value
ECSSavingsEstimationModeSourceCostOptimizationHub = "CostOptimizationHub"
)
// ECSSavingsEstimationModeSource_Values returns all elements of the ECSSavingsEstimationModeSource enum
func ECSSavingsEstimationModeSource_Values() []string {
return []string{
ECSSavingsEstimationModeSourcePublicPricing,
ECSSavingsEstimationModeSourceCostExplorerRightsizing,
ECSSavingsEstimationModeSourceCostOptimizationHub,
}
}
const (
// ECSServiceLaunchTypeEc2 is a ECSServiceLaunchType enum value
ECSServiceLaunchTypeEc2 = "EC2"
// ECSServiceLaunchTypeFargate is a ECSServiceLaunchType enum value
ECSServiceLaunchTypeFargate = "Fargate"
)
// ECSServiceLaunchType_Values returns all elements of the ECSServiceLaunchType enum
func ECSServiceLaunchType_Values() []string {
return []string{
ECSServiceLaunchTypeEc2,
ECSServiceLaunchTypeFargate,
}
}
const (
// ECSServiceMetricNameCpu is a ECSServiceMetricName enum value
ECSServiceMetricNameCpu = "Cpu"
// ECSServiceMetricNameMemory is a ECSServiceMetricName enum value
ECSServiceMetricNameMemory = "Memory"
)
// ECSServiceMetricName_Values returns all elements of the ECSServiceMetricName enum
func ECSServiceMetricName_Values() []string {
return []string{
ECSServiceMetricNameCpu,
ECSServiceMetricNameMemory,
}
}
const (
// ECSServiceMetricStatisticMaximum is a ECSServiceMetricStatistic enum value
ECSServiceMetricStatisticMaximum = "Maximum"
// ECSServiceMetricStatisticAverage is a ECSServiceMetricStatistic enum value
ECSServiceMetricStatisticAverage = "Average"
)
// ECSServiceMetricStatistic_Values returns all elements of the ECSServiceMetricStatistic enum
func ECSServiceMetricStatistic_Values() []string {
return []string{
ECSServiceMetricStatisticMaximum,
ECSServiceMetricStatisticAverage,
}
}
const (
// ECSServiceRecommendationFilterNameFinding is a ECSServiceRecommendationFilterName enum value
ECSServiceRecommendationFilterNameFinding = "Finding"
// ECSServiceRecommendationFilterNameFindingReasonCode is a ECSServiceRecommendationFilterName enum value
ECSServiceRecommendationFilterNameFindingReasonCode = "FindingReasonCode"
)
// ECSServiceRecommendationFilterName_Values returns all elements of the ECSServiceRecommendationFilterName enum
func ECSServiceRecommendationFilterName_Values() []string {
return []string{
ECSServiceRecommendationFilterNameFinding,
ECSServiceRecommendationFilterNameFindingReasonCode,
}
}
const (
// ECSServiceRecommendationFindingOptimized is a ECSServiceRecommendationFinding enum value
ECSServiceRecommendationFindingOptimized = "Optimized"
// ECSServiceRecommendationFindingUnderprovisioned is a ECSServiceRecommendationFinding enum value
ECSServiceRecommendationFindingUnderprovisioned = "Underprovisioned"
// ECSServiceRecommendationFindingOverprovisioned is a ECSServiceRecommendationFinding enum value
ECSServiceRecommendationFindingOverprovisioned = "Overprovisioned"
)
// ECSServiceRecommendationFinding_Values returns all elements of the ECSServiceRecommendationFinding enum
func ECSServiceRecommendationFinding_Values() []string {
return []string{
ECSServiceRecommendationFindingOptimized,
ECSServiceRecommendationFindingUnderprovisioned,
ECSServiceRecommendationFindingOverprovisioned,
}
}
const (
// ECSServiceRecommendationFindingReasonCodeMemoryOverprovisioned is a ECSServiceRecommendationFindingReasonCode enum value
ECSServiceRecommendationFindingReasonCodeMemoryOverprovisioned = "MemoryOverprovisioned"
// ECSServiceRecommendationFindingReasonCodeMemoryUnderprovisioned is a ECSServiceRecommendationFindingReasonCode enum value
ECSServiceRecommendationFindingReasonCodeMemoryUnderprovisioned = "MemoryUnderprovisioned"
// ECSServiceRecommendationFindingReasonCodeCpuoverprovisioned is a ECSServiceRecommendationFindingReasonCode enum value
ECSServiceRecommendationFindingReasonCodeCpuoverprovisioned = "CPUOverprovisioned"
// ECSServiceRecommendationFindingReasonCodeCpuunderprovisioned is a ECSServiceRecommendationFindingReasonCode enum value
ECSServiceRecommendationFindingReasonCodeCpuunderprovisioned = "CPUUnderprovisioned"
)
// ECSServiceRecommendationFindingReasonCode_Values returns all elements of the ECSServiceRecommendationFindingReasonCode enum
func ECSServiceRecommendationFindingReasonCode_Values() []string {
return []string{
ECSServiceRecommendationFindingReasonCodeMemoryOverprovisioned,
ECSServiceRecommendationFindingReasonCodeMemoryUnderprovisioned,
ECSServiceRecommendationFindingReasonCodeCpuoverprovisioned,
ECSServiceRecommendationFindingReasonCodeCpuunderprovisioned,
}
}
const (
// EnhancedInfrastructureMetricsActive is a EnhancedInfrastructureMetrics enum value
EnhancedInfrastructureMetricsActive = "Active"
// EnhancedInfrastructureMetricsInactive is a EnhancedInfrastructureMetrics enum value
EnhancedInfrastructureMetricsInactive = "Inactive"
)
// EnhancedInfrastructureMetrics_Values returns all elements of the EnhancedInfrastructureMetrics enum
func EnhancedInfrastructureMetrics_Values() []string {
return []string{
EnhancedInfrastructureMetricsActive,
EnhancedInfrastructureMetricsInactive,
}
}
const (
// EnrollmentFilterNameStatus is a EnrollmentFilterName enum value
EnrollmentFilterNameStatus = "Status"
)
// EnrollmentFilterName_Values returns all elements of the EnrollmentFilterName enum
func EnrollmentFilterName_Values() []string {
return []string{
EnrollmentFilterNameStatus,
}
}
const (
// ExportableAutoScalingGroupFieldAccountId is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldAccountId = "AccountId"
// ExportableAutoScalingGroupFieldAutoScalingGroupArn is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldAutoScalingGroupArn = "AutoScalingGroupArn"
// ExportableAutoScalingGroupFieldAutoScalingGroupName is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldAutoScalingGroupName = "AutoScalingGroupName"
// ExportableAutoScalingGroupFieldFinding is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldFinding = "Finding"
// ExportableAutoScalingGroupFieldUtilizationMetricsCpuMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsCpuMaximum = "UtilizationMetricsCpuMaximum"
// ExportableAutoScalingGroupFieldUtilizationMetricsMemoryMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsMemoryMaximum = "UtilizationMetricsMemoryMaximum"
// ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadOpsPerSecondMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadOpsPerSecondMaximum = "UtilizationMetricsEbsReadOpsPerSecondMaximum"
// ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum = "UtilizationMetricsEbsWriteOpsPerSecondMaximum"
// ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadBytesPerSecondMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadBytesPerSecondMaximum = "UtilizationMetricsEbsReadBytesPerSecondMaximum"
// ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum = "UtilizationMetricsEbsWriteBytesPerSecondMaximum"
// ExportableAutoScalingGroupFieldUtilizationMetricsDiskReadOpsPerSecondMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsDiskReadOpsPerSecondMaximum = "UtilizationMetricsDiskReadOpsPerSecondMaximum"
// ExportableAutoScalingGroupFieldUtilizationMetricsDiskWriteOpsPerSecondMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsDiskWriteOpsPerSecondMaximum = "UtilizationMetricsDiskWriteOpsPerSecondMaximum"
// ExportableAutoScalingGroupFieldUtilizationMetricsDiskReadBytesPerSecondMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsDiskReadBytesPerSecondMaximum = "UtilizationMetricsDiskReadBytesPerSecondMaximum"
// ExportableAutoScalingGroupFieldUtilizationMetricsDiskWriteBytesPerSecondMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsDiskWriteBytesPerSecondMaximum = "UtilizationMetricsDiskWriteBytesPerSecondMaximum"
// ExportableAutoScalingGroupFieldUtilizationMetricsNetworkInBytesPerSecondMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsNetworkInBytesPerSecondMaximum = "UtilizationMetricsNetworkInBytesPerSecondMaximum"
// ExportableAutoScalingGroupFieldUtilizationMetricsNetworkOutBytesPerSecondMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsNetworkOutBytesPerSecondMaximum = "UtilizationMetricsNetworkOutBytesPerSecondMaximum"
// ExportableAutoScalingGroupFieldUtilizationMetricsNetworkPacketsInPerSecondMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsNetworkPacketsInPerSecondMaximum = "UtilizationMetricsNetworkPacketsInPerSecondMaximum"
// ExportableAutoScalingGroupFieldUtilizationMetricsNetworkPacketsOutPerSecondMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsNetworkPacketsOutPerSecondMaximum = "UtilizationMetricsNetworkPacketsOutPerSecondMaximum"
// ExportableAutoScalingGroupFieldLookbackPeriodInDays is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldLookbackPeriodInDays = "LookbackPeriodInDays"
// ExportableAutoScalingGroupFieldCurrentConfigurationInstanceType is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldCurrentConfigurationInstanceType = "CurrentConfigurationInstanceType"
// ExportableAutoScalingGroupFieldCurrentConfigurationDesiredCapacity is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldCurrentConfigurationDesiredCapacity = "CurrentConfigurationDesiredCapacity"
// ExportableAutoScalingGroupFieldCurrentConfigurationMinSize is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldCurrentConfigurationMinSize = "CurrentConfigurationMinSize"
// ExportableAutoScalingGroupFieldCurrentConfigurationMaxSize is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldCurrentConfigurationMaxSize = "CurrentConfigurationMaxSize"
// ExportableAutoScalingGroupFieldCurrentOnDemandPrice is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldCurrentOnDemandPrice = "CurrentOnDemandPrice"
// ExportableAutoScalingGroupFieldCurrentStandardOneYearNoUpfrontReservedPrice is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldCurrentStandardOneYearNoUpfrontReservedPrice = "CurrentStandardOneYearNoUpfrontReservedPrice"
// ExportableAutoScalingGroupFieldCurrentStandardThreeYearNoUpfrontReservedPrice is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldCurrentStandardThreeYearNoUpfrontReservedPrice = "CurrentStandardThreeYearNoUpfrontReservedPrice"
// ExportableAutoScalingGroupFieldCurrentVcpus is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldCurrentVcpus = "CurrentVCpus"
// ExportableAutoScalingGroupFieldCurrentMemory is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldCurrentMemory = "CurrentMemory"
// ExportableAutoScalingGroupFieldCurrentStorage is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldCurrentStorage = "CurrentStorage"
// ExportableAutoScalingGroupFieldCurrentNetwork is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldCurrentNetwork = "CurrentNetwork"
// ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationInstanceType is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationInstanceType = "RecommendationOptionsConfigurationInstanceType"
// ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationDesiredCapacity is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationDesiredCapacity = "RecommendationOptionsConfigurationDesiredCapacity"
// ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMinSize is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMinSize = "RecommendationOptionsConfigurationMinSize"
// ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMaxSize is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMaxSize = "RecommendationOptionsConfigurationMaxSize"
// ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum"
// ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum"
// ExportableAutoScalingGroupFieldRecommendationOptionsPerformanceRisk is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsPerformanceRisk = "RecommendationOptionsPerformanceRisk"
// ExportableAutoScalingGroupFieldRecommendationOptionsOnDemandPrice is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsOnDemandPrice = "RecommendationOptionsOnDemandPrice"
// ExportableAutoScalingGroupFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice = "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice"
// ExportableAutoScalingGroupFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice = "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice"
// ExportableAutoScalingGroupFieldRecommendationOptionsVcpus is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsVcpus = "RecommendationOptionsVcpus"
// ExportableAutoScalingGroupFieldRecommendationOptionsMemory is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsMemory = "RecommendationOptionsMemory"
// ExportableAutoScalingGroupFieldRecommendationOptionsStorage is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsStorage = "RecommendationOptionsStorage"
// ExportableAutoScalingGroupFieldRecommendationOptionsNetwork is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsNetwork = "RecommendationOptionsNetwork"
// ExportableAutoScalingGroupFieldLastRefreshTimestamp is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldLastRefreshTimestamp = "LastRefreshTimestamp"
// ExportableAutoScalingGroupFieldCurrentPerformanceRisk is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldCurrentPerformanceRisk = "CurrentPerformanceRisk"
// ExportableAutoScalingGroupFieldRecommendationOptionsSavingsOpportunityPercentage is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsSavingsOpportunityPercentage = "RecommendationOptionsSavingsOpportunityPercentage"
// ExportableAutoScalingGroupFieldRecommendationOptionsEstimatedMonthlySavingsCurrency is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsEstimatedMonthlySavingsCurrency = "RecommendationOptionsEstimatedMonthlySavingsCurrency"
// ExportableAutoScalingGroupFieldRecommendationOptionsEstimatedMonthlySavingsValue is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsEstimatedMonthlySavingsValue = "RecommendationOptionsEstimatedMonthlySavingsValue"
// ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesCpuVendorArchitectures is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesCpuVendorArchitectures = "EffectiveRecommendationPreferencesCpuVendorArchitectures"
// ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesEnhancedInfrastructureMetrics is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesEnhancedInfrastructureMetrics = "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics"
// ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesInferredWorkloadTypes is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesInferredWorkloadTypes = "EffectiveRecommendationPreferencesInferredWorkloadTypes"
// ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesPreferredResources is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesPreferredResources = "EffectiveRecommendationPreferencesPreferredResources"
// ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesLookBackPeriod is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesLookBackPeriod = "EffectiveRecommendationPreferencesLookBackPeriod"
// ExportableAutoScalingGroupFieldInferredWorkloadTypes is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldInferredWorkloadTypes = "InferredWorkloadTypes"
// ExportableAutoScalingGroupFieldRecommendationOptionsMigrationEffort is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsMigrationEffort = "RecommendationOptionsMigrationEffort"
// ExportableAutoScalingGroupFieldCurrentInstanceGpuInfo is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldCurrentInstanceGpuInfo = "CurrentInstanceGpuInfo"
// ExportableAutoScalingGroupFieldRecommendationOptionsInstanceGpuInfo is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsInstanceGpuInfo = "RecommendationOptionsInstanceGpuInfo"
// ExportableAutoScalingGroupFieldUtilizationMetricsGpuPercentageMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsGpuPercentageMaximum = "UtilizationMetricsGpuPercentageMaximum"
// ExportableAutoScalingGroupFieldUtilizationMetricsGpuMemoryPercentageMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldUtilizationMetricsGpuMemoryPercentageMaximum = "UtilizationMetricsGpuMemoryPercentageMaximum"
// ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum = "RecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum"
// ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum = "RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum"
// ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesSavingsEstimationMode is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesSavingsEstimationMode = "EffectiveRecommendationPreferencesSavingsEstimationMode"
// ExportableAutoScalingGroupFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage = "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"
// ExportableAutoScalingGroupFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts = "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"
// ExportableAutoScalingGroupFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts is a ExportableAutoScalingGroupField enum value
ExportableAutoScalingGroupFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts = "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"
)
// ExportableAutoScalingGroupField_Values returns all elements of the ExportableAutoScalingGroupField enum
func ExportableAutoScalingGroupField_Values() []string {
return []string{
ExportableAutoScalingGroupFieldAccountId,
ExportableAutoScalingGroupFieldAutoScalingGroupArn,
ExportableAutoScalingGroupFieldAutoScalingGroupName,
ExportableAutoScalingGroupFieldFinding,
ExportableAutoScalingGroupFieldUtilizationMetricsCpuMaximum,
ExportableAutoScalingGroupFieldUtilizationMetricsMemoryMaximum,
ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadOpsPerSecondMaximum,
ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum,
ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadBytesPerSecondMaximum,
ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum,
ExportableAutoScalingGroupFieldUtilizationMetricsDiskReadOpsPerSecondMaximum,
ExportableAutoScalingGroupFieldUtilizationMetricsDiskWriteOpsPerSecondMaximum,
ExportableAutoScalingGroupFieldUtilizationMetricsDiskReadBytesPerSecondMaximum,
ExportableAutoScalingGroupFieldUtilizationMetricsDiskWriteBytesPerSecondMaximum,
ExportableAutoScalingGroupFieldUtilizationMetricsNetworkInBytesPerSecondMaximum,
ExportableAutoScalingGroupFieldUtilizationMetricsNetworkOutBytesPerSecondMaximum,
ExportableAutoScalingGroupFieldUtilizationMetricsNetworkPacketsInPerSecondMaximum,
ExportableAutoScalingGroupFieldUtilizationMetricsNetworkPacketsOutPerSecondMaximum,
ExportableAutoScalingGroupFieldLookbackPeriodInDays,
ExportableAutoScalingGroupFieldCurrentConfigurationInstanceType,
ExportableAutoScalingGroupFieldCurrentConfigurationDesiredCapacity,
ExportableAutoScalingGroupFieldCurrentConfigurationMinSize,
ExportableAutoScalingGroupFieldCurrentConfigurationMaxSize,
ExportableAutoScalingGroupFieldCurrentOnDemandPrice,
ExportableAutoScalingGroupFieldCurrentStandardOneYearNoUpfrontReservedPrice,
ExportableAutoScalingGroupFieldCurrentStandardThreeYearNoUpfrontReservedPrice,
ExportableAutoScalingGroupFieldCurrentVcpus,
ExportableAutoScalingGroupFieldCurrentMemory,
ExportableAutoScalingGroupFieldCurrentStorage,
ExportableAutoScalingGroupFieldCurrentNetwork,
ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationInstanceType,
ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationDesiredCapacity,
ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMinSize,
ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMaxSize,
ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum,
ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum,
ExportableAutoScalingGroupFieldRecommendationOptionsPerformanceRisk,
ExportableAutoScalingGroupFieldRecommendationOptionsOnDemandPrice,
ExportableAutoScalingGroupFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice,
ExportableAutoScalingGroupFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice,
ExportableAutoScalingGroupFieldRecommendationOptionsVcpus,
ExportableAutoScalingGroupFieldRecommendationOptionsMemory,
ExportableAutoScalingGroupFieldRecommendationOptionsStorage,
ExportableAutoScalingGroupFieldRecommendationOptionsNetwork,
ExportableAutoScalingGroupFieldLastRefreshTimestamp,
ExportableAutoScalingGroupFieldCurrentPerformanceRisk,
ExportableAutoScalingGroupFieldRecommendationOptionsSavingsOpportunityPercentage,
ExportableAutoScalingGroupFieldRecommendationOptionsEstimatedMonthlySavingsCurrency,
ExportableAutoScalingGroupFieldRecommendationOptionsEstimatedMonthlySavingsValue,
ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesCpuVendorArchitectures,
ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesEnhancedInfrastructureMetrics,
ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesInferredWorkloadTypes,
ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesPreferredResources,
ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesLookBackPeriod,
ExportableAutoScalingGroupFieldInferredWorkloadTypes,
ExportableAutoScalingGroupFieldRecommendationOptionsMigrationEffort,
ExportableAutoScalingGroupFieldCurrentInstanceGpuInfo,
ExportableAutoScalingGroupFieldRecommendationOptionsInstanceGpuInfo,
ExportableAutoScalingGroupFieldUtilizationMetricsGpuPercentageMaximum,
ExportableAutoScalingGroupFieldUtilizationMetricsGpuMemoryPercentageMaximum,
ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum,
ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum,
ExportableAutoScalingGroupFieldEffectiveRecommendationPreferencesSavingsEstimationMode,
ExportableAutoScalingGroupFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage,
ExportableAutoScalingGroupFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts,
ExportableAutoScalingGroupFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts,
}
}
const (
// ExportableECSServiceFieldAccountId is a ExportableECSServiceField enum value
ExportableECSServiceFieldAccountId = "AccountId"
// ExportableECSServiceFieldServiceArn is a ExportableECSServiceField enum value
ExportableECSServiceFieldServiceArn = "ServiceArn"
// ExportableECSServiceFieldLookbackPeriodInDays is a ExportableECSServiceField enum value
ExportableECSServiceFieldLookbackPeriodInDays = "LookbackPeriodInDays"
// ExportableECSServiceFieldLastRefreshTimestamp is a ExportableECSServiceField enum value
ExportableECSServiceFieldLastRefreshTimestamp = "LastRefreshTimestamp"
// ExportableECSServiceFieldLaunchType is a ExportableECSServiceField enum value
ExportableECSServiceFieldLaunchType = "LaunchType"
// ExportableECSServiceFieldCurrentPerformanceRisk is a ExportableECSServiceField enum value
ExportableECSServiceFieldCurrentPerformanceRisk = "CurrentPerformanceRisk"
// ExportableECSServiceFieldCurrentServiceConfigurationMemory is a ExportableECSServiceField enum value
ExportableECSServiceFieldCurrentServiceConfigurationMemory = "CurrentServiceConfigurationMemory"
// ExportableECSServiceFieldCurrentServiceConfigurationCpu is a ExportableECSServiceField enum value
ExportableECSServiceFieldCurrentServiceConfigurationCpu = "CurrentServiceConfigurationCpu"
// ExportableECSServiceFieldCurrentServiceConfigurationTaskDefinitionArn is a ExportableECSServiceField enum value
ExportableECSServiceFieldCurrentServiceConfigurationTaskDefinitionArn = "CurrentServiceConfigurationTaskDefinitionArn"
// ExportableECSServiceFieldCurrentServiceConfigurationAutoScalingConfiguration is a ExportableECSServiceField enum value
ExportableECSServiceFieldCurrentServiceConfigurationAutoScalingConfiguration = "CurrentServiceConfigurationAutoScalingConfiguration"
// ExportableECSServiceFieldCurrentServiceContainerConfigurations is a ExportableECSServiceField enum value
ExportableECSServiceFieldCurrentServiceContainerConfigurations = "CurrentServiceContainerConfigurations"
// ExportableECSServiceFieldUtilizationMetricsCpuMaximum is a ExportableECSServiceField enum value
ExportableECSServiceFieldUtilizationMetricsCpuMaximum = "UtilizationMetricsCpuMaximum"
// ExportableECSServiceFieldUtilizationMetricsMemoryMaximum is a ExportableECSServiceField enum value
ExportableECSServiceFieldUtilizationMetricsMemoryMaximum = "UtilizationMetricsMemoryMaximum"
// ExportableECSServiceFieldFinding is a ExportableECSServiceField enum value
ExportableECSServiceFieldFinding = "Finding"
// ExportableECSServiceFieldFindingReasonCodes is a ExportableECSServiceField enum value
ExportableECSServiceFieldFindingReasonCodes = "FindingReasonCodes"
// ExportableECSServiceFieldRecommendationOptionsMemory is a ExportableECSServiceField enum value
ExportableECSServiceFieldRecommendationOptionsMemory = "RecommendationOptionsMemory"
// ExportableECSServiceFieldRecommendationOptionsCpu is a ExportableECSServiceField enum value
ExportableECSServiceFieldRecommendationOptionsCpu = "RecommendationOptionsCpu"
// ExportableECSServiceFieldRecommendationOptionsSavingsOpportunityPercentage is a ExportableECSServiceField enum value
ExportableECSServiceFieldRecommendationOptionsSavingsOpportunityPercentage = "RecommendationOptionsSavingsOpportunityPercentage"
// ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsCurrency is a ExportableECSServiceField enum value
ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsCurrency = "RecommendationOptionsEstimatedMonthlySavingsCurrency"
// ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsValue is a ExportableECSServiceField enum value
ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsValue = "RecommendationOptionsEstimatedMonthlySavingsValue"
// ExportableECSServiceFieldRecommendationOptionsContainerRecommendations is a ExportableECSServiceField enum value
ExportableECSServiceFieldRecommendationOptionsContainerRecommendations = "RecommendationOptionsContainerRecommendations"
// ExportableECSServiceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum is a ExportableECSServiceField enum value
ExportableECSServiceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum"
// ExportableECSServiceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum is a ExportableECSServiceField enum value
ExportableECSServiceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum"
// ExportableECSServiceFieldTags is a ExportableECSServiceField enum value
ExportableECSServiceFieldTags = "Tags"
// ExportableECSServiceFieldEffectiveRecommendationPreferencesSavingsEstimationMode is a ExportableECSServiceField enum value
ExportableECSServiceFieldEffectiveRecommendationPreferencesSavingsEstimationMode = "EffectiveRecommendationPreferencesSavingsEstimationMode"
// ExportableECSServiceFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage is a ExportableECSServiceField enum value
ExportableECSServiceFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage = "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"
// ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts is a ExportableECSServiceField enum value
ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts = "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"
// ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts is a ExportableECSServiceField enum value
ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts = "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"
)
// ExportableECSServiceField_Values returns all elements of the ExportableECSServiceField enum
func ExportableECSServiceField_Values() []string {
return []string{
ExportableECSServiceFieldAccountId,
ExportableECSServiceFieldServiceArn,
ExportableECSServiceFieldLookbackPeriodInDays,
ExportableECSServiceFieldLastRefreshTimestamp,
ExportableECSServiceFieldLaunchType,
ExportableECSServiceFieldCurrentPerformanceRisk,
ExportableECSServiceFieldCurrentServiceConfigurationMemory,
ExportableECSServiceFieldCurrentServiceConfigurationCpu,
ExportableECSServiceFieldCurrentServiceConfigurationTaskDefinitionArn,
ExportableECSServiceFieldCurrentServiceConfigurationAutoScalingConfiguration,
ExportableECSServiceFieldCurrentServiceContainerConfigurations,
ExportableECSServiceFieldUtilizationMetricsCpuMaximum,
ExportableECSServiceFieldUtilizationMetricsMemoryMaximum,
ExportableECSServiceFieldFinding,
ExportableECSServiceFieldFindingReasonCodes,
ExportableECSServiceFieldRecommendationOptionsMemory,
ExportableECSServiceFieldRecommendationOptionsCpu,
ExportableECSServiceFieldRecommendationOptionsSavingsOpportunityPercentage,
ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsCurrency,
ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsValue,
ExportableECSServiceFieldRecommendationOptionsContainerRecommendations,
ExportableECSServiceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum,
ExportableECSServiceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum,
ExportableECSServiceFieldTags,
ExportableECSServiceFieldEffectiveRecommendationPreferencesSavingsEstimationMode,
ExportableECSServiceFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage,
ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts,
ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts,
}
}
const (
// ExportableInstanceFieldAccountId is a ExportableInstanceField enum value
ExportableInstanceFieldAccountId = "AccountId"
// ExportableInstanceFieldInstanceArn is a ExportableInstanceField enum value
ExportableInstanceFieldInstanceArn = "InstanceArn"
// ExportableInstanceFieldInstanceName is a ExportableInstanceField enum value
ExportableInstanceFieldInstanceName = "InstanceName"
// ExportableInstanceFieldFinding is a ExportableInstanceField enum value
ExportableInstanceFieldFinding = "Finding"
// ExportableInstanceFieldFindingReasonCodes is a ExportableInstanceField enum value
ExportableInstanceFieldFindingReasonCodes = "FindingReasonCodes"
// ExportableInstanceFieldLookbackPeriodInDays is a ExportableInstanceField enum value
ExportableInstanceFieldLookbackPeriodInDays = "LookbackPeriodInDays"
// ExportableInstanceFieldCurrentInstanceType is a ExportableInstanceField enum value
ExportableInstanceFieldCurrentInstanceType = "CurrentInstanceType"
// ExportableInstanceFieldUtilizationMetricsCpuMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsCpuMaximum = "UtilizationMetricsCpuMaximum"
// ExportableInstanceFieldUtilizationMetricsMemoryMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsMemoryMaximum = "UtilizationMetricsMemoryMaximum"
// ExportableInstanceFieldUtilizationMetricsEbsReadOpsPerSecondMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsEbsReadOpsPerSecondMaximum = "UtilizationMetricsEbsReadOpsPerSecondMaximum"
// ExportableInstanceFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum = "UtilizationMetricsEbsWriteOpsPerSecondMaximum"
// ExportableInstanceFieldUtilizationMetricsEbsReadBytesPerSecondMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsEbsReadBytesPerSecondMaximum = "UtilizationMetricsEbsReadBytesPerSecondMaximum"
// ExportableInstanceFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum = "UtilizationMetricsEbsWriteBytesPerSecondMaximum"
// ExportableInstanceFieldUtilizationMetricsDiskReadOpsPerSecondMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsDiskReadOpsPerSecondMaximum = "UtilizationMetricsDiskReadOpsPerSecondMaximum"
// ExportableInstanceFieldUtilizationMetricsDiskWriteOpsPerSecondMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsDiskWriteOpsPerSecondMaximum = "UtilizationMetricsDiskWriteOpsPerSecondMaximum"
// ExportableInstanceFieldUtilizationMetricsDiskReadBytesPerSecondMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsDiskReadBytesPerSecondMaximum = "UtilizationMetricsDiskReadBytesPerSecondMaximum"
// ExportableInstanceFieldUtilizationMetricsDiskWriteBytesPerSecondMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsDiskWriteBytesPerSecondMaximum = "UtilizationMetricsDiskWriteBytesPerSecondMaximum"
// ExportableInstanceFieldUtilizationMetricsNetworkInBytesPerSecondMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsNetworkInBytesPerSecondMaximum = "UtilizationMetricsNetworkInBytesPerSecondMaximum"
// ExportableInstanceFieldUtilizationMetricsNetworkOutBytesPerSecondMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsNetworkOutBytesPerSecondMaximum = "UtilizationMetricsNetworkOutBytesPerSecondMaximum"
// ExportableInstanceFieldUtilizationMetricsNetworkPacketsInPerSecondMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsNetworkPacketsInPerSecondMaximum = "UtilizationMetricsNetworkPacketsInPerSecondMaximum"
// ExportableInstanceFieldUtilizationMetricsNetworkPacketsOutPerSecondMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsNetworkPacketsOutPerSecondMaximum = "UtilizationMetricsNetworkPacketsOutPerSecondMaximum"
// ExportableInstanceFieldCurrentOnDemandPrice is a ExportableInstanceField enum value
ExportableInstanceFieldCurrentOnDemandPrice = "CurrentOnDemandPrice"
// ExportableInstanceFieldCurrentStandardOneYearNoUpfrontReservedPrice is a ExportableInstanceField enum value
ExportableInstanceFieldCurrentStandardOneYearNoUpfrontReservedPrice = "CurrentStandardOneYearNoUpfrontReservedPrice"
// ExportableInstanceFieldCurrentStandardThreeYearNoUpfrontReservedPrice is a ExportableInstanceField enum value
ExportableInstanceFieldCurrentStandardThreeYearNoUpfrontReservedPrice = "CurrentStandardThreeYearNoUpfrontReservedPrice"
// ExportableInstanceFieldCurrentVcpus is a ExportableInstanceField enum value
ExportableInstanceFieldCurrentVcpus = "CurrentVCpus"
// ExportableInstanceFieldCurrentMemory is a ExportableInstanceField enum value
ExportableInstanceFieldCurrentMemory = "CurrentMemory"
// ExportableInstanceFieldCurrentStorage is a ExportableInstanceField enum value
ExportableInstanceFieldCurrentStorage = "CurrentStorage"
// ExportableInstanceFieldCurrentNetwork is a ExportableInstanceField enum value
ExportableInstanceFieldCurrentNetwork = "CurrentNetwork"
// ExportableInstanceFieldRecommendationOptionsInstanceType is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsInstanceType = "RecommendationOptionsInstanceType"
// ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum"
// ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum"
// ExportableInstanceFieldRecommendationOptionsPlatformDifferences is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsPlatformDifferences = "RecommendationOptionsPlatformDifferences"
// ExportableInstanceFieldRecommendationOptionsPerformanceRisk is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsPerformanceRisk = "RecommendationOptionsPerformanceRisk"
// ExportableInstanceFieldRecommendationOptionsVcpus is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsVcpus = "RecommendationOptionsVcpus"
// ExportableInstanceFieldRecommendationOptionsMemory is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsMemory = "RecommendationOptionsMemory"
// ExportableInstanceFieldRecommendationOptionsStorage is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsStorage = "RecommendationOptionsStorage"
// ExportableInstanceFieldRecommendationOptionsNetwork is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsNetwork = "RecommendationOptionsNetwork"
// ExportableInstanceFieldRecommendationOptionsOnDemandPrice is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsOnDemandPrice = "RecommendationOptionsOnDemandPrice"
// ExportableInstanceFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice = "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice"
// ExportableInstanceFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice = "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice"
// ExportableInstanceFieldRecommendationsSourcesRecommendationSourceArn is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationsSourcesRecommendationSourceArn = "RecommendationsSourcesRecommendationSourceArn"
// ExportableInstanceFieldRecommendationsSourcesRecommendationSourceType is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationsSourcesRecommendationSourceType = "RecommendationsSourcesRecommendationSourceType"
// ExportableInstanceFieldLastRefreshTimestamp is a ExportableInstanceField enum value
ExportableInstanceFieldLastRefreshTimestamp = "LastRefreshTimestamp"
// ExportableInstanceFieldCurrentPerformanceRisk is a ExportableInstanceField enum value
ExportableInstanceFieldCurrentPerformanceRisk = "CurrentPerformanceRisk"
// ExportableInstanceFieldRecommendationOptionsSavingsOpportunityPercentage is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsSavingsOpportunityPercentage = "RecommendationOptionsSavingsOpportunityPercentage"
// ExportableInstanceFieldRecommendationOptionsEstimatedMonthlySavingsCurrency is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsEstimatedMonthlySavingsCurrency = "RecommendationOptionsEstimatedMonthlySavingsCurrency"
// ExportableInstanceFieldRecommendationOptionsEstimatedMonthlySavingsValue is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsEstimatedMonthlySavingsValue = "RecommendationOptionsEstimatedMonthlySavingsValue"
// ExportableInstanceFieldEffectiveRecommendationPreferencesCpuVendorArchitectures is a ExportableInstanceField enum value
ExportableInstanceFieldEffectiveRecommendationPreferencesCpuVendorArchitectures = "EffectiveRecommendationPreferencesCpuVendorArchitectures"
// ExportableInstanceFieldEffectiveRecommendationPreferencesEnhancedInfrastructureMetrics is a ExportableInstanceField enum value
ExportableInstanceFieldEffectiveRecommendationPreferencesEnhancedInfrastructureMetrics = "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics"
// ExportableInstanceFieldEffectiveRecommendationPreferencesInferredWorkloadTypes is a ExportableInstanceField enum value
ExportableInstanceFieldEffectiveRecommendationPreferencesInferredWorkloadTypes = "EffectiveRecommendationPreferencesInferredWorkloadTypes"
// ExportableInstanceFieldInferredWorkloadTypes is a ExportableInstanceField enum value
ExportableInstanceFieldInferredWorkloadTypes = "InferredWorkloadTypes"
// ExportableInstanceFieldRecommendationOptionsMigrationEffort is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsMigrationEffort = "RecommendationOptionsMigrationEffort"
// ExportableInstanceFieldEffectiveRecommendationPreferencesExternalMetricsSource is a ExportableInstanceField enum value
ExportableInstanceFieldEffectiveRecommendationPreferencesExternalMetricsSource = "EffectiveRecommendationPreferencesExternalMetricsSource"
// ExportableInstanceFieldTags is a ExportableInstanceField enum value
ExportableInstanceFieldTags = "Tags"
// ExportableInstanceFieldInstanceState is a ExportableInstanceField enum value
ExportableInstanceFieldInstanceState = "InstanceState"
// ExportableInstanceFieldExternalMetricStatusCode is a ExportableInstanceField enum value
ExportableInstanceFieldExternalMetricStatusCode = "ExternalMetricStatusCode"
// ExportableInstanceFieldExternalMetricStatusReason is a ExportableInstanceField enum value
ExportableInstanceFieldExternalMetricStatusReason = "ExternalMetricStatusReason"
// ExportableInstanceFieldCurrentInstanceGpuInfo is a ExportableInstanceField enum value
ExportableInstanceFieldCurrentInstanceGpuInfo = "CurrentInstanceGpuInfo"
// ExportableInstanceFieldRecommendationOptionsInstanceGpuInfo is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsInstanceGpuInfo = "RecommendationOptionsInstanceGpuInfo"
// ExportableInstanceFieldUtilizationMetricsGpuPercentageMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsGpuPercentageMaximum = "UtilizationMetricsGpuPercentageMaximum"
// ExportableInstanceFieldUtilizationMetricsGpuMemoryPercentageMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldUtilizationMetricsGpuMemoryPercentageMaximum = "UtilizationMetricsGpuMemoryPercentageMaximum"
// ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum = "RecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum"
// ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum = "RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum"
// ExportableInstanceFieldIdle is a ExportableInstanceField enum value
ExportableInstanceFieldIdle = "Idle"
// ExportableInstanceFieldEffectiveRecommendationPreferencesPreferredResources is a ExportableInstanceField enum value
ExportableInstanceFieldEffectiveRecommendationPreferencesPreferredResources = "EffectiveRecommendationPreferencesPreferredResources"
// ExportableInstanceFieldEffectiveRecommendationPreferencesLookBackPeriod is a ExportableInstanceField enum value
ExportableInstanceFieldEffectiveRecommendationPreferencesLookBackPeriod = "EffectiveRecommendationPreferencesLookBackPeriod"
// ExportableInstanceFieldEffectiveRecommendationPreferencesUtilizationPreferences is a ExportableInstanceField enum value
ExportableInstanceFieldEffectiveRecommendationPreferencesUtilizationPreferences = "EffectiveRecommendationPreferencesUtilizationPreferences"
// ExportableInstanceFieldEffectiveRecommendationPreferencesSavingsEstimationMode is a ExportableInstanceField enum value
ExportableInstanceFieldEffectiveRecommendationPreferencesSavingsEstimationMode = "EffectiveRecommendationPreferencesSavingsEstimationMode"
// ExportableInstanceFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage = "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"
// ExportableInstanceFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts = "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"
// ExportableInstanceFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts is a ExportableInstanceField enum value
ExportableInstanceFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts = "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"
)
// ExportableInstanceField_Values returns all elements of the ExportableInstanceField enum
func ExportableInstanceField_Values() []string {
return []string{
ExportableInstanceFieldAccountId,
ExportableInstanceFieldInstanceArn,
ExportableInstanceFieldInstanceName,
ExportableInstanceFieldFinding,
ExportableInstanceFieldFindingReasonCodes,
ExportableInstanceFieldLookbackPeriodInDays,
ExportableInstanceFieldCurrentInstanceType,
ExportableInstanceFieldUtilizationMetricsCpuMaximum,
ExportableInstanceFieldUtilizationMetricsMemoryMaximum,
ExportableInstanceFieldUtilizationMetricsEbsReadOpsPerSecondMaximum,
ExportableInstanceFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum,
ExportableInstanceFieldUtilizationMetricsEbsReadBytesPerSecondMaximum,
ExportableInstanceFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum,
ExportableInstanceFieldUtilizationMetricsDiskReadOpsPerSecondMaximum,
ExportableInstanceFieldUtilizationMetricsDiskWriteOpsPerSecondMaximum,
ExportableInstanceFieldUtilizationMetricsDiskReadBytesPerSecondMaximum,
ExportableInstanceFieldUtilizationMetricsDiskWriteBytesPerSecondMaximum,
ExportableInstanceFieldUtilizationMetricsNetworkInBytesPerSecondMaximum,
ExportableInstanceFieldUtilizationMetricsNetworkOutBytesPerSecondMaximum,
ExportableInstanceFieldUtilizationMetricsNetworkPacketsInPerSecondMaximum,
ExportableInstanceFieldUtilizationMetricsNetworkPacketsOutPerSecondMaximum,
ExportableInstanceFieldCurrentOnDemandPrice,
ExportableInstanceFieldCurrentStandardOneYearNoUpfrontReservedPrice,
ExportableInstanceFieldCurrentStandardThreeYearNoUpfrontReservedPrice,
ExportableInstanceFieldCurrentVcpus,
ExportableInstanceFieldCurrentMemory,
ExportableInstanceFieldCurrentStorage,
ExportableInstanceFieldCurrentNetwork,
ExportableInstanceFieldRecommendationOptionsInstanceType,
ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum,
ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum,
ExportableInstanceFieldRecommendationOptionsPlatformDifferences,
ExportableInstanceFieldRecommendationOptionsPerformanceRisk,
ExportableInstanceFieldRecommendationOptionsVcpus,
ExportableInstanceFieldRecommendationOptionsMemory,
ExportableInstanceFieldRecommendationOptionsStorage,
ExportableInstanceFieldRecommendationOptionsNetwork,
ExportableInstanceFieldRecommendationOptionsOnDemandPrice,
ExportableInstanceFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice,
ExportableInstanceFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice,
ExportableInstanceFieldRecommendationsSourcesRecommendationSourceArn,
ExportableInstanceFieldRecommendationsSourcesRecommendationSourceType,
ExportableInstanceFieldLastRefreshTimestamp,
ExportableInstanceFieldCurrentPerformanceRisk,
ExportableInstanceFieldRecommendationOptionsSavingsOpportunityPercentage,
ExportableInstanceFieldRecommendationOptionsEstimatedMonthlySavingsCurrency,
ExportableInstanceFieldRecommendationOptionsEstimatedMonthlySavingsValue,
ExportableInstanceFieldEffectiveRecommendationPreferencesCpuVendorArchitectures,
ExportableInstanceFieldEffectiveRecommendationPreferencesEnhancedInfrastructureMetrics,
ExportableInstanceFieldEffectiveRecommendationPreferencesInferredWorkloadTypes,
ExportableInstanceFieldInferredWorkloadTypes,
ExportableInstanceFieldRecommendationOptionsMigrationEffort,
ExportableInstanceFieldEffectiveRecommendationPreferencesExternalMetricsSource,
ExportableInstanceFieldTags,
ExportableInstanceFieldInstanceState,
ExportableInstanceFieldExternalMetricStatusCode,
ExportableInstanceFieldExternalMetricStatusReason,
ExportableInstanceFieldCurrentInstanceGpuInfo,
ExportableInstanceFieldRecommendationOptionsInstanceGpuInfo,
ExportableInstanceFieldUtilizationMetricsGpuPercentageMaximum,
ExportableInstanceFieldUtilizationMetricsGpuMemoryPercentageMaximum,
ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum,
ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum,
ExportableInstanceFieldIdle,
ExportableInstanceFieldEffectiveRecommendationPreferencesPreferredResources,
ExportableInstanceFieldEffectiveRecommendationPreferencesLookBackPeriod,
ExportableInstanceFieldEffectiveRecommendationPreferencesUtilizationPreferences,
ExportableInstanceFieldEffectiveRecommendationPreferencesSavingsEstimationMode,
ExportableInstanceFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage,
ExportableInstanceFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts,
ExportableInstanceFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts,
}
}
const (
// ExportableLambdaFunctionFieldAccountId is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldAccountId = "AccountId"
// ExportableLambdaFunctionFieldFunctionArn is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldFunctionArn = "FunctionArn"
// ExportableLambdaFunctionFieldFunctionVersion is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldFunctionVersion = "FunctionVersion"
// ExportableLambdaFunctionFieldFinding is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldFinding = "Finding"
// ExportableLambdaFunctionFieldFindingReasonCodes is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldFindingReasonCodes = "FindingReasonCodes"
// ExportableLambdaFunctionFieldNumberOfInvocations is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldNumberOfInvocations = "NumberOfInvocations"
// ExportableLambdaFunctionFieldUtilizationMetricsDurationMaximum is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldUtilizationMetricsDurationMaximum = "UtilizationMetricsDurationMaximum"
// ExportableLambdaFunctionFieldUtilizationMetricsDurationAverage is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldUtilizationMetricsDurationAverage = "UtilizationMetricsDurationAverage"
// ExportableLambdaFunctionFieldUtilizationMetricsMemoryMaximum is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldUtilizationMetricsMemoryMaximum = "UtilizationMetricsMemoryMaximum"
// ExportableLambdaFunctionFieldUtilizationMetricsMemoryAverage is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldUtilizationMetricsMemoryAverage = "UtilizationMetricsMemoryAverage"
// ExportableLambdaFunctionFieldLookbackPeriodInDays is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldLookbackPeriodInDays = "LookbackPeriodInDays"
// ExportableLambdaFunctionFieldCurrentConfigurationMemorySize is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldCurrentConfigurationMemorySize = "CurrentConfigurationMemorySize"
// ExportableLambdaFunctionFieldCurrentConfigurationTimeout is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldCurrentConfigurationTimeout = "CurrentConfigurationTimeout"
// ExportableLambdaFunctionFieldCurrentCostTotal is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldCurrentCostTotal = "CurrentCostTotal"
// ExportableLambdaFunctionFieldCurrentCostAverage is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldCurrentCostAverage = "CurrentCostAverage"
// ExportableLambdaFunctionFieldRecommendationOptionsConfigurationMemorySize is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldRecommendationOptionsConfigurationMemorySize = "RecommendationOptionsConfigurationMemorySize"
// ExportableLambdaFunctionFieldRecommendationOptionsCostLow is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldRecommendationOptionsCostLow = "RecommendationOptionsCostLow"
// ExportableLambdaFunctionFieldRecommendationOptionsCostHigh is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldRecommendationOptionsCostHigh = "RecommendationOptionsCostHigh"
// ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationLowerBound is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationLowerBound = "RecommendationOptionsProjectedUtilizationMetricsDurationLowerBound"
// ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationUpperBound is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationUpperBound = "RecommendationOptionsProjectedUtilizationMetricsDurationUpperBound"
// ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationExpected is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationExpected = "RecommendationOptionsProjectedUtilizationMetricsDurationExpected"
// ExportableLambdaFunctionFieldLastRefreshTimestamp is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldLastRefreshTimestamp = "LastRefreshTimestamp"
// ExportableLambdaFunctionFieldCurrentPerformanceRisk is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldCurrentPerformanceRisk = "CurrentPerformanceRisk"
// ExportableLambdaFunctionFieldRecommendationOptionsSavingsOpportunityPercentage is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldRecommendationOptionsSavingsOpportunityPercentage = "RecommendationOptionsSavingsOpportunityPercentage"
// ExportableLambdaFunctionFieldRecommendationOptionsEstimatedMonthlySavingsCurrency is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldRecommendationOptionsEstimatedMonthlySavingsCurrency = "RecommendationOptionsEstimatedMonthlySavingsCurrency"
// ExportableLambdaFunctionFieldRecommendationOptionsEstimatedMonthlySavingsValue is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldRecommendationOptionsEstimatedMonthlySavingsValue = "RecommendationOptionsEstimatedMonthlySavingsValue"
// ExportableLambdaFunctionFieldTags is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldTags = "Tags"
// ExportableLambdaFunctionFieldEffectiveRecommendationPreferencesSavingsEstimationMode is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldEffectiveRecommendationPreferencesSavingsEstimationMode = "EffectiveRecommendationPreferencesSavingsEstimationMode"
// ExportableLambdaFunctionFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage = "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"
// ExportableLambdaFunctionFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts = "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"
// ExportableLambdaFunctionFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts is a ExportableLambdaFunctionField enum value
ExportableLambdaFunctionFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts = "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"
)
// ExportableLambdaFunctionField_Values returns all elements of the ExportableLambdaFunctionField enum
func ExportableLambdaFunctionField_Values() []string {
return []string{
ExportableLambdaFunctionFieldAccountId,
ExportableLambdaFunctionFieldFunctionArn,
ExportableLambdaFunctionFieldFunctionVersion,
ExportableLambdaFunctionFieldFinding,
ExportableLambdaFunctionFieldFindingReasonCodes,
ExportableLambdaFunctionFieldNumberOfInvocations,
ExportableLambdaFunctionFieldUtilizationMetricsDurationMaximum,
ExportableLambdaFunctionFieldUtilizationMetricsDurationAverage,
ExportableLambdaFunctionFieldUtilizationMetricsMemoryMaximum,
ExportableLambdaFunctionFieldUtilizationMetricsMemoryAverage,
ExportableLambdaFunctionFieldLookbackPeriodInDays,
ExportableLambdaFunctionFieldCurrentConfigurationMemorySize,
ExportableLambdaFunctionFieldCurrentConfigurationTimeout,
ExportableLambdaFunctionFieldCurrentCostTotal,
ExportableLambdaFunctionFieldCurrentCostAverage,
ExportableLambdaFunctionFieldRecommendationOptionsConfigurationMemorySize,
ExportableLambdaFunctionFieldRecommendationOptionsCostLow,
ExportableLambdaFunctionFieldRecommendationOptionsCostHigh,
ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationLowerBound,
ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationUpperBound,
ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationExpected,
ExportableLambdaFunctionFieldLastRefreshTimestamp,
ExportableLambdaFunctionFieldCurrentPerformanceRisk,
ExportableLambdaFunctionFieldRecommendationOptionsSavingsOpportunityPercentage,
ExportableLambdaFunctionFieldRecommendationOptionsEstimatedMonthlySavingsCurrency,
ExportableLambdaFunctionFieldRecommendationOptionsEstimatedMonthlySavingsValue,
ExportableLambdaFunctionFieldTags,
ExportableLambdaFunctionFieldEffectiveRecommendationPreferencesSavingsEstimationMode,
ExportableLambdaFunctionFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage,
ExportableLambdaFunctionFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts,
ExportableLambdaFunctionFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts,
}
}
const (
// ExportableLicenseFieldAccountId is a ExportableLicenseField enum value
ExportableLicenseFieldAccountId = "AccountId"
// ExportableLicenseFieldResourceArn is a ExportableLicenseField enum value
ExportableLicenseFieldResourceArn = "ResourceArn"
// ExportableLicenseFieldLookbackPeriodInDays is a ExportableLicenseField enum value
ExportableLicenseFieldLookbackPeriodInDays = "LookbackPeriodInDays"
// ExportableLicenseFieldLastRefreshTimestamp is a ExportableLicenseField enum value
ExportableLicenseFieldLastRefreshTimestamp = "LastRefreshTimestamp"
// ExportableLicenseFieldFinding is a ExportableLicenseField enum value
ExportableLicenseFieldFinding = "Finding"
// ExportableLicenseFieldFindingReasonCodes is a ExportableLicenseField enum value
ExportableLicenseFieldFindingReasonCodes = "FindingReasonCodes"
// ExportableLicenseFieldCurrentLicenseConfigurationNumberOfCores is a ExportableLicenseField enum value
ExportableLicenseFieldCurrentLicenseConfigurationNumberOfCores = "CurrentLicenseConfigurationNumberOfCores"
// ExportableLicenseFieldCurrentLicenseConfigurationInstanceType is a ExportableLicenseField enum value
ExportableLicenseFieldCurrentLicenseConfigurationInstanceType = "CurrentLicenseConfigurationInstanceType"
// ExportableLicenseFieldCurrentLicenseConfigurationOperatingSystem is a ExportableLicenseField enum value
ExportableLicenseFieldCurrentLicenseConfigurationOperatingSystem = "CurrentLicenseConfigurationOperatingSystem"
// ExportableLicenseFieldCurrentLicenseConfigurationLicenseName is a ExportableLicenseField enum value
ExportableLicenseFieldCurrentLicenseConfigurationLicenseName = "CurrentLicenseConfigurationLicenseName"
// ExportableLicenseFieldCurrentLicenseConfigurationLicenseEdition is a ExportableLicenseField enum value
ExportableLicenseFieldCurrentLicenseConfigurationLicenseEdition = "CurrentLicenseConfigurationLicenseEdition"
// ExportableLicenseFieldCurrentLicenseConfigurationLicenseModel is a ExportableLicenseField enum value
ExportableLicenseFieldCurrentLicenseConfigurationLicenseModel = "CurrentLicenseConfigurationLicenseModel"
// ExportableLicenseFieldCurrentLicenseConfigurationLicenseVersion is a ExportableLicenseField enum value
ExportableLicenseFieldCurrentLicenseConfigurationLicenseVersion = "CurrentLicenseConfigurationLicenseVersion"
// ExportableLicenseFieldCurrentLicenseConfigurationMetricsSource is a ExportableLicenseField enum value
ExportableLicenseFieldCurrentLicenseConfigurationMetricsSource = "CurrentLicenseConfigurationMetricsSource"
// ExportableLicenseFieldRecommendationOptionsOperatingSystem is a ExportableLicenseField enum value
ExportableLicenseFieldRecommendationOptionsOperatingSystem = "RecommendationOptionsOperatingSystem"
// ExportableLicenseFieldRecommendationOptionsLicenseEdition is a ExportableLicenseField enum value
ExportableLicenseFieldRecommendationOptionsLicenseEdition = "RecommendationOptionsLicenseEdition"
// ExportableLicenseFieldRecommendationOptionsLicenseModel is a ExportableLicenseField enum value
ExportableLicenseFieldRecommendationOptionsLicenseModel = "RecommendationOptionsLicenseModel"
// ExportableLicenseFieldRecommendationOptionsSavingsOpportunityPercentage is a ExportableLicenseField enum value
ExportableLicenseFieldRecommendationOptionsSavingsOpportunityPercentage = "RecommendationOptionsSavingsOpportunityPercentage"
// ExportableLicenseFieldRecommendationOptionsEstimatedMonthlySavingsCurrency is a ExportableLicenseField enum value
ExportableLicenseFieldRecommendationOptionsEstimatedMonthlySavingsCurrency = "RecommendationOptionsEstimatedMonthlySavingsCurrency"
// ExportableLicenseFieldRecommendationOptionsEstimatedMonthlySavingsValue is a ExportableLicenseField enum value
ExportableLicenseFieldRecommendationOptionsEstimatedMonthlySavingsValue = "RecommendationOptionsEstimatedMonthlySavingsValue"
// ExportableLicenseFieldTags is a ExportableLicenseField enum value
ExportableLicenseFieldTags = "Tags"
)
// ExportableLicenseField_Values returns all elements of the ExportableLicenseField enum
func ExportableLicenseField_Values() []string {
return []string{
ExportableLicenseFieldAccountId,
ExportableLicenseFieldResourceArn,
ExportableLicenseFieldLookbackPeriodInDays,
ExportableLicenseFieldLastRefreshTimestamp,
ExportableLicenseFieldFinding,
ExportableLicenseFieldFindingReasonCodes,
ExportableLicenseFieldCurrentLicenseConfigurationNumberOfCores,
ExportableLicenseFieldCurrentLicenseConfigurationInstanceType,
ExportableLicenseFieldCurrentLicenseConfigurationOperatingSystem,
ExportableLicenseFieldCurrentLicenseConfigurationLicenseName,
ExportableLicenseFieldCurrentLicenseConfigurationLicenseEdition,
ExportableLicenseFieldCurrentLicenseConfigurationLicenseModel,
ExportableLicenseFieldCurrentLicenseConfigurationLicenseVersion,
ExportableLicenseFieldCurrentLicenseConfigurationMetricsSource,
ExportableLicenseFieldRecommendationOptionsOperatingSystem,
ExportableLicenseFieldRecommendationOptionsLicenseEdition,
ExportableLicenseFieldRecommendationOptionsLicenseModel,
ExportableLicenseFieldRecommendationOptionsSavingsOpportunityPercentage,
ExportableLicenseFieldRecommendationOptionsEstimatedMonthlySavingsCurrency,
ExportableLicenseFieldRecommendationOptionsEstimatedMonthlySavingsValue,
ExportableLicenseFieldTags,
}
}
const (
// ExportableRDSDBFieldResourceArn is a ExportableRDSDBField enum value
ExportableRDSDBFieldResourceArn = "ResourceArn"
// ExportableRDSDBFieldAccountId is a ExportableRDSDBField enum value
ExportableRDSDBFieldAccountId = "AccountId"
// ExportableRDSDBFieldEngine is a ExportableRDSDBField enum value
ExportableRDSDBFieldEngine = "Engine"
// ExportableRDSDBFieldEngineVersion is a ExportableRDSDBField enum value
ExportableRDSDBFieldEngineVersion = "EngineVersion"
// ExportableRDSDBFieldIdle is a ExportableRDSDBField enum value
ExportableRDSDBFieldIdle = "Idle"
// ExportableRDSDBFieldMultiAzdbinstance is a ExportableRDSDBField enum value
ExportableRDSDBFieldMultiAzdbinstance = "MultiAZDBInstance"
// ExportableRDSDBFieldCurrentDbinstanceClass is a ExportableRDSDBField enum value
ExportableRDSDBFieldCurrentDbinstanceClass = "CurrentDBInstanceClass"
// ExportableRDSDBFieldCurrentStorageConfigurationStorageType is a ExportableRDSDBField enum value
ExportableRDSDBFieldCurrentStorageConfigurationStorageType = "CurrentStorageConfigurationStorageType"
// ExportableRDSDBFieldCurrentStorageConfigurationAllocatedStorage is a ExportableRDSDBField enum value
ExportableRDSDBFieldCurrentStorageConfigurationAllocatedStorage = "CurrentStorageConfigurationAllocatedStorage"
// ExportableRDSDBFieldCurrentStorageConfigurationMaxAllocatedStorage is a ExportableRDSDBField enum value
ExportableRDSDBFieldCurrentStorageConfigurationMaxAllocatedStorage = "CurrentStorageConfigurationMaxAllocatedStorage"
// ExportableRDSDBFieldCurrentStorageConfigurationIops is a ExportableRDSDBField enum value
ExportableRDSDBFieldCurrentStorageConfigurationIops = "CurrentStorageConfigurationIOPS"
// ExportableRDSDBFieldCurrentStorageConfigurationStorageThroughput is a ExportableRDSDBField enum value
ExportableRDSDBFieldCurrentStorageConfigurationStorageThroughput = "CurrentStorageConfigurationStorageThroughput"
// ExportableRDSDBFieldCurrentInstanceOnDemandHourlyPrice is a ExportableRDSDBField enum value
ExportableRDSDBFieldCurrentInstanceOnDemandHourlyPrice = "CurrentInstanceOnDemandHourlyPrice"
// ExportableRDSDBFieldCurrentStorageOnDemandMonthlyPrice is a ExportableRDSDBField enum value
ExportableRDSDBFieldCurrentStorageOnDemandMonthlyPrice = "CurrentStorageOnDemandMonthlyPrice"
// ExportableRDSDBFieldLookbackPeriodInDays is a ExportableRDSDBField enum value
ExportableRDSDBFieldLookbackPeriodInDays = "LookbackPeriodInDays"
// ExportableRDSDBFieldUtilizationMetricsCpuMaximum is a ExportableRDSDBField enum value
ExportableRDSDBFieldUtilizationMetricsCpuMaximum = "UtilizationMetricsCpuMaximum"
// ExportableRDSDBFieldUtilizationMetricsMemoryMaximum is a ExportableRDSDBField enum value
ExportableRDSDBFieldUtilizationMetricsMemoryMaximum = "UtilizationMetricsMemoryMaximum"
// ExportableRDSDBFieldUtilizationMetricsEbsvolumeStorageSpaceUtilizationMaximum is a ExportableRDSDBField enum value
ExportableRDSDBFieldUtilizationMetricsEbsvolumeStorageSpaceUtilizationMaximum = "UtilizationMetricsEBSVolumeStorageSpaceUtilizationMaximum"
// ExportableRDSDBFieldUtilizationMetricsNetworkReceiveThroughputMaximum is a ExportableRDSDBField enum value
ExportableRDSDBFieldUtilizationMetricsNetworkReceiveThroughputMaximum = "UtilizationMetricsNetworkReceiveThroughputMaximum"
// ExportableRDSDBFieldUtilizationMetricsNetworkTransmitThroughputMaximum is a ExportableRDSDBField enum value
ExportableRDSDBFieldUtilizationMetricsNetworkTransmitThroughputMaximum = "UtilizationMetricsNetworkTransmitThroughputMaximum"
// ExportableRDSDBFieldUtilizationMetricsEbsvolumeReadIopsmaximum is a ExportableRDSDBField enum value
ExportableRDSDBFieldUtilizationMetricsEbsvolumeReadIopsmaximum = "UtilizationMetricsEBSVolumeReadIOPSMaximum"
// ExportableRDSDBFieldUtilizationMetricsEbsvolumeWriteIopsmaximum is a ExportableRDSDBField enum value
ExportableRDSDBFieldUtilizationMetricsEbsvolumeWriteIopsmaximum = "UtilizationMetricsEBSVolumeWriteIOPSMaximum"
// ExportableRDSDBFieldUtilizationMetricsEbsvolumeReadThroughputMaximum is a ExportableRDSDBField enum value
ExportableRDSDBFieldUtilizationMetricsEbsvolumeReadThroughputMaximum = "UtilizationMetricsEBSVolumeReadThroughputMaximum"
// ExportableRDSDBFieldUtilizationMetricsEbsvolumeWriteThroughputMaximum is a ExportableRDSDBField enum value
ExportableRDSDBFieldUtilizationMetricsEbsvolumeWriteThroughputMaximum = "UtilizationMetricsEBSVolumeWriteThroughputMaximum"
// ExportableRDSDBFieldUtilizationMetricsDatabaseConnectionsMaximum is a ExportableRDSDBField enum value
ExportableRDSDBFieldUtilizationMetricsDatabaseConnectionsMaximum = "UtilizationMetricsDatabaseConnectionsMaximum"
// ExportableRDSDBFieldInstanceFinding is a ExportableRDSDBField enum value
ExportableRDSDBFieldInstanceFinding = "InstanceFinding"
// ExportableRDSDBFieldInstanceFindingReasonCodes is a ExportableRDSDBField enum value
ExportableRDSDBFieldInstanceFindingReasonCodes = "InstanceFindingReasonCodes"
// ExportableRDSDBFieldStorageFinding is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageFinding = "StorageFinding"
// ExportableRDSDBFieldStorageFindingReasonCodes is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageFindingReasonCodes = "StorageFindingReasonCodes"
// ExportableRDSDBFieldInstanceRecommendationOptionsDbinstanceClass is a ExportableRDSDBField enum value
ExportableRDSDBFieldInstanceRecommendationOptionsDbinstanceClass = "InstanceRecommendationOptionsDBInstanceClass"
// ExportableRDSDBFieldInstanceRecommendationOptionsRank is a ExportableRDSDBField enum value
ExportableRDSDBFieldInstanceRecommendationOptionsRank = "InstanceRecommendationOptionsRank"
// ExportableRDSDBFieldInstanceRecommendationOptionsPerformanceRisk is a ExportableRDSDBField enum value
ExportableRDSDBFieldInstanceRecommendationOptionsPerformanceRisk = "InstanceRecommendationOptionsPerformanceRisk"
// ExportableRDSDBFieldInstanceRecommendationOptionsProjectedUtilizationMetricsCpuMaximum is a ExportableRDSDBField enum value
ExportableRDSDBFieldInstanceRecommendationOptionsProjectedUtilizationMetricsCpuMaximum = "InstanceRecommendationOptionsProjectedUtilizationMetricsCpuMaximum"
// ExportableRDSDBFieldStorageRecommendationOptionsStorageType is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageRecommendationOptionsStorageType = "StorageRecommendationOptionsStorageType"
// ExportableRDSDBFieldStorageRecommendationOptionsAllocatedStorage is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageRecommendationOptionsAllocatedStorage = "StorageRecommendationOptionsAllocatedStorage"
// ExportableRDSDBFieldStorageRecommendationOptionsMaxAllocatedStorage is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageRecommendationOptionsMaxAllocatedStorage = "StorageRecommendationOptionsMaxAllocatedStorage"
// ExportableRDSDBFieldStorageRecommendationOptionsIops is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageRecommendationOptionsIops = "StorageRecommendationOptionsIOPS"
// ExportableRDSDBFieldStorageRecommendationOptionsStorageThroughput is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageRecommendationOptionsStorageThroughput = "StorageRecommendationOptionsStorageThroughput"
// ExportableRDSDBFieldStorageRecommendationOptionsRank is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageRecommendationOptionsRank = "StorageRecommendationOptionsRank"
// ExportableRDSDBFieldInstanceRecommendationOptionsInstanceOnDemandHourlyPrice is a ExportableRDSDBField enum value
ExportableRDSDBFieldInstanceRecommendationOptionsInstanceOnDemandHourlyPrice = "InstanceRecommendationOptionsInstanceOnDemandHourlyPrice"
// ExportableRDSDBFieldInstanceRecommendationOptionsSavingsOpportunityPercentage is a ExportableRDSDBField enum value
ExportableRDSDBFieldInstanceRecommendationOptionsSavingsOpportunityPercentage = "InstanceRecommendationOptionsSavingsOpportunityPercentage"
// ExportableRDSDBFieldInstanceRecommendationOptionsEstimatedMonthlySavingsCurrency is a ExportableRDSDBField enum value
ExportableRDSDBFieldInstanceRecommendationOptionsEstimatedMonthlySavingsCurrency = "InstanceRecommendationOptionsEstimatedMonthlySavingsCurrency"
// ExportableRDSDBFieldInstanceRecommendationOptionsEstimatedMonthlySavingsValue is a ExportableRDSDBField enum value
ExportableRDSDBFieldInstanceRecommendationOptionsEstimatedMonthlySavingsValue = "InstanceRecommendationOptionsEstimatedMonthlySavingsValue"
// ExportableRDSDBFieldInstanceRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage is a ExportableRDSDBField enum value
ExportableRDSDBFieldInstanceRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage = "InstanceRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"
// ExportableRDSDBFieldInstanceRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts is a ExportableRDSDBField enum value
ExportableRDSDBFieldInstanceRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts = "InstanceRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"
// ExportableRDSDBFieldInstanceRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts is a ExportableRDSDBField enum value
ExportableRDSDBFieldInstanceRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts = "InstanceRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"
// ExportableRDSDBFieldStorageRecommendationOptionsOnDemandMonthlyPrice is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageRecommendationOptionsOnDemandMonthlyPrice = "StorageRecommendationOptionsOnDemandMonthlyPrice"
// ExportableRDSDBFieldStorageRecommendationOptionsSavingsOpportunityPercentage is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageRecommendationOptionsSavingsOpportunityPercentage = "StorageRecommendationOptionsSavingsOpportunityPercentage"
// ExportableRDSDBFieldStorageRecommendationOptionsEstimatedMonthlySavingsCurrency is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageRecommendationOptionsEstimatedMonthlySavingsCurrency = "StorageRecommendationOptionsEstimatedMonthlySavingsCurrency"
// ExportableRDSDBFieldStorageRecommendationOptionsEstimatedMonthlySavingsValue is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageRecommendationOptionsEstimatedMonthlySavingsValue = "StorageRecommendationOptionsEstimatedMonthlySavingsValue"
// ExportableRDSDBFieldStorageRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage = "StorageRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"
// ExportableRDSDBFieldStorageRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts = "StorageRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"
// ExportableRDSDBFieldStorageRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts is a ExportableRDSDBField enum value
ExportableRDSDBFieldStorageRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts = "StorageRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"
// ExportableRDSDBFieldEffectiveRecommendationPreferencesCpuVendorArchitectures is a ExportableRDSDBField enum value
ExportableRDSDBFieldEffectiveRecommendationPreferencesCpuVendorArchitectures = "EffectiveRecommendationPreferencesCpuVendorArchitectures"
// ExportableRDSDBFieldEffectiveRecommendationPreferencesEnhancedInfrastructureMetrics is a ExportableRDSDBField enum value
ExportableRDSDBFieldEffectiveRecommendationPreferencesEnhancedInfrastructureMetrics = "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics"
// ExportableRDSDBFieldEffectiveRecommendationPreferencesLookBackPeriod is a ExportableRDSDBField enum value
ExportableRDSDBFieldEffectiveRecommendationPreferencesLookBackPeriod = "EffectiveRecommendationPreferencesLookBackPeriod"
// ExportableRDSDBFieldEffectiveRecommendationPreferencesSavingsEstimationMode is a ExportableRDSDBField enum value
ExportableRDSDBFieldEffectiveRecommendationPreferencesSavingsEstimationMode = "EffectiveRecommendationPreferencesSavingsEstimationMode"
// ExportableRDSDBFieldLastRefreshTimestamp is a ExportableRDSDBField enum value
ExportableRDSDBFieldLastRefreshTimestamp = "LastRefreshTimestamp"
// ExportableRDSDBFieldTags is a ExportableRDSDBField enum value
ExportableRDSDBFieldTags = "Tags"
)
// ExportableRDSDBField_Values returns all elements of the ExportableRDSDBField enum
func ExportableRDSDBField_Values() []string {
return []string{
ExportableRDSDBFieldResourceArn,
ExportableRDSDBFieldAccountId,
ExportableRDSDBFieldEngine,
ExportableRDSDBFieldEngineVersion,
ExportableRDSDBFieldIdle,
ExportableRDSDBFieldMultiAzdbinstance,
ExportableRDSDBFieldCurrentDbinstanceClass,
ExportableRDSDBFieldCurrentStorageConfigurationStorageType,
ExportableRDSDBFieldCurrentStorageConfigurationAllocatedStorage,
ExportableRDSDBFieldCurrentStorageConfigurationMaxAllocatedStorage,
ExportableRDSDBFieldCurrentStorageConfigurationIops,
ExportableRDSDBFieldCurrentStorageConfigurationStorageThroughput,
ExportableRDSDBFieldCurrentInstanceOnDemandHourlyPrice,
ExportableRDSDBFieldCurrentStorageOnDemandMonthlyPrice,
ExportableRDSDBFieldLookbackPeriodInDays,
ExportableRDSDBFieldUtilizationMetricsCpuMaximum,
ExportableRDSDBFieldUtilizationMetricsMemoryMaximum,
ExportableRDSDBFieldUtilizationMetricsEbsvolumeStorageSpaceUtilizationMaximum,
ExportableRDSDBFieldUtilizationMetricsNetworkReceiveThroughputMaximum,
ExportableRDSDBFieldUtilizationMetricsNetworkTransmitThroughputMaximum,
ExportableRDSDBFieldUtilizationMetricsEbsvolumeReadIopsmaximum,
ExportableRDSDBFieldUtilizationMetricsEbsvolumeWriteIopsmaximum,
ExportableRDSDBFieldUtilizationMetricsEbsvolumeReadThroughputMaximum,
ExportableRDSDBFieldUtilizationMetricsEbsvolumeWriteThroughputMaximum,
ExportableRDSDBFieldUtilizationMetricsDatabaseConnectionsMaximum,
ExportableRDSDBFieldInstanceFinding,
ExportableRDSDBFieldInstanceFindingReasonCodes,
ExportableRDSDBFieldStorageFinding,
ExportableRDSDBFieldStorageFindingReasonCodes,
ExportableRDSDBFieldInstanceRecommendationOptionsDbinstanceClass,
ExportableRDSDBFieldInstanceRecommendationOptionsRank,
ExportableRDSDBFieldInstanceRecommendationOptionsPerformanceRisk,
ExportableRDSDBFieldInstanceRecommendationOptionsProjectedUtilizationMetricsCpuMaximum,
ExportableRDSDBFieldStorageRecommendationOptionsStorageType,
ExportableRDSDBFieldStorageRecommendationOptionsAllocatedStorage,
ExportableRDSDBFieldStorageRecommendationOptionsMaxAllocatedStorage,
ExportableRDSDBFieldStorageRecommendationOptionsIops,
ExportableRDSDBFieldStorageRecommendationOptionsStorageThroughput,
ExportableRDSDBFieldStorageRecommendationOptionsRank,
ExportableRDSDBFieldInstanceRecommendationOptionsInstanceOnDemandHourlyPrice,
ExportableRDSDBFieldInstanceRecommendationOptionsSavingsOpportunityPercentage,
ExportableRDSDBFieldInstanceRecommendationOptionsEstimatedMonthlySavingsCurrency,
ExportableRDSDBFieldInstanceRecommendationOptionsEstimatedMonthlySavingsValue,
ExportableRDSDBFieldInstanceRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage,
ExportableRDSDBFieldInstanceRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts,
ExportableRDSDBFieldInstanceRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts,
ExportableRDSDBFieldStorageRecommendationOptionsOnDemandMonthlyPrice,
ExportableRDSDBFieldStorageRecommendationOptionsSavingsOpportunityPercentage,
ExportableRDSDBFieldStorageRecommendationOptionsEstimatedMonthlySavingsCurrency,
ExportableRDSDBFieldStorageRecommendationOptionsEstimatedMonthlySavingsValue,
ExportableRDSDBFieldStorageRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage,
ExportableRDSDBFieldStorageRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts,
ExportableRDSDBFieldStorageRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts,
ExportableRDSDBFieldEffectiveRecommendationPreferencesCpuVendorArchitectures,
ExportableRDSDBFieldEffectiveRecommendationPreferencesEnhancedInfrastructureMetrics,
ExportableRDSDBFieldEffectiveRecommendationPreferencesLookBackPeriod,
ExportableRDSDBFieldEffectiveRecommendationPreferencesSavingsEstimationMode,
ExportableRDSDBFieldLastRefreshTimestamp,
ExportableRDSDBFieldTags,
}
}
const (
// ExportableVolumeFieldAccountId is a ExportableVolumeField enum value
ExportableVolumeFieldAccountId = "AccountId"
// ExportableVolumeFieldVolumeArn is a ExportableVolumeField enum value
ExportableVolumeFieldVolumeArn = "VolumeArn"
// ExportableVolumeFieldFinding is a ExportableVolumeField enum value
ExportableVolumeFieldFinding = "Finding"
// ExportableVolumeFieldUtilizationMetricsVolumeReadOpsPerSecondMaximum is a ExportableVolumeField enum value
ExportableVolumeFieldUtilizationMetricsVolumeReadOpsPerSecondMaximum = "UtilizationMetricsVolumeReadOpsPerSecondMaximum"
// ExportableVolumeFieldUtilizationMetricsVolumeWriteOpsPerSecondMaximum is a ExportableVolumeField enum value
ExportableVolumeFieldUtilizationMetricsVolumeWriteOpsPerSecondMaximum = "UtilizationMetricsVolumeWriteOpsPerSecondMaximum"
// ExportableVolumeFieldUtilizationMetricsVolumeReadBytesPerSecondMaximum is a ExportableVolumeField enum value
ExportableVolumeFieldUtilizationMetricsVolumeReadBytesPerSecondMaximum = "UtilizationMetricsVolumeReadBytesPerSecondMaximum"
// ExportableVolumeFieldUtilizationMetricsVolumeWriteBytesPerSecondMaximum is a ExportableVolumeField enum value
ExportableVolumeFieldUtilizationMetricsVolumeWriteBytesPerSecondMaximum = "UtilizationMetricsVolumeWriteBytesPerSecondMaximum"
// ExportableVolumeFieldLookbackPeriodInDays is a ExportableVolumeField enum value
ExportableVolumeFieldLookbackPeriodInDays = "LookbackPeriodInDays"
// ExportableVolumeFieldCurrentConfigurationVolumeType is a ExportableVolumeField enum value
ExportableVolumeFieldCurrentConfigurationVolumeType = "CurrentConfigurationVolumeType"
// ExportableVolumeFieldCurrentConfigurationVolumeBaselineIops is a ExportableVolumeField enum value
ExportableVolumeFieldCurrentConfigurationVolumeBaselineIops = "CurrentConfigurationVolumeBaselineIOPS"
// ExportableVolumeFieldCurrentConfigurationVolumeBaselineThroughput is a ExportableVolumeField enum value
ExportableVolumeFieldCurrentConfigurationVolumeBaselineThroughput = "CurrentConfigurationVolumeBaselineThroughput"
// ExportableVolumeFieldCurrentConfigurationVolumeBurstIops is a ExportableVolumeField enum value
ExportableVolumeFieldCurrentConfigurationVolumeBurstIops = "CurrentConfigurationVolumeBurstIOPS"
// ExportableVolumeFieldCurrentConfigurationVolumeBurstThroughput is a ExportableVolumeField enum value
ExportableVolumeFieldCurrentConfigurationVolumeBurstThroughput = "CurrentConfigurationVolumeBurstThroughput"
// ExportableVolumeFieldCurrentConfigurationVolumeSize is a ExportableVolumeField enum value
ExportableVolumeFieldCurrentConfigurationVolumeSize = "CurrentConfigurationVolumeSize"
// ExportableVolumeFieldCurrentMonthlyPrice is a ExportableVolumeField enum value
ExportableVolumeFieldCurrentMonthlyPrice = "CurrentMonthlyPrice"
// ExportableVolumeFieldRecommendationOptionsConfigurationVolumeType is a ExportableVolumeField enum value
ExportableVolumeFieldRecommendationOptionsConfigurationVolumeType = "RecommendationOptionsConfigurationVolumeType"
// ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBaselineIops is a ExportableVolumeField enum value
ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBaselineIops = "RecommendationOptionsConfigurationVolumeBaselineIOPS"
// ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBaselineThroughput is a ExportableVolumeField enum value
ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBaselineThroughput = "RecommendationOptionsConfigurationVolumeBaselineThroughput"
// ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBurstIops is a ExportableVolumeField enum value
ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBurstIops = "RecommendationOptionsConfigurationVolumeBurstIOPS"
// ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBurstThroughput is a ExportableVolumeField enum value
ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBurstThroughput = "RecommendationOptionsConfigurationVolumeBurstThroughput"
// ExportableVolumeFieldRecommendationOptionsConfigurationVolumeSize is a ExportableVolumeField enum value
ExportableVolumeFieldRecommendationOptionsConfigurationVolumeSize = "RecommendationOptionsConfigurationVolumeSize"
// ExportableVolumeFieldRecommendationOptionsMonthlyPrice is a ExportableVolumeField enum value
ExportableVolumeFieldRecommendationOptionsMonthlyPrice = "RecommendationOptionsMonthlyPrice"
// ExportableVolumeFieldRecommendationOptionsPerformanceRisk is a ExportableVolumeField enum value
ExportableVolumeFieldRecommendationOptionsPerformanceRisk = "RecommendationOptionsPerformanceRisk"
// ExportableVolumeFieldLastRefreshTimestamp is a ExportableVolumeField enum value
ExportableVolumeFieldLastRefreshTimestamp = "LastRefreshTimestamp"
// ExportableVolumeFieldCurrentPerformanceRisk is a ExportableVolumeField enum value
ExportableVolumeFieldCurrentPerformanceRisk = "CurrentPerformanceRisk"
// ExportableVolumeFieldRecommendationOptionsSavingsOpportunityPercentage is a ExportableVolumeField enum value
ExportableVolumeFieldRecommendationOptionsSavingsOpportunityPercentage = "RecommendationOptionsSavingsOpportunityPercentage"
// ExportableVolumeFieldRecommendationOptionsEstimatedMonthlySavingsCurrency is a ExportableVolumeField enum value
ExportableVolumeFieldRecommendationOptionsEstimatedMonthlySavingsCurrency = "RecommendationOptionsEstimatedMonthlySavingsCurrency"
// ExportableVolumeFieldRecommendationOptionsEstimatedMonthlySavingsValue is a ExportableVolumeField enum value
ExportableVolumeFieldRecommendationOptionsEstimatedMonthlySavingsValue = "RecommendationOptionsEstimatedMonthlySavingsValue"
// ExportableVolumeFieldTags is a ExportableVolumeField enum value
ExportableVolumeFieldTags = "Tags"
// ExportableVolumeFieldRootVolume is a ExportableVolumeField enum value
ExportableVolumeFieldRootVolume = "RootVolume"
// ExportableVolumeFieldCurrentConfigurationRootVolume is a ExportableVolumeField enum value
ExportableVolumeFieldCurrentConfigurationRootVolume = "CurrentConfigurationRootVolume"
// ExportableVolumeFieldEffectiveRecommendationPreferencesSavingsEstimationMode is a ExportableVolumeField enum value
ExportableVolumeFieldEffectiveRecommendationPreferencesSavingsEstimationMode = "EffectiveRecommendationPreferencesSavingsEstimationMode"
// ExportableVolumeFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage is a ExportableVolumeField enum value
ExportableVolumeFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage = "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"
// ExportableVolumeFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts is a ExportableVolumeField enum value
ExportableVolumeFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts = "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"
// ExportableVolumeFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts is a ExportableVolumeField enum value
ExportableVolumeFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts = "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"
)
// ExportableVolumeField_Values returns all elements of the ExportableVolumeField enum
func ExportableVolumeField_Values() []string {
return []string{
ExportableVolumeFieldAccountId,
ExportableVolumeFieldVolumeArn,
ExportableVolumeFieldFinding,
ExportableVolumeFieldUtilizationMetricsVolumeReadOpsPerSecondMaximum,
ExportableVolumeFieldUtilizationMetricsVolumeWriteOpsPerSecondMaximum,
ExportableVolumeFieldUtilizationMetricsVolumeReadBytesPerSecondMaximum,
ExportableVolumeFieldUtilizationMetricsVolumeWriteBytesPerSecondMaximum,
ExportableVolumeFieldLookbackPeriodInDays,
ExportableVolumeFieldCurrentConfigurationVolumeType,
ExportableVolumeFieldCurrentConfigurationVolumeBaselineIops,
ExportableVolumeFieldCurrentConfigurationVolumeBaselineThroughput,
ExportableVolumeFieldCurrentConfigurationVolumeBurstIops,
ExportableVolumeFieldCurrentConfigurationVolumeBurstThroughput,
ExportableVolumeFieldCurrentConfigurationVolumeSize,
ExportableVolumeFieldCurrentMonthlyPrice,
ExportableVolumeFieldRecommendationOptionsConfigurationVolumeType,
ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBaselineIops,
ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBaselineThroughput,
ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBurstIops,
ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBurstThroughput,
ExportableVolumeFieldRecommendationOptionsConfigurationVolumeSize,
ExportableVolumeFieldRecommendationOptionsMonthlyPrice,
ExportableVolumeFieldRecommendationOptionsPerformanceRisk,
ExportableVolumeFieldLastRefreshTimestamp,
ExportableVolumeFieldCurrentPerformanceRisk,
ExportableVolumeFieldRecommendationOptionsSavingsOpportunityPercentage,
ExportableVolumeFieldRecommendationOptionsEstimatedMonthlySavingsCurrency,
ExportableVolumeFieldRecommendationOptionsEstimatedMonthlySavingsValue,
ExportableVolumeFieldTags,
ExportableVolumeFieldRootVolume,
ExportableVolumeFieldCurrentConfigurationRootVolume,
ExportableVolumeFieldEffectiveRecommendationPreferencesSavingsEstimationMode,
ExportableVolumeFieldRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage,
ExportableVolumeFieldRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts,
ExportableVolumeFieldRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts,
}
}
const (
// ExternalMetricStatusCodeNoExternalMetricSet is a ExternalMetricStatusCode enum value
ExternalMetricStatusCodeNoExternalMetricSet = "NO_EXTERNAL_METRIC_SET"
// ExternalMetricStatusCodeIntegrationSuccess is a ExternalMetricStatusCode enum value
ExternalMetricStatusCodeIntegrationSuccess = "INTEGRATION_SUCCESS"
// ExternalMetricStatusCodeDatadogIntegrationError is a ExternalMetricStatusCode enum value
ExternalMetricStatusCodeDatadogIntegrationError = "DATADOG_INTEGRATION_ERROR"
// ExternalMetricStatusCodeDynatraceIntegrationError is a ExternalMetricStatusCode enum value
ExternalMetricStatusCodeDynatraceIntegrationError = "DYNATRACE_INTEGRATION_ERROR"
// ExternalMetricStatusCodeNewrelicIntegrationError is a ExternalMetricStatusCode enum value
ExternalMetricStatusCodeNewrelicIntegrationError = "NEWRELIC_INTEGRATION_ERROR"
// ExternalMetricStatusCodeInstanaIntegrationError is a ExternalMetricStatusCode enum value
ExternalMetricStatusCodeInstanaIntegrationError = "INSTANA_INTEGRATION_ERROR"
// ExternalMetricStatusCodeInsufficientDatadogMetrics is a ExternalMetricStatusCode enum value
ExternalMetricStatusCodeInsufficientDatadogMetrics = "INSUFFICIENT_DATADOG_METRICS"
// ExternalMetricStatusCodeInsufficientDynatraceMetrics is a ExternalMetricStatusCode enum value
ExternalMetricStatusCodeInsufficientDynatraceMetrics = "INSUFFICIENT_DYNATRACE_METRICS"
// ExternalMetricStatusCodeInsufficientNewrelicMetrics is a ExternalMetricStatusCode enum value
ExternalMetricStatusCodeInsufficientNewrelicMetrics = "INSUFFICIENT_NEWRELIC_METRICS"
// ExternalMetricStatusCodeInsufficientInstanaMetrics is a ExternalMetricStatusCode enum value
ExternalMetricStatusCodeInsufficientInstanaMetrics = "INSUFFICIENT_INSTANA_METRICS"
)
// ExternalMetricStatusCode_Values returns all elements of the ExternalMetricStatusCode enum
func ExternalMetricStatusCode_Values() []string {
return []string{
ExternalMetricStatusCodeNoExternalMetricSet,
ExternalMetricStatusCodeIntegrationSuccess,
ExternalMetricStatusCodeDatadogIntegrationError,
ExternalMetricStatusCodeDynatraceIntegrationError,
ExternalMetricStatusCodeNewrelicIntegrationError,
ExternalMetricStatusCodeInstanaIntegrationError,
ExternalMetricStatusCodeInsufficientDatadogMetrics,
ExternalMetricStatusCodeInsufficientDynatraceMetrics,
ExternalMetricStatusCodeInsufficientNewrelicMetrics,
ExternalMetricStatusCodeInsufficientInstanaMetrics,
}
}
const (
// ExternalMetricsSourceDatadog is a ExternalMetricsSource enum value
ExternalMetricsSourceDatadog = "Datadog"
// ExternalMetricsSourceDynatrace is a ExternalMetricsSource enum value
ExternalMetricsSourceDynatrace = "Dynatrace"
// ExternalMetricsSourceNewRelic is a ExternalMetricsSource enum value
ExternalMetricsSourceNewRelic = "NewRelic"
// ExternalMetricsSourceInstana is a ExternalMetricsSource enum value
ExternalMetricsSourceInstana = "Instana"
)
// ExternalMetricsSource_Values returns all elements of the ExternalMetricsSource enum
func ExternalMetricsSource_Values() []string {
return []string{
ExternalMetricsSourceDatadog,
ExternalMetricsSourceDynatrace,
ExternalMetricsSourceNewRelic,
ExternalMetricsSourceInstana,
}
}
const (
// FileFormatCsv is a FileFormat enum value
FileFormatCsv = "Csv"
)
// FileFormat_Values returns all elements of the FileFormat enum
func FileFormat_Values() []string {
return []string{
FileFormatCsv,
}
}
const (
// FilterNameFinding is a FilterName enum value
FilterNameFinding = "Finding"
// FilterNameFindingReasonCodes is a FilterName enum value
FilterNameFindingReasonCodes = "FindingReasonCodes"
// FilterNameRecommendationSourceType is a FilterName enum value
FilterNameRecommendationSourceType = "RecommendationSourceType"
// FilterNameInferredWorkloadTypes is a FilterName enum value
FilterNameInferredWorkloadTypes = "InferredWorkloadTypes"
)
// FilterName_Values returns all elements of the FilterName enum
func FilterName_Values() []string {
return []string{
FilterNameFinding,
FilterNameFindingReasonCodes,
FilterNameRecommendationSourceType,
FilterNameInferredWorkloadTypes,
}
}
const (
// FindingUnderprovisioned is a Finding enum value
FindingUnderprovisioned = "Underprovisioned"
// FindingOverprovisioned is a Finding enum value
FindingOverprovisioned = "Overprovisioned"
// FindingOptimized is a Finding enum value
FindingOptimized = "Optimized"
// FindingNotOptimized is a Finding enum value
FindingNotOptimized = "NotOptimized"
)
// Finding_Values returns all elements of the Finding enum
func Finding_Values() []string {
return []string{
FindingUnderprovisioned,
FindingOverprovisioned,
FindingOptimized,
FindingNotOptimized,
}
}
const (
// FindingReasonCodeMemoryOverprovisioned is a FindingReasonCode enum value
FindingReasonCodeMemoryOverprovisioned = "MemoryOverprovisioned"
// FindingReasonCodeMemoryUnderprovisioned is a FindingReasonCode enum value
FindingReasonCodeMemoryUnderprovisioned = "MemoryUnderprovisioned"
)
// FindingReasonCode_Values returns all elements of the FindingReasonCode enum
func FindingReasonCode_Values() []string {
return []string{
FindingReasonCodeMemoryOverprovisioned,
FindingReasonCodeMemoryUnderprovisioned,
}
}
const (
// IdleTrue is a Idle enum value
IdleTrue = "True"
// IdleFalse is a Idle enum value
IdleFalse = "False"
)
// Idle_Values returns all elements of the Idle enum
func Idle_Values() []string {
return []string{
IdleTrue,
IdleFalse,
}
}
const (
// InferredWorkloadTypeAmazonEmr is a InferredWorkloadType enum value
InferredWorkloadTypeAmazonEmr = "AmazonEmr"
// InferredWorkloadTypeApacheCassandra is a InferredWorkloadType enum value
InferredWorkloadTypeApacheCassandra = "ApacheCassandra"
// InferredWorkloadTypeApacheHadoop is a InferredWorkloadType enum value
InferredWorkloadTypeApacheHadoop = "ApacheHadoop"
// InferredWorkloadTypeMemcached is a InferredWorkloadType enum value
InferredWorkloadTypeMemcached = "Memcached"
// InferredWorkloadTypeNginx is a InferredWorkloadType enum value
InferredWorkloadTypeNginx = "Nginx"
// InferredWorkloadTypePostgreSql is a InferredWorkloadType enum value
InferredWorkloadTypePostgreSql = "PostgreSql"
// InferredWorkloadTypeRedis is a InferredWorkloadType enum value
InferredWorkloadTypeRedis = "Redis"
// InferredWorkloadTypeKafka is a InferredWorkloadType enum value
InferredWorkloadTypeKafka = "Kafka"
// InferredWorkloadTypeSqlserver is a InferredWorkloadType enum value
InferredWorkloadTypeSqlserver = "SQLServer"
)
// InferredWorkloadType_Values returns all elements of the InferredWorkloadType enum
func InferredWorkloadType_Values() []string {
return []string{
InferredWorkloadTypeAmazonEmr,
InferredWorkloadTypeApacheCassandra,
InferredWorkloadTypeApacheHadoop,
InferredWorkloadTypeMemcached,
InferredWorkloadTypeNginx,
InferredWorkloadTypePostgreSql,
InferredWorkloadTypeRedis,
InferredWorkloadTypeKafka,
InferredWorkloadTypeSqlserver,
}
}
const (
// InferredWorkloadTypesPreferenceActive is a InferredWorkloadTypesPreference enum value
InferredWorkloadTypesPreferenceActive = "Active"
// InferredWorkloadTypesPreferenceInactive is a InferredWorkloadTypesPreference enum value
InferredWorkloadTypesPreferenceInactive = "Inactive"
)
// InferredWorkloadTypesPreference_Values returns all elements of the InferredWorkloadTypesPreference enum
func InferredWorkloadTypesPreference_Values() []string {
return []string{
InferredWorkloadTypesPreferenceActive,
InferredWorkloadTypesPreferenceInactive,
}
}
const (
// InstanceIdleTrue is a InstanceIdle enum value
InstanceIdleTrue = "True"
// InstanceIdleFalse is a InstanceIdle enum value
InstanceIdleFalse = "False"
)
// InstanceIdle_Values returns all elements of the InstanceIdle enum
func InstanceIdle_Values() []string {
return []string{
InstanceIdleTrue,
InstanceIdleFalse,
}
}
const (
// InstanceRecommendationFindingReasonCodeCpuoverprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeCpuoverprovisioned = "CPUOverprovisioned"
// InstanceRecommendationFindingReasonCodeCpuunderprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeCpuunderprovisioned = "CPUUnderprovisioned"
// InstanceRecommendationFindingReasonCodeMemoryOverprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeMemoryOverprovisioned = "MemoryOverprovisioned"
// InstanceRecommendationFindingReasonCodeMemoryUnderprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeMemoryUnderprovisioned = "MemoryUnderprovisioned"
// InstanceRecommendationFindingReasonCodeEbsthroughputOverprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeEbsthroughputOverprovisioned = "EBSThroughputOverprovisioned"
// InstanceRecommendationFindingReasonCodeEbsthroughputUnderprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeEbsthroughputUnderprovisioned = "EBSThroughputUnderprovisioned"
// InstanceRecommendationFindingReasonCodeEbsiopsoverprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeEbsiopsoverprovisioned = "EBSIOPSOverprovisioned"
// InstanceRecommendationFindingReasonCodeEbsiopsunderprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeEbsiopsunderprovisioned = "EBSIOPSUnderprovisioned"
// InstanceRecommendationFindingReasonCodeNetworkBandwidthOverprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeNetworkBandwidthOverprovisioned = "NetworkBandwidthOverprovisioned"
// InstanceRecommendationFindingReasonCodeNetworkBandwidthUnderprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeNetworkBandwidthUnderprovisioned = "NetworkBandwidthUnderprovisioned"
// InstanceRecommendationFindingReasonCodeNetworkPpsoverprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeNetworkPpsoverprovisioned = "NetworkPPSOverprovisioned"
// InstanceRecommendationFindingReasonCodeNetworkPpsunderprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeNetworkPpsunderprovisioned = "NetworkPPSUnderprovisioned"
// InstanceRecommendationFindingReasonCodeDiskIopsoverprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeDiskIopsoverprovisioned = "DiskIOPSOverprovisioned"
// InstanceRecommendationFindingReasonCodeDiskIopsunderprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeDiskIopsunderprovisioned = "DiskIOPSUnderprovisioned"
// InstanceRecommendationFindingReasonCodeDiskThroughputOverprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeDiskThroughputOverprovisioned = "DiskThroughputOverprovisioned"
// InstanceRecommendationFindingReasonCodeDiskThroughputUnderprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeDiskThroughputUnderprovisioned = "DiskThroughputUnderprovisioned"
// InstanceRecommendationFindingReasonCodeGpuunderprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeGpuunderprovisioned = "GPUUnderprovisioned"
// InstanceRecommendationFindingReasonCodeGpuoverprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeGpuoverprovisioned = "GPUOverprovisioned"
// InstanceRecommendationFindingReasonCodeGpumemoryUnderprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeGpumemoryUnderprovisioned = "GPUMemoryUnderprovisioned"
// InstanceRecommendationFindingReasonCodeGpumemoryOverprovisioned is a InstanceRecommendationFindingReasonCode enum value
InstanceRecommendationFindingReasonCodeGpumemoryOverprovisioned = "GPUMemoryOverprovisioned"
)
// InstanceRecommendationFindingReasonCode_Values returns all elements of the InstanceRecommendationFindingReasonCode enum
func InstanceRecommendationFindingReasonCode_Values() []string {
return []string{
InstanceRecommendationFindingReasonCodeCpuoverprovisioned,
InstanceRecommendationFindingReasonCodeCpuunderprovisioned,
InstanceRecommendationFindingReasonCodeMemoryOverprovisioned,
InstanceRecommendationFindingReasonCodeMemoryUnderprovisioned,
InstanceRecommendationFindingReasonCodeEbsthroughputOverprovisioned,
InstanceRecommendationFindingReasonCodeEbsthroughputUnderprovisioned,
InstanceRecommendationFindingReasonCodeEbsiopsoverprovisioned,
InstanceRecommendationFindingReasonCodeEbsiopsunderprovisioned,
InstanceRecommendationFindingReasonCodeNetworkBandwidthOverprovisioned,
InstanceRecommendationFindingReasonCodeNetworkBandwidthUnderprovisioned,
InstanceRecommendationFindingReasonCodeNetworkPpsoverprovisioned,
InstanceRecommendationFindingReasonCodeNetworkPpsunderprovisioned,
InstanceRecommendationFindingReasonCodeDiskIopsoverprovisioned,
InstanceRecommendationFindingReasonCodeDiskIopsunderprovisioned,
InstanceRecommendationFindingReasonCodeDiskThroughputOverprovisioned,
InstanceRecommendationFindingReasonCodeDiskThroughputUnderprovisioned,
InstanceRecommendationFindingReasonCodeGpuunderprovisioned,
InstanceRecommendationFindingReasonCodeGpuoverprovisioned,
InstanceRecommendationFindingReasonCodeGpumemoryUnderprovisioned,
InstanceRecommendationFindingReasonCodeGpumemoryOverprovisioned,
}
}
const (
// InstanceSavingsEstimationModeSourcePublicPricing is a InstanceSavingsEstimationModeSource enum value
InstanceSavingsEstimationModeSourcePublicPricing = "PublicPricing"
// InstanceSavingsEstimationModeSourceCostExplorerRightsizing is a InstanceSavingsEstimationModeSource enum value
InstanceSavingsEstimationModeSourceCostExplorerRightsizing = "CostExplorerRightsizing"
// InstanceSavingsEstimationModeSourceCostOptimizationHub is a InstanceSavingsEstimationModeSource enum value
InstanceSavingsEstimationModeSourceCostOptimizationHub = "CostOptimizationHub"
)
// InstanceSavingsEstimationModeSource_Values returns all elements of the InstanceSavingsEstimationModeSource enum
func InstanceSavingsEstimationModeSource_Values() []string {
return []string{
InstanceSavingsEstimationModeSourcePublicPricing,
InstanceSavingsEstimationModeSourceCostExplorerRightsizing,
InstanceSavingsEstimationModeSourceCostOptimizationHub,
}
}
const (
// InstanceStatePending is a InstanceState enum value
InstanceStatePending = "pending"
// InstanceStateRunning is a InstanceState enum value
InstanceStateRunning = "running"
// InstanceStateShuttingDown is a InstanceState enum value
InstanceStateShuttingDown = "shutting-down"
// InstanceStateTerminated is a InstanceState enum value
InstanceStateTerminated = "terminated"
// InstanceStateStopping is a InstanceState enum value
InstanceStateStopping = "stopping"
// InstanceStateStopped is a InstanceState enum value
InstanceStateStopped = "stopped"
)
// InstanceState_Values returns all elements of the InstanceState enum
func InstanceState_Values() []string {
return []string{
InstanceStatePending,
InstanceStateRunning,
InstanceStateShuttingDown,
InstanceStateTerminated,
InstanceStateStopping,
InstanceStateStopped,
}
}
const (
// JobFilterNameResourceType is a JobFilterName enum value
JobFilterNameResourceType = "ResourceType"
// JobFilterNameJobStatus is a JobFilterName enum value
JobFilterNameJobStatus = "JobStatus"
)
// JobFilterName_Values returns all elements of the JobFilterName enum
func JobFilterName_Values() []string {
return []string{
JobFilterNameResourceType,
JobFilterNameJobStatus,
}
}
const (
// JobStatusQueued is a JobStatus enum value
JobStatusQueued = "Queued"
// JobStatusInProgress is a JobStatus enum value
JobStatusInProgress = "InProgress"
// JobStatusComplete is a JobStatus enum value
JobStatusComplete = "Complete"
// JobStatusFailed is a JobStatus enum value
JobStatusFailed = "Failed"
)
// JobStatus_Values returns all elements of the JobStatus enum
func JobStatus_Values() []string {
return []string{
JobStatusQueued,
JobStatusInProgress,
JobStatusComplete,
JobStatusFailed,
}
}
const (
// LambdaFunctionMemoryMetricNameDuration is a LambdaFunctionMemoryMetricName enum value
LambdaFunctionMemoryMetricNameDuration = "Duration"
)
// LambdaFunctionMemoryMetricName_Values returns all elements of the LambdaFunctionMemoryMetricName enum
func LambdaFunctionMemoryMetricName_Values() []string {
return []string{
LambdaFunctionMemoryMetricNameDuration,
}
}
const (
// LambdaFunctionMemoryMetricStatisticLowerBound is a LambdaFunctionMemoryMetricStatistic enum value
LambdaFunctionMemoryMetricStatisticLowerBound = "LowerBound"
// LambdaFunctionMemoryMetricStatisticUpperBound is a LambdaFunctionMemoryMetricStatistic enum value
LambdaFunctionMemoryMetricStatisticUpperBound = "UpperBound"
// LambdaFunctionMemoryMetricStatisticExpected is a LambdaFunctionMemoryMetricStatistic enum value
LambdaFunctionMemoryMetricStatisticExpected = "Expected"
)
// LambdaFunctionMemoryMetricStatistic_Values returns all elements of the LambdaFunctionMemoryMetricStatistic enum
func LambdaFunctionMemoryMetricStatistic_Values() []string {
return []string{
LambdaFunctionMemoryMetricStatisticLowerBound,
LambdaFunctionMemoryMetricStatisticUpperBound,
LambdaFunctionMemoryMetricStatisticExpected,
}
}
const (
// LambdaFunctionMetricNameDuration is a LambdaFunctionMetricName enum value
LambdaFunctionMetricNameDuration = "Duration"
// LambdaFunctionMetricNameMemory is a LambdaFunctionMetricName enum value
LambdaFunctionMetricNameMemory = "Memory"
)
// LambdaFunctionMetricName_Values returns all elements of the LambdaFunctionMetricName enum
func LambdaFunctionMetricName_Values() []string {
return []string{
LambdaFunctionMetricNameDuration,
LambdaFunctionMetricNameMemory,
}
}
const (
// LambdaFunctionMetricStatisticMaximum is a LambdaFunctionMetricStatistic enum value
LambdaFunctionMetricStatisticMaximum = "Maximum"
// LambdaFunctionMetricStatisticAverage is a LambdaFunctionMetricStatistic enum value
LambdaFunctionMetricStatisticAverage = "Average"
)
// LambdaFunctionMetricStatistic_Values returns all elements of the LambdaFunctionMetricStatistic enum
func LambdaFunctionMetricStatistic_Values() []string {
return []string{
LambdaFunctionMetricStatisticMaximum,
LambdaFunctionMetricStatisticAverage,
}
}
const (
// LambdaFunctionRecommendationFilterNameFinding is a LambdaFunctionRecommendationFilterName enum value
LambdaFunctionRecommendationFilterNameFinding = "Finding"
// LambdaFunctionRecommendationFilterNameFindingReasonCode is a LambdaFunctionRecommendationFilterName enum value
LambdaFunctionRecommendationFilterNameFindingReasonCode = "FindingReasonCode"
)
// LambdaFunctionRecommendationFilterName_Values returns all elements of the LambdaFunctionRecommendationFilterName enum
func LambdaFunctionRecommendationFilterName_Values() []string {
return []string{
LambdaFunctionRecommendationFilterNameFinding,
LambdaFunctionRecommendationFilterNameFindingReasonCode,
}
}
const (
// LambdaFunctionRecommendationFindingOptimized is a LambdaFunctionRecommendationFinding enum value
LambdaFunctionRecommendationFindingOptimized = "Optimized"
// LambdaFunctionRecommendationFindingNotOptimized is a LambdaFunctionRecommendationFinding enum value
LambdaFunctionRecommendationFindingNotOptimized = "NotOptimized"
// LambdaFunctionRecommendationFindingUnavailable is a LambdaFunctionRecommendationFinding enum value
LambdaFunctionRecommendationFindingUnavailable = "Unavailable"
)
// LambdaFunctionRecommendationFinding_Values returns all elements of the LambdaFunctionRecommendationFinding enum
func LambdaFunctionRecommendationFinding_Values() []string {
return []string{
LambdaFunctionRecommendationFindingOptimized,
LambdaFunctionRecommendationFindingNotOptimized,
LambdaFunctionRecommendationFindingUnavailable,
}
}
const (
// LambdaFunctionRecommendationFindingReasonCodeMemoryOverprovisioned is a LambdaFunctionRecommendationFindingReasonCode enum value
LambdaFunctionRecommendationFindingReasonCodeMemoryOverprovisioned = "MemoryOverprovisioned"
// LambdaFunctionRecommendationFindingReasonCodeMemoryUnderprovisioned is a LambdaFunctionRecommendationFindingReasonCode enum value
LambdaFunctionRecommendationFindingReasonCodeMemoryUnderprovisioned = "MemoryUnderprovisioned"
// LambdaFunctionRecommendationFindingReasonCodeInsufficientData is a LambdaFunctionRecommendationFindingReasonCode enum value
LambdaFunctionRecommendationFindingReasonCodeInsufficientData = "InsufficientData"
// LambdaFunctionRecommendationFindingReasonCodeInconclusive is a LambdaFunctionRecommendationFindingReasonCode enum value
LambdaFunctionRecommendationFindingReasonCodeInconclusive = "Inconclusive"
)
// LambdaFunctionRecommendationFindingReasonCode_Values returns all elements of the LambdaFunctionRecommendationFindingReasonCode enum
func LambdaFunctionRecommendationFindingReasonCode_Values() []string {
return []string{
LambdaFunctionRecommendationFindingReasonCodeMemoryOverprovisioned,
LambdaFunctionRecommendationFindingReasonCodeMemoryUnderprovisioned,
LambdaFunctionRecommendationFindingReasonCodeInsufficientData,
LambdaFunctionRecommendationFindingReasonCodeInconclusive,
}
}
const (
// LambdaSavingsEstimationModeSourcePublicPricing is a LambdaSavingsEstimationModeSource enum value
LambdaSavingsEstimationModeSourcePublicPricing = "PublicPricing"
// LambdaSavingsEstimationModeSourceCostExplorerRightsizing is a LambdaSavingsEstimationModeSource enum value
LambdaSavingsEstimationModeSourceCostExplorerRightsizing = "CostExplorerRightsizing"
// LambdaSavingsEstimationModeSourceCostOptimizationHub is a LambdaSavingsEstimationModeSource enum value
LambdaSavingsEstimationModeSourceCostOptimizationHub = "CostOptimizationHub"
)
// LambdaSavingsEstimationModeSource_Values returns all elements of the LambdaSavingsEstimationModeSource enum
func LambdaSavingsEstimationModeSource_Values() []string {
return []string{
LambdaSavingsEstimationModeSourcePublicPricing,
LambdaSavingsEstimationModeSourceCostExplorerRightsizing,
LambdaSavingsEstimationModeSourceCostOptimizationHub,
}
}
const (
// LicenseEditionEnterprise is a LicenseEdition enum value
LicenseEditionEnterprise = "Enterprise"
// LicenseEditionStandard is a LicenseEdition enum value
LicenseEditionStandard = "Standard"
// LicenseEditionFree is a LicenseEdition enum value
LicenseEditionFree = "Free"
// LicenseEditionNoLicenseEditionFound is a LicenseEdition enum value
LicenseEditionNoLicenseEditionFound = "NoLicenseEditionFound"
)
// LicenseEdition_Values returns all elements of the LicenseEdition enum
func LicenseEdition_Values() []string {
return []string{
LicenseEditionEnterprise,
LicenseEditionStandard,
LicenseEditionFree,
LicenseEditionNoLicenseEditionFound,
}
}
const (
// LicenseFindingInsufficientMetrics is a LicenseFinding enum value
LicenseFindingInsufficientMetrics = "InsufficientMetrics"
// LicenseFindingOptimized is a LicenseFinding enum value
LicenseFindingOptimized = "Optimized"
// LicenseFindingNotOptimized is a LicenseFinding enum value
LicenseFindingNotOptimized = "NotOptimized"
)
// LicenseFinding_Values returns all elements of the LicenseFinding enum
func LicenseFinding_Values() []string {
return []string{
LicenseFindingInsufficientMetrics,
LicenseFindingOptimized,
LicenseFindingNotOptimized,
}
}
const (
// LicenseFindingReasonCodeInvalidCloudWatchApplicationInsightsSetup is a LicenseFindingReasonCode enum value
LicenseFindingReasonCodeInvalidCloudWatchApplicationInsightsSetup = "InvalidCloudWatchApplicationInsightsSetup"
// LicenseFindingReasonCodeCloudWatchApplicationInsightsError is a LicenseFindingReasonCode enum value
LicenseFindingReasonCodeCloudWatchApplicationInsightsError = "CloudWatchApplicationInsightsError"
// LicenseFindingReasonCodeLicenseOverprovisioned is a LicenseFindingReasonCode enum value
LicenseFindingReasonCodeLicenseOverprovisioned = "LicenseOverprovisioned"
// LicenseFindingReasonCodeOptimized is a LicenseFindingReasonCode enum value
LicenseFindingReasonCodeOptimized = "Optimized"
)
// LicenseFindingReasonCode_Values returns all elements of the LicenseFindingReasonCode enum
func LicenseFindingReasonCode_Values() []string {
return []string{
LicenseFindingReasonCodeInvalidCloudWatchApplicationInsightsSetup,
LicenseFindingReasonCodeCloudWatchApplicationInsightsError,
LicenseFindingReasonCodeLicenseOverprovisioned,
LicenseFindingReasonCodeOptimized,
}
}
const (
// LicenseModelLicenseIncluded is a LicenseModel enum value
LicenseModelLicenseIncluded = "LicenseIncluded"
// LicenseModelBringYourOwnLicense is a LicenseModel enum value
LicenseModelBringYourOwnLicense = "BringYourOwnLicense"
)
// LicenseModel_Values returns all elements of the LicenseModel enum
func LicenseModel_Values() []string {
return []string{
LicenseModelLicenseIncluded,
LicenseModelBringYourOwnLicense,
}
}
const (
// LicenseNameSqlserver is a LicenseName enum value
LicenseNameSqlserver = "SQLServer"
)
// LicenseName_Values returns all elements of the LicenseName enum
func LicenseName_Values() []string {
return []string{
LicenseNameSqlserver,
}
}
const (
// LicenseRecommendationFilterNameFinding is a LicenseRecommendationFilterName enum value
LicenseRecommendationFilterNameFinding = "Finding"
// LicenseRecommendationFilterNameFindingReasonCode is a LicenseRecommendationFilterName enum value
LicenseRecommendationFilterNameFindingReasonCode = "FindingReasonCode"
// LicenseRecommendationFilterNameLicenseName is a LicenseRecommendationFilterName enum value
LicenseRecommendationFilterNameLicenseName = "LicenseName"
)
// LicenseRecommendationFilterName_Values returns all elements of the LicenseRecommendationFilterName enum
func LicenseRecommendationFilterName_Values() []string {
return []string{
LicenseRecommendationFilterNameFinding,
LicenseRecommendationFilterNameFindingReasonCode,
LicenseRecommendationFilterNameLicenseName,
}
}
const (
// LookBackPeriodPreferenceDays14 is a LookBackPeriodPreference enum value
LookBackPeriodPreferenceDays14 = "DAYS_14"
// LookBackPeriodPreferenceDays32 is a LookBackPeriodPreference enum value
LookBackPeriodPreferenceDays32 = "DAYS_32"
// LookBackPeriodPreferenceDays93 is a LookBackPeriodPreference enum value
LookBackPeriodPreferenceDays93 = "DAYS_93"
)
// LookBackPeriodPreference_Values returns all elements of the LookBackPeriodPreference enum
func LookBackPeriodPreference_Values() []string {
return []string{
LookBackPeriodPreferenceDays14,
LookBackPeriodPreferenceDays32,
LookBackPeriodPreferenceDays93,
}
}
const (
// MetricNameCpu is a MetricName enum value
MetricNameCpu = "Cpu"
// MetricNameMemory is a MetricName enum value
MetricNameMemory = "Memory"
// MetricNameEbsReadOpsPerSecond is a MetricName enum value
MetricNameEbsReadOpsPerSecond = "EBS_READ_OPS_PER_SECOND"
// MetricNameEbsWriteOpsPerSecond is a MetricName enum value
MetricNameEbsWriteOpsPerSecond = "EBS_WRITE_OPS_PER_SECOND"
// MetricNameEbsReadBytesPerSecond is a MetricName enum value
MetricNameEbsReadBytesPerSecond = "EBS_READ_BYTES_PER_SECOND"
// MetricNameEbsWriteBytesPerSecond is a MetricName enum value
MetricNameEbsWriteBytesPerSecond = "EBS_WRITE_BYTES_PER_SECOND"
// MetricNameDiskReadOpsPerSecond is a MetricName enum value
MetricNameDiskReadOpsPerSecond = "DISK_READ_OPS_PER_SECOND"
// MetricNameDiskWriteOpsPerSecond is a MetricName enum value
MetricNameDiskWriteOpsPerSecond = "DISK_WRITE_OPS_PER_SECOND"
// MetricNameDiskReadBytesPerSecond is a MetricName enum value
MetricNameDiskReadBytesPerSecond = "DISK_READ_BYTES_PER_SECOND"
// MetricNameDiskWriteBytesPerSecond is a MetricName enum value
MetricNameDiskWriteBytesPerSecond = "DISK_WRITE_BYTES_PER_SECOND"
// MetricNameNetworkInBytesPerSecond is a MetricName enum value
MetricNameNetworkInBytesPerSecond = "NETWORK_IN_BYTES_PER_SECOND"
// MetricNameNetworkOutBytesPerSecond is a MetricName enum value
MetricNameNetworkOutBytesPerSecond = "NETWORK_OUT_BYTES_PER_SECOND"
// MetricNameNetworkPacketsInPerSecond is a MetricName enum value
MetricNameNetworkPacketsInPerSecond = "NETWORK_PACKETS_IN_PER_SECOND"
// MetricNameNetworkPacketsOutPerSecond is a MetricName enum value
MetricNameNetworkPacketsOutPerSecond = "NETWORK_PACKETS_OUT_PER_SECOND"
// MetricNameGpuPercentage is a MetricName enum value
MetricNameGpuPercentage = "GPU_PERCENTAGE"
// MetricNameGpuMemoryPercentage is a MetricName enum value
MetricNameGpuMemoryPercentage = "GPU_MEMORY_PERCENTAGE"
)
// MetricName_Values returns all elements of the MetricName enum
func MetricName_Values() []string {
return []string{
MetricNameCpu,
MetricNameMemory,
MetricNameEbsReadOpsPerSecond,
MetricNameEbsWriteOpsPerSecond,
MetricNameEbsReadBytesPerSecond,
MetricNameEbsWriteBytesPerSecond,
MetricNameDiskReadOpsPerSecond,
MetricNameDiskWriteOpsPerSecond,
MetricNameDiskReadBytesPerSecond,
MetricNameDiskWriteBytesPerSecond,
MetricNameNetworkInBytesPerSecond,
MetricNameNetworkOutBytesPerSecond,
MetricNameNetworkPacketsInPerSecond,
MetricNameNetworkPacketsOutPerSecond,
MetricNameGpuPercentage,
MetricNameGpuMemoryPercentage,
}
}
const (
// MetricSourceProviderCloudWatchApplicationInsights is a MetricSourceProvider enum value
MetricSourceProviderCloudWatchApplicationInsights = "CloudWatchApplicationInsights"
)
// MetricSourceProvider_Values returns all elements of the MetricSourceProvider enum
func MetricSourceProvider_Values() []string {
return []string{
MetricSourceProviderCloudWatchApplicationInsights,
}
}
const (
// MetricStatisticMaximum is a MetricStatistic enum value
MetricStatisticMaximum = "Maximum"
// MetricStatisticAverage is a MetricStatistic enum value
MetricStatisticAverage = "Average"
)
// MetricStatistic_Values returns all elements of the MetricStatistic enum
func MetricStatistic_Values() []string {
return []string{
MetricStatisticMaximum,
MetricStatisticAverage,
}
}
const (
// MigrationEffortVeryLow is a MigrationEffort enum value
MigrationEffortVeryLow = "VeryLow"
// MigrationEffortLow is a MigrationEffort enum value
MigrationEffortLow = "Low"
// MigrationEffortMedium is a MigrationEffort enum value
MigrationEffortMedium = "Medium"
// MigrationEffortHigh is a MigrationEffort enum value
MigrationEffortHigh = "High"
)
// MigrationEffort_Values returns all elements of the MigrationEffort enum
func MigrationEffort_Values() []string {
return []string{
MigrationEffortVeryLow,
MigrationEffortLow,
MigrationEffortMedium,
MigrationEffortHigh,
}
}
const (
// PlatformDifferenceHypervisor is a PlatformDifference enum value
PlatformDifferenceHypervisor = "Hypervisor"
// PlatformDifferenceNetworkInterface is a PlatformDifference enum value
PlatformDifferenceNetworkInterface = "NetworkInterface"
// PlatformDifferenceStorageInterface is a PlatformDifference enum value
PlatformDifferenceStorageInterface = "StorageInterface"
// PlatformDifferenceInstanceStoreAvailability is a PlatformDifference enum value
PlatformDifferenceInstanceStoreAvailability = "InstanceStoreAvailability"
// PlatformDifferenceVirtualizationType is a PlatformDifference enum value
PlatformDifferenceVirtualizationType = "VirtualizationType"
// PlatformDifferenceArchitecture is a PlatformDifference enum value
PlatformDifferenceArchitecture = "Architecture"
)
// PlatformDifference_Values returns all elements of the PlatformDifference enum
func PlatformDifference_Values() []string {
return []string{
PlatformDifferenceHypervisor,
PlatformDifferenceNetworkInterface,
PlatformDifferenceStorageInterface,
PlatformDifferenceInstanceStoreAvailability,
PlatformDifferenceVirtualizationType,
PlatformDifferenceArchitecture,
}
}
const (
// PreferredResourceNameEc2instanceTypes is a PreferredResourceName enum value
PreferredResourceNameEc2instanceTypes = "Ec2InstanceTypes"
)
// PreferredResourceName_Values returns all elements of the PreferredResourceName enum
func PreferredResourceName_Values() []string {
return []string{
PreferredResourceNameEc2instanceTypes,
}
}
const (
// RDSDBMetricNameCpu is a RDSDBMetricName enum value
RDSDBMetricNameCpu = "CPU"
// RDSDBMetricNameMemory is a RDSDBMetricName enum value
RDSDBMetricNameMemory = "Memory"
// RDSDBMetricNameEbsvolumeStorageSpaceUtilization is a RDSDBMetricName enum value
RDSDBMetricNameEbsvolumeStorageSpaceUtilization = "EBSVolumeStorageSpaceUtilization"
// RDSDBMetricNameNetworkReceiveThroughput is a RDSDBMetricName enum value
RDSDBMetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
// RDSDBMetricNameNetworkTransmitThroughput is a RDSDBMetricName enum value
RDSDBMetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
// RDSDBMetricNameEbsvolumeReadIops is a RDSDBMetricName enum value
RDSDBMetricNameEbsvolumeReadIops = "EBSVolumeReadIOPS"
// RDSDBMetricNameEbsvolumeWriteIops is a RDSDBMetricName enum value
RDSDBMetricNameEbsvolumeWriteIops = "EBSVolumeWriteIOPS"
// RDSDBMetricNameEbsvolumeReadThroughput is a RDSDBMetricName enum value
RDSDBMetricNameEbsvolumeReadThroughput = "EBSVolumeReadThroughput"
// RDSDBMetricNameEbsvolumeWriteThroughput is a RDSDBMetricName enum value
RDSDBMetricNameEbsvolumeWriteThroughput = "EBSVolumeWriteThroughput"
// RDSDBMetricNameDatabaseConnections is a RDSDBMetricName enum value
RDSDBMetricNameDatabaseConnections = "DatabaseConnections"
)
// RDSDBMetricName_Values returns all elements of the RDSDBMetricName enum
func RDSDBMetricName_Values() []string {
return []string{
RDSDBMetricNameCpu,
RDSDBMetricNameMemory,
RDSDBMetricNameEbsvolumeStorageSpaceUtilization,
RDSDBMetricNameNetworkReceiveThroughput,
RDSDBMetricNameNetworkTransmitThroughput,
RDSDBMetricNameEbsvolumeReadIops,
RDSDBMetricNameEbsvolumeWriteIops,
RDSDBMetricNameEbsvolumeReadThroughput,
RDSDBMetricNameEbsvolumeWriteThroughput,
RDSDBMetricNameDatabaseConnections,
}
}
const (
// RDSDBMetricStatisticMaximum is a RDSDBMetricStatistic enum value
RDSDBMetricStatisticMaximum = "Maximum"
// RDSDBMetricStatisticMinimum is a RDSDBMetricStatistic enum value
RDSDBMetricStatisticMinimum = "Minimum"
// RDSDBMetricStatisticAverage is a RDSDBMetricStatistic enum value
RDSDBMetricStatisticAverage = "Average"
)
// RDSDBMetricStatistic_Values returns all elements of the RDSDBMetricStatistic enum
func RDSDBMetricStatistic_Values() []string {
return []string{
RDSDBMetricStatisticMaximum,
RDSDBMetricStatisticMinimum,
RDSDBMetricStatisticAverage,
}
}
const (
// RDSDBRecommendationFilterNameInstanceFinding is a RDSDBRecommendationFilterName enum value
RDSDBRecommendationFilterNameInstanceFinding = "InstanceFinding"
// RDSDBRecommendationFilterNameInstanceFindingReasonCode is a RDSDBRecommendationFilterName enum value
RDSDBRecommendationFilterNameInstanceFindingReasonCode = "InstanceFindingReasonCode"
// RDSDBRecommendationFilterNameStorageFinding is a RDSDBRecommendationFilterName enum value
RDSDBRecommendationFilterNameStorageFinding = "StorageFinding"
// RDSDBRecommendationFilterNameStorageFindingReasonCode is a RDSDBRecommendationFilterName enum value
RDSDBRecommendationFilterNameStorageFindingReasonCode = "StorageFindingReasonCode"
// RDSDBRecommendationFilterNameIdle is a RDSDBRecommendationFilterName enum value
RDSDBRecommendationFilterNameIdle = "Idle"
)
// RDSDBRecommendationFilterName_Values returns all elements of the RDSDBRecommendationFilterName enum
func RDSDBRecommendationFilterName_Values() []string {
return []string{
RDSDBRecommendationFilterNameInstanceFinding,
RDSDBRecommendationFilterNameInstanceFindingReasonCode,
RDSDBRecommendationFilterNameStorageFinding,
RDSDBRecommendationFilterNameStorageFindingReasonCode,
RDSDBRecommendationFilterNameIdle,
}
}
const (
// RDSInstanceFindingOptimized is a RDSInstanceFinding enum value
RDSInstanceFindingOptimized = "Optimized"
// RDSInstanceFindingUnderprovisioned is a RDSInstanceFinding enum value
RDSInstanceFindingUnderprovisioned = "Underprovisioned"
// RDSInstanceFindingOverprovisioned is a RDSInstanceFinding enum value
RDSInstanceFindingOverprovisioned = "Overprovisioned"
)
// RDSInstanceFinding_Values returns all elements of the RDSInstanceFinding enum
func RDSInstanceFinding_Values() []string {
return []string{
RDSInstanceFindingOptimized,
RDSInstanceFindingUnderprovisioned,
RDSInstanceFindingOverprovisioned,
}
}
const (
// RDSInstanceFindingReasonCodeCpuoverprovisioned is a RDSInstanceFindingReasonCode enum value
RDSInstanceFindingReasonCodeCpuoverprovisioned = "CPUOverprovisioned"
// RDSInstanceFindingReasonCodeNetworkBandwidthOverprovisioned is a RDSInstanceFindingReasonCode enum value
RDSInstanceFindingReasonCodeNetworkBandwidthOverprovisioned = "NetworkBandwidthOverprovisioned"
// RDSInstanceFindingReasonCodeEbsiopsoverprovisioned is a RDSInstanceFindingReasonCode enum value
RDSInstanceFindingReasonCodeEbsiopsoverprovisioned = "EBSIOPSOverprovisioned"
// RDSInstanceFindingReasonCodeEbsthroughputOverprovisioned is a RDSInstanceFindingReasonCode enum value
RDSInstanceFindingReasonCodeEbsthroughputOverprovisioned = "EBSThroughputOverprovisioned"
// RDSInstanceFindingReasonCodeCpuunderprovisioned is a RDSInstanceFindingReasonCode enum value
RDSInstanceFindingReasonCodeCpuunderprovisioned = "CPUUnderprovisioned"
// RDSInstanceFindingReasonCodeNetworkBandwidthUnderprovisioned is a RDSInstanceFindingReasonCode enum value
RDSInstanceFindingReasonCodeNetworkBandwidthUnderprovisioned = "NetworkBandwidthUnderprovisioned"
// RDSInstanceFindingReasonCodeEbsthroughputUnderprovisioned is a RDSInstanceFindingReasonCode enum value
RDSInstanceFindingReasonCodeEbsthroughputUnderprovisioned = "EBSThroughputUnderprovisioned"
// RDSInstanceFindingReasonCodeNewGenerationDbinstanceClassAvailable is a RDSInstanceFindingReasonCode enum value
RDSInstanceFindingReasonCodeNewGenerationDbinstanceClassAvailable = "NewGenerationDBInstanceClassAvailable"
// RDSInstanceFindingReasonCodeNewEngineVersionAvailable is a RDSInstanceFindingReasonCode enum value
RDSInstanceFindingReasonCodeNewEngineVersionAvailable = "NewEngineVersionAvailable"
)
// RDSInstanceFindingReasonCode_Values returns all elements of the RDSInstanceFindingReasonCode enum
func RDSInstanceFindingReasonCode_Values() []string {
return []string{
RDSInstanceFindingReasonCodeCpuoverprovisioned,
RDSInstanceFindingReasonCodeNetworkBandwidthOverprovisioned,
RDSInstanceFindingReasonCodeEbsiopsoverprovisioned,
RDSInstanceFindingReasonCodeEbsthroughputOverprovisioned,
RDSInstanceFindingReasonCodeCpuunderprovisioned,
RDSInstanceFindingReasonCodeNetworkBandwidthUnderprovisioned,
RDSInstanceFindingReasonCodeEbsthroughputUnderprovisioned,
RDSInstanceFindingReasonCodeNewGenerationDbinstanceClassAvailable,
RDSInstanceFindingReasonCodeNewEngineVersionAvailable,
}
}
const (
// RDSSavingsEstimationModeSourcePublicPricing is a RDSSavingsEstimationModeSource enum value
RDSSavingsEstimationModeSourcePublicPricing = "PublicPricing"
// RDSSavingsEstimationModeSourceCostExplorerRightsizing is a RDSSavingsEstimationModeSource enum value
RDSSavingsEstimationModeSourceCostExplorerRightsizing = "CostExplorerRightsizing"
// RDSSavingsEstimationModeSourceCostOptimizationHub is a RDSSavingsEstimationModeSource enum value
RDSSavingsEstimationModeSourceCostOptimizationHub = "CostOptimizationHub"
)
// RDSSavingsEstimationModeSource_Values returns all elements of the RDSSavingsEstimationModeSource enum
func RDSSavingsEstimationModeSource_Values() []string {
return []string{
RDSSavingsEstimationModeSourcePublicPricing,
RDSSavingsEstimationModeSourceCostExplorerRightsizing,
RDSSavingsEstimationModeSourceCostOptimizationHub,
}
}
const (
// RDSStorageFindingOptimized is a RDSStorageFinding enum value
RDSStorageFindingOptimized = "Optimized"
// RDSStorageFindingUnderprovisioned is a RDSStorageFinding enum value
RDSStorageFindingUnderprovisioned = "Underprovisioned"
// RDSStorageFindingOverprovisioned is a RDSStorageFinding enum value
RDSStorageFindingOverprovisioned = "Overprovisioned"
)
// RDSStorageFinding_Values returns all elements of the RDSStorageFinding enum
func RDSStorageFinding_Values() []string {
return []string{
RDSStorageFindingOptimized,
RDSStorageFindingUnderprovisioned,
RDSStorageFindingOverprovisioned,
}
}
const (
// RDSStorageFindingReasonCodeEbsvolumeAllocatedStorageUnderprovisioned is a RDSStorageFindingReasonCode enum value
RDSStorageFindingReasonCodeEbsvolumeAllocatedStorageUnderprovisioned = "EBSVolumeAllocatedStorageUnderprovisioned"
// RDSStorageFindingReasonCodeEbsvolumeThroughputUnderprovisioned is a RDSStorageFindingReasonCode enum value
RDSStorageFindingReasonCodeEbsvolumeThroughputUnderprovisioned = "EBSVolumeThroughputUnderprovisioned"
// RDSStorageFindingReasonCodeEbsvolumeIopsoverprovisioned is a RDSStorageFindingReasonCode enum value
RDSStorageFindingReasonCodeEbsvolumeIopsoverprovisioned = "EBSVolumeIOPSOverprovisioned"
// RDSStorageFindingReasonCodeEbsvolumeThroughputOverprovisioned is a RDSStorageFindingReasonCode enum value
RDSStorageFindingReasonCodeEbsvolumeThroughputOverprovisioned = "EBSVolumeThroughputOverprovisioned"
// RDSStorageFindingReasonCodeNewGenerationStorageTypeAvailable is a RDSStorageFindingReasonCode enum value
RDSStorageFindingReasonCodeNewGenerationStorageTypeAvailable = "NewGenerationStorageTypeAvailable"
)
// RDSStorageFindingReasonCode_Values returns all elements of the RDSStorageFindingReasonCode enum
func RDSStorageFindingReasonCode_Values() []string {
return []string{
RDSStorageFindingReasonCodeEbsvolumeAllocatedStorageUnderprovisioned,
RDSStorageFindingReasonCodeEbsvolumeThroughputUnderprovisioned,
RDSStorageFindingReasonCodeEbsvolumeIopsoverprovisioned,
RDSStorageFindingReasonCodeEbsvolumeThroughputOverprovisioned,
RDSStorageFindingReasonCodeNewGenerationStorageTypeAvailable,
}
}
const (
// RecommendationPreferenceNameEnhancedInfrastructureMetrics is a RecommendationPreferenceName enum value
RecommendationPreferenceNameEnhancedInfrastructureMetrics = "EnhancedInfrastructureMetrics"
// RecommendationPreferenceNameInferredWorkloadTypes is a RecommendationPreferenceName enum value
RecommendationPreferenceNameInferredWorkloadTypes = "InferredWorkloadTypes"
// RecommendationPreferenceNameExternalMetricsPreference is a RecommendationPreferenceName enum value
RecommendationPreferenceNameExternalMetricsPreference = "ExternalMetricsPreference"
// RecommendationPreferenceNameLookBackPeriodPreference is a RecommendationPreferenceName enum value
RecommendationPreferenceNameLookBackPeriodPreference = "LookBackPeriodPreference"
// RecommendationPreferenceNamePreferredResources is a RecommendationPreferenceName enum value
RecommendationPreferenceNamePreferredResources = "PreferredResources"
// RecommendationPreferenceNameUtilizationPreferences is a RecommendationPreferenceName enum value
RecommendationPreferenceNameUtilizationPreferences = "UtilizationPreferences"
)
// RecommendationPreferenceName_Values returns all elements of the RecommendationPreferenceName enum
func RecommendationPreferenceName_Values() []string {
return []string{
RecommendationPreferenceNameEnhancedInfrastructureMetrics,
RecommendationPreferenceNameInferredWorkloadTypes,
RecommendationPreferenceNameExternalMetricsPreference,
RecommendationPreferenceNameLookBackPeriodPreference,
RecommendationPreferenceNamePreferredResources,
RecommendationPreferenceNameUtilizationPreferences,
}
}
const (
// RecommendationSourceTypeEc2instance is a RecommendationSourceType enum value
RecommendationSourceTypeEc2instance = "Ec2Instance"
// RecommendationSourceTypeAutoScalingGroup is a RecommendationSourceType enum value
RecommendationSourceTypeAutoScalingGroup = "AutoScalingGroup"
// RecommendationSourceTypeEbsVolume is a RecommendationSourceType enum value
RecommendationSourceTypeEbsVolume = "EbsVolume"
// RecommendationSourceTypeLambdaFunction is a RecommendationSourceType enum value
RecommendationSourceTypeLambdaFunction = "LambdaFunction"
// RecommendationSourceTypeEcsService is a RecommendationSourceType enum value
RecommendationSourceTypeEcsService = "EcsService"
// RecommendationSourceTypeLicense is a RecommendationSourceType enum value
RecommendationSourceTypeLicense = "License"
// RecommendationSourceTypeRdsDbinstance is a RecommendationSourceType enum value
RecommendationSourceTypeRdsDbinstance = "RdsDBInstance"
// RecommendationSourceTypeRdsDbinstanceStorage is a RecommendationSourceType enum value
RecommendationSourceTypeRdsDbinstanceStorage = "RdsDBInstanceStorage"
)
// RecommendationSourceType_Values returns all elements of the RecommendationSourceType enum
func RecommendationSourceType_Values() []string {
return []string{
RecommendationSourceTypeEc2instance,
RecommendationSourceTypeAutoScalingGroup,
RecommendationSourceTypeEbsVolume,
RecommendationSourceTypeLambdaFunction,
RecommendationSourceTypeEcsService,
RecommendationSourceTypeLicense,
RecommendationSourceTypeRdsDbinstance,
RecommendationSourceTypeRdsDbinstanceStorage,
}
}
const (
// ResourceTypeEc2instance is a ResourceType enum value
ResourceTypeEc2instance = "Ec2Instance"
// ResourceTypeAutoScalingGroup is a ResourceType enum value
ResourceTypeAutoScalingGroup = "AutoScalingGroup"
// ResourceTypeEbsVolume is a ResourceType enum value
ResourceTypeEbsVolume = "EbsVolume"
// ResourceTypeLambdaFunction is a ResourceType enum value
ResourceTypeLambdaFunction = "LambdaFunction"
// ResourceTypeNotApplicable is a ResourceType enum value
ResourceTypeNotApplicable = "NotApplicable"
// ResourceTypeEcsService is a ResourceType enum value
ResourceTypeEcsService = "EcsService"
// ResourceTypeLicense is a ResourceType enum value
ResourceTypeLicense = "License"
// ResourceTypeRdsDbinstance is a ResourceType enum value
ResourceTypeRdsDbinstance = "RdsDBInstance"
)
// ResourceType_Values returns all elements of the ResourceType enum
func ResourceType_Values() []string {
return []string{
ResourceTypeEc2instance,
ResourceTypeAutoScalingGroup,
ResourceTypeEbsVolume,
ResourceTypeLambdaFunction,
ResourceTypeNotApplicable,
ResourceTypeEcsService,
ResourceTypeLicense,
ResourceTypeRdsDbinstance,
}
}
const (
// SavingsEstimationModeAfterDiscounts is a SavingsEstimationMode enum value
SavingsEstimationModeAfterDiscounts = "AfterDiscounts"
// SavingsEstimationModeBeforeDiscounts is a SavingsEstimationMode enum value
SavingsEstimationModeBeforeDiscounts = "BeforeDiscounts"
)
// SavingsEstimationMode_Values returns all elements of the SavingsEstimationMode enum
func SavingsEstimationMode_Values() []string {
return []string{
SavingsEstimationModeAfterDiscounts,
SavingsEstimationModeBeforeDiscounts,
}
}
const (
// ScopeNameOrganization is a ScopeName enum value
ScopeNameOrganization = "Organization"
// ScopeNameAccountId is a ScopeName enum value
ScopeNameAccountId = "AccountId"
// ScopeNameResourceArn is a ScopeName enum value
ScopeNameResourceArn = "ResourceArn"
)
// ScopeName_Values returns all elements of the ScopeName enum
func ScopeName_Values() []string {
return []string{
ScopeNameOrganization,
ScopeNameAccountId,
ScopeNameResourceArn,
}
}
const (
// StatusActive is a Status enum value
StatusActive = "Active"
// StatusInactive is a Status enum value
StatusInactive = "Inactive"
// StatusPending is a Status enum value
StatusPending = "Pending"
// StatusFailed is a Status enum value
StatusFailed = "Failed"
)
// Status_Values returns all elements of the Status enum
func Status_Values() []string {
return []string{
StatusActive,
StatusInactive,
StatusPending,
StatusFailed,
}
}