computeoptimizer

package module
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: May 25, 2021 License: Apache-2.0 Imports: 27 Imported by: 9

Documentation

Overview

Package computeoptimizer provides the API client, operations, and parameter types for AWS Compute Optimizer.

AWS Compute Optimizer is a service that analyzes the configuration and utilization metrics of your AWS compute resources, such as EC2 instances, Auto Scaling groups, AWS Lambda functions, and Amazon EBS volumes. 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/).

Index

Constants

View Source
const ServiceAPIVersion = "2019-11-01"
View Source
const ServiceID = "Compute Optimizer"

Variables

This section is empty.

Functions

func NewDefaultEndpointResolver

func NewDefaultEndpointResolver() *internalendpoints.Resolver

NewDefaultEndpointResolver constructs a new service endpoint resolver

func WithAPIOptions added in v1.0.0

func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options)

WithAPIOptions returns a functional option for setting the Client's APIOptions option.

func WithEndpointResolver

func WithEndpointResolver(v EndpointResolver) func(*Options)

WithEndpointResolver returns a functional option for setting the Client's EndpointResolver option.

Types

type Client

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

Client provides the API client to make operations call for AWS Compute Optimizer.

func New

func New(options Options, optFns ...func(*Options)) *Client

New returns an initialized Client based on the functional options. Provide additional functional options to further configure the behavior of the client, such as changing the client's endpoint or adding custom middleware behavior.

func NewFromConfig

func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client

NewFromConfig returns a new client from the provided config.

func (*Client) DescribeRecommendationExportJobs

func (c *Client) DescribeRecommendationExportJobs(ctx context.Context, params *DescribeRecommendationExportJobsInput, optFns ...func(*Options)) (*DescribeRecommendationExportJobsOutput, error)

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.

func (*Client) ExportAutoScalingGroupRecommendations

func (c *Client) ExportAutoScalingGroupRecommendations(ctx context.Context, params *ExportAutoScalingGroupRecommendationsInput, optFns ...func(*Options)) (*ExportAutoScalingGroupRecommendationsOutput, error)

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.

func (*Client) ExportEBSVolumeRecommendations added in v1.4.0

func (c *Client) ExportEBSVolumeRecommendations(ctx context.Context, params *ExportEBSVolumeRecommendationsInput, optFns ...func(*Options)) (*ExportEBSVolumeRecommendationsOutput, error)

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) 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 AWS Region.

func (*Client) ExportEC2InstanceRecommendations

func (c *Client) ExportEC2InstanceRecommendations(ctx context.Context, params *ExportEC2InstanceRecommendationsInput, optFns ...func(*Options)) (*ExportEC2InstanceRecommendationsOutput, error)

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.

func (*Client) ExportLambdaFunctionRecommendations added in v1.4.0

func (c *Client) ExportLambdaFunctionRecommendations(ctx context.Context, params *ExportLambdaFunctionRecommendationsInput, optFns ...func(*Options)) (*ExportLambdaFunctionRecommendationsOutput, error)

Exports optimization recommendations for AWS Lambda functions. 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 Lambda function export job in progress per AWS Region.

func (*Client) GetAutoScalingGroupRecommendations

func (c *Client) GetAutoScalingGroupRecommendations(ctx context.Context, params *GetAutoScalingGroupRecommendationsInput, optFns ...func(*Options)) (*GetAutoScalingGroupRecommendationsOutput, error)

Returns Auto Scaling group recommendations. AWS 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 AWS Compute Optimizer User Guide.

func (*Client) GetEBSVolumeRecommendations added in v0.31.0

func (c *Client) GetEBSVolumeRecommendations(ctx context.Context, params *GetEBSVolumeRecommendationsInput, optFns ...func(*Options)) (*GetEBSVolumeRecommendationsOutput, error)

Returns Amazon Elastic Block Store (Amazon EBS) volume recommendations. AWS 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 AWS Compute Optimizer User Guide.

func (*Client) GetEC2InstanceRecommendations

func (c *Client) GetEC2InstanceRecommendations(ctx context.Context, params *GetEC2InstanceRecommendationsInput, optFns ...func(*Options)) (*GetEC2InstanceRecommendationsOutput, error)

Returns Amazon EC2 instance recommendations. AWS 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 AWS Compute Optimizer User Guide.

func (*Client) GetEC2RecommendationProjectedMetrics

func (c *Client) GetEC2RecommendationProjectedMetrics(ctx context.Context, params *GetEC2RecommendationProjectedMetricsInput, optFns ...func(*Options)) (*GetEC2RecommendationProjectedMetricsOutput, error)

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

func (*Client) GetEnrollmentStatus

func (c *Client) GetEnrollmentStatus(ctx context.Context, params *GetEnrollmentStatusInput, optFns ...func(*Options)) (*GetEnrollmentStatusOutput, error)

Returns the enrollment (opt in) status of an account to the AWS Compute Optimizer service. If the account is the management account of an organization, this action also confirms the enrollment status of member accounts within the organization.

func (*Client) GetLambdaFunctionRecommendations added in v1.2.0

func (c *Client) GetLambdaFunctionRecommendations(ctx context.Context, params *GetLambdaFunctionRecommendationsInput, optFns ...func(*Options)) (*GetLambdaFunctionRecommendationsOutput, error)

Returns AWS Lambda function recommendations. AWS 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 AWS Compute Optimizer User Guide.

func (*Client) GetRecommendationSummaries

func (c *Client) GetRecommendationSummaries(ctx context.Context, params *GetRecommendationSummariesInput, optFns ...func(*Options)) (*GetRecommendationSummariesOutput, error)

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.

func (*Client) UpdateEnrollmentStatus

func (c *Client) UpdateEnrollmentStatus(ctx context.Context, params *UpdateEnrollmentStatusInput, optFns ...func(*Options)) (*UpdateEnrollmentStatusOutput, error)

Updates the enrollment (opt in and opt out) status of an account to the AWS Compute Optimizer service. If the account is a management account of an organization, this action can also be used to enroll member accounts within 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 AWS Identity and Access Management (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html) in the AWS 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 AWS Compute Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/using-service-linked-roles.html) in the AWS Compute Optimizer User Guide.

type DescribeRecommendationExportJobsInput

type DescribeRecommendationExportJobsInput struct {

	// An array of objects that describe a filter to return a more specific list of
	// export jobs.
	Filters []types.JobFilter

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

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

	// The token to advance to the next page of export jobs.
	NextToken *string
}

type DescribeRecommendationExportJobsOutput

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

	// An array of objects that describe recommendation export jobs.
	RecommendationExportJobs []types.RecommendationExportJob

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type EndpointResolver

type EndpointResolver interface {
	ResolveEndpoint(region string, options EndpointResolverOptions) (aws.Endpoint, error)
}

EndpointResolver interface for resolving service endpoints.

func EndpointResolverFromURL added in v1.1.0

func EndpointResolverFromURL(url string, optFns ...func(*aws.Endpoint)) EndpointResolver

EndpointResolverFromURL returns an EndpointResolver configured using the provided endpoint url. By default, the resolved endpoint resolver uses the client region as signing region, and the endpoint source is set to EndpointSourceCustom.You can provide functional options to configure endpoint values for the resolved endpoint.

type EndpointResolverFunc

type EndpointResolverFunc func(region string, options EndpointResolverOptions) (aws.Endpoint, error)

EndpointResolverFunc is a helper utility that wraps a function so it satisfies the EndpointResolver interface. This is useful when you want to add additional endpoint resolving logic, or stub out specific endpoints with custom values.

func (EndpointResolverFunc) ResolveEndpoint

func (fn EndpointResolverFunc) ResolveEndpoint(region string, options EndpointResolverOptions) (endpoint aws.Endpoint, err error)

type EndpointResolverOptions added in v0.29.0

type EndpointResolverOptions = internalendpoints.Options

EndpointResolverOptions is the service endpoint resolver options

type ExportAutoScalingGroupRecommendationsInput

type ExportAutoScalingGroupRecommendationsInput struct {

	// 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.
	//
	// This member is required.
	S3DestinationConfig *types.S3DestinationConfig

	// The IDs of the AWS 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

	// 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 []types.ExportableAutoScalingGroupField

	// The format of the export file. The only export file format currently supported
	// is Csv.
	FileFormat types.FileFormat

	// An array of objects that describe a filter to export a more specific set of Auto
	// Scaling group recommendations.
	Filters []types.Filter

	// 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 AWS Organizations
	// trusted access
	// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access)
	// in the AWS 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
}

type ExportAutoScalingGroupRecommendationsOutput

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

	// An object that describes the destination Amazon S3 bucket of a recommendations
	// export file.
	S3Destination *types.S3Destination

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type ExportEBSVolumeRecommendationsInput added in v1.4.0

type ExportEBSVolumeRecommendationsInput struct {

	// 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.
	//
	// This member is required.
	S3DestinationConfig *types.S3DestinationConfig

	// The IDs of the AWS 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

	// 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 []types.ExportableVolumeField

	// The format of the export file. The only export file format currently supported
	// is Csv.
	FileFormat types.FileFormat

	// An array of objects that describe a filter to export a more specific set of
	// Amazon EBS volume recommendations.
	Filters []types.EBSFilter

	// 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 AWS Organizations
	// trusted access
	// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access)
	// in the AWS 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
}

type ExportEBSVolumeRecommendationsOutput added in v1.4.0

type ExportEBSVolumeRecommendationsOutput 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

	// 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 *types.S3Destination

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type ExportEC2InstanceRecommendationsInput

type ExportEC2InstanceRecommendationsInput struct {

	// 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.
	//
	// This member is required.
	S3DestinationConfig *types.S3DestinationConfig

	// The IDs of the AWS 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

	// 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 []types.ExportableInstanceField

	// The format of the export file. The only export file format currently supported
	// is Csv.
	FileFormat types.FileFormat

	// An array of objects that describe a filter to export a more specific set of
	// instance recommendations.
	Filters []types.Filter

	// 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 AWS Organizations
	// trusted access
	// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access)
	// in the AWS 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
}

type ExportEC2InstanceRecommendationsOutput

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

	// An object that describes the destination Amazon S3 bucket of a recommendations
	// export file.
	S3Destination *types.S3Destination

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type ExportLambdaFunctionRecommendationsInput added in v1.4.0

type ExportLambdaFunctionRecommendationsInput struct {

	// 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.
	//
	// This member is required.
	S3DestinationConfig *types.S3DestinationConfig

	// The IDs of the AWS 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

	// 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 []types.ExportableLambdaFunctionField

	// The format of the export file. The only export file format currently supported
	// is Csv.
	FileFormat types.FileFormat

	// An array of objects that describe a filter to export a more specific set of
	// Lambda function recommendations.
	Filters []types.LambdaFunctionRecommendationFilter

	// 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 AWS Organizations
	// trusted access
	// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access)
	// in the AWS 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
}

type ExportLambdaFunctionRecommendationsOutput added in v1.4.0

type ExportLambdaFunctionRecommendationsOutput 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

	// 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 *types.S3Destination

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetAutoScalingGroupRecommendationsInput

type GetAutoScalingGroupRecommendationsInput struct {

	// The ID of the AWS 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

	// The Amazon Resource Name (ARN) of the Auto Scaling groups for which to return
	// recommendations.
	AutoScalingGroupArns []string

	// An array of objects that describe a filter that returns a more specific list of
	// Auto Scaling group recommendations.
	Filters []types.Filter

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

	// The token to advance to the next page of Auto Scaling group recommendations.
	NextToken *string
}

type GetAutoScalingGroupRecommendationsOutput

type GetAutoScalingGroupRecommendationsOutput struct {

	// An array of objects that describe Auto Scaling group recommendations.
	AutoScalingGroupRecommendations []types.AutoScalingGroupRecommendation

	// 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 []types.GetRecommendationError

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

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetEBSVolumeRecommendationsInput added in v0.31.0

type GetEBSVolumeRecommendationsInput struct {

	// The ID of the AWS 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

	// An array of objects that describe a filter that returns a more specific list of
	// volume recommendations.
	Filters []types.EBSFilter

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

	// The token to advance to the next page of volume recommendations.
	NextToken *string

	// The Amazon Resource Name (ARN) of the volumes for which to return
	// recommendations.
	VolumeArns []string
}

type GetEBSVolumeRecommendationsOutput added in v0.31.0

type GetEBSVolumeRecommendationsOutput struct {

	// 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 []types.GetRecommendationError

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

	// An array of objects that describe volume recommendations.
	VolumeRecommendations []types.VolumeRecommendation

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetEC2InstanceRecommendationsInput

type GetEC2InstanceRecommendationsInput struct {

	// The ID of the AWS 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

	// An array of objects that describe a filter that returns a more specific list of
	// instance recommendations.
	Filters []types.Filter

	// The Amazon Resource Name (ARN) of the instances for which to return
	// recommendations.
	InstanceArns []string

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

	// The token to advance to the next page of instance recommendations.
	NextToken *string
}

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 []types.GetRecommendationError

	// An array of objects that describe instance recommendations.
	InstanceRecommendations []types.InstanceRecommendation

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

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetEC2RecommendationProjectedMetricsInput

type GetEC2RecommendationProjectedMetricsInput struct {

	// The time stamp of the last projected metrics data point to return.
	//
	// This member is required.
	EndTime *time.Time

	// The Amazon Resource Name (ARN) of the instances for which to return
	// recommendation projected metrics.
	//
	// This member is required.
	InstanceArn *string

	// The granularity, in seconds, of the projected metrics data points.
	//
	// This member is required.
	Period int32

	// The time stamp of the first projected metrics data point to return.
	//
	// This member is required.
	StartTime *time.Time

	// The statistic of the projected metrics.
	//
	// This member is required.
	Stat types.MetricStatistic
}

type GetEC2RecommendationProjectedMetricsOutput

type GetEC2RecommendationProjectedMetricsOutput struct {

	// An array of objects that describe a projected metrics.
	RecommendedOptionProjectedMetrics []types.RecommendedOptionProjectedMetric

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetEnrollmentStatusInput

type GetEnrollmentStatusInput struct {
}

type GetEnrollmentStatusOutput

type GetEnrollmentStatusOutput struct {

	// Confirms the enrollment status of member accounts within the organization, if
	// the account is a management account of an organization.
	MemberAccountsEnrolled bool

	// The enrollment status of the account.
	Status types.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

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetLambdaFunctionRecommendationsInput added in v1.2.0

type GetLambdaFunctionRecommendationsInput struct {

	// The ID of the AWS 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

	// An array of objects that describe a filter that returns a more specific list of
	// function recommendations.
	Filters []types.LambdaFunctionRecommendationFilter

	// 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 AWS Lambda Developer Guide.
	FunctionArns []string

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

	// The token to advance to the next page of function recommendations.
	NextToken *string
}

type GetLambdaFunctionRecommendationsOutput added in v1.2.0

type GetLambdaFunctionRecommendationsOutput struct {

	// An array of objects that describe function recommendations.
	LambdaFunctionRecommendations []types.LambdaFunctionRecommendation

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

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetRecommendationSummariesInput

type GetRecommendationSummariesInput struct {

	// The ID of the AWS 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

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

	// The token to advance to the next page of recommendation summaries.
	NextToken *string
}

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

	// An array of objects that summarize a recommendation.
	RecommendationSummaries []types.RecommendationSummary

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type HTTPClient

type HTTPClient interface {
	Do(*http.Request) (*http.Response, error)
}

type HTTPSignerV4

type HTTPSignerV4 interface {
	SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time, optFns ...func(*v4.SignerOptions)) error
}

type Options

type Options struct {
	// Set of options to modify how an operation is invoked. These apply to all
	// operations invoked for this client. Use functional options on operation call to
	// modify this list for per operation behavior.
	APIOptions []func(*middleware.Stack) error

	// Configures the events that will be sent to the configured logger.
	ClientLogMode aws.ClientLogMode

	// The credentials object to use when signing requests.
	Credentials aws.CredentialsProvider

	// The endpoint options to be used when attempting to resolve an endpoint.
	EndpointOptions EndpointResolverOptions

	// The service endpoint resolver.
	EndpointResolver EndpointResolver

	// Signature Version 4 (SigV4) Signer
	HTTPSignerV4 HTTPSignerV4

	// The logger writer interface to write logging messages to.
	Logger logging.Logger

	// The region to send requests to. (Required)
	Region string

	// Retryer guides how HTTP requests should be retried in case of recoverable
	// failures. When nil the API client will use a default retryer.
	Retryer aws.Retryer

	// The HTTP client to invoke API calls with. Defaults to client's default HTTP
	// implementation if nil.
	HTTPClient HTTPClient
}

func (Options) Copy

func (o Options) Copy() Options

Copy creates a clone where the APIOptions list is deep copied.

type ResolveEndpoint

type ResolveEndpoint struct {
	Resolver EndpointResolver
	Options  EndpointResolverOptions
}

func (*ResolveEndpoint) HandleSerialize

func (*ResolveEndpoint) ID

func (*ResolveEndpoint) ID() string

type UpdateEnrollmentStatusInput

type UpdateEnrollmentStatusInput struct {

	// 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 AWS resources after you opt in. For more information, see Metrics analyzed
	// by AWS Compute Optimizer
	// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html) in the
	// AWS 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.
	//
	// This member is required.
	Status types.Status

	// Indicates whether to enroll member accounts of the organization if the account
	// is the management account of an organization.
	IncludeMemberAccounts bool
}

type UpdateEnrollmentStatusOutput

type UpdateEnrollmentStatusOutput struct {

	// The enrollment status of the account.
	Status types.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

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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