computeoptimizer

package
v0.24.0 Latest Latest
Warning

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

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

Documentation

Overview

Package computeoptimizer provides the client and types for making API requests to AWS Compute Optimizer.

AWS Compute Optimizer is a service that analyzes the configuration and utilization metrics of your AWS resources, such as EC2 instances and Auto Scaling groups. It reports whether your resources are optimal, and generates optimization recommendations to reduce the cost and improve the performance of your workloads. Compute Optimizer also provides recent utilization metric data, as well as projected utilization metric data for the recommendations, which you can use to evaluate which recommendation provides the best price-performance trade-off. The analysis of your usage patterns can help you decide when to move or resize your running resources, and still meet your performance and capacity requirements. For more information about Compute Optimizer, including the required permissions to use the service, see the AWS Compute Optimizer User Guide (https://docs.aws.amazon.com/compute-optimizer/latest/ug/).

See https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01 for more information on this service.

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

Using the Client

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

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

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

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

Index

Constants

View Source
const (
	ServiceName = "AWS Compute Optimizer" // Service's name
	ServiceID   = "ComputeOptimizer"      // Service's identifier
	EndpointsID = "compute-optimizer"     // Service's Endpoint identifier
)
View Source
const (

	// ErrCodeAccessDeniedException for service response error code
	// "AccessDeniedException".
	//
	// You do not have sufficient access to perform this action.
	ErrCodeAccessDeniedException = "AccessDeniedException"

	// ErrCodeInternalServerException for service response error code
	// "InternalServerException".
	//
	// An internal error has occurred. Try your call again.
	ErrCodeInternalServerException = "InternalServerException"

	// ErrCodeInvalidParameterValueException for service response error code
	// "InvalidParameterValueException".
	//
	// An invalid or out-of-range value was supplied for the input parameter.
	ErrCodeInvalidParameterValueException = "InvalidParameterValueException"

	// ErrCodeLimitExceededException for service response error code
	// "LimitExceededException".
	//
	// The request exceeds a limit of the service.
	ErrCodeLimitExceededException = "LimitExceededException"

	// ErrCodeMissingAuthenticationToken for service response error code
	// "MissingAuthenticationToken".
	//
	// The request must contain either a valid (registered) AWS access key ID or
	// X.509 certificate.
	ErrCodeMissingAuthenticationToken = "MissingAuthenticationToken"

	// ErrCodeOptInRequiredException for service response error code
	// "OptInRequiredException".
	//
	// The account is not opted in to AWS Compute Optimizer.
	ErrCodeOptInRequiredException = "OptInRequiredException"

	// ErrCodeResourceNotFoundException for service response error code
	// "ResourceNotFoundException".
	//
	// A resource that is required for the action doesn't exist.
	ErrCodeResourceNotFoundException = "ResourceNotFoundException"

	// ErrCodeServiceUnavailableException for service response error code
	// "ServiceUnavailableException".
	//
	// The request has failed due to a temporary failure of the server.
	ErrCodeServiceUnavailableException = "ServiceUnavailableException"

	// ErrCodeThrottlingException for service response error code
	// "ThrottlingException".
	//
	// The request was denied due to request throttling.
	ErrCodeThrottlingException = "ThrottlingException"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AutoScalingGroupConfiguration

type AutoScalingGroupConfiguration struct {

	// 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"`
	// contains filtered or unexported fields
}

Describes the configuration of an Auto Scaling group.

func (AutoScalingGroupConfiguration) String

String returns the string representation

type AutoScalingGroupRecommendation

type AutoScalingGroupRecommendation struct {

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

	// The finding classification for the Auto Scaling group.
	//
	// Findings for Auto Scaling groups include:
	//
	//    * NotOptimized —An Auto Scaling group is considered not optimized when
	//    AWS 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.
	//
	// The values that are returned might be NOT_OPTIMIZED or OPTIMIZED.
	Finding Finding `locationName:"finding" type:"string" enum:"true"`

	// The time stamp of when the Auto Scaling group recommendation was last refreshed.
	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"`
	// contains filtered or unexported fields
}

Describes an Auto Scaling group recommendation.

func (AutoScalingGroupRecommendation) String

String returns the string representation

type AutoScalingGroupRecommendationOption

type AutoScalingGroupRecommendationOption struct {

	// An array of objects that describe an Auto Scaling group configuration.
	Configuration *AutoScalingGroupConfiguration `locationName:"configuration" type:"structure"`

	// The performance risk of the Auto Scaling group configuration recommendation.
	//
	// Performance risk is the likelihood of the recommended instance type not meeting
	// the performance requirement of your workload.
	//
	// The lowest performance risk is categorized as 0, and the highest as 5.
	PerformanceRisk *float64 `locationName:"performanceRisk" type:"double"`

	// An array of objects that describe the projected utilization metrics of the
	// Auto Scaling group recommendation option.
	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"`
	// contains filtered or unexported fields
}

Describes a recommendation option for an Auto Scaling group.

func (AutoScalingGroupRecommendationOption) String

String returns the string representation

type Client

type Client struct {
	*aws.Client
}

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

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

func New

func New(config aws.Config) *Client

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

Example:

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

func (*Client) DescribeRecommendationExportJobsRequest added in v0.24.0

func (c *Client) DescribeRecommendationExportJobsRequest(input *DescribeRecommendationExportJobsInput) DescribeRecommendationExportJobsRequest

DescribeRecommendationExportJobsRequest returns a request value for making 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.

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

Please also see https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DescribeRecommendationExportJobs

func (*Client) ExportAutoScalingGroupRecommendationsRequest added in v0.24.0

func (c *Client) ExportAutoScalingGroupRecommendationsRequest(input *ExportAutoScalingGroupRecommendationsInput) ExportAutoScalingGroupRecommendationsRequest

ExportAutoScalingGroupRecommendationsRequest returns a request value for making 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) 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 AWS Region.

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

Please also see https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportAutoScalingGroupRecommendations

func (*Client) ExportEC2InstanceRecommendationsRequest added in v0.24.0

func (c *Client) ExportEC2InstanceRecommendationsRequest(input *ExportEC2InstanceRecommendationsInput) ExportEC2InstanceRecommendationsRequest

ExportEC2InstanceRecommendationsRequest returns a request value for making 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) 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 AWS Region.

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

Please also see https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendations

func (*Client) GetAutoScalingGroupRecommendationsRequest

func (c *Client) GetAutoScalingGroupRecommendationsRequest(input *GetAutoScalingGroupRecommendationsInput) GetAutoScalingGroupRecommendationsRequest

GetAutoScalingGroupRecommendationsRequest returns a request value for making API operation for AWS Compute Optimizer.

Returns Auto Scaling group recommendations.

AWS Compute Optimizer currently generates recommendations for Auto Scaling groups that are configured to run instances of the M, C, R, T, and X instance families. The service does not generate recommendations for Auto Scaling groups that have a scaling policy attached to them, or that do not have the same values for desired, minimum, and maximum capacity. In order for Compute Optimizer to analyze your Auto Scaling groups, they must be of a fixed size. For more information, see the AWS Compute Optimizer User Guide (https://docs.aws.amazon.com/compute-optimizer/latest/ug/what-is.html).

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

Please also see https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetAutoScalingGroupRecommendations

func (*Client) GetEC2InstanceRecommendationsRequest

func (c *Client) GetEC2InstanceRecommendationsRequest(input *GetEC2InstanceRecommendationsInput) GetEC2InstanceRecommendationsRequest

GetEC2InstanceRecommendationsRequest returns a request value for making API operation for AWS Compute Optimizer.

Returns Amazon EC2 instance recommendations.

AWS Compute Optimizer currently generates recommendations for Amazon Elastic Compute Cloud (Amazon EC2) and Amazon EC2 Auto Scaling. It generates recommendations for M, C, R, T, and X instance families. For more information, see the AWS Compute Optimizer User Guide (https://docs.aws.amazon.com/compute-optimizer/latest/ug/what-is.html).

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

Please also see https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2InstanceRecommendations

func (*Client) GetEC2RecommendationProjectedMetricsRequest

func (c *Client) GetEC2RecommendationProjectedMetricsRequest(input *GetEC2RecommendationProjectedMetricsInput) GetEC2RecommendationProjectedMetricsRequest

GetEC2RecommendationProjectedMetricsRequest returns a request value for making API operation for AWS Compute Optimizer.

Returns the projected utilization metrics of Amazon EC2 instance recommendations.

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

Please also see https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2RecommendationProjectedMetrics

func (*Client) GetEnrollmentStatusRequest

func (c *Client) GetEnrollmentStatusRequest(input *GetEnrollmentStatusInput) GetEnrollmentStatusRequest

GetEnrollmentStatusRequest returns a request value for making API operation for AWS Compute Optimizer.

Returns the enrollment (opt in) status of an account to the AWS Compute Optimizer service.

If the account is the master account of an organization, this action also confirms the enrollment status of member accounts within the organization.

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

Please also see https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatus

func (*Client) GetRecommendationSummariesRequest

func (c *Client) GetRecommendationSummariesRequest(input *GetRecommendationSummariesInput) GetRecommendationSummariesRequest

GetRecommendationSummariesRequest returns a request value for making API operation for AWS Compute Optimizer.

Returns the optimization findings for an account.

For example, it returns the number of Amazon EC2 instances in an account that are under-provisioned, over-provisioned, or optimized. It also returns the number of Auto Scaling groups in an account that are not optimized, or optimized.

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

Please also see https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries

func (*Client) UpdateEnrollmentStatusRequest

func (c *Client) UpdateEnrollmentStatusRequest(input *UpdateEnrollmentStatusInput) UpdateEnrollmentStatusRequest

UpdateEnrollmentStatusRequest returns a request value for making API operation for AWS Compute Optimizer.

Updates the enrollment (opt in) status of an account to the AWS Compute Optimizer service.

If the account is a master account of an organization, this action can also be used to enroll member accounts within the organization.

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

Please also see https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatus

type DescribeRecommendationExportJobsInput added in v0.24.0

type DescribeRecommendationExportJobsInput struct {

	// An array of objects that describe a filter to return 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"`
	// contains filtered or unexported fields
}

func (DescribeRecommendationExportJobsInput) String added in v0.24.0

String returns the string representation

type DescribeRecommendationExportJobsOutput added in v0.24.0

type DescribeRecommendationExportJobsOutput struct {

	// 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"`
	// contains filtered or unexported fields
}

func (DescribeRecommendationExportJobsOutput) String added in v0.24.0

String returns the string representation

type DescribeRecommendationExportJobsRequest added in v0.24.0

type DescribeRecommendationExportJobsRequest struct {
	*aws.Request
	Input *DescribeRecommendationExportJobsInput
	Copy  func(*DescribeRecommendationExportJobsInput) DescribeRecommendationExportJobsRequest
}

DescribeRecommendationExportJobsRequest is the request type for the DescribeRecommendationExportJobs API operation.

func (DescribeRecommendationExportJobsRequest) Send added in v0.24.0

Send marshals and sends the DescribeRecommendationExportJobs API request.

type DescribeRecommendationExportJobsResponse added in v0.24.0

type DescribeRecommendationExportJobsResponse struct {
	*DescribeRecommendationExportJobsOutput
	// contains filtered or unexported fields
}

DescribeRecommendationExportJobsResponse is the response type for the DescribeRecommendationExportJobs API operation.

func (*DescribeRecommendationExportJobsResponse) SDKResponseMetdata added in v0.24.0

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

SDKResponseMetdata returns the response metadata for the DescribeRecommendationExportJobs request.

type ExportAutoScalingGroupRecommendationsInput added in v0.24.0

type ExportAutoScalingGroupRecommendationsInput struct {

	// The IDs of the AWS accounts for which to export Auto Scaling group recommendations.
	//
	// If your account is the master account of an organization, use this parameter
	// to specify the member accounts 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.
	FieldsToExport []ExportableAutoScalingGroupField `locationName:"fieldsToExport" type:"list"`

	// The format of the export file.
	//
	// The only export file format currently supported is Csv.
	FileFormat FileFormat `locationName:"fileFormat" type:"string" enum:"true"`

	// An array of objects that describe a filter to export 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 master account of an
	// organization.
	//
	// The member accounts must also be opted in to Compute Optimizer.
	//
	// 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 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 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"`
	// contains filtered or unexported fields
}

func (ExportAutoScalingGroupRecommendationsInput) String added in v0.24.0

String returns the string representation

func (*ExportAutoScalingGroupRecommendationsInput) Validate added in v0.24.0

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

type ExportAutoScalingGroupRecommendationsOutput added in v0.24.0

type ExportAutoScalingGroupRecommendationsOutput struct {

	// 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"`
	// contains filtered or unexported fields
}

func (ExportAutoScalingGroupRecommendationsOutput) String added in v0.24.0

String returns the string representation

type ExportAutoScalingGroupRecommendationsRequest added in v0.24.0

ExportAutoScalingGroupRecommendationsRequest is the request type for the ExportAutoScalingGroupRecommendations API operation.

func (ExportAutoScalingGroupRecommendationsRequest) Send added in v0.24.0

Send marshals and sends the ExportAutoScalingGroupRecommendations API request.

type ExportAutoScalingGroupRecommendationsResponse added in v0.24.0

type ExportAutoScalingGroupRecommendationsResponse struct {
	*ExportAutoScalingGroupRecommendationsOutput
	// contains filtered or unexported fields
}

ExportAutoScalingGroupRecommendationsResponse is the response type for the ExportAutoScalingGroupRecommendations API operation.

func (*ExportAutoScalingGroupRecommendationsResponse) SDKResponseMetdata added in v0.24.0

SDKResponseMetdata returns the response metadata for the ExportAutoScalingGroupRecommendations request.

type ExportDestination added in v0.24.0

type ExportDestination struct {

	// 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"`
	// contains filtered or unexported fields
}

Describes the destination of the recommendations export and metadata files.

func (ExportDestination) String added in v0.24.0

func (s ExportDestination) String() string

String returns the string representation

type ExportEC2InstanceRecommendationsInput added in v0.24.0

type ExportEC2InstanceRecommendationsInput struct {

	// The IDs of the AWS accounts for which to export instance recommendations.
	//
	// If your account is the master account of an organization, use this parameter
	// to specify the member accounts 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.
	FieldsToExport []ExportableInstanceField `locationName:"fieldsToExport" type:"list"`

	// The format of the export file.
	//
	// The only export file format currently supported is Csv.
	FileFormat FileFormat `locationName:"fileFormat" type:"string" enum:"true"`

	// An array of objects that describe a filter to export 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 master account of an
	// organization.
	//
	// The member accounts must also be opted in to Compute Optimizer.
	//
	// 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 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 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"`
	// contains filtered or unexported fields
}

func (ExportEC2InstanceRecommendationsInput) String added in v0.24.0

String returns the string representation

func (*ExportEC2InstanceRecommendationsInput) Validate added in v0.24.0

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

type ExportEC2InstanceRecommendationsOutput added in v0.24.0

type ExportEC2InstanceRecommendationsOutput struct {

	// 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"`
	// contains filtered or unexported fields
}

func (ExportEC2InstanceRecommendationsOutput) String added in v0.24.0

String returns the string representation

type ExportEC2InstanceRecommendationsRequest added in v0.24.0

type ExportEC2InstanceRecommendationsRequest struct {
	*aws.Request
	Input *ExportEC2InstanceRecommendationsInput
	Copy  func(*ExportEC2InstanceRecommendationsInput) ExportEC2InstanceRecommendationsRequest
}

ExportEC2InstanceRecommendationsRequest is the request type for the ExportEC2InstanceRecommendations API operation.

func (ExportEC2InstanceRecommendationsRequest) Send added in v0.24.0

Send marshals and sends the ExportEC2InstanceRecommendations API request.

type ExportEC2InstanceRecommendationsResponse added in v0.24.0

type ExportEC2InstanceRecommendationsResponse struct {
	*ExportEC2InstanceRecommendationsOutput
	// contains filtered or unexported fields
}

ExportEC2InstanceRecommendationsResponse is the response type for the ExportEC2InstanceRecommendations API operation.

func (*ExportEC2InstanceRecommendationsResponse) SDKResponseMetdata added in v0.24.0

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

SDKResponseMetdata returns the response metadata for the ExportEC2InstanceRecommendations request.

type ExportableAutoScalingGroupField added in v0.24.0

type ExportableAutoScalingGroupField string
const (
	ExportableAutoScalingGroupFieldAccountId                                                     ExportableAutoScalingGroupField = "AccountId"
	ExportableAutoScalingGroupFieldAutoScalingGroupArn                                           ExportableAutoScalingGroupField = "AutoScalingGroupArn"
	ExportableAutoScalingGroupFieldAutoScalingGroupName                                          ExportableAutoScalingGroupField = "AutoScalingGroupName"
	ExportableAutoScalingGroupFieldFinding                                                       ExportableAutoScalingGroupField = "Finding"
	ExportableAutoScalingGroupFieldUtilizationMetricsCpuMaximum                                  ExportableAutoScalingGroupField = "UtilizationMetricsCpuMaximum"
	ExportableAutoScalingGroupFieldUtilizationMetricsMemoryMaximum                               ExportableAutoScalingGroupField = "UtilizationMetricsMemoryMaximum"
	ExportableAutoScalingGroupFieldLookbackPeriodInDays                                          ExportableAutoScalingGroupField = "LookbackPeriodInDays"
	ExportableAutoScalingGroupFieldCurrentConfigurationInstanceType                              ExportableAutoScalingGroupField = "CurrentConfigurationInstanceType"
	ExportableAutoScalingGroupFieldCurrentConfigurationDesiredCapacity                           ExportableAutoScalingGroupField = "CurrentConfigurationDesiredCapacity"
	ExportableAutoScalingGroupFieldCurrentConfigurationMinSize                                   ExportableAutoScalingGroupField = "CurrentConfigurationMinSize"
	ExportableAutoScalingGroupFieldCurrentConfigurationMaxSize                                   ExportableAutoScalingGroupField = "CurrentConfigurationMaxSize"
	ExportableAutoScalingGroupFieldCurrentOnDemandPrice                                          ExportableAutoScalingGroupField = "CurrentOnDemandPrice"
	ExportableAutoScalingGroupFieldCurrentStandardOneYearNoUpfrontReservedPrice                  ExportableAutoScalingGroupField = "CurrentStandardOneYearNoUpfrontReservedPrice"
	ExportableAutoScalingGroupFieldCurrentStandardThreeYearNoUpfrontReservedPrice                ExportableAutoScalingGroupField = "CurrentStandardThreeYearNoUpfrontReservedPrice"
	ExportableAutoScalingGroupFieldCurrentVcpus                                                  ExportableAutoScalingGroupField = "CurrentVCpus"
	ExportableAutoScalingGroupFieldCurrentMemory                                                 ExportableAutoScalingGroupField = "CurrentMemory"
	ExportableAutoScalingGroupFieldCurrentStorage                                                ExportableAutoScalingGroupField = "CurrentStorage"
	ExportableAutoScalingGroupFieldCurrentNetwork                                                ExportableAutoScalingGroupField = "CurrentNetwork"
	ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationInstanceType                ExportableAutoScalingGroupField = "RecommendationOptionsConfigurationInstanceType"
	ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationDesiredCapacity             ExportableAutoScalingGroupField = "RecommendationOptionsConfigurationDesiredCapacity"
	ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMinSize                     ExportableAutoScalingGroupField = "RecommendationOptionsConfigurationMinSize"
	ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMaxSize                     ExportableAutoScalingGroupField = "RecommendationOptionsConfigurationMaxSize"
	ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum    ExportableAutoScalingGroupField = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum"
	ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum ExportableAutoScalingGroupField = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum"
	ExportableAutoScalingGroupFieldRecommendationOptionsPerformanceRisk                          ExportableAutoScalingGroupField = "RecommendationOptionsPerformanceRisk"
	ExportableAutoScalingGroupFieldRecommendationOptionsOnDemandPrice                            ExportableAutoScalingGroupField = "RecommendationOptionsOnDemandPrice"
	ExportableAutoScalingGroupFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice    ExportableAutoScalingGroupField = "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice"
	ExportableAutoScalingGroupFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice  ExportableAutoScalingGroupField = "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice"
	ExportableAutoScalingGroupFieldRecommendationOptionsVcpus                                    ExportableAutoScalingGroupField = "RecommendationOptionsVcpus"
	ExportableAutoScalingGroupFieldRecommendationOptionsMemory                                   ExportableAutoScalingGroupField = "RecommendationOptionsMemory"
	ExportableAutoScalingGroupFieldRecommendationOptionsStorage                                  ExportableAutoScalingGroupField = "RecommendationOptionsStorage"
	ExportableAutoScalingGroupFieldRecommendationOptionsNetwork                                  ExportableAutoScalingGroupField = "RecommendationOptionsNetwork"
	ExportableAutoScalingGroupFieldLastRefreshTimestamp                                          ExportableAutoScalingGroupField = "LastRefreshTimestamp"
)

Enum values for ExportableAutoScalingGroupField

func (ExportableAutoScalingGroupField) MarshalValue added in v0.24.0

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

func (ExportableAutoScalingGroupField) MarshalValueBuf added in v0.24.0

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

type ExportableInstanceField added in v0.24.0

type ExportableInstanceField string
const (
	ExportableInstanceFieldAccountId                                                     ExportableInstanceField = "AccountId"
	ExportableInstanceFieldInstanceArn                                                   ExportableInstanceField = "InstanceArn"
	ExportableInstanceFieldInstanceName                                                  ExportableInstanceField = "InstanceName"
	ExportableInstanceFieldFinding                                                       ExportableInstanceField = "Finding"
	ExportableInstanceFieldLookbackPeriodInDays                                          ExportableInstanceField = "LookbackPeriodInDays"
	ExportableInstanceFieldCurrentInstanceType                                           ExportableInstanceField = "CurrentInstanceType"
	ExportableInstanceFieldUtilizationMetricsCpuMaximum                                  ExportableInstanceField = "UtilizationMetricsCpuMaximum"
	ExportableInstanceFieldUtilizationMetricsMemoryMaximum                               ExportableInstanceField = "UtilizationMetricsMemoryMaximum"
	ExportableInstanceFieldCurrentOnDemandPrice                                          ExportableInstanceField = "CurrentOnDemandPrice"
	ExportableInstanceFieldCurrentStandardOneYearNoUpfrontReservedPrice                  ExportableInstanceField = "CurrentStandardOneYearNoUpfrontReservedPrice"
	ExportableInstanceFieldCurrentStandardThreeYearNoUpfrontReservedPrice                ExportableInstanceField = "CurrentStandardThreeYearNoUpfrontReservedPrice"
	ExportableInstanceFieldCurrentVcpus                                                  ExportableInstanceField = "CurrentVCpus"
	ExportableInstanceFieldCurrentMemory                                                 ExportableInstanceField = "CurrentMemory"
	ExportableInstanceFieldCurrentStorage                                                ExportableInstanceField = "CurrentStorage"
	ExportableInstanceFieldCurrentNetwork                                                ExportableInstanceField = "CurrentNetwork"
	ExportableInstanceFieldRecommendationOptionsInstanceType                             ExportableInstanceField = "RecommendationOptionsInstanceType"
	ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum    ExportableInstanceField = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum"
	ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum ExportableInstanceField = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum"
	ExportableInstanceFieldRecommendationOptionsPerformanceRisk                          ExportableInstanceField = "RecommendationOptionsPerformanceRisk"
	ExportableInstanceFieldRecommendationOptionsVcpus                                    ExportableInstanceField = "RecommendationOptionsVcpus"
	ExportableInstanceFieldRecommendationOptionsMemory                                   ExportableInstanceField = "RecommendationOptionsMemory"
	ExportableInstanceFieldRecommendationOptionsStorage                                  ExportableInstanceField = "RecommendationOptionsStorage"
	ExportableInstanceFieldRecommendationOptionsNetwork                                  ExportableInstanceField = "RecommendationOptionsNetwork"
	ExportableInstanceFieldRecommendationOptionsOnDemandPrice                            ExportableInstanceField = "RecommendationOptionsOnDemandPrice"
	ExportableInstanceFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice    ExportableInstanceField = "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice"
	ExportableInstanceFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice  ExportableInstanceField = "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice"
	ExportableInstanceFieldRecommendationsSourcesRecommendationSourceArn                 ExportableInstanceField = "RecommendationsSourcesRecommendationSourceArn"
	ExportableInstanceFieldRecommendationsSourcesRecommendationSourceType                ExportableInstanceField = "RecommendationsSourcesRecommendationSourceType"
	ExportableInstanceFieldLastRefreshTimestamp                                          ExportableInstanceField = "LastRefreshTimestamp"
)

Enum values for ExportableInstanceField

func (ExportableInstanceField) MarshalValue added in v0.24.0

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

func (ExportableInstanceField) MarshalValueBuf added in v0.24.0

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

type FileFormat added in v0.24.0

type FileFormat string
const (
	FileFormatCsv FileFormat = "Csv"
)

Enum values for FileFormat

func (FileFormat) MarshalValue added in v0.24.0

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

func (FileFormat) MarshalValueBuf added in v0.24.0

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

type Filter

type Filter struct {

	// The name of the filter.
	//
	// Specify Finding to return recommendations with a specific findings classification
	// (e.g., Overprovisioned).
	//
	// Specify RecommendationSourceType to return recommendations of a specific
	// resource type (e.g., AutoScalingGroup).
	Name FilterName `locationName:"name" type:"string" enum:"true"`

	// The value of the filter.
	//
	// If you specify the name parameter as Finding, and you request recommendations
	// for an instance, then the valid values are Underprovisioned, Overprovisioned,
	// NotOptimized, or Optimized.
	//
	// If you specify the name parameter as Finding, and you request recommendations
	// for an Auto Scaling group, then the valid values are Optimized, or NotOptimized.
	//
	// If you specify the name parameter as RecommendationSourceType, then the valid
	// values are Ec2Instance, or AutoScalingGroup.
	Values []string `locationName:"values" type:"list"`
	// contains filtered or unexported fields
}

Describes a filter that returns a more specific list of recommendations.

func (Filter) String

func (s Filter) String() string

String returns the string representation

type FilterName

type FilterName string
const (
	FilterNameFinding                  FilterName = "Finding"
	FilterNameRecommendationSourceType FilterName = "RecommendationSourceType"
)

Enum values for FilterName

func (FilterName) MarshalValue

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

func (FilterName) MarshalValueBuf

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

type Finding

type Finding string
const (
	FindingUnderprovisioned Finding = "Underprovisioned"
	FindingOverprovisioned  Finding = "Overprovisioned"
	FindingOptimized        Finding = "Optimized"
	FindingNotOptimized     Finding = "NotOptimized"
)

Enum values for Finding

func (Finding) MarshalValue

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

func (Finding) MarshalValueBuf

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

type GetAutoScalingGroupRecommendationsInput

type GetAutoScalingGroupRecommendationsInput struct {

	// The IDs of the AWS accounts for which to return Auto Scaling group recommendations.
	//
	// If your account is the master account of an organization, use this parameter
	// to specify the member accounts 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 that describe 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"`
	// contains filtered or unexported fields
}

func (GetAutoScalingGroupRecommendationsInput) String

String returns the string representation

type GetAutoScalingGroupRecommendationsOutput

type GetAutoScalingGroupRecommendationsOutput struct {

	// 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"`
	// contains filtered or unexported fields
}

func (GetAutoScalingGroupRecommendationsOutput) String

String returns the string representation

type GetAutoScalingGroupRecommendationsRequest

GetAutoScalingGroupRecommendationsRequest is the request type for the GetAutoScalingGroupRecommendations API operation.

func (GetAutoScalingGroupRecommendationsRequest) Send

Send marshals and sends the GetAutoScalingGroupRecommendations API request.

type GetAutoScalingGroupRecommendationsResponse

type GetAutoScalingGroupRecommendationsResponse struct {
	*GetAutoScalingGroupRecommendationsOutput
	// contains filtered or unexported fields
}

GetAutoScalingGroupRecommendationsResponse is the response type for the GetAutoScalingGroupRecommendations API operation.

func (*GetAutoScalingGroupRecommendationsResponse) SDKResponseMetdata

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

SDKResponseMetdata returns the response metadata for the GetAutoScalingGroupRecommendations request.

type GetEC2InstanceRecommendationsInput

type GetEC2InstanceRecommendationsInput struct {

	// The IDs of the AWS accounts for which to return instance recommendations.
	//
	// If your account is the master account of an organization, use this parameter
	// to specify the member accounts 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 that describe 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"`
	// contains filtered or unexported fields
}

func (GetEC2InstanceRecommendationsInput) String

String returns the string representation

type GetEC2InstanceRecommendationsOutput

type GetEC2InstanceRecommendationsOutput struct {

	// 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"`
	// contains filtered or unexported fields
}

func (GetEC2InstanceRecommendationsOutput) String

String returns the string representation

type GetEC2InstanceRecommendationsRequest

type GetEC2InstanceRecommendationsRequest struct {
	*aws.Request
	Input *GetEC2InstanceRecommendationsInput
	Copy  func(*GetEC2InstanceRecommendationsInput) GetEC2InstanceRecommendationsRequest
}

GetEC2InstanceRecommendationsRequest is the request type for the GetEC2InstanceRecommendations API operation.

func (GetEC2InstanceRecommendationsRequest) Send

Send marshals and sends the GetEC2InstanceRecommendations API request.

type GetEC2InstanceRecommendationsResponse

type GetEC2InstanceRecommendationsResponse struct {
	*GetEC2InstanceRecommendationsOutput
	// contains filtered or unexported fields
}

GetEC2InstanceRecommendationsResponse is the response type for the GetEC2InstanceRecommendations API operation.

func (*GetEC2InstanceRecommendationsResponse) SDKResponseMetdata

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

SDKResponseMetdata returns the response metadata for the GetEC2InstanceRecommendations request.

type GetEC2RecommendationProjectedMetricsInput

type GetEC2RecommendationProjectedMetricsInput struct {

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

	// The time stamp 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 MetricStatistic `locationName:"stat" type:"string" required:"true" enum:"true"`
	// contains filtered or unexported fields
}

func (GetEC2RecommendationProjectedMetricsInput) String

String returns the string representation

func (*GetEC2RecommendationProjectedMetricsInput) Validate

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

type GetEC2RecommendationProjectedMetricsOutput

type GetEC2RecommendationProjectedMetricsOutput struct {

	// An array of objects that describe a projected metrics.
	RecommendedOptionProjectedMetrics []RecommendedOptionProjectedMetric `locationName:"recommendedOptionProjectedMetrics" type:"list"`
	// contains filtered or unexported fields
}

func (GetEC2RecommendationProjectedMetricsOutput) String

String returns the string representation

type GetEC2RecommendationProjectedMetricsRequest

GetEC2RecommendationProjectedMetricsRequest is the request type for the GetEC2RecommendationProjectedMetrics API operation.

func (GetEC2RecommendationProjectedMetricsRequest) Send

Send marshals and sends the GetEC2RecommendationProjectedMetrics API request.

type GetEC2RecommendationProjectedMetricsResponse

type GetEC2RecommendationProjectedMetricsResponse struct {
	*GetEC2RecommendationProjectedMetricsOutput
	// contains filtered or unexported fields
}

GetEC2RecommendationProjectedMetricsResponse is the response type for the GetEC2RecommendationProjectedMetrics API operation.

func (*GetEC2RecommendationProjectedMetricsResponse) SDKResponseMetdata

SDKResponseMetdata returns the response metadata for the GetEC2RecommendationProjectedMetrics request.

type GetEnrollmentStatusInput

type GetEnrollmentStatusInput struct {
	// contains filtered or unexported fields
}

func (GetEnrollmentStatusInput) String

func (s GetEnrollmentStatusInput) String() string

String returns the string representation

type GetEnrollmentStatusOutput

type GetEnrollmentStatusOutput struct {

	// Confirms the enrollment status of member accounts within the organization,
	// if the account is a master account of an organization.
	MemberAccountsEnrolled *bool `locationName:"memberAccountsEnrolled" type:"boolean"`

	// The enrollment status of the account.
	Status Status `locationName:"status" type:"string" enum:"true"`

	// 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"`
	// contains filtered or unexported fields
}

func (GetEnrollmentStatusOutput) String

func (s GetEnrollmentStatusOutput) String() string

String returns the string representation

type GetEnrollmentStatusRequest

type GetEnrollmentStatusRequest struct {
	*aws.Request
	Input *GetEnrollmentStatusInput
	Copy  func(*GetEnrollmentStatusInput) GetEnrollmentStatusRequest
}

GetEnrollmentStatusRequest is the request type for the GetEnrollmentStatus API operation.

func (GetEnrollmentStatusRequest) Send

Send marshals and sends the GetEnrollmentStatus API request.

type GetEnrollmentStatusResponse

type GetEnrollmentStatusResponse struct {
	*GetEnrollmentStatusOutput
	// contains filtered or unexported fields
}

GetEnrollmentStatusResponse is the response type for the GetEnrollmentStatus API operation.

func (*GetEnrollmentStatusResponse) SDKResponseMetdata

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

SDKResponseMetdata returns the response metadata for the GetEnrollmentStatus request.

type GetRecommendationError

type GetRecommendationError struct {

	// 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"`
	// contains filtered or unexported fields
}

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.

func (GetRecommendationError) String

func (s GetRecommendationError) String() string

String returns the string representation

type GetRecommendationSummariesInput

type GetRecommendationSummariesInput struct {

	// The IDs of the AWS accounts for which to return recommendation summaries.
	//
	// If your account is the master account of an organization, use this parameter
	// to specify the member accounts 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"`
	// contains filtered or unexported fields
}

func (GetRecommendationSummariesInput) String

String returns the string representation

type GetRecommendationSummariesOutput

type GetRecommendationSummariesOutput struct {

	// 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"`
	// contains filtered or unexported fields
}

func (GetRecommendationSummariesOutput) String

String returns the string representation

type GetRecommendationSummariesRequest

type GetRecommendationSummariesRequest struct {
	*aws.Request
	Input *GetRecommendationSummariesInput
	Copy  func(*GetRecommendationSummariesInput) GetRecommendationSummariesRequest
}

GetRecommendationSummariesRequest is the request type for the GetRecommendationSummaries API operation.

func (GetRecommendationSummariesRequest) Send

Send marshals and sends the GetRecommendationSummaries API request.

type GetRecommendationSummariesResponse

type GetRecommendationSummariesResponse struct {
	*GetRecommendationSummariesOutput
	// contains filtered or unexported fields
}

GetRecommendationSummariesResponse is the response type for the GetRecommendationSummaries API operation.

func (*GetRecommendationSummariesResponse) SDKResponseMetdata

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

SDKResponseMetdata returns the response metadata for the GetRecommendationSummaries request.

type InstanceRecommendation

type InstanceRecommendation struct {

	// The AWS account ID of the instance.
	AccountId *string `locationName:"accountId" type:"string"`

	// The instance type of the current instance.
	CurrentInstanceType *string `locationName:"currentInstanceType" type:"string"`

	// The finding classification for 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. An optimized
	//    instance runs your workloads with optimal performance and infrastructure
	//    cost. For optimized resources, AWS Compute Optimizer might recommend a
	//    new generation instance type.
	//
	// The values that are returned might be UNDER_PROVISIONED, OVER_PROVISIONED,
	// or OPTIMIZED.
	Finding Finding `locationName:"finding" type:"string" enum:"true"`

	// 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 time stamp of when the instance recommendation was last refreshed.
	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"`

	// An array of objects that describe the utilization metrics of the instance.
	UtilizationMetrics []UtilizationMetric `locationName:"utilizationMetrics" type:"list"`
	// contains filtered or unexported fields
}

Describes an Amazon EC2 instance recommendation.

func (InstanceRecommendation) String

func (s InstanceRecommendation) String() string

String returns the string representation

type InstanceRecommendationOption

type InstanceRecommendationOption struct {

	// The instance type of the instance recommendation.
	InstanceType *string `locationName:"instanceType" type:"string"`

	// The performance risk of the instance recommendation option.
	//
	// Performance risk is the likelihood of the recommended instance type not meeting
	// the performance requirement of your workload.
	//
	// The lowest performance risk is categorized as 0, and the highest as 5.
	PerformanceRisk *float64 `locationName:"performanceRisk" type:"double"`

	// An array of objects that describe the projected utilization metrics of the
	// instance recommendation option.
	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"`
	// contains filtered or unexported fields
}

Describes a recommendation option for an Amazon EC2 instance.

func (InstanceRecommendationOption) String

String returns the string representation

type JobFilter added in v0.24.0

type JobFilter struct {

	// The name of the filter.
	//
	// Specify ResourceType to return export jobs of a specific resource type (e.g.,
	// Ec2Instance).
	//
	// Specify JobStatus to return export jobs with a specific status (e.g, Complete).
	Name JobFilterName `locationName:"name" type:"string" enum:"true"`

	// The value of the filter.
	//
	// If you specify the name parameter as ResourceType, the valid values are Ec2Instance
	// or AutoScalingGroup.
	//
	// If you specify the name parameter as JobStatus, the valid values are Queued,
	// InProgress, Complete, or Failed.
	Values []string `locationName:"values" type:"list"`
	// contains filtered or unexported fields
}

Describes a filter that returns a more specific list of recommendation export jobs.

This filter is used with the DescribeRecommendationExportJobs action.

func (JobFilter) String added in v0.24.0

func (s JobFilter) String() string

String returns the string representation

type JobFilterName added in v0.24.0

type JobFilterName string
const (
	JobFilterNameResourceType JobFilterName = "ResourceType"
	JobFilterNameJobStatus    JobFilterName = "JobStatus"
)

Enum values for JobFilterName

func (JobFilterName) MarshalValue added in v0.24.0

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

func (JobFilterName) MarshalValueBuf added in v0.24.0

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

type JobStatus added in v0.24.0

type JobStatus string
const (
	JobStatusQueued     JobStatus = "Queued"
	JobStatusInProgress JobStatus = "InProgress"
	JobStatusComplete   JobStatus = "Complete"
	JobStatusFailed     JobStatus = "Failed"
)

Enum values for JobStatus

func (JobStatus) MarshalValue added in v0.24.0

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

func (JobStatus) MarshalValueBuf added in v0.24.0

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

type MetricName

type MetricName string
const (
	MetricNameCpu    MetricName = "Cpu"
	MetricNameMemory MetricName = "Memory"
)

Enum values for MetricName

func (MetricName) MarshalValue

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

func (MetricName) MarshalValueBuf

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

type MetricStatistic

type MetricStatistic string
const (
	MetricStatisticMaximum MetricStatistic = "Maximum"
	MetricStatisticAverage MetricStatistic = "Average"
)

Enum values for MetricStatistic

func (MetricStatistic) MarshalValue

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

func (MetricStatistic) MarshalValueBuf

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

type ProjectedMetric

type ProjectedMetric struct {

	// The name of the projected utilization metric.
	//
	// Memory metrics are only returned 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/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html).
	Name MetricName `locationName:"name" type:"string" enum:"true"`

	// The time stamps 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"`
	// contains filtered or unexported fields
}

Describes a projected utilization metric of a recommendation option, such as an Amazon EC2 instance.

func (ProjectedMetric) String

func (s ProjectedMetric) String() string

String returns the string representation

type RecommendationExportJob added in v0.24.0

type RecommendationExportJob struct {

	// 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 ResourceType `locationName:"resourceType" type:"string" enum:"true"`

	// The status of the export job.
	Status JobStatus `locationName:"status" type:"string" enum:"true"`
	// contains filtered or unexported fields
}

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.

func (RecommendationExportJob) String added in v0.24.0

func (s RecommendationExportJob) String() string

String returns the string representation

type RecommendationSource

type RecommendationSource struct {

	// The Amazon Resource Name (ARN) of the recommendation source.
	RecommendationSourceArn *string `locationName:"recommendationSourceArn" type:"string"`

	// The resource type of the recommendation source.
	RecommendationSourceType RecommendationSourceType `locationName:"recommendationSourceType" type:"string" enum:"true"`
	// contains filtered or unexported fields
}

Describes the source of a recommendation, such as an Amazon EC2 instance or Auto Scaling group.

func (RecommendationSource) String

func (s RecommendationSource) String() string

String returns the string representation

type RecommendationSourceType

type RecommendationSourceType string
const (
	RecommendationSourceTypeEc2instance      RecommendationSourceType = "Ec2Instance"
	RecommendationSourceTypeAutoScalingGroup RecommendationSourceType = "AutoScalingGroup"
)

Enum values for RecommendationSourceType

func (RecommendationSourceType) MarshalValue

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

func (RecommendationSourceType) MarshalValueBuf

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

type RecommendationSummary

type RecommendationSummary struct {

	// The AWS account ID of the recommendation summary.
	AccountId *string `locationName:"accountId" type:"string"`

	// The resource type of the recommendation.
	RecommendationResourceType RecommendationSourceType `locationName:"recommendationResourceType" type:"string" enum:"true"`

	// An array of objects that describe a recommendation summary.
	Summaries []Summary `locationName:"summaries" type:"list"`
	// contains filtered or unexported fields
}

A summary of a recommendation.

func (RecommendationSummary) String

func (s RecommendationSummary) String() string

String returns the string representation

type RecommendedOptionProjectedMetric

type RecommendedOptionProjectedMetric struct {

	// 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"`
	// contains filtered or unexported fields
}

Describes a projected utilization metric of a recommendation option.

func (RecommendedOptionProjectedMetric) String

String returns the string representation

type ResourceType added in v0.24.0

type ResourceType string
const (
	ResourceTypeEc2instance      ResourceType = "Ec2Instance"
	ResourceTypeAutoScalingGroup ResourceType = "AutoScalingGroup"
)

Enum values for ResourceType

func (ResourceType) MarshalValue added in v0.24.0

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

func (ResourceType) MarshalValueBuf added in v0.24.0

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

type S3Destination added in v0.24.0

type S3Destination struct {

	// 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"`
	// contains filtered or unexported fields
}

Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name and object keys of a recommendations export file, and its associated metadata file.

func (S3Destination) String added in v0.24.0

func (s S3Destination) String() string

String returns the string representation

type S3DestinationConfig added in v0.24.0

type S3DestinationConfig struct {

	// 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"`
	// contains filtered or unexported fields
}

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.

func (S3DestinationConfig) String added in v0.24.0

func (s S3DestinationConfig) String() string

String returns the string representation

type Status

type Status string
const (
	StatusActive   Status = "Active"
	StatusInactive Status = "Inactive"
	StatusPending  Status = "Pending"
	StatusFailed   Status = "Failed"
)

Enum values for Status

func (Status) MarshalValue

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

func (Status) MarshalValueBuf

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

type Summary

type Summary struct {

	// The finding classification of the recommendation.
	Name Finding `locationName:"name" type:"string" enum:"true"`

	// The value of the recommendation summary.
	Value *float64 `locationName:"value" type:"double"`
	// contains filtered or unexported fields
}

The summary of a recommendation.

func (Summary) String

func (s Summary) String() string

String returns the string representation

type UpdateEnrollmentStatusInput

type UpdateEnrollmentStatusInput struct {

	// Indicates whether to enroll member accounts of the organization if the your
	// account is the master account of an organization.
	IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"`

	// The new enrollment status of the account.
	//
	// Accepted options are Active or Inactive. You will get an error if Pending
	// or Failed are specified.
	//
	// Status is a required field
	Status Status `locationName:"status" type:"string" required:"true" enum:"true"`
	// contains filtered or unexported fields
}

func (UpdateEnrollmentStatusInput) String

String returns the string representation

func (*UpdateEnrollmentStatusInput) Validate

func (s *UpdateEnrollmentStatusInput) Validate() error

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

type UpdateEnrollmentStatusOutput

type UpdateEnrollmentStatusOutput struct {

	// The enrollment status of the account.
	Status Status `locationName:"status" type:"string" enum:"true"`

	// 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"`
	// contains filtered or unexported fields
}

func (UpdateEnrollmentStatusOutput) String

String returns the string representation

type UpdateEnrollmentStatusRequest

type UpdateEnrollmentStatusRequest struct {
	*aws.Request
	Input *UpdateEnrollmentStatusInput
	Copy  func(*UpdateEnrollmentStatusInput) UpdateEnrollmentStatusRequest
}

UpdateEnrollmentStatusRequest is the request type for the UpdateEnrollmentStatus API operation.

func (UpdateEnrollmentStatusRequest) Send

Send marshals and sends the UpdateEnrollmentStatus API request.

type UpdateEnrollmentStatusResponse

type UpdateEnrollmentStatusResponse struct {
	*UpdateEnrollmentStatusOutput
	// contains filtered or unexported fields
}

UpdateEnrollmentStatusResponse is the response type for the UpdateEnrollmentStatus API operation.

func (*UpdateEnrollmentStatusResponse) SDKResponseMetdata

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

SDKResponseMetdata returns the response metadata for the UpdateEnrollmentStatus request.

type UtilizationMetric

type UtilizationMetric struct {

	// The name of the utilization metric.
	//
	// Memory metrics are only returned 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/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html).
	Name MetricName `locationName:"name" type:"string" enum:"true"`

	// The statistic of the utilization metric.
	Statistic MetricStatistic `locationName:"statistic" type:"string" enum:"true"`

	// The value of the utilization metric.
	Value *float64 `locationName:"value" type:"double"`
	// contains filtered or unexported fields
}

Describes a utilization metric of a resource, such as an Amazon EC2 instance.

func (UtilizationMetric) String

func (s UtilizationMetric) String() string

String returns the string representation

Directories

Path Synopsis
Package computeoptimizeriface provides an interface to enable mocking the AWS Compute Optimizer service client for testing your code.
Package computeoptimizeriface provides an interface to enable mocking the AWS Compute Optimizer service client for testing your code.

Jump to

Keyboard shortcuts

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