All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eaming.smithy.aws-compute-optimizer-spec.2023.02.09.source-code.computeoptimizer.smithy Maven / Gradle / Ivy

$version: "2.0"

metadata suppressions = [
    {
        id: "HttpMethodSemantics"
        namespace: "*"
    }
    {
        id: "HttpResponseCodeSemantics"
        namespace: "*"
    }
    {
        id: "PaginatedTrait"
        namespace: "*"
    }
    {
        id: "HttpHeaderTrait"
        namespace: "*"
    }
    {
        id: "HttpUriConflict"
        namespace: "*"
    }
    {
        id: "Service"
        namespace: "*"
    }
]

namespace com.amazonaws.computeoptimizer

use aws.api#service
use aws.auth#sigv4
use aws.protocols#awsJson1_0

/// 

Compute Optimizer is a service that analyzes the configuration and utilization /// metrics of your Amazon Web Services compute resources, such as Amazon EC2 /// instances, Amazon EC2 Auto Scaling groups, Lambda functions, Amazon EBS volumes, and Amazon ECS services on Fargate. /// 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, in addition /// to 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 Compute Optimizer User Guide.

@service( sdkId: "Compute Optimizer" arnNamespace: "compute-optimizer" cloudFormationName: "ComputeOptimizer" cloudTrailEventSource: "computeoptimizer.amazonaws.com" endpointPrefix: "compute-optimizer" ) @sigv4( name: "compute-optimizer" ) @awsJson1_0 @title("AWS Compute Optimizer") service ComputeOptimizerService { version: "2019-11-01" operations: [ DeleteRecommendationPreferences DescribeRecommendationExportJobs ExportAutoScalingGroupRecommendations ExportEBSVolumeRecommendations ExportEC2InstanceRecommendations ExportECSServiceRecommendations ExportLambdaFunctionRecommendations GetAutoScalingGroupRecommendations GetEBSVolumeRecommendations GetEC2InstanceRecommendations GetEC2RecommendationProjectedMetrics GetECSServiceRecommendationProjectedMetrics GetECSServiceRecommendations GetEffectiveRecommendationPreferences GetEnrollmentStatus GetEnrollmentStatusesForOrganization GetLambdaFunctionRecommendations GetRecommendationPreferences GetRecommendationSummaries PutRecommendationPreferences UpdateEnrollmentStatus ] } ///

Deletes a recommendation preference, such as enhanced infrastructure metrics.

///

For more information, see Activating /// enhanced infrastructure metrics in the Compute Optimizer User /// Guide.

operation DeleteRecommendationPreferences { input: DeleteRecommendationPreferencesRequest output: DeleteRecommendationPreferencesResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken OptInRequiredException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

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.

@paginated( inputToken: "nextToken" outputToken: "nextToken" items: "recommendationExportJobs" pageSize: "maxResults" ) operation DescribeRecommendationExportJobs { input: DescribeRecommendationExportJobsRequest output: DescribeRecommendationExportJobsResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken OptInRequiredException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

Exports optimization recommendations for Auto Scaling groups.

///

Recommendations are exported in a comma-separated values (.csv) file, and its metadata /// in a JavaScript Object Notation (JSON) (.json) file, to an existing Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting /// Recommendations in the Compute Optimizer User /// Guide.

///

You can have only one Auto Scaling group export job in progress per Amazon Web Services Region.

operation ExportAutoScalingGroupRecommendations { input: ExportAutoScalingGroupRecommendationsRequest output: ExportAutoScalingGroupRecommendationsResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException LimitExceededException MissingAuthenticationToken OptInRequiredException ServiceUnavailableException ThrottlingException ] } ///

Exports optimization recommendations for Amazon EBS volumes.

///

Recommendations are exported in a comma-separated values (.csv) file, and its metadata /// in a JavaScript Object Notation (JSON) (.json) file, to an existing Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting /// Recommendations in the Compute Optimizer User /// Guide.

///

You can have only one Amazon EBS volume export job in progress per Amazon Web Services Region.

operation ExportEBSVolumeRecommendations { input: ExportEBSVolumeRecommendationsRequest output: ExportEBSVolumeRecommendationsResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException LimitExceededException MissingAuthenticationToken OptInRequiredException ServiceUnavailableException ThrottlingException ] } ///

Exports optimization recommendations for Amazon EC2 instances.

///

Recommendations are exported in a comma-separated values (.csv) file, and its metadata /// in a JavaScript Object Notation (JSON) (.json) file, to an existing Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting /// Recommendations in the Compute Optimizer User /// Guide.

///

You can have only one Amazon EC2 instance export job in progress per Amazon Web Services Region.

operation ExportEC2InstanceRecommendations { input: ExportEC2InstanceRecommendationsRequest output: ExportEC2InstanceRecommendationsResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException LimitExceededException MissingAuthenticationToken OptInRequiredException ServiceUnavailableException ThrottlingException ] } ///

/// Exports optimization recommendations for Amazon ECS services on Fargate. ///

///

Recommendations are exported in a CSV file, and its metadata /// in a JSON file, to an existing Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting /// Recommendations in the Compute Optimizer User /// Guide.

///

You can only have one Amazon ECS service export job in progress per Amazon Web Services Region.

operation ExportECSServiceRecommendations { input: ExportECSServiceRecommendationsRequest output: ExportECSServiceRecommendationsResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException LimitExceededException MissingAuthenticationToken OptInRequiredException ServiceUnavailableException ThrottlingException ] } ///

Exports optimization recommendations for Lambda functions.

///

Recommendations are exported in a comma-separated values (.csv) file, and its metadata /// in a JavaScript Object Notation (JSON) (.json) file, to an existing Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting /// Recommendations in the Compute Optimizer User /// Guide.

///

You can have only one Lambda function export job in progress per Amazon Web Services Region.

operation ExportLambdaFunctionRecommendations { input: ExportLambdaFunctionRecommendationsRequest output: ExportLambdaFunctionRecommendationsResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException LimitExceededException MissingAuthenticationToken OptInRequiredException ServiceUnavailableException ThrottlingException ] } ///

Returns Auto Scaling group recommendations.

///

Compute Optimizer generates recommendations for Amazon EC2 Auto Scaling groups that /// meet a specific set of requirements. For more information, see the Supported /// resources and requirements in the Compute Optimizer User /// Guide.

operation GetAutoScalingGroupRecommendations { input: GetAutoScalingGroupRecommendationsRequest output: GetAutoScalingGroupRecommendationsResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken OptInRequiredException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

Returns Amazon Elastic Block Store (Amazon EBS) volume recommendations.

///

Compute Optimizer generates recommendations for Amazon EBS volumes that /// meet a specific set of requirements. For more information, see the Supported /// resources and requirements in the Compute Optimizer User /// Guide.

operation GetEBSVolumeRecommendations { input: GetEBSVolumeRecommendationsRequest output: GetEBSVolumeRecommendationsResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken OptInRequiredException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

Returns Amazon EC2 instance recommendations.

///

Compute Optimizer generates recommendations for Amazon Elastic Compute Cloud (Amazon EC2) instances that meet a specific set of requirements. For more /// information, see the Supported resources and /// requirements in the Compute Optimizer User /// Guide.

operation GetEC2InstanceRecommendations { input: GetEC2InstanceRecommendationsRequest output: GetEC2InstanceRecommendationsResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken OptInRequiredException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

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.

///
operation GetEC2RecommendationProjectedMetrics { input: GetEC2RecommendationProjectedMetricsRequest output: GetEC2RecommendationProjectedMetricsResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken OptInRequiredException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

/// Returns the projected metrics of Amazon ECS service recommendations. ///

operation GetECSServiceRecommendationProjectedMetrics { input: GetECSServiceRecommendationProjectedMetricsRequest output: GetECSServiceRecommendationProjectedMetricsResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken OptInRequiredException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

/// Returns Amazon ECS service recommendations. ///

///

/// Compute Optimizer generates recommendations for Amazon ECS services on /// Fargate that meet a specific set of requirements. For more /// information, see the Supported resources and /// requirements in the Compute Optimizer User /// Guide. ///

operation GetECSServiceRecommendations { input: GetECSServiceRecommendationsRequest output: GetECSServiceRecommendationsResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken OptInRequiredException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

Returns the recommendation preferences that are in effect for a given resource, such /// as enhanced infrastructure metrics. Considers all applicable preferences that you might /// have set at the resource, account, and organization level.

///

When you create a recommendation preference, you can set its status to /// Active or Inactive. Use this action to view the /// recommendation preferences that are in effect, or Active.

operation GetEffectiveRecommendationPreferences { input: GetEffectiveRecommendationPreferencesRequest output: GetEffectiveRecommendationPreferencesResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken OptInRequiredException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

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

///

If the account is the management account of an organization, this action also confirms /// the enrollment status of member accounts of the organization. Use the GetEnrollmentStatusesForOrganization action to get detailed information /// about the enrollment status of member accounts of an organization.

operation GetEnrollmentStatus { input: GetEnrollmentStatusRequest output: GetEnrollmentStatusResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken ServiceUnavailableException ThrottlingException ] } ///

Returns the Compute Optimizer enrollment (opt-in) status of organization member /// accounts, if your account is an organization management account.

///

To get the enrollment status of standalone accounts, use the GetEnrollmentStatus action.

@paginated( inputToken: "nextToken" outputToken: "nextToken" items: "accountEnrollmentStatuses" pageSize: "maxResults" ) operation GetEnrollmentStatusesForOrganization { input: GetEnrollmentStatusesForOrganizationRequest output: GetEnrollmentStatusesForOrganizationResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken ServiceUnavailableException ThrottlingException ] } ///

Returns Lambda function recommendations.

///

Compute Optimizer generates recommendations for functions that meet a specific set /// of requirements. For more information, see the Supported resources and /// requirements in the Compute Optimizer User /// Guide.

@paginated( inputToken: "nextToken" outputToken: "nextToken" items: "lambdaFunctionRecommendations" pageSize: "maxResults" ) operation GetLambdaFunctionRecommendations { input: GetLambdaFunctionRecommendationsRequest output: GetLambdaFunctionRecommendationsResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException LimitExceededException MissingAuthenticationToken OptInRequiredException ServiceUnavailableException ThrottlingException ] } ///

Returns existing recommendation preferences, such as enhanced infrastructure /// metrics.

///

Use the scope parameter to specify which preferences to return. You can /// specify to return preferences for an organization, a specific account ID, or a specific /// EC2 instance or Auto Scaling group Amazon Resource Name (ARN).

///

For more information, see Activating /// enhanced infrastructure metrics in the Compute Optimizer User /// Guide.

@paginated( inputToken: "nextToken" outputToken: "nextToken" items: "recommendationPreferencesDetails" pageSize: "maxResults" ) operation GetRecommendationPreferences { input: GetRecommendationPreferencesRequest output: GetRecommendationPreferencesResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken OptInRequiredException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

Returns the optimization findings for an account.

///

It returns the number of:

///
    ///
  • ///

    Amazon EC2 instances in an account that are /// Underprovisioned, Overprovisioned, or /// Optimized.

    ///
  • ///
  • ///

    Auto Scaling groups in an account that are NotOptimized, or /// Optimized.

    ///
  • ///
  • ///

    Amazon EBS volumes in an account that are NotOptimized, /// or Optimized.

    ///
  • ///
  • ///

    Lambda functions in an account that are NotOptimized, /// or Optimized.

    ///
  • ///
  • ///

    Amazon ECS services in an account that are Underprovisioned, /// Overprovisioned, or Optimized.

    ///
  • ///
@paginated( inputToken: "nextToken" outputToken: "nextToken" items: "recommendationSummaries" pageSize: "maxResults" ) operation GetRecommendationSummaries { input: GetRecommendationSummariesRequest output: GetRecommendationSummariesResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken OptInRequiredException ServiceUnavailableException ThrottlingException ] } ///

Creates a new recommendation preference or updates an existing recommendation /// preference, such as enhanced infrastructure metrics.

///

For more information, see Activating /// enhanced infrastructure metrics in the Compute Optimizer User /// Guide.

operation PutRecommendationPreferences { input: PutRecommendationPreferencesRequest output: PutRecommendationPreferencesResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken OptInRequiredException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

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

///

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

///

You must have the appropriate permissions to opt in to Compute Optimizer, to view its /// recommendations, and to opt out. For more information, see Controlling access with Amazon Web Services Identity and Access Management in the Compute Optimizer User Guide.

///

When you opt in, Compute Optimizer automatically creates a service-linked role in your /// account to access its data. For more information, see Using /// Service-Linked Roles for Compute Optimizer in the Compute Optimizer User Guide.

operation UpdateEnrollmentStatus { input: UpdateEnrollmentStatusRequest output: UpdateEnrollmentStatusResponse errors: [ AccessDeniedException InternalServerException InvalidParameterValueException MissingAuthenticationToken ServiceUnavailableException ThrottlingException ] } ///

You do not have sufficient access to perform this action.

@error("client") @httpError(403) structure AccessDeniedException { message: ErrorMessage } ///

Describes the enrollment status of an organization's member accounts in Compute Optimizer.

structure AccountEnrollmentStatus { ///

The Amazon Web Services account ID.

accountId: AccountId ///

The account enrollment status.

status: Status ///

The reason for the account enrollment status.

///

For example, an account might show a status of Pending because member /// accounts of an organization require more time to be enrolled in the service.

statusReason: StatusReason ///

The Unix epoch timestamp, in seconds, of when the account enrollment status was last /// updated.

lastUpdatedTimestamp: LastUpdatedTimestamp } ///

Describes the configuration of an Auto Scaling group.

structure AutoScalingGroupConfiguration { ///

The desired capacity, or number of instances, for the Auto Scaling group.

desiredCapacity: DesiredCapacity = 0 ///

The minimum size, or minimum number of instances, for the Auto Scaling /// group.

minSize: MinSize = 0 ///

The maximum size, or maximum number of instances, for the Auto Scaling /// group.

maxSize: MaxSize = 0 ///

The instance type for the Auto Scaling group.

instanceType: InstanceType } ///

Describes an Auto Scaling group recommendation.

structure AutoScalingGroupRecommendation { ///

The Amazon Web Services account ID of the Auto Scaling group.

accountId: AccountId ///

The Amazon Resource Name (ARN) of the Auto Scaling group.

autoScalingGroupArn: AutoScalingGroupArn ///

The name of the Auto Scaling group.

autoScalingGroupName: AutoScalingGroupName ///

The finding classification of the Auto Scaling group.

///

Findings for Auto Scaling groups include:

///
    ///
  • ///

    /// /// NotOptimized /// —An Auto Scaling group is considered not optimized when Compute Optimizer identifies a /// recommendation that can provide better performance for your workload.

    ///
  • ///
  • ///

    /// /// Optimized /// —An Auto Scaling /// group is considered optimized when Compute Optimizer determines that the group /// is correctly provisioned to run your workload based on the chosen instance type. /// For optimized resources, Compute Optimizer might recommend a new generation /// instance type.

    ///
  • ///
finding: Finding ///

An array of objects that describe the utilization metrics of the Auto Scaling /// group.

utilizationMetrics: UtilizationMetrics ///

The number of days for which utilization metrics were analyzed for the Auto Scaling group.

lookBackPeriodInDays: LookBackPeriodInDays = 0 ///

An array of objects that describe the current configuration of the Auto Scaling /// group.

currentConfiguration: AutoScalingGroupConfiguration ///

An array of objects that describe the recommendation options for the Auto Scaling /// group.

recommendationOptions: AutoScalingGroupRecommendationOptions ///

The timestamp of when the Auto Scaling group recommendation was last /// generated.

lastRefreshTimestamp: LastRefreshTimestamp ///

The risk of the current Auto Scaling group not meeting the performance needs of /// its workloads. The higher the risk, the more likely the current Auto Scaling group /// configuration has insufficient capacity and cannot meet workload requirements.

currentPerformanceRisk: CurrentPerformanceRisk ///

An object that describes the effective recommendation preferences for the Auto Scaling group.

effectiveRecommendationPreferences: EffectiveRecommendationPreferences ///

The applications that might be running on the instances in the Auto Scaling group /// as inferred by Compute Optimizer.

///

Compute Optimizer can infer if one of the following applications might be running on /// the instances:

///
    ///
  • ///

    /// AmazonEmr - Infers that Amazon EMR might be running on /// the instances.

    ///
  • ///
  • ///

    /// ApacheCassandra - Infers that Apache Cassandra might be running /// on the instances.

    ///
  • ///
  • ///

    /// ApacheHadoop - Infers that Apache Hadoop might be running on the /// instances.

    ///
  • ///
  • ///

    /// Memcached - Infers that Memcached might be running on the /// instances.

    ///
  • ///
  • ///

    /// NGINX - Infers that NGINX might be running on the /// instances.

    ///
  • ///
  • ///

    /// PostgreSql - Infers that PostgreSQL might be running on the /// instances.

    ///
  • ///
  • ///

    /// Redis - Infers that Redis might be running on the /// instances.

    ///
  • ///
inferredWorkloadTypes: InferredWorkloadTypes } ///

Describes a recommendation option for an Auto Scaling group.

structure AutoScalingGroupRecommendationOption { ///

An array of objects that describe an Auto Scaling group configuration.

configuration: AutoScalingGroupConfiguration ///

An array of objects that describe the projected utilization metrics of the Auto Scaling group recommendation option.

/// ///

The Cpu and Memory metrics are the only projected /// utilization metrics returned. Additionally, the Memory metric is /// returned only for resources that have the unified CloudWatch agent installed /// on them. For more information, see Enabling Memory /// Utilization with the CloudWatch Agent.

///
projectedUtilizationMetrics: ProjectedUtilizationMetrics ///

The performance risk of the Auto Scaling group configuration /// recommendation.

///

Performance risk indicates the likelihood of the recommended instance type not meeting /// the resource needs of your workload. Compute Optimizer calculates an individual /// performance risk score for each specification of the recommended instance, including /// CPU, memory, EBS throughput, EBS IOPS, disk throughput, disk IOPS, network throughput, /// and network PPS. /// The performance /// risk of the recommended instance is calculated as the maximum performance risk score /// across the analyzed resource specifications.

///

The value ranges from 0 - 4, with 0 meaning /// that the recommended resource is predicted to always provide enough hardware capability. /// The higher the performance risk is, the more likely you should validate whether the /// recommendation will meet the performance requirements of your workload before migrating /// your resource.

performanceRisk: PerformanceRisk = 0 ///

The rank of the Auto Scaling group recommendation option.

///

The top recommendation option is ranked as 1.

rank: Rank = 0 ///

An object that describes the savings opportunity for the Auto Scaling group /// recommendation option. Savings opportunity includes the estimated monthly savings amount /// and percentage.

savingsOpportunity: SavingsOpportunity ///

The level of effort required to migrate from the current instance type to the /// recommended instance type.

///

For example, the migration effort is Low if Amazon EMR is the /// inferred workload type and an Amazon Web Services Graviton instance type is recommended. /// The migration effort is Medium if a workload type couldn't be inferred but /// an Amazon Web Services Graviton instance type is recommended. The migration effort is /// VeryLow if both the current and recommended instance types are of the /// same CPU architecture.

migrationEffort: MigrationEffort } ///

/// Describes the container configurations within the tasks of your Amazon ECS service. ///

structure ContainerConfiguration { ///

/// The name of the container. ///

containerName: ContainerName ///

/// The memory size configurations for the container. ///

memorySizeConfiguration: MemorySizeConfiguration ///

/// The number of CPU units reserved for the container. ///

cpu: NullableCpu } ///

/// The CPU and memory recommendations for a container within the tasks of your Amazon ECS service. ///

structure ContainerRecommendation { ///

/// The name of the container. ///

containerName: ContainerName ///

/// The recommended memory size configurations for the container. ///

memorySizeConfiguration: MemorySizeConfiguration ///

/// The recommended number of CPU units reserved for the container. ///

cpu: NullableCpu } ///

Describes the performance risk ratings for a given resource type.

///

Resources with a high or medium rating are at risk of not /// meeting the performance needs of their workloads, while resources with a /// low rating are performing well in their workloads.

structure CurrentPerformanceRiskRatings { ///

A count of the applicable resource types with a high performance risk rating.

high: High = 0 ///

A count of the applicable resource types with a medium performance risk rating.

medium: Medium = 0 ///

A count of the applicable resource types with a low performance risk rating.

low: Low = 0 ///

A count of the applicable resource types with a very low performance risk /// rating.

veryLow: VeryLow = 0 } structure DeleteRecommendationPreferencesRequest { ///

The target resource type of the recommendation preference to delete.

///

The Ec2Instance option encompasses standalone instances and instances /// that are part of Auto Scaling groups. The AutoScalingGroup option /// encompasses only instances that are part of an Auto Scaling group.

/// ///

The valid values for this parameter are Ec2Instance and /// AutoScalingGroup.

///
@required resourceType: ResourceType ///

An object that describes the scope of the recommendation preference to delete.

///

You can delete recommendation preferences that are created at the organization level /// (for management accounts of an organization only), account level, and resource level. /// For more information, see Activating /// enhanced infrastructure metrics in the Compute Optimizer User /// Guide.

scope: Scope ///

The name of the recommendation preference to delete.

@required recommendationPreferenceNames: RecommendationPreferenceNames } structure DeleteRecommendationPreferencesResponse {} structure DescribeRecommendationExportJobsRequest { ///

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

An array of objects to specify a filter that returns a more specific list of export /// jobs.

filters: JobFilters ///

The token to advance to the next page of export jobs.

nextToken: NextToken ///

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: MaxResults } structure DescribeRecommendationExportJobsResponse { ///

An array of objects that describe recommendation export jobs.

recommendationExportJobs: RecommendationExportJobs ///

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: NextToken } ///

Describes a filter that returns a more specific list of Amazon Elastic Block Store /// (Amazon EBS) volume recommendations. Use this filter with the GetEBSVolumeRecommendations action.

///

You can use LambdaFunctionRecommendationFilter with the GetLambdaFunctionRecommendations action, JobFilter with the /// DescribeRecommendationExportJobs action, and Filter /// with the GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations actions.

structure EBSFilter { ///

The name of the filter.

///

Specify Finding to return recommendations with a specific finding /// classification (for example, NotOptimized).

name: EBSFilterName ///

The value of the filter.

///

The valid values are Optimized, or NotOptimized.

values: FilterValues } ///

Describes a utilization metric of an Amazon Elastic Block Store (Amazon EBS) /// volume.

///

Compare the utilization metric data of your resource against its projected utilization /// metric data to determine the performance difference between your current resource and /// the recommended option.

structure EBSUtilizationMetric { ///

The name of the utilization metric.

///

The following utilization metrics are available:

///
    ///
  • ///

    /// VolumeReadOpsPerSecond - The completed read operations per second /// from the volume in a specified period of time.

    ///

    Unit: Count

    ///
  • ///
  • ///

    /// VolumeWriteOpsPerSecond - The completed write operations per /// second to the volume in a specified period of time.

    ///

    Unit: Count

    ///
  • ///
  • ///

    /// VolumeReadBytesPerSecond - The bytes read per second from the /// volume in a specified period of time.

    ///

    Unit: Bytes

    ///
  • ///
  • ///

    /// VolumeWriteBytesPerSecond - The bytes written to the volume in a /// specified period of time.

    ///

    Unit: Bytes

    ///
  • ///
name: EBSMetricName ///

The statistic of the utilization metric.

///

The Compute Optimizer API, Command Line Interface (CLI), and SDKs /// return utilization metrics using only the Maximum statistic, which is the /// highest value observed during the specified period.

///

The Compute Optimizer console displays graphs for some utilization metrics using the /// Average statistic, which is the value of Sum / /// SampleCount during the specified period. For more information, see /// Viewing resource /// recommendations in the Compute Optimizer User /// Guide. You can also get averaged utilization metric data for your resources /// using Amazon CloudWatch. For more information, see the Amazon CloudWatch /// User Guide.

statistic: MetricStatistic ///

The value of the utilization metric.

value: MetricValue = 0 } ///

/// Describes the projected metrics of an Amazon ECS service recommendation option. ///

///

To determine the performance difference between your current Amazon ECS service and the recommended option, /// compare the metric data of your service against its projected metric data.

structure ECSServiceProjectedMetric { ///

/// The name of the projected metric. ///

///

The following metrics are available:

///
    ///
  • ///

    /// Cpu — The percentage of allocated compute units /// that are currently in use on the service tasks.

    ///
  • ///
  • ///

    /// Memory — The percentage of memory that's /// currently in use on the service tasks.

    ///
  • ///
name: ECSServiceMetricName ///

/// The timestamps of the projected metric. ///

timestamps: Timestamps ///

/// The upper bound values for the projected metric. ///

upperBoundValues: MetricValues ///

/// The lower bound values for the projected metric. ///

lowerBoundValues: MetricValues } ///

/// Describes the projected utilization metrics of an Amazon ECS service recommendation option. ///

///

To determine the performance difference between your current Amazon ECS service and the recommended option, /// compare the utilization metric data of your service against its projected utilization metric data.

structure ECSServiceProjectedUtilizationMetric { ///

/// The name of the projected utilization metric. ///

///

The following utilization metrics are available:

///
    ///
  • ///

    /// Cpu — The percentage of allocated compute units /// that are currently in use on the service tasks.

    ///
  • ///
  • ///

    /// Memory — The percentage of memory that's /// currently in use on the service tasks.

    ///
  • ///
name: ECSServiceMetricName ///

The statistic of the projected utilization metric.

///

The Compute Optimizer API, Command Line Interface (CLI), and SDKs /// return utilization metrics using only the Maximum statistic, which is the /// highest value observed during the specified period.

///

The Compute Optimizer console displays graphs for some utilization metrics using the /// Average statistic, which is the value of Sum / /// SampleCount during the specified period. For more information, see /// Viewing resource /// recommendations in the Compute Optimizer User /// Guide. You can also get averaged utilization metric data for your resources /// using Amazon CloudWatch. For more information, see the Amazon CloudWatch /// User Guide.

statistic: ECSServiceMetricStatistic ///

/// The lower bound values for the projected utilization metrics. ///

lowerBoundValue: LowerBoundValue = 0 ///

/// The upper bound values for the projected utilization metrics. ///

upperBoundValue: UpperBoundValue = 0 } ///

/// Describes an Amazon ECS service recommendation. ///

structure ECSServiceRecommendation { ///

/// The Amazon Resource Name (ARN) of the current Amazon ECS service. ///

///

/// The following is the format of the ARN: ///

///

/// arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name ///

serviceArn: ServiceArn ///

/// The Amazon Web Services account ID of the Amazon ECS service. ///

accountId: AccountId ///

/// The configuration of the current Amazon ECS service. ///

currentServiceConfiguration: ServiceConfiguration ///

/// An array of objects that describe the utilization metrics of the Amazon ECS service. ///

utilizationMetrics: ECSServiceUtilizationMetrics ///

/// The number of days the Amazon ECS service utilization metrics were analyzed. ///

lookbackPeriodInDays: LookBackPeriodInDays = 0 ///

/// The launch type the Amazon ECS service is using. ///

/// ///

Compute Optimizer only supports the Fargate launch type.

///
launchType: ECSServiceLaunchType ///

/// The timestamp of when the Amazon ECS service recommendation was last generated. ///

lastRefreshTimestamp: LastRefreshTimestamp ///

/// The finding classification of an Amazon ECS service. ///

///

Findings for Amazon ECS services include:

///
    ///
  • ///

    /// /// Underprovisioned /// — /// When Compute Optimizer detects that there’s not enough memory or CPU, an Amazon ECS /// service is considered under-provisioned. An under-provisioned service might /// result in poor application performance.

    ///
  • ///
  • ///

    /// /// Overprovisioned /// — /// When Compute Optimizer detects that there’s excessive memory or CPU, an Amazon ECS /// service is considered over-provisioned. An over-provisioned service might /// result in additional infrastructure costs.

    ///
  • ///
  • ///

    /// /// Optimized /// — /// When both the CPU and memory of your Amazon ECS service meet the performance requirements /// of your workload, the service is considered optimized.

    ///
  • ///
finding: ECSServiceRecommendationFinding ///

/// The reason for the finding classification of an Amazon ECS service. ///

///

Finding reason codes for Amazon ECS services include:

///
    ///
  • ///

    /// /// CPUUnderprovisioned /// — /// The service CPU configuration can be sized up to enhance the performance of /// your workload. This is identified by analyzing the CPUUtilization metric of the /// current service during the look-back period.

    ///
  • ///
  • ///

    /// /// CPUOverprovisioned /// — /// The service CPU configuration can be sized down while still meeting the performance /// requirements of your workload. This is identified by analyzing the CPUUtilization /// metric of the current service during the look-back period.

    ///
  • ///
  • ///

    /// /// MemoryUnderprovisioned /// — /// The service memory configuration can be sized up to enhance the performance of /// your workload. This is identified by analyzing the MemoryUtilization metric of the /// current service during the look-back period.

    ///
  • ///
  • ///

    /// /// MemoryOverprovisioned /// — /// The service memory configuration can be sized down while still meeting the /// performance requirements of your workload. This is identified by analyzing the /// MemoryUtilization metric of the current service during the look-back period.

    ///
  • ///
findingReasonCodes: ECSServiceRecommendationFindingReasonCodes ///

/// An array of objects that describe the recommendation options for the Amazon ECS service. ///

serviceRecommendationOptions: ECSServiceRecommendationOptions ///

/// The risk of the current Amazon ECS service not meeting the performance needs of its workloads. /// The higher the risk, the more likely the current service can't meet the performance /// requirements of its workload. ///

currentPerformanceRisk: CurrentPerformanceRisk } ///

/// Describes a filter that returns a more specific list of Amazon ECS service /// recommendations. Use this filter with the GetECSServiceRecommendations action. ///

structure ECSServiceRecommendationFilter { ///

/// The name of the filter. ///

///

/// Specify Finding to return recommendations with a specific finding classification. ///

///

/// Specify FindingReasonCode to return recommendations with a specific finding reason code. ///

name: ECSServiceRecommendationFilterName ///

/// The value of the filter. ///

///

The valid values for this parameter are as follows:

///
    ///
  • ///

    If you specify the name parameter as Finding, specify /// Optimized, NotOptimized, or Unavailable.

    ///
  • ///
  • ///

    If you specify the name parameter as FindingReasonCode, specify /// CPUUnderprovisioned, CPUOverprovisioned, /// MemoryUnderprovisioned, or MemoryOverprovisioned.

    ///
  • ///
values: FilterValues } ///

/// Describes the recommendation options for an Amazon ECS service. ///

structure ECSServiceRecommendationOption { ///

/// The memory size of the Amazon ECS service recommendation option. ///

memory: NullableMemory ///

/// The CPU size of the Amazon ECS service recommendation option. ///

cpu: NullableCpu savingsOpportunity: SavingsOpportunity ///

/// An array of objects that describe the projected utilization metrics of the Amazon ECS service recommendation option. ///

projectedUtilizationMetrics: ECSServiceProjectedUtilizationMetrics ///

/// The CPU and memory size recommendations for the containers within the task of your Amazon ECS service. ///

containerRecommendations: ContainerRecommendations } ///

/// Describes the projected metrics of an Amazon ECS service recommendation option. ///

///

To determine the performance difference between your current Amazon ECS service and the recommended option, /// compare the metric data of your service against its projected metric data.

structure ECSServiceRecommendedOptionProjectedMetric { ///

/// The recommended CPU size for the Amazon ECS service. ///

recommendedCpuUnits: CpuSize = 0 ///

/// The recommended memory size for the Amazon ECS service. ///

recommendedMemorySize: MemorySize = 0 ///

/// An array of objects that describe the projected metric. ///

projectedMetrics: ECSServiceProjectedMetrics } ///

/// Describes the utilization metric of an Amazon ECS service. ///

///

To determine the performance difference between your current Amazon ECS service and the recommended option, /// compare the utilization metric data of your service against its projected utilization metric data.

structure ECSServiceUtilizationMetric { ///

/// The name of the utilization metric. ///

///

The following utilization metrics are available:

///
    ///
  • ///

    /// Cpu — The amount of CPU capacity that's used in the service.

    ///
  • ///
  • ///

    /// Memory — The amount of memory that's used in the service.

    ///
  • ///
name: ECSServiceMetricName ///

The statistic of the utilization metric.

///

The Compute Optimizer API, Command Line Interface (CLI), and SDKs /// return utilization metrics using only the Maximum statistic, which is the /// highest value observed during the specified period.

///

The Compute Optimizer console displays graphs for some utilization metrics using the /// Average statistic, which is the value of Sum / /// SampleCount during the specified period. For more information, see /// Viewing resource /// recommendations in the Compute Optimizer User /// Guide. You can also get averaged utilization metric data for your resources /// using Amazon CloudWatch. For more information, see the Amazon CloudWatch /// User Guide.

statistic: ECSServiceMetricStatistic ///

/// The value of the utilization metric. ///

value: MetricValue = 0 } ///

Describes the effective recommendation preferences for a resource.

structure EffectiveRecommendationPreferences { ///

Describes the CPU vendor and architecture for an instance or Auto Scaling group /// recommendations.

///

For example, when you specify AWS_ARM64 with:

/// cpuVendorArchitectures: CpuVendorArchitectures ///

Describes the activation status of the enhanced infrastructure metrics /// preference.

///

A status of Active confirms that the preference is applied in the latest /// recommendation refresh, and a status of Inactive confirms that it's not yet /// applied to recommendations.

///

For more information, see Enhanced /// infrastructure metrics in the Compute Optimizer User /// Guide.

enhancedInfrastructureMetrics: EnhancedInfrastructureMetrics ///

Describes the activation status of the inferred workload types preference.

///

A status of Active confirms that the preference is applied in the latest /// recommendation refresh. A status of Inactive confirms that it's not yet /// applied to recommendations.

inferredWorkloadTypes: InferredWorkloadTypesPreference ///

An object that describes the external metrics recommendation preference.

///

If the preference is applied in the latest recommendation refresh, an object with a /// valid source value appears in the response. If the preference isn't applied /// to the recommendations already, then this object doesn't appear in the response.

externalMetricsPreference: ExternalMetricsPreference } ///

Describes a filter that returns a more specific list of account enrollment statuses. /// Use this filter with the GetEnrollmentStatusesForOrganization /// action.

structure EnrollmentFilter { ///

The name of the filter.

///

Specify Status to return accounts with a specific enrollment status (for /// example, Active).

name: EnrollmentFilterName ///

The value of the filter.

///

The valid values are Active, Inactive, Pending, /// and Failed.

values: FilterValues } ///

Describes the estimated monthly savings amount possible, based on On-Demand instance /// pricing, by adopting Compute Optimizer recommendations for a given resource.

///

For more information, see Estimated monthly savings and savings opportunities in the /// Compute Optimizer User Guide.

structure EstimatedMonthlySavings { ///

The currency of the estimated monthly /// savings.

currency: Currency ///

The value of the estimated monthly savings.

value: Value = 0 } structure ExportAutoScalingGroupRecommendationsRequest { ///

The IDs of the Amazon Web Services accounts for which to export Auto Scaling group /// recommendations.

///

If your account is the management account of an organization, use this parameter to /// specify the member account for which you want to export recommendations.

///

This parameter cannot be specified together with the include member accounts /// parameter. The parameters are mutually exclusive.

///

Recommendations for member accounts are not included in the export if this parameter, /// or the include member accounts parameter, is omitted.

///

You can specify multiple account IDs per request.

accountIds: AccountIds ///

An array of objects to specify a filter that exports a more specific set of Auto Scaling group recommendations.

filters: Filters ///

The recommendations data to include in the export file. For more information about the /// fields that can be exported, see Exported files in the Compute Optimizer User /// Guide.

fieldsToExport: ExportableAutoScalingGroupFields ///

An object to specify the destination Amazon Simple Storage Service (Amazon S3) bucket /// name and key prefix for the export job.

///

You must create the destination Amazon S3 bucket for your recommendations /// export before you create the export job. Compute Optimizer does not create the S3 bucket /// for you. After you create the S3 bucket, ensure that it has the required permissions /// policy to allow Compute Optimizer to write the export file to it. If you plan to specify /// an object prefix when you create the export job, you must include the object prefix in /// the policy that you add to the S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute Optimizer in the /// Compute Optimizer User Guide.

@required s3DestinationConfig: S3DestinationConfig ///

The format of the export file.

///

The only export file format currently supported is Csv.

fileFormat: FileFormat ///

Indicates whether to include recommendations for resources in all member accounts of /// the organization if your account is the management account of an organization.

///

The member accounts must also be opted in to Compute Optimizer, and trusted access for /// Compute Optimizer must be enabled in the organization account. For more information, /// see Compute Optimizer and Amazon Web Services Organizations trusted access in the /// Compute Optimizer User Guide.

///

Recommendations for member accounts of the organization are not included in the export /// file if this parameter is omitted.

///

This parameter cannot be specified together with the account IDs parameter. The /// parameters are mutually exclusive.

///

Recommendations for member accounts are not included in the export if this parameter, /// or the account IDs parameter, is omitted.

includeMemberAccounts: IncludeMemberAccounts = false ///

An object to specify the preferences for the Auto Scaling group recommendations /// to export.

recommendationPreferences: RecommendationPreferences } structure ExportAutoScalingGroupRecommendationsResponse { ///

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

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

s3Destination: S3Destination } ///

Describes the destination of the recommendations export and metadata files.

structure ExportDestination { ///

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 } structure ExportEBSVolumeRecommendationsRequest { ///

The IDs of the Amazon Web Services accounts for which to export Amazon EBS /// volume recommendations.

///

If your account is the management account of an organization, use this parameter to /// specify the member account for which you want to export recommendations.

///

This parameter cannot be specified together with the include member accounts /// parameter. The parameters are mutually exclusive.

///

Recommendations for member accounts are not included in the export if this parameter, /// or the include member accounts parameter, is omitted.

///

You can specify multiple account IDs per request.

accountIds: AccountIds ///

An array of objects to specify a filter that exports a more specific set of Amazon EBS volume recommendations.

filters: EBSFilters ///

The recommendations data to include in the export file. For more information about the /// fields that can be exported, see Exported files in the Compute Optimizer User /// Guide.

fieldsToExport: ExportableVolumeFields @required s3DestinationConfig: S3DestinationConfig ///

The format of the export file.

///

The only export file format currently supported is Csv.

fileFormat: FileFormat ///

Indicates whether to include recommendations for resources in all member accounts of /// the organization if your account is the management account of an organization.

///

The member accounts must also be opted in to Compute Optimizer, and trusted access for /// Compute Optimizer must be enabled in the organization account. For more information, /// see Compute Optimizer and Amazon Web Services Organizations trusted access in the /// Compute Optimizer User Guide.

///

Recommendations for member accounts of the organization are not included in the export /// file if this parameter is omitted.

///

This parameter cannot be specified together with the account IDs parameter. The /// parameters are mutually exclusive.

///

Recommendations for member accounts are not included in the export if this parameter, /// or the account IDs parameter, is omitted.

includeMemberAccounts: IncludeMemberAccounts = false } structure ExportEBSVolumeRecommendationsResponse { ///

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: JobId s3Destination: S3Destination } structure ExportEC2InstanceRecommendationsRequest { ///

The IDs of the Amazon Web Services accounts for which to export instance /// recommendations.

///

If your account is the management account of an organization, use this parameter to /// specify the member account for which you want to export recommendations.

///

This parameter cannot be specified together with the include member accounts /// parameter. The parameters are mutually exclusive.

///

Recommendations for member accounts are not included in the export if this parameter, /// or the include member accounts parameter, is omitted.

///

You can specify multiple account IDs per request.

accountIds: AccountIds ///

An array of objects to specify a filter that exports a more specific set of instance /// recommendations.

filters: Filters ///

The recommendations data to include in the export file. For more information about the /// fields that can be exported, see Exported files in the Compute Optimizer User /// Guide.

fieldsToExport: ExportableInstanceFields ///

An object to specify the destination Amazon Simple Storage Service (Amazon S3) bucket /// name and key prefix for the export job.

///

You must create the destination Amazon S3 bucket for your recommendations /// export before you create the export job. Compute Optimizer does not create the S3 bucket /// for you. After you create the S3 bucket, ensure that it has the required permissions /// policy to allow Compute Optimizer to write the export file to it. /// If you plan to /// specify an object prefix when you create the export job, you must include the object /// prefix in the policy that you add to the S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute Optimizer in the /// Compute Optimizer User Guide.

@required s3DestinationConfig: S3DestinationConfig ///

The format of the export file.

///

The only export file format currently supported is Csv.

fileFormat: FileFormat ///

Indicates whether to include recommendations for resources in all member accounts of /// the organization if your account is the management account of an organization.

///

The member accounts must also be opted in to Compute Optimizer, and trusted access for /// Compute Optimizer must be enabled in the organization account. For more information, /// see Compute Optimizer and Amazon Web Services Organizations trusted access in the /// Compute Optimizer User Guide.

///

Recommendations for member accounts of the organization are not included in the export /// file if this parameter is omitted.

///

Recommendations for member accounts are not included in the export if this parameter, /// or the account IDs parameter, is omitted.

includeMemberAccounts: IncludeMemberAccounts = false ///

An object to specify the preferences for the Amazon EC2 instance /// recommendations to export.

recommendationPreferences: RecommendationPreferences } structure ExportEC2InstanceRecommendationsResponse { ///

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

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

s3Destination: S3Destination } structure ExportECSServiceRecommendationsRequest { ///

/// The Amazon Web Services account IDs for the export Amazon ECS service recommendations. ///

///

If your account is the management account or the delegated administrator /// of an organization, use this parameter to specify the member account you want to /// export recommendations to.

///

This parameter can't be specified together with the include member accounts /// parameter. The parameters are mutually exclusive.

///

If this parameter or the include member accounts parameter is omitted, /// the recommendations for member accounts aren't included in the export.

///

You can specify multiple account IDs per request.

accountIds: AccountIds ///

/// An array of objects to specify a filter that exports a more specific set /// of Amazon ECS service recommendations. ///

filters: ECSServiceRecommendationFilters ///

The recommendations data to include in the export file. For more information about the /// fields that can be exported, see Exported files in the Compute Optimizer User /// Guide.

fieldsToExport: ExportableECSServiceFields @required s3DestinationConfig: S3DestinationConfig ///

/// The format of the export file. ///

///

The CSV file is the only export file format currently supported.

fileFormat: FileFormat ///

If your account is the management account or the delegated administrator of an organization, /// this parameter indicates whether to include recommendations for resources in all member accounts of /// the organization.

///

The member accounts must also be opted in to Compute Optimizer, and trusted access for /// Compute Optimizer must be enabled in the organization account. For more information, /// see Compute Optimizer and Amazon Web Services Organizations trusted access in the /// Compute Optimizer User Guide.

///

If this parameter is omitted, recommendations for member accounts of the /// organization aren't included in the export file.

///

If this parameter or the account ID parameter is omitted, recommendations for /// member accounts aren't included in the export.

includeMemberAccounts: IncludeMemberAccounts = false } structure ExportECSServiceRecommendationsResponse { ///

/// The identification number of the export job. ///

///

To view the status of an export job, use the /// DescribeRecommendationExportJobs action and specify the job ID. ///

jobId: JobId s3Destination: S3Destination } structure ExportLambdaFunctionRecommendationsRequest { ///

The IDs of the Amazon Web Services accounts for which to export Lambda /// function recommendations.

///

If your account is the management account of an organization, use this parameter to /// specify the member account for which you want to export recommendations.

///

This parameter cannot be specified together with the include member accounts /// parameter. The parameters are mutually exclusive.

///

Recommendations for member accounts are not included in the export if this parameter, /// or the include member accounts parameter, is omitted.

///

You can specify multiple account IDs per request.

accountIds: AccountIds ///

An array of objects to specify a filter that exports a more specific set of Lambda function recommendations.

filters: LambdaFunctionRecommendationFilters ///

The recommendations data to include in the export file. For more information about the /// fields that can be exported, see Exported files in the Compute Optimizer User /// Guide.

fieldsToExport: ExportableLambdaFunctionFields @required s3DestinationConfig: S3DestinationConfig ///

The format of the export file.

///

The only export file format currently supported is Csv.

fileFormat: FileFormat ///

Indicates whether to include recommendations for resources in all member accounts of /// the organization if your account is the management account of an organization.

///

The member accounts must also be opted in to Compute Optimizer, and trusted access for /// Compute Optimizer must be enabled in the organization account. For more information, /// see Compute Optimizer and Amazon Web Services Organizations trusted access in the /// Compute Optimizer User Guide.

///

Recommendations for member accounts of the organization are not included in the export /// file if this parameter is omitted.

///

This parameter cannot be specified together with the account IDs parameter. The /// parameters are mutually exclusive.

///

Recommendations for member accounts are not included in the export if this parameter, /// or the account IDs parameter, is omitted.

includeMemberAccounts: IncludeMemberAccounts = false } structure ExportLambdaFunctionRecommendationsResponse { ///

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: JobId s3Destination: S3Destination } ///

Describes the external metrics preferences for EC2 rightsizing recommendations. ///

structure ExternalMetricsPreference { ///

Contains the source options for external metrics preferences.

source: ExternalMetricsSource } ///

Describes a filter that returns a more specific list of recommendations. Use this /// filter with the GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations actions.

///

You can use EBSFilter with the GetEBSVolumeRecommendations action, /// LambdaFunctionRecommendationFilter with the GetLambdaFunctionRecommendations action, and JobFilter with /// the DescribeRecommendationExportJobs action.

structure Filter { ///

The name of the filter.

///

Specify Finding to return recommendations with a specific finding /// classification (for example, Underprovisioned).

///

Specify RecommendationSourceType to return recommendations of a specific /// resource type (for example, Ec2Instance).

///

Specify FindingReasonCodes to return recommendations with a specific /// finding reason code (for example, CPUUnderprovisioned).

name: FilterName ///

The value of the filter.

///

The valid values for this parameter are as follows, depending on what you specify for /// the name parameter and the resource type that you wish to filter results /// for:

///
    ///
  • ///

    Specify Optimized or NotOptimized if you specify the /// name parameter as Finding and you want to filter /// results for Auto Scaling groups.

    ///
  • ///
  • ///

    Specify Underprovisioned, Overprovisioned, or /// Optimized if you specify the name parameter as /// Finding and you want to filter results for EC2 /// instances.

    ///
  • ///
  • ///

    Specify Ec2Instance or AutoScalingGroup if you /// specify the name parameter as /// RecommendationSourceType.

    ///
  • ///
  • ///

    Specify one of the following options if you specify the name /// parameter as FindingReasonCodes:

    ///
      ///
    • ///

      /// /// CPUOverprovisioned /// — The /// instance’s CPU configuration can be sized down while still meeting the /// performance requirements of your workload.

      ///
    • ///
    • ///

      /// /// CPUUnderprovisioned /// — /// The instance’s CPU configuration doesn't meet the performance /// requirements of your workload and there is an alternative instance type /// that provides better CPU performance.

      ///
    • ///
    • ///

      /// /// MemoryOverprovisioned /// — /// The instance’s memory configuration can be sized down while still /// meeting the performance requirements of your workload.

      ///
    • ///
    • ///

      /// /// MemoryUnderprovisioned /// — /// The instance’s memory configuration doesn't meet the performance /// requirements of your workload and there is an alternative instance type /// that provides better memory performance.

      ///
    • ///
    • ///

      /// /// EBSThroughputOverprovisioned /// — The /// instance’s EBS throughput configuration can be sized down while still /// meeting the performance requirements of your workload.

      ///
    • ///
    • ///

      /// /// EBSThroughputUnderprovisioned /// — The /// instance’s EBS throughput configuration doesn't meet the performance /// requirements of your workload and there is an alternative instance type /// that provides better EBS throughput performance.

      ///
    • ///
    • ///

      /// /// EBSIOPSOverprovisioned /// — /// The instance’s EBS IOPS configuration can be sized down while still /// meeting the performance requirements of your workload.

      ///
    • ///
    • ///

      /// /// EBSIOPSUnderprovisioned /// /// — The instance’s EBS IOPS configuration doesn't meet the performance /// requirements of your workload and there is an alternative instance type /// that provides better EBS IOPS performance.

      ///
    • ///
    • ///

      /// /// NetworkBandwidthOverprovisioned /// — The /// instance’s network bandwidth configuration can be sized down while still /// meeting the performance requirements of your workload.

      ///
    • ///
    • ///

      /// /// NetworkBandwidthUnderprovisioned /// — The /// instance’s network bandwidth configuration doesn't meet the performance /// requirements of your workload and there is an alternative instance type /// that provides better network bandwidth performance. This finding reason /// happens when the NetworkIn or NetworkOut /// performance of an instance is impacted.

      ///
    • ///
    • ///

      /// /// NetworkPPSOverprovisioned /// — The instance’s /// network PPS (packets per second) configuration can be sized down while /// still meeting the performance requirements of your workload.

      ///
    • ///
    • ///

      /// /// NetworkPPSUnderprovisioned /// — The instance’s /// network PPS (packets per second) configuration doesn't meet the /// performance requirements of your workload and there is an alternative /// instance type that provides better network PPS performance.

      ///
    • ///
    • ///

      /// /// DiskIOPSOverprovisioned /// /// — The instance’s disk IOPS configuration can be sized down while still /// meeting the performance requirements of your workload.

      ///
    • ///
    • ///

      /// /// DiskIOPSUnderprovisioned /// /// — The instance’s disk IOPS configuration doesn't meet the performance /// requirements of your workload and there is an alternative instance type /// that provides better disk IOPS performance.

      ///
    • ///
    • ///

      /// /// DiskThroughputOverprovisioned /// — The /// instance’s disk throughput configuration can be sized down while still /// meeting the performance requirements of your workload.

      ///
    • ///
    • ///

      /// /// DiskThroughputUnderprovisioned /// — The /// instance’s disk throughput configuration doesn't meet the performance /// requirements of your workload and there is an alternative instance type /// that provides better disk throughput performance.

      ///
    • ///
    ///
  • ///
values: FilterValues } structure GetAutoScalingGroupRecommendationsRequest { ///

The ID of the Amazon Web Services account for which to return Auto Scaling group /// recommendations.

///

If your account is the management account of an organization, use this parameter to /// specify the member account for which you want to return Auto Scaling group /// recommendations.

///

Only one account ID can be specified per request.

accountIds: AccountIds ///

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

autoScalingGroupArns: AutoScalingGroupArns ///

The token to advance to the next page of Auto Scaling group /// recommendations.

nextToken: NextToken ///

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

An array of objects to specify a filter that returns a more specific list of Auto Scaling group recommendations.

filters: Filters ///

An object to specify the preferences for the Auto Scaling group recommendations /// to return in the response.

recommendationPreferences: RecommendationPreferences } structure GetAutoScalingGroupRecommendationsResponse { ///

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

An array of objects that describe Auto Scaling group recommendations.

autoScalingGroupRecommendations: AutoScalingGroupRecommendations ///

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: GetRecommendationErrors } structure GetEBSVolumeRecommendationsRequest { ///

The Amazon Resource Name (ARN) of the volumes for which to return /// recommendations.

volumeArns: VolumeArns ///

The token to advance to the next page of volume recommendations.

nextToken: NextToken ///

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

An array of objects to specify a filter that returns a more specific list of volume /// recommendations.

filters: EBSFilters ///

The ID of the Amazon Web Services account for which to return volume /// recommendations.

///

If your account is the management account of an organization, use this parameter to /// specify the member account for which you want to return volume recommendations.

///

Only one account ID can be specified per request.

accountIds: AccountIds } structure GetEBSVolumeRecommendationsResponse { ///

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

An array of objects that describe volume recommendations.

volumeRecommendations: VolumeRecommendations ///

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: GetRecommendationErrors } structure GetEC2InstanceRecommendationsRequest { ///

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

instanceArns: InstanceArns ///

The token to advance to the next page of instance recommendations.

nextToken: NextToken ///

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

An array of objects to specify a filter that returns a more specific list of instance /// recommendations.

filters: Filters ///

The ID of the Amazon Web Services account for which to return instance /// recommendations.

///

If your account is the management account of an organization, use this parameter to /// specify the member account for which you want to return instance recommendations.

///

Only one account ID can be specified per request.

accountIds: AccountIds ///

An object to specify the preferences for the Amazon EC2 instance /// recommendations to return in the response.

recommendationPreferences: RecommendationPreferences } structure GetEC2InstanceRecommendationsResponse { ///

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

An array of objects that describe instance recommendations.

instanceRecommendations: InstanceRecommendations ///

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: GetRecommendationErrors } structure GetEC2RecommendationProjectedMetricsRequest { ///

The Amazon Resource Name (ARN) of the instances for which to return recommendation /// projected metrics.

@required instanceArn: InstanceArn ///

The statistic of the projected metrics.

@required stat: MetricStatistic ///

The granularity, in seconds, of the projected metrics data points.

@required period: Period = 0 ///

The timestamp of the first projected metrics data point to return.

@required startTime: Timestamp ///

The timestamp of the last projected metrics data point to return.

@required endTime: Timestamp ///

An object to specify the preferences for the Amazon EC2 recommendation /// projected metrics to return in the response.

recommendationPreferences: RecommendationPreferences } structure GetEC2RecommendationProjectedMetricsResponse { ///

An array of objects that describes projected metrics.

recommendedOptionProjectedMetrics: RecommendedOptionProjectedMetrics } structure GetECSServiceRecommendationProjectedMetricsRequest { ///

/// The ARN that identifies the Amazon ECS service. ///

///

/// The following is the format of the ARN: ///

///

/// arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name ///

@required serviceArn: ServiceArn ///

/// The statistic of the projected metrics. ///

@required stat: MetricStatistic ///

/// The granularity, in seconds, of the projected metrics data points. ///

@required period: Period = 0 ///

/// The timestamp of the first projected metrics data point to return. ///

@required startTime: Timestamp ///

/// The timestamp of the last projected metrics data point to return. ///

@required endTime: Timestamp } structure GetECSServiceRecommendationProjectedMetricsResponse { ///

/// An array of objects that describes the projected metrics. ///

recommendedOptionProjectedMetrics: ECSServiceRecommendedOptionProjectedMetrics } structure GetECSServiceRecommendationsRequest { ///

/// The ARN that identifies the Amazon ECS service. ///

///

/// The following is the format of the ARN: ///

///

/// arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name ///

serviceArns: ServiceArns ///

/// The token to advance to the next page of Amazon ECS service recommendations. ///

nextToken: NextToken ///

/// The maximum number of Amazon ECS service recommendations to return with a single request. ///

///

To retrieve the remaining results, make another request with the returned /// nextToken value.

maxResults: MaxResults ///

/// An array of objects to specify a filter that returns a more specific list of Amazon ECS service recommendations. ///

filters: ECSServiceRecommendationFilters ///

/// Return the Amazon ECS service recommendations to the specified Amazon Web Services account IDs. ///

///

If your account is the management account or the delegated administrator /// of an organization, use this parameter to return the Amazon ECS service recommendations to specific /// member accounts.

///

You can only specify one account ID per request.

accountIds: AccountIds } structure GetECSServiceRecommendationsResponse { ///

/// The token to advance to the next page of Amazon ECS service recommendations. ///

nextToken: NextToken ///

/// An array of objects that describe the Amazon ECS service recommendations. ///

ecsServiceRecommendations: ECSServiceRecommendations ///

/// An array of objects that describe errors of the request. ///

errors: GetRecommendationErrors } structure GetEffectiveRecommendationPreferencesRequest { ///

The Amazon Resource Name (ARN) of the resource for which to confirm effective /// recommendation preferences. Only EC2 instance and Auto Scaling group ARNs are /// currently supported.

@required resourceArn: ResourceArn } structure GetEffectiveRecommendationPreferencesResponse { ///

The status of the enhanced infrastructure metrics recommendation preference. Considers /// all applicable preferences that you might have set at the resource, account, and /// organization level.

///

A status of Active confirms that the preference is applied in the latest /// recommendation refresh, and a status of Inactive confirms that it's not yet /// applied to recommendations.

///

To validate whether the preference is applied to your last generated set of /// recommendations, review the effectiveRecommendationPreferences value in the /// response of the GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations actions.

///

For more information, see Enhanced /// infrastructure metrics in the Compute Optimizer User /// Guide.

enhancedInfrastructureMetrics: EnhancedInfrastructureMetrics ///

The provider of the external metrics recommendation preference. Considers all /// applicable preferences that you might have set at the account and organization /// level.

///

If the preference is applied in the latest recommendation refresh, an object with a /// valid source value appears in the response. If the preference isn't applied /// to the recommendations already, then this object doesn't appear in the response.

///

To validate whether the preference is applied to your last generated set of /// recommendations, review the effectiveRecommendationPreferences value in the /// response of the GetEC2InstanceRecommendations actions.

///

For more information, see Enhanced /// infrastructure metrics in the Compute Optimizer User /// Guide.

externalMetricsPreference: ExternalMetricsPreference } structure GetEnrollmentStatusesForOrganizationRequest { ///

An array of objects to specify a filter that returns a more specific list of account /// enrollment statuses.

filters: EnrollmentFilters ///

The token to advance to the next page of account enrollment statuses.

nextToken: NextToken ///

The maximum number of account enrollment statuses to return with a single request. You /// can specify up to 100 statuses to return with each request.

///

To retrieve the remaining results, make another request with the returned /// nextToken value.

maxResults: MaxResults } structure GetEnrollmentStatusesForOrganizationResponse { ///

An array of objects that describe the enrollment statuses of organization member /// accounts.

accountEnrollmentStatuses: AccountEnrollmentStatuses ///

The token to use to advance to the next page of account enrollment statuses.

///

This value is null when there are no more pages of account enrollment statuses to /// return.

nextToken: NextToken } structure GetEnrollmentStatusRequest {} structure GetEnrollmentStatusResponse { ///

The enrollment status of the account.

status: 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: StatusReason ///

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

memberAccountsEnrolled: MemberAccountsEnrolled = false ///

The Unix epoch timestamp, in seconds, of when the account enrollment status was last /// updated.

lastUpdatedTimestamp: LastUpdatedTimestamp ///

The count of organization member accounts that are opted in to the service, if your /// account is an organization management account.

numberOfMemberAccountsOptedIn: NumberOfMemberAccountsOptedIn } structure GetLambdaFunctionRecommendationsRequest { ///

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 in the Lambda Developer /// Guide.

functionArns: FunctionArns ///

The ID of the Amazon Web Services account for which to return function /// recommendations.

///

If your account is the management account of an organization, use this parameter to /// specify the member account for which you want to return function recommendations.

///

Only one account ID can be specified per request.

accountIds: AccountIds ///

An array of objects to specify a filter that returns a more specific list of function /// recommendations.

filters: LambdaFunctionRecommendationFilters ///

The token to advance to the next page of function recommendations.

nextToken: NextToken ///

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: MaxResults } structure GetLambdaFunctionRecommendationsResponse { ///

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

An array of objects that describe function recommendations.

lambdaFunctionRecommendations: LambdaFunctionRecommendations } ///

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.

structure GetRecommendationError { ///

The ID of the error.

identifier: Identifier ///

The error code.

code: Code ///

The message, or reason, for the error.

message: Message } structure GetRecommendationPreferencesRequest { ///

The target resource type of the recommendation preference for which to return /// preferences.

///

The Ec2Instance option encompasses standalone instances and instances /// that are part of Auto Scaling groups. The AutoScalingGroup option /// encompasses only instances that are part of an Auto Scaling group.

/// ///

The valid values for this parameter are Ec2Instance and /// AutoScalingGroup.

///
@required resourceType: ResourceType ///

An object that describes the scope of the recommendation preference to return.

///

You can return recommendation preferences that are created at the organization level /// (for management accounts of an organization only), account level, and resource level. /// For more information, see Activating /// enhanced infrastructure metrics in the Compute Optimizer User /// Guide.

scope: Scope ///

The token to advance to the next page of recommendation preferences.

nextToken: NextToken ///

The maximum number of recommendation preferences to return with a single /// request.

///

To retrieve the remaining results, make another request with the returned /// nextToken value.

maxResults: MaxResults } structure GetRecommendationPreferencesResponse { ///

The token to use to advance to the next page of recommendation preferences.

///

This value is null when there are no more pages of recommendation preferences to /// return.

nextToken: NextToken ///

An array of objects that describe recommendation preferences.

recommendationPreferencesDetails: RecommendationPreferencesDetails } structure GetRecommendationSummariesRequest { ///

The ID of the Amazon Web Services account for which to return recommendation /// summaries.

///

If your account is the management account of an organization, use this parameter to /// specify the member account for which you want to return recommendation summaries.

///

Only one account ID can be specified per request.

accountIds: AccountIds ///

The token to advance to the next page of recommendation summaries.

nextToken: NextToken ///

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: MaxResults } structure GetRecommendationSummariesResponse { ///

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

An array of objects that summarize a recommendation.

recommendationSummaries: RecommendationSummaries } ///

Describes an Amazon EC2 instance recommendation.

structure InstanceRecommendation { ///

The Amazon Resource Name (ARN) of the current instance.

instanceArn: InstanceArn ///

The Amazon Web Services account ID of the instance.

accountId: AccountId ///

The name of the current instance.

instanceName: InstanceName ///

The instance type of the current instance.

currentInstanceType: CurrentInstanceType ///

The finding classification of the instance.

///

Findings for instances include:

///
    ///
  • ///

    /// /// Underprovisioned /// —An instance is /// considered under-provisioned when at least one specification of your instance, /// such as CPU, memory, or network, does not meet the performance requirements of /// your workload. Under-provisioned instances may lead to poor application /// performance.

    ///
  • ///
  • ///

    /// /// Overprovisioned /// —An instance is /// considered over-provisioned when at least one specification of your instance, /// such as CPU, memory, or network, can be sized down while still meeting the /// performance requirements of your workload, and no specification is /// under-provisioned. Over-provisioned instances may lead to unnecessary /// infrastructure cost.

    ///
  • ///
  • ///

    /// /// Optimized /// —An instance is /// considered optimized when all specifications of your instance, such as CPU, /// memory, and network, meet the performance requirements of your workload and is /// not over provisioned. For optimized resources, Compute Optimizer might /// recommend a new generation instance type.

    ///
  • ///
finding: Finding ///

The reason for the finding classification of the instance.

///

Finding reason codes for instances include:

///
    ///
  • ///

    /// /// CPUOverprovisioned /// — The /// instance’s CPU configuration can be sized down while still meeting the /// performance requirements of your workload. This is identified by analyzing the /// CPUUtilization metric of the current instance during the /// look-back period.

    ///
  • ///
  • ///

    /// /// CPUUnderprovisioned /// — The /// instance’s CPU configuration doesn't meet the performance requirements of your /// workload and there is an alternative instance type that provides better CPU /// performance. This is identified by analyzing the CPUUtilization /// metric of the current instance during the look-back period.

    ///
  • ///
  • ///

    /// /// MemoryOverprovisioned /// — The /// instance’s memory configuration can be sized down while still meeting the /// performance requirements of your workload. This is identified by analyzing the /// memory utilization metric of the current instance during the look-back /// period.

    ///
  • ///
  • ///

    /// /// MemoryUnderprovisioned /// — The /// instance’s memory configuration doesn't meet the performance requirements of /// your workload and there is an alternative instance type that provides better /// memory performance. This is identified by analyzing the memory utilization /// metric of the current instance during the look-back period.

    /// ///

    Memory utilization is analyzed only for resources that have the unified /// CloudWatch agent installed on them. For more information, see /// Enabling memory /// utilization with the Amazon CloudWatch Agent in the /// Compute Optimizer User Guide. On Linux /// instances, Compute Optimizer analyses the mem_used_percent /// metric in the CWAgent namespace, or the legacy /// MemoryUtilization metric in the System/Linux /// namespace. On Windows instances, Compute Optimizer analyses the Memory /// % Committed Bytes In Use metric in the CWAgent /// namespace.

    ///
    ///
  • ///
  • ///

    /// /// EBSThroughputOverprovisioned /// — /// The instance’s EBS throughput configuration can be sized down while still /// meeting the performance requirements of your workload. This is identified by /// analyzing the VolumeReadOps and VolumeWriteOps metrics /// of EBS volumes attached to the current instance during the look-back /// period.

    ///
  • ///
  • ///

    /// /// EBSThroughputUnderprovisioned /// — /// The instance’s EBS throughput configuration doesn't meet the performance /// requirements of your workload and there is an alternative instance type that /// provides better EBS throughput performance. This is identified by analyzing the /// VolumeReadOps and VolumeWriteOps metrics of EBS /// volumes attached to the current instance during the look-back period.

    ///
  • ///
  • ///

    /// /// EBSIOPSOverprovisioned /// — The /// instance’s EBS IOPS configuration can be sized down while still meeting the /// performance requirements of your workload. This is identified by analyzing the /// VolumeReadBytes and VolumeWriteBytes metric of EBS /// volumes attached to the current instance during the look-back period.

    ///
  • ///
  • ///

    /// /// EBSIOPSUnderprovisioned /// — The /// instance’s EBS IOPS configuration doesn't meet the performance requirements of /// your workload and there is an alternative instance type that provides better EBS /// IOPS performance. This is identified by analyzing the /// VolumeReadBytes and VolumeWriteBytes metric of EBS /// volumes attached to the current instance during the look-back period.

    ///
  • ///
  • ///

    /// /// NetworkBandwidthOverprovisioned /// /// — The instance’s network bandwidth configuration can be sized down while still /// meeting the performance requirements of your workload. This is identified by /// analyzing the NetworkIn and NetworkOut metrics of the /// current instance during the look-back period.

    ///
  • ///
  • ///

    /// /// NetworkBandwidthUnderprovisioned /// /// — The instance’s network bandwidth configuration doesn't meet the performance /// requirements of your workload and there is an alternative instance type that /// provides better network bandwidth performance. This is identified by analyzing /// the NetworkIn and NetworkOut metrics of the current /// instance during the look-back period. This finding reason happens when the /// NetworkIn or NetworkOut performance of an instance /// is impacted.

    ///
  • ///
  • ///

    /// /// NetworkPPSOverprovisioned /// — The /// instance’s network PPS (packets per second) configuration can be sized down /// while still meeting the performance requirements of your workload. This is /// identified by analyzing the NetworkPacketsIn and /// NetworkPacketsIn metrics of the current instance during the /// look-back period.

    ///
  • ///
  • ///

    /// /// NetworkPPSUnderprovisioned /// — The /// instance’s network PPS (packets per second) configuration doesn't meet the /// performance requirements of your workload and there is an alternative instance /// type that provides better network PPS performance. This is identified by /// analyzing the NetworkPacketsIn and NetworkPacketsIn /// metrics of the current instance during the look-back period.

    ///
  • ///
  • ///

    /// /// DiskIOPSOverprovisioned /// — The /// instance’s disk IOPS configuration can be sized down while still meeting the /// performance requirements of your workload. This is identified by analyzing the /// DiskReadOps and DiskWriteOps metrics of the /// current instance during the look-back period.

    ///
  • ///
  • ///

    /// /// DiskIOPSUnderprovisioned /// — The /// instance’s disk IOPS configuration doesn't meet the performance requirements of /// your workload and there is an alternative instance type that provides better /// disk IOPS performance. This is identified by analyzing the /// DiskReadOps and DiskWriteOps metrics of the /// current instance during the look-back period.

    ///
  • ///
  • ///

    /// /// DiskThroughputOverprovisioned /// — /// The instance’s disk throughput configuration can be sized down while still /// meeting the performance requirements of your workload. This is identified by /// analyzing the DiskReadBytes and DiskWriteBytes metrics /// of the current instance during the look-back period.

    ///
  • ///
  • ///

    /// /// DiskThroughputUnderprovisioned /// — /// The instance’s disk throughput configuration doesn't meet the performance /// requirements of your workload and there is an alternative instance type that /// provides better disk throughput performance. This is identified by analyzing the /// DiskReadBytes and DiskWriteBytes metrics of the /// current instance during the look-back period.

    ///
  • ///
/// ///

For more information about instance metrics, see List the /// available CloudWatch metrics for your instances in the /// Amazon Elastic Compute Cloud User Guide. For more information /// about EBS volume metrics, see Amazon CloudWatch /// metrics for Amazon EBS in the Amazon Elastic Compute Cloud /// User Guide.

///
findingReasonCodes: InstanceRecommendationFindingReasonCodes ///

An array of objects that describe the utilization metrics of the instance.

utilizationMetrics: UtilizationMetrics ///

The number of days for which utilization metrics were analyzed for the /// instance.

lookBackPeriodInDays: LookBackPeriodInDays = 0 ///

An array of objects that describe the recommendation options for the instance.

recommendationOptions: RecommendationOptions ///

An array of objects that describe the source resource of the recommendation.

recommendationSources: RecommendationSources ///

The timestamp of when the instance recommendation was last generated.

lastRefreshTimestamp: LastRefreshTimestamp ///

The risk of the current instance not meeting the performance needs of its workloads. /// The higher the risk, the more likely the current instance cannot meet the performance /// requirements of its workload.

currentPerformanceRisk: CurrentPerformanceRisk ///

An object that describes the effective recommendation preferences for the /// instance.

effectiveRecommendationPreferences: EffectiveRecommendationPreferences ///

The applications that might be running on the instance as inferred by Compute Optimizer.

///

Compute Optimizer can infer if one of the following applications might be running on /// the instance:

///
    ///
  • ///

    /// AmazonEmr - Infers that Amazon EMR might be running on /// the instance.

    ///
  • ///
  • ///

    /// ApacheCassandra - Infers that Apache Cassandra might be running /// on the instance.

    ///
  • ///
  • ///

    /// ApacheHadoop - Infers that Apache Hadoop might be running on the /// instance.

    ///
  • ///
  • ///

    /// Memcached - Infers that Memcached might be running on the /// instance.

    ///
  • ///
  • ///

    /// NGINX - Infers that NGINX might be running on the /// instance.

    ///
  • ///
  • ///

    /// PostgreSql - Infers that PostgreSQL might be running on the /// instance.

    ///
  • ///
  • ///

    /// Redis - Infers that Redis might be running on the /// instance.

    ///
  • ///
  • ///

    /// Kafka - Infers that Kafka might be running on the /// instance.

    ///
  • ///
inferredWorkloadTypes: InferredWorkloadTypes } ///

Describes a recommendation option for an Amazon EC2 instance.

structure InstanceRecommendationOption { ///

The instance type of the instance recommendation.

instanceType: InstanceType ///

An array of objects that describe the projected utilization metrics of the instance /// recommendation option.

/// ///

The Cpu and Memory metrics are the only projected /// utilization metrics returned. Additionally, the Memory metric is /// returned only for resources that have the unified CloudWatch agent installed /// on them. For more information, see Enabling Memory /// Utilization with the CloudWatch Agent.

///
projectedUtilizationMetrics: ProjectedUtilizationMetrics ///

Describes the configuration differences between the current instance and the /// recommended instance type. You should consider the configuration differences before /// migrating your workloads from the current instance to the recommended instance type. The /// Change the instance type guide for Linux and Change the instance type /// guide for Windows provide general guidance for getting started with an /// instance migration.

///

Platform differences include:

///
    ///
  • ///

    /// /// Hypervisor /// — The hypervisor of /// the recommended instance type is different than that of the current instance. /// For example, the recommended instance type uses a Nitro hypervisor and the /// current instance uses a Xen hypervisor. The differences that you should consider /// between these hypervisors are covered in the Nitro Hypervisor section of the /// Amazon EC2 frequently asked questions. For more information, see /// Instances built on the Nitro System in the Amazon EC2 /// User Guide for Linux, or Instances built on the Nitro System in the Amazon EC2 /// User Guide for Windows.

    ///
  • ///
  • ///

    /// /// NetworkInterface /// — The network /// interface of the recommended instance type is different than that of the current /// instance. For example, the recommended instance type supports enhanced /// networking and the current instance might not. To enable enhanced networking for /// the recommended instance type, you must install the Elastic Network Adapter /// (ENA) driver or the Intel 82599 Virtual Function driver. For more information, /// see Networking and storage features and Enhanced networking /// on Linux in the Amazon EC2 User Guide for /// Linux, or Networking and storage features and Enhanced /// networking on Windows in the Amazon EC2 User Guide for /// Windows.

    ///
  • ///
  • ///

    /// /// StorageInterface /// — The storage /// interface of the recommended instance type is different than that of the current /// instance. For example, the recommended instance type uses an NVMe storage /// interface and the current instance does not. To access NVMe volumes for the /// recommended instance type, you will need to install or upgrade the NVMe driver. /// For more information, see Networking and storage features and Amazon EBS and NVMe on /// Linux instances in the Amazon EC2 User Guide for /// Linux, or Networking and storage features and Amazon EBS and NVMe /// on Windows instances in the Amazon EC2 User Guide for /// Windows.

    ///
  • ///
  • ///

    /// /// InstanceStoreAvailability /// — The /// recommended instance type does not support instance store volumes and the /// current instance does. Before migrating, you might need to back up the data on /// your instance store volumes if you want to preserve them. For more information, /// see How do I back up an instance store volume on my Amazon EC2 instance /// to Amazon EBS? in the Amazon Web Services Premium /// Support Knowledge Base. For more information, see Networking and storage features and Amazon EC2 /// instance store in the Amazon EC2 User Guide for /// Linux, or see Networking and storage features and Amazon EC2 /// instance store in the Amazon EC2 User Guide for /// Windows.

    ///
  • ///
  • ///

    /// /// VirtualizationType /// — The /// recommended instance type uses the hardware virtual machine (HVM) virtualization /// type and the current instance uses the paravirtual (PV) virtualization type. For /// more information about the differences between these virtualization types, see /// Linux AMI /// virtualization types in the Amazon EC2 User Guide for /// Linux, or Windows AMI virtualization types in the Amazon EC2 User /// Guide for Windows.

    ///
  • ///
  • ///

    /// /// Architecture /// — The CPU /// architecture between the recommended instance type and the current instance is /// different. For example, the recommended instance type might use an Arm CPU /// architecture and the current instance type might use a different one, such as /// x86. Before migrating, you should consider recompiling the software on your /// instance for the new architecture. Alternatively, you might switch to an Amazon /// Machine Image (AMI) that supports the new architecture. For more information /// about the CPU architecture for each instance type, see Amazon EC2 Instance Types.

    ///
  • ///
platformDifferences: PlatformDifferences ///

The performance risk of the instance recommendation option.

///

Performance risk indicates the likelihood of the recommended instance type not meeting /// the resource needs of your workload. Compute Optimizer calculates an individual /// performance risk score for each specification of the recommended instance, including /// CPU, memory, EBS throughput, EBS IOPS, disk throughput, disk IOPS, network throughput, /// and network PPS. /// The performance /// risk of the recommended instance is calculated as the maximum performance risk score /// across the analyzed resource specifications.

///

The value ranges from 0 - 4, with 0 meaning /// that the recommended resource is predicted to always provide enough hardware capability. /// The higher the performance risk is, the more likely you should validate whether the /// recommendation will meet the performance requirements of your workload before migrating /// your resource.

performanceRisk: PerformanceRisk = 0 ///

The rank of the instance recommendation option.

///

The top recommendation option is ranked as 1.

rank: Rank = 0 ///

An object that describes the savings opportunity for the instance recommendation /// option. Savings opportunity includes the estimated monthly savings amount and /// percentage.

savingsOpportunity: SavingsOpportunity ///

The level of effort required to migrate from the current instance type to the /// recommended instance type.

///

For example, the migration effort is Low if Amazon EMR is the /// inferred workload type and an Amazon Web Services Graviton instance type is recommended. /// The migration effort is Medium if a workload type couldn't be inferred but /// an Amazon Web Services Graviton instance type is recommended. The migration effort is /// VeryLow if both the current and recommended instance types are of the /// same CPU architecture.

migrationEffort: MigrationEffort } ///

An internal error has occurred. Try your call again.

@error("server") @httpError(500) structure InternalServerException { message: ErrorMessage } ///

The value supplied for the input parameter is out of range or not valid.

@error("client") @httpError(400) structure InvalidParameterValueException { message: ErrorMessage } ///

Describes a filter that returns a more specific list of recommendation export jobs. /// Use this filter with the DescribeRecommendationExportJobs /// action.

///

You can use EBSFilter with the GetEBSVolumeRecommendations action, /// LambdaFunctionRecommendationFilter with the GetLambdaFunctionRecommendations action, and Filter with /// the GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations actions.

structure JobFilter { ///

The name of the filter.

///

Specify ResourceType to return export jobs of a specific resource type /// (for example, Ec2Instance).

///

Specify JobStatus to return export jobs with a specific status (e.g, /// Complete).

name: JobFilterName ///

The value of the filter.

///

The valid values for this parameter are as follows, depending on what you specify for /// the name parameter:

///
    ///
  • ///

    Specify Ec2Instance or AutoScalingGroup if you /// specify the name parameter as ResourceType. There is /// no filter for EBS volumes because volume recommendations cannot be exported at /// this time.

    ///
  • ///
  • ///

    Specify Queued, InProgress, Complete, /// or Failed if you specify the name parameter as /// JobStatus.

    ///
  • ///
values: FilterValues } ///

Describes a projected utilization metric of an Lambda function /// recommendation option.

structure LambdaFunctionMemoryProjectedMetric { ///

The name of the projected utilization metric.

name: LambdaFunctionMemoryMetricName ///

The statistic of the projected utilization metric.

statistic: LambdaFunctionMemoryMetricStatistic ///

The values of the projected utilization metrics.

value: MetricValue = 0 } ///

Describes a recommendation option for an Lambda function.

structure LambdaFunctionMemoryRecommendationOption { ///

The rank of the function recommendation option.

///

The top recommendation option is ranked as 1.

rank: Rank = 0 ///

The memory size, in MB, of the function recommendation option.

memorySize: MemorySize = 0 ///

An array of objects that describe the projected utilization metrics of the function /// recommendation option.

projectedUtilizationMetrics: LambdaFunctionMemoryProjectedMetrics ///

An object that describes the savings opportunity for the Lambda function /// recommendation option. Savings opportunity includes the estimated monthly savings amount /// and percentage.

savingsOpportunity: SavingsOpportunity } ///

Describes an Lambda function recommendation.

structure LambdaFunctionRecommendation { ///

The Amazon Resource Name (ARN) of the current function.

functionArn: FunctionArn ///

The version number of the current function.

functionVersion: FunctionVersion ///

The Amazon Web Services account ID of the function.

accountId: AccountId ///

The amount of memory, in MB, that's allocated to the current function.

currentMemorySize: MemorySize = 0 ///

The number of times your function code was applied during the look-back period.

numberOfInvocations: NumberOfInvocations = 0 ///

An array of objects that describe the utilization metrics of the function.

utilizationMetrics: LambdaFunctionUtilizationMetrics ///

The number of days for which utilization metrics were analyzed for the /// function.

lookbackPeriodInDays: LookBackPeriodInDays = 0 ///

The timestamp of when the function recommendation was last generated.

lastRefreshTimestamp: LastRefreshTimestamp ///

The finding classification of the function.

///

Findings for functions include:

///
    ///
  • ///

    /// /// Optimized /// — The function is /// correctly provisioned to run your workload based on its current configuration /// and its utilization history. This finding classification does not include /// finding reason codes.

    ///
  • ///
  • ///

    /// /// NotOptimized /// — The function is /// performing at a higher level (over-provisioned) or at a lower level /// (under-provisioned) than required for your workload because its current /// configuration is not optimal. Over-provisioned resources might lead to /// unnecessary infrastructure cost, and under-provisioned resources might lead to /// poor application performance. This finding classification can include the /// MemoryUnderprovisioned and MemoryUnderprovisioned /// finding reason codes.

    ///
  • ///
  • ///

    /// /// Unavailable /// — Compute Optimizer /// was unable to generate a recommendation for the function. This could be because /// the function has not accumulated sufficient metric data, or the function does /// not qualify for a recommendation. This finding classification can include the /// InsufficientData and Inconclusive finding reason /// codes.

    /// ///

    Functions with a finding of unavailable are not returned unless you /// specify the filter parameter with a value of /// Unavailable in your /// GetLambdaFunctionRecommendations request.

    ///
    ///
  • ///
finding: LambdaFunctionRecommendationFinding ///

The reason for the finding classification of the function.

/// ///

Functions that have a finding classification of Optimized don't have /// a finding reason code.

///
///

Finding reason codes for functions include:

///
    ///
  • ///

    /// /// MemoryOverprovisioned /// — The /// function is over-provisioned when its memory configuration can be sized down /// while still meeting the performance requirements of your workload. An /// over-provisioned function might lead to unnecessary infrastructure cost. This /// finding reason code is part of the NotOptimized finding /// classification.

    ///
  • ///
  • ///

    /// /// MemoryUnderprovisioned /// — The /// function is under-provisioned when its memory configuration doesn't meet the /// performance requirements of the workload. An under-provisioned function might /// lead to poor application performance. This finding reason code is part of the /// NotOptimized finding classification.

    ///
  • ///
  • ///

    /// /// InsufficientData /// — The function /// does not have sufficient metric data for Compute Optimizer to generate a /// recommendation. For more information, see the Supported resources and /// requirements in the Compute Optimizer User /// Guide. This finding reason code is part of the /// Unavailable finding classification.

    ///
  • ///
  • ///

    /// /// Inconclusive /// — The function does /// not qualify for a recommendation because Compute Optimizer cannot generate a /// recommendation with a high degree of confidence. This finding reason code is /// part of the Unavailable finding classification.

    ///
  • ///
findingReasonCodes: LambdaFunctionRecommendationFindingReasonCodes ///

An array of objects that describe the memory configuration recommendation options for /// the function.

memorySizeRecommendationOptions: LambdaFunctionMemoryRecommendationOptions ///

The risk of the current Lambda function not meeting the performance needs /// of its workloads. The higher the risk, the more likely the current Lambda /// function requires more memory.

currentPerformanceRisk: CurrentPerformanceRisk } ///

Describes a filter that returns a more specific list of Lambda /// function recommendations. Use this filter with the GetLambdaFunctionRecommendations action.

///

You can use EBSFilter with the GetEBSVolumeRecommendations action, JobFilter with the /// DescribeRecommendationExportJobs action, and Filter /// with the GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations actions.

structure LambdaFunctionRecommendationFilter { ///

The name of the filter.

///

Specify Finding to return recommendations with a specific finding /// classification (for example, NotOptimized).

///

Specify FindingReasonCode to return recommendations with a specific /// finding reason code (for example, MemoryUnderprovisioned).

name: LambdaFunctionRecommendationFilterName ///

The value of the filter.

///

The valid values for this parameter are as follows, depending on what you specify for /// the name parameter:

///
    ///
  • ///

    Specify Optimized, NotOptimized, or /// Unavailable if you specify the name parameter as /// Finding.

    ///
  • ///
  • ///

    Specify MemoryOverprovisioned, /// MemoryUnderprovisioned, InsufficientData, or /// Inconclusive if you specify the name parameter as /// FindingReasonCode.

    ///
  • ///
values: FilterValues } ///

Describes a utilization metric of an Lambda function.

structure LambdaFunctionUtilizationMetric { ///

The name of the utilization metric.

///

The following utilization metrics are available:

///
    ///
  • ///

    /// Duration - The amount of time that your function code spends /// processing an event.

    ///
  • ///
  • ///

    /// Memory - The amount of memory used per invocation.

    ///
  • ///
name: LambdaFunctionMetricName ///

The statistic of the utilization metric.

///

The Compute Optimizer API, Command Line Interface (CLI), and SDKs /// return utilization metrics using only the Maximum statistic, which is the /// highest value observed during the specified period.

///

The Compute Optimizer console displays graphs for some utilization metrics using the /// Average statistic, which is the value of Sum / /// SampleCount during the specified period. For more information, see /// Viewing resource /// recommendations in the Compute Optimizer User /// Guide. You can also get averaged utilization metric data for your resources /// using Amazon CloudWatch. For more information, see the Amazon CloudWatch /// User Guide.

statistic: LambdaFunctionMetricStatistic ///

The value of the utilization metric.

value: MetricValue = 0 } ///

The request exceeds a limit of the service.

@error("client") @httpError(400) structure LimitExceededException { message: ErrorMessage } ///

/// The memory size configurations of a container. ///

structure MemorySizeConfiguration { ///

/// The amount of memory in the container. ///

memory: NullableMemory ///

/// The limit of memory reserve for the container. ///

memoryReservation: NullableMemoryReservation } ///

The request must contain either a valid (registered) Amazon Web Services access key ID /// or X.509 certificate.

@error("client") @httpError(403) structure MissingAuthenticationToken { message: ErrorMessage } ///

The account is not opted in to Compute Optimizer.

@error("client") @httpError(403) structure OptInRequiredException { message: ErrorMessage } ///

Describes a projected utilization metric of a recommendation option, such as an /// Amazon EC2 instance. This represents the projected utilization of a /// recommendation option had you used that resource during the analyzed period.

///

Compare the utilization metric data of your resource against its projected utilization /// metric data to determine the performance difference between your current resource and /// the recommended option.

/// ///

The Cpu and Memory metrics are the only projected /// utilization metrics returned when you run the GetEC2RecommendationProjectedMetrics action. Additionally, the /// Memory metric is returned only for resources that have the unified /// CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

///
structure ProjectedMetric { ///

The name of the projected utilization metric.

///

The following projected utilization metrics are returned:

///
    ///
  • ///

    /// Cpu - The projected percentage of allocated EC2 compute units /// that would be in use on the recommendation option had you used that resource /// during the analyzed period. This metric identifies the processing power required /// to run an application on the recommendation option.

    ///

    Depending on the instance type, tools in your operating system can show a /// lower percentage than CloudWatch when the instance is not allocated a full /// processor core.

    ///

    Units: Percent

    ///
  • ///
  • ///

    /// Memory - The percentage of memory that would be in use on the /// recommendation option had you used that resource during the analyzed period. /// This metric identifies the amount of memory required to run an application on /// the recommendation option.

    ///

    Units: Percent

    /// ///

    The Memory metric is returned only for resources that have /// the unified CloudWatch agent installed on them. For more information, /// see Enabling Memory /// Utilization with the CloudWatch Agent.

    ///
    ///
  • ///
name: MetricName ///

The timestamps of the projected utilization metric.

timestamps: Timestamps ///

The values of the projected utilization metrics.

values: MetricValues } structure PutRecommendationPreferencesRequest { ///

The target resource type of the recommendation preference to create.

///

The Ec2Instance option encompasses standalone instances and instances /// that are part of Auto Scaling groups. The AutoScalingGroup option /// encompasses only instances that are part of an Auto Scaling group.

/// ///

The valid values for this parameter are Ec2Instance and /// AutoScalingGroup.

///
@required resourceType: ResourceType ///

An object that describes the scope of the recommendation preference to create.

///

You can create recommendation preferences at the organization level (for management /// accounts of an organization only), account level, and resource level. For more /// information, see Activating /// enhanced infrastructure metrics in the Compute Optimizer User /// Guide.

/// ///

You cannot create recommendation preferences for Auto Scaling groups at the /// organization and account levels. You can create recommendation preferences for /// Auto Scaling groups only at the resource level by specifying a scope name /// of ResourceArn and a scope value of the Auto Scaling group Amazon /// Resource Name (ARN). This will configure the preference for all instances that are /// part of the specified Auto Scaling group. You also cannot create recommendation /// preferences at the resource level for instances that are part of an Auto Scaling group. You can create recommendation preferences at the resource level only for /// standalone instances.

///
scope: Scope ///

The status of the enhanced infrastructure metrics recommendation preference to create /// or update.

///

Specify the Active status to activate the preference, or specify /// Inactive to deactivate the preference.

///

For more information, see Enhanced /// infrastructure metrics in the Compute Optimizer User /// Guide.

enhancedInfrastructureMetrics: EnhancedInfrastructureMetrics ///

The status of the inferred workload types recommendation preference to create or /// update.

/// ///

The inferred workload type feature is active by default. To deactivate it, create /// a recommendation preference.

///
///

Specify the Inactive status to deactivate the feature, or specify /// Active to activate it.

///

For more information, see Inferred workload /// types in the Compute Optimizer User Guide.

inferredWorkloadTypes: InferredWorkloadTypesPreference ///

The provider of the external metrics recommendation preference to create or /// update.

///

Specify a valid provider in the source field to activate the preference. /// To delete this preference, see the DeleteRecommendationPreferences /// action.

///

This preference can only be set for the Ec2Instance resource type.

///

For more information, see External metrics /// ingestion in the Compute Optimizer User /// Guide.

externalMetricsPreference: ExternalMetricsPreference } structure PutRecommendationPreferencesResponse {} ///

A summary of a finding reason code.

structure ReasonCodeSummary { ///

The name of the finding reason code.

name: FindingReasonCode ///

The value of the finding reason code summary.

value: SummaryValue = 0 } ///

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.

structure RecommendationExportJob { ///

The identification number of the export job.

jobId: JobId ///

An object that describes the destination of the export file.

destination: ExportDestination ///

The resource type of the exported recommendations.

resourceType: ResourceType ///

The status of the export job.

status: JobStatus ///

The timestamp of when the export job was created.

creationTimestamp: CreationTimestamp ///

The timestamp of when the export job was last updated.

lastUpdatedTimestamp: LastUpdatedTimestamp ///

The reason for an export job failure.

failureReason: FailureReason } ///

Describes the recommendation preferences to return in the response of a GetAutoScalingGroupRecommendations, GetEC2InstanceRecommendations, and GetEC2RecommendationProjectedMetrics request.

structure RecommendationPreferences { ///

Specifies the CPU vendor and architecture for Amazon EC2 instance and Auto Scaling group recommendations.

///

For example, when you specify AWS_ARM64 with:

/// cpuVendorArchitectures: CpuVendorArchitectures } ///

Describes a recommendation preference.

structure RecommendationPreferencesDetail { ///

An object that describes the scope of the recommendation preference.

///

Recommendation preferences can be created at the organization level (for management /// accounts of an organization only), account level, and resource level. For more /// information, see Activating /// enhanced infrastructure metrics in the Compute Optimizer User /// Guide.

scope: Scope ///

The target resource type of the recommendation preference to create.

///

The Ec2Instance option encompasses standalone instances and instances /// that are part of Auto Scaling groups. The AutoScalingGroup option /// encompasses only instances that are part of an Auto Scaling group.

resourceType: ResourceType ///

The status of the enhanced infrastructure metrics recommendation preference.

///

When the recommendations page is refreshed, a status of Active confirms /// that the preference is applied to the recommendations, and a status of /// Inactive confirms that the preference isn't yet applied to /// recommendations.

///

For more information, see Enhanced /// infrastructure metrics in the Compute Optimizer User /// Guide.

enhancedInfrastructureMetrics: EnhancedInfrastructureMetrics ///

The status of the inferred workload types recommendation preference.

///

When the recommendations page is refreshed, a status of Active confirms /// that the preference is applied to the recommendations, and a status of /// Inactive confirms that the preference isn't yet applied to /// recommendations.

inferredWorkloadTypes: InferredWorkloadTypesPreference ///

An object that describes the external metrics recommendation preference.

///

If the preference is applied in the latest recommendation refresh, an object with a /// valid source value appears in the response. If the preference isn't applied /// to the recommendations already, then this object doesn't appear in the response.

externalMetricsPreference: ExternalMetricsPreference } ///

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

structure RecommendationSource { ///

The Amazon Resource Name (ARN) of the recommendation source.

recommendationSourceArn: RecommendationSourceArn ///

The resource type of the recommendation source.

recommendationSourceType: RecommendationSourceType } ///

A summary of a recommendation.

structure RecommendationSummary { ///

An array of objects that describe a recommendation summary.

summaries: Summaries ///

The resource type that the recommendation summary applies to.

recommendationResourceType: RecommendationSourceType ///

The Amazon Web Services account ID of the recommendation summary.

accountId: AccountId ///

An object that describes the savings opportunity for a given resource type. Savings /// opportunity includes the estimated monthly savings amount and percentage.

savingsOpportunity: SavingsOpportunity ///

An object that describes the performance risk ratings for a given resource /// type.

currentPerformanceRiskRatings: CurrentPerformanceRiskRatings } ///

Describes a projected utilization metric of a recommendation option.

/// ///

The Cpu and Memory metrics are the only projected /// utilization metrics returned when you run the GetEC2RecommendationProjectedMetrics action. Additionally, the /// Memory metric is returned only for resources that have the unified /// CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

///
structure RecommendedOptionProjectedMetric { ///

The recommended instance type.

recommendedInstanceType: RecommendedInstanceType ///

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: Rank = 0 ///

An array of objects that describe a projected utilization metric.

projectedMetrics: ProjectedMetrics } ///

A resource that is required for the action doesn't exist.

@error("client") @httpError(404) structure ResourceNotFoundException { message: ErrorMessage } ///

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

structure S3Destination { ///

The name of the Amazon S3 bucket used as the destination of an export /// file.

bucket: DestinationBucket ///

The Amazon S3 bucket key of an export file.

///

The key uniquely identifies the object, or export file, in the S3 bucket.

key: DestinationKey ///

The Amazon S3 bucket key of a metadata file.

///

The key uniquely identifies the object, or metadata file, in the S3 bucket.

metadataKey: MetadataKey } ///

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 in the /// Compute Optimizer User Guide.

structure S3DestinationConfig { ///

The name of the Amazon S3 bucket to use as the destination for an export /// job.

bucket: DestinationBucket ///

The Amazon S3 bucket prefix for an export job.

keyPrefix: DestinationKeyPrefix } ///

Describes the savings opportunity for recommendations of a given resource type or for /// the recommendation option of an individual resource.

///

Savings opportunity represents the estimated monthly savings you can achieve by /// implementing a given Compute Optimizer recommendation.

/// ///

Savings opportunity data requires that you opt in to Cost Explorer, as well as /// activate Receive Amazon EC2 resource /// recommendations in the Cost Explorer preferences page. That /// creates a connection between Cost Explorer and Compute Optimizer. With this /// connection, Cost Explorer generates savings estimates considering the price of /// existing resources, the price of recommended resources, and historical usage data. /// Estimated monthly savings reflects the projected dollar savings associated with each /// of the recommendations generated. For more information, see Enabling Cost Explorer and Optimizing your cost /// with Rightsizing Recommendations in the Cost Management User /// Guide.

///
structure SavingsOpportunity { ///

The estimated monthly savings possible as a percentage of monthly cost by adopting /// Compute Optimizer recommendations for a given resource.

savingsOpportunityPercentage: SavingsOpportunityPercentage = 0 ///

An object that describes the estimated monthly savings amount possible, based on /// On-Demand instance pricing, by adopting Compute Optimizer recommendations for a given /// resource.

estimatedMonthlySavings: EstimatedMonthlySavings } ///

Describes the scope of a recommendation preference.

///

Recommendation preferences can be created at the organization level (for management /// accounts of an organization only), account level, and resource level. For more /// information, see Activating /// enhanced infrastructure metrics in the Compute Optimizer User /// Guide.

/// ///

You cannot create recommendation preferences for Auto Scaling groups at the /// organization and account levels. You can create recommendation preferences for /// Auto Scaling groups only at the resource level by specifying a scope name /// of ResourceArn and a scope value of the Auto Scaling group Amazon /// Resource Name (ARN). This will configure the preference for all instances that are /// part of the specified Auto Scaling group. You also cannot create recommendation /// preferences at the resource level for instances that are part of an Auto Scaling group. You can create recommendation preferences at the resource level only for /// standalone instances.

///
structure Scope { ///

The name of the scope.

///

The following scopes are possible:

///
    ///
  • ///

    /// Organization - Specifies that the recommendation preference /// applies at the organization level, for all member accounts of an /// organization.

    ///
  • ///
  • ///

    /// AccountId - Specifies that the recommendation preference applies /// at the account level, for all resources of a given resource type in an /// account.

    ///
  • ///
  • ///

    /// ResourceArn - Specifies that the recommendation preference /// applies at the individual resource level.

    ///
  • ///
name: ScopeName ///

The value of the scope.

///

If you specified the name of the scope as:

///
    ///
  • ///

    /// Organization - The value must be /// ALL_ACCOUNTS.

    ///
  • ///
  • ///

    /// AccountId - The value must be a 12-digit Amazon Web Services account ID.

    ///
  • ///
  • ///

    /// ResourceArn - The value must be the Amazon Resource /// Name (ARN) of an EC2 instance or an Auto Scaling group.

    ///
  • ///
///

Only EC2 instance and Auto Scaling group ARNs are currently supported.

value: ScopeValue } ///

/// The Amazon ECS service configurations used for recommendations. ///

structure ServiceConfiguration { ///

/// The amount of memory used by the tasks in the Amazon ECS service. ///

memory: NullableMemory ///

/// The number of CPU units used by the tasks in the Amazon ECS service. ///

cpu: NullableCpu ///

/// The container configurations within a task of an Amazon ECS service. ///

containerConfigurations: ContainerConfigurations ///

/// Describes the Auto Scaling configuration methods for an Amazon ECS service. This affects /// the generated recommendations. For example, if Auto Scaling is configured on a /// service’s CPU, then Compute Optimizer doesn’t generate CPU size recommendations. ///

///

The Auto Scaling configuration methods include:

///
    ///
  • ///

    /// TARGET_TRACKING_SCALING_CPU — If the Amazon ECS service is configured /// to use target scaling on CPU, Compute Optimizer doesn't generate CPU recommendations.

    ///
  • ///
  • ///

    /// TARGET_TRACKING_SCALING_MEMORY — If the Amazon ECS service is configured /// to use target scaling on memory, Compute Optimizer doesn't generate memory recommendations.

    ///
  • ///
///

For more information about step scaling and target scaling, see /// /// Step scaling policies for Application Auto Scaling and /// /// Target tracking scaling policies for Application Auto Scaling in the /// Application Auto Scaling User Guide.

autoScalingConfiguration: AutoScalingConfiguration ///

/// The task definition ARN used by the tasks in the Amazon ECS service. ///

taskDefinitionArn: TaskDefinitionArn } ///

The request has failed due to a temporary failure of the server.

@error("server") @httpError(503) structure ServiceUnavailableException { message: ErrorMessage } ///

The summary of a recommendation.

structure Summary { ///

The finding classification of the recommendation.

name: Finding ///

The value of the recommendation summary.

value: SummaryValue = 0 ///

An array of objects that summarize a finding reason code.

reasonCodeSummaries: ReasonCodeSummaries } ///

The request was denied due to request throttling.

@error("client") @httpError(429) structure ThrottlingException { @required message: ErrorMessage } structure UpdateEnrollmentStatusRequest { ///

The new enrollment status of the account.

///

The following status options are available:

///
    ///
  • ///

    /// Active - Opts in your account to the Compute Optimizer service. /// Compute Optimizer begins analyzing the configuration and utilization metrics /// of your Amazon Web Services resources after you opt in. For more information, see /// Metrics analyzed by Compute Optimizer in the Compute Optimizer User Guide.

    ///
  • ///
  • ///

    /// Inactive - Opts out your account from the Compute Optimizer /// service. Your account's recommendations and related metrics data will be deleted /// from Compute Optimizer after you opt out.

    ///
  • ///
/// ///

The Pending and Failed options cannot be used to update /// the enrollment status of an account. They are returned in the response of a request /// to update the enrollment status of an account.

///
@required status: Status ///

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

includeMemberAccounts: IncludeMemberAccounts = false } structure UpdateEnrollmentStatusResponse { ///

The enrollment status of the account.

status: 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: StatusReason } ///

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

///

Compare the utilization metric data of your resource against its projected utilization /// metric data to determine the performance difference between your current resource and /// the recommended option.

structure UtilizationMetric { ///

The name of the utilization metric.

///

The following utilization metrics are available:

///
    ///
  • ///

    /// Cpu - The percentage of allocated EC2 compute units that are /// currently in use on the instance. This metric identifies the processing power /// required to run an application on the instance.

    ///

    Depending on the instance type, tools in your operating system can show a /// lower percentage than CloudWatch when the instance is not allocated a full /// processor core.

    ///

    Units: Percent

    ///
  • ///
  • ///

    /// Memory - The percentage of memory that is currently in use on the /// instance. This metric identifies the amount of memory required to run an /// application on the instance.

    ///

    Units: Percent

    /// ///

    The Memory metric is returned only for resources that have /// the unified CloudWatch agent installed on them. For more information, /// see Enabling Memory /// Utilization with the CloudWatch Agent.

    ///
    ///
  • ///
  • ///

    /// EBS_READ_OPS_PER_SECOND - The completed read operations from all /// EBS volumes attached to the instance in a specified period of time.

    ///

    Unit: Count

    ///
  • ///
  • ///

    /// EBS_WRITE_OPS_PER_SECOND - The completed write operations to all /// EBS volumes attached to the instance in a specified period of time.

    ///

    Unit: Count

    ///
  • ///
  • ///

    /// EBS_READ_BYTES_PER_SECOND - The bytes read from all EBS volumes /// attached to the instance in a specified period of time.

    ///

    Unit: Bytes

    ///
  • ///
  • ///

    /// EBS_WRITE_BYTES_PER_SECOND - The bytes written to all EBS volumes /// attached to the instance in a specified period of time.

    ///

    Unit: Bytes

    ///
  • ///
  • ///

    /// DISK_READ_OPS_PER_SECOND - The completed read operations from all /// instance store volumes available to the instance in a specified period of /// time.

    ///

    If there are no instance store volumes, either the value is 0 or /// the metric is not reported.

    ///
  • ///
  • ///

    /// DISK_WRITE_OPS_PER_SECOND - The completed write operations from /// all instance store volumes available to the instance in a specified period of /// time.

    ///

    If there are no instance store volumes, either the value is 0 or /// the metric is not reported.

    ///
  • ///
  • ///

    /// DISK_READ_BYTES_PER_SECOND - The bytes read from all instance /// store volumes available to the instance. This metric is used to determine the /// volume of the data the application reads from the disk of the instance. This can /// be used to determine the speed of the application.

    ///

    If there are no instance store volumes, either the value is 0 or /// the metric is not reported.

    ///
  • ///
  • ///

    /// DISK_WRITE_BYTES_PER_SECOND - The bytes written to all instance /// store volumes available to the instance. This metric is used to determine the /// volume of the data the application writes onto the disk of the instance. This /// can be used to determine the speed of the application.

    ///

    If there are no instance store volumes, either the value is 0 or /// the metric is not reported.

    ///
  • ///
  • ///

    /// NETWORK_IN_BYTES_PER_SECOND - The number of bytes received by the /// instance on all network interfaces. This metric identifies the volume of /// incoming network traffic to a single instance.

    ///
  • ///
  • ///

    /// NETWORK_OUT_BYTES_PER_SECOND - The number of bytes sent out by /// the instance on all network interfaces. This metric identifies the volume of /// outgoing network traffic from a single instance.

    ///
  • ///
  • ///

    /// NETWORK_PACKETS_IN_PER_SECOND - The number of packets received by /// the instance on all network interfaces. This metric identifies the volume of /// incoming traffic in terms of the number of packets on a single instance.

    ///
  • ///
  • ///

    /// NETWORK_PACKETS_OUT_PER_SECOND - The number of packets sent out /// by the instance on all network interfaces. This metric identifies the volume of /// outgoing traffic in terms of the number of packets on a single instance.

    ///
  • ///
name: MetricName ///

The statistic of the utilization metric.

///

The Compute Optimizer API, Command Line Interface (CLI), and SDKs /// return utilization metrics using only the Maximum statistic, which is the /// highest value observed during the specified period.

///

The Compute Optimizer console displays graphs for some utilization metrics using the /// Average statistic, which is the value of Sum / /// SampleCount during the specified period. For more information, see /// Viewing resource /// recommendations in the Compute Optimizer User /// Guide. You can also get averaged utilization metric data for your resources /// using Amazon CloudWatch. For more information, see the Amazon CloudWatch /// User Guide.

statistic: MetricStatistic ///

The value of the utilization metric.

value: MetricValue = 0 } ///

Describes the configuration of an Amazon Elastic Block Store (Amazon EBS) /// volume.

structure VolumeConfiguration { ///

The volume type.

///

This can be gp2 for General Purpose SSD, io1 or /// io2 for Provisioned IOPS SSD, st1 for Throughput Optimized /// HDD, sc1 for Cold HDD, or standard for Magnetic /// volumes.

volumeType: VolumeType ///

The size of the volume, in GiB.

volumeSize: VolumeSize = 0 ///

The baseline IOPS of the volume.

volumeBaselineIOPS: VolumeBaselineIOPS = 0 ///

The burst IOPS of the volume.

volumeBurstIOPS: VolumeBurstIOPS = 0 ///

The baseline throughput of the volume.

volumeBaselineThroughput: VolumeBaselineThroughput = 0 ///

The burst throughput of the volume.

volumeBurstThroughput: VolumeBurstThroughput = 0 } ///

Describes an Amazon Elastic Block Store (Amazon EBS) volume recommendation.

structure VolumeRecommendation { ///

The Amazon Resource Name (ARN) of the current volume.

volumeArn: VolumeArn ///

The Amazon Web Services account ID of the volume.

accountId: AccountId ///

An array of objects that describe the current configuration of the volume.

currentConfiguration: VolumeConfiguration ///

The finding classification of the volume.

///

Findings for volumes include:

///
    ///
  • ///

    /// /// NotOptimized /// —A volume is /// considered not optimized when Compute Optimizer identifies a recommendation /// that can provide better performance for your workload.

    ///
  • ///
  • ///

    /// /// Optimized /// —An volume is /// considered optimized when Compute Optimizer determines that the volume is /// correctly provisioned to run your workload based on the chosen volume type. For /// optimized resources, Compute Optimizer might recommend a new generation volume /// type.

    ///
  • ///
finding: EBSFinding ///

An array of objects that describe the utilization metrics of the volume.

utilizationMetrics: EBSUtilizationMetrics ///

The number of days for which utilization metrics were analyzed for the volume.

lookBackPeriodInDays: LookBackPeriodInDays = 0 ///

An array of objects that describe the recommendation options for the volume.

volumeRecommendationOptions: VolumeRecommendationOptions ///

The timestamp of when the volume recommendation was last generated.

lastRefreshTimestamp: LastRefreshTimestamp ///

The risk of the current EBS volume not meeting the performance needs of its workloads. /// The higher the risk, the more likely the current EBS volume doesn't have sufficient /// capacity.

currentPerformanceRisk: CurrentPerformanceRisk } ///

Describes a recommendation option for an Amazon Elastic Block Store (Amazon EBS) /// instance.

structure VolumeRecommendationOption { ///

An array of objects that describe a volume configuration.

configuration: VolumeConfiguration ///

The performance risk of the volume recommendation option.

///

Performance risk is the likelihood of the recommended volume type meeting the /// performance requirement of your workload.

///

The value ranges from 0 - 4, with 0 meaning /// that the recommended resource is predicted to always provide enough hardware capability. /// The higher the performance risk is, the more likely you should validate whether the /// recommendation will meet the performance requirements of your workload before migrating /// your resource.

performanceRisk: PerformanceRisk = 0 ///

The rank of the volume recommendation option.

///

The top recommendation option is ranked as 1.

rank: Rank = 0 ///

An object that describes the savings opportunity for the EBS volume recommendation /// option. Savings opportunity includes the estimated monthly savings amount and /// percentage.

savingsOpportunity: SavingsOpportunity } list AccountEnrollmentStatuses { member: AccountEnrollmentStatus } list AccountIds { member: AccountId } list AutoScalingGroupArns { member: AutoScalingGroupArn } list AutoScalingGroupRecommendationOptions { member: AutoScalingGroupRecommendationOption } list AutoScalingGroupRecommendations { member: AutoScalingGroupRecommendation } list ContainerConfigurations { member: ContainerConfiguration } list ContainerRecommendations { member: ContainerRecommendation } list CpuVendorArchitectures { member: CpuVendorArchitecture } list EBSFilters { member: EBSFilter } list EBSUtilizationMetrics { member: EBSUtilizationMetric } list ECSServiceProjectedMetrics { member: ECSServiceProjectedMetric } list ECSServiceProjectedUtilizationMetrics { member: ECSServiceProjectedUtilizationMetric } list ECSServiceRecommendationFilters { member: ECSServiceRecommendationFilter } list ECSServiceRecommendationFindingReasonCodes { member: ECSServiceRecommendationFindingReasonCode } list ECSServiceRecommendationOptions { member: ECSServiceRecommendationOption } list ECSServiceRecommendations { member: ECSServiceRecommendation } list ECSServiceRecommendedOptionProjectedMetrics { member: ECSServiceRecommendedOptionProjectedMetric } list ECSServiceUtilizationMetrics { member: ECSServiceUtilizationMetric } list EnrollmentFilters { member: EnrollmentFilter } list ExportableAutoScalingGroupFields { member: ExportableAutoScalingGroupField } list ExportableECSServiceFields { member: ExportableECSServiceField } list ExportableInstanceFields { member: ExportableInstanceField } list ExportableLambdaFunctionFields { member: ExportableLambdaFunctionField } list ExportableVolumeFields { member: ExportableVolumeField } list Filters { member: Filter } list FilterValues { member: FilterValue } list FunctionArns { member: FunctionArn } list GetRecommendationErrors { member: GetRecommendationError } list InferredWorkloadTypes { member: InferredWorkloadType } list InstanceArns { member: InstanceArn } list InstanceRecommendationFindingReasonCodes { member: InstanceRecommendationFindingReasonCode } list InstanceRecommendations { member: InstanceRecommendation } list JobFilters { member: JobFilter } list JobIds { member: JobId } list LambdaFunctionMemoryProjectedMetrics { member: LambdaFunctionMemoryProjectedMetric } list LambdaFunctionMemoryRecommendationOptions { member: LambdaFunctionMemoryRecommendationOption } list LambdaFunctionRecommendationFilters { member: LambdaFunctionRecommendationFilter } list LambdaFunctionRecommendationFindingReasonCodes { member: LambdaFunctionRecommendationFindingReasonCode } list LambdaFunctionRecommendations { member: LambdaFunctionRecommendation } list LambdaFunctionUtilizationMetrics { member: LambdaFunctionUtilizationMetric } list MetricValues { member: MetricValue } list PlatformDifferences { member: PlatformDifference } list ProjectedMetrics { member: ProjectedMetric } list ProjectedUtilizationMetrics { member: UtilizationMetric } list ReasonCodeSummaries { member: ReasonCodeSummary } list RecommendationExportJobs { member: RecommendationExportJob } list RecommendationOptions { member: InstanceRecommendationOption } list RecommendationPreferenceNames { member: RecommendationPreferenceName } list RecommendationPreferencesDetails { member: RecommendationPreferencesDetail } list RecommendationSources { member: RecommendationSource } list RecommendationSummaries { member: RecommendationSummary } list RecommendedOptionProjectedMetrics { member: RecommendedOptionProjectedMetric } list ServiceArns { member: ServiceArn } list Summaries { member: Summary } list Timestamps { member: Timestamp } list UtilizationMetrics { member: UtilizationMetric } list VolumeArns { member: VolumeArn } list VolumeRecommendationOptions { member: VolumeRecommendationOption } list VolumeRecommendations { member: VolumeRecommendation } string AccountId enum AutoScalingConfiguration { TARGET_TRACKING_SCALING_CPU = "TargetTrackingScalingCpu" TARGET_TRACKING_SCALING_MEMORY = "TargetTrackingScalingMemory" } string AutoScalingGroupArn string AutoScalingGroupName string Code string ContainerName @default(0) integer CpuSize enum CpuVendorArchitecture { AWS_ARM64 CURRENT } timestamp CreationTimestamp enum Currency { USD CNY } string CurrentInstanceType enum CurrentPerformanceRisk { VERY_LOW = "VeryLow" LOW = "Low" MEDIUM = "Medium" HIGH = "High" } @default(0) integer DesiredCapacity string DestinationBucket string DestinationKey string DestinationKeyPrefix enum EBSFilterName { FINDING = "Finding" } enum EBSFinding { OPTIMIZED = "Optimized" NOT_OPTIMIZED = "NotOptimized" } enum EBSMetricName { VOLUME_READ_OPS_PER_SECOND = "VolumeReadOpsPerSecond" VOLUME_WRITE_OPS_PER_SECOND = "VolumeWriteOpsPerSecond" VOLUME_READ_BYTES_PER_SECOND = "VolumeReadBytesPerSecond" VOLUME_WRITE_BYTES_PER_SECOND = "VolumeWriteBytesPerSecond" } enum ECSServiceLaunchType { EC2 FARGATE = "Fargate" } enum ECSServiceMetricName { CPU = "Cpu" MEMORY = "Memory" } enum ECSServiceMetricStatistic { MAXIMUM = "Maximum" AVERAGE = "Average" } enum ECSServiceRecommendationFilterName { FINDING = "Finding" FINDING_REASON_CODE = "FindingReasonCode" } enum ECSServiceRecommendationFinding { OPTIMIZED = "Optimized" UNDER_PROVISIONED = "Underprovisioned" OVER_PROVISIONED = "Overprovisioned" } enum ECSServiceRecommendationFindingReasonCode { MEMORY_OVER_PROVISIONED = "MemoryOverprovisioned" MEMORY_UNDER_PROVISIONED = "MemoryUnderprovisioned" CPU_OVER_PROVISIONED = "CPUOverprovisioned" CPU_UNDER_PROVISIONED = "CPUUnderprovisioned" } enum EnhancedInfrastructureMetrics { ACTIVE = "Active" INACTIVE = "Inactive" } enum EnrollmentFilterName { STATUS = "Status" } string ErrorMessage enum ExportableAutoScalingGroupField { ACCOUNT_ID = "AccountId" AUTO_SCALING_GROUP_ARN = "AutoScalingGroupArn" AUTO_SCALING_GROUP_NAME = "AutoScalingGroupName" FINDING = "Finding" UTILIZATION_METRICS_CPU_MAXIMUM = "UtilizationMetricsCpuMaximum" UTILIZATION_METRICS_MEMORY_MAXIMUM = "UtilizationMetricsMemoryMaximum" UTILIZATION_METRICS_EBS_READ_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsReadOpsPerSecondMaximum" UTILIZATION_METRICS_EBS_WRITE_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsWriteOpsPerSecondMaximum" UTILIZATION_METRICS_EBS_READ_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsReadBytesPerSecondMaximum" UTILIZATION_METRICS_EBS_WRITE_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsWriteBytesPerSecondMaximum" UTILIZATION_METRICS_DISK_READ_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsDiskReadOpsPerSecondMaximum" UTILIZATION_METRICS_DISK_WRITE_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsDiskWriteOpsPerSecondMaximum" UTILIZATION_METRICS_DISK_READ_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsDiskReadBytesPerSecondMaximum" UTILIZATION_METRICS_DISK_WRITE_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsDiskWriteBytesPerSecondMaximum" UTILIZATION_METRICS_NETWORK_IN_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsNetworkInBytesPerSecondMaximum" UTILIZATION_METRICS_NETWORK_OUT_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsNetworkOutBytesPerSecondMaximum" UTILIZATION_METRICS_NETWORK_PACKETS_IN_PER_SECOND_MAXIMUM = "UtilizationMetricsNetworkPacketsInPerSecondMaximum" UTILIZATION_METRICS_NETWORK_PACKETS_OUT_PER_SECOND_MAXIMUM = "UtilizationMetricsNetworkPacketsOutPerSecondMaximum" LOOKBACK_PERIOD_IN_DAYS = "LookbackPeriodInDays" CURRENT_CONFIGURATION_INSTANCE_TYPE = "CurrentConfigurationInstanceType" CURRENT_CONFIGURATION_DESIRED_CAPACITY = "CurrentConfigurationDesiredCapacity" CURRENT_CONFIGURATION_MIN_SIZE = "CurrentConfigurationMinSize" CURRENT_CONFIGURATION_MAX_SIZE = "CurrentConfigurationMaxSize" CURRENT_ON_DEMAND_PRICE = "CurrentOnDemandPrice" CURRENT_STANDARD_ONE_YEAR_NO_UPFRONT_RESERVED_PRICE = "CurrentStandardOneYearNoUpfrontReservedPrice" CURRENT_STANDARD_THREE_YEAR_NO_UPFRONT_RESERVED_PRICE = "CurrentStandardThreeYearNoUpfrontReservedPrice" CURRENT_VCPUS = "CurrentVCpus" CURRENT_MEMORY = "CurrentMemory" CURRENT_STORAGE = "CurrentStorage" CURRENT_NETWORK = "CurrentNetwork" RECOMMENDATION_OPTIONS_CONFIGURATION_INSTANCE_TYPE = "RecommendationOptionsConfigurationInstanceType" RECOMMENDATION_OPTIONS_CONFIGURATION_DESIRED_CAPACITY = "RecommendationOptionsConfigurationDesiredCapacity" RECOMMENDATION_OPTIONS_CONFIGURATION_MIN_SIZE = "RecommendationOptionsConfigurationMinSize" RECOMMENDATION_OPTIONS_CONFIGURATION_MAX_SIZE = "RecommendationOptionsConfigurationMaxSize" RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_CPU_MAXIMUM = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum" RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_MEMORY_MAXIMUM = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum" RECOMMENDATION_OPTIONS_PERFORMANCE_RISK = "RecommendationOptionsPerformanceRisk" RECOMMENDATION_OPTIONS_ON_DEMAND_PRICE = "RecommendationOptionsOnDemandPrice" RECOMMENDATION_OPTIONS_STANDARD_ONE_YEAR_NO_UPFRONT_RESERVED_PRICE = "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice" RECOMMENDATION_OPTIONS_STANDARD_THREE_YEAR_NO_UPFRONT_RESERVED_PRICE = "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice" RECOMMENDATION_OPTIONS_VCPUS = "RecommendationOptionsVcpus" RECOMMENDATION_OPTIONS_MEMORY = "RecommendationOptionsMemory" RECOMMENDATION_OPTIONS_STORAGE = "RecommendationOptionsStorage" RECOMMENDATION_OPTIONS_NETWORK = "RecommendationOptionsNetwork" LAST_REFRESH_TIMESTAMP = "LastRefreshTimestamp" CURRENT_PERFORMANCE_RISK = "CurrentPerformanceRisk" RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_PERCENTAGE = "RecommendationOptionsSavingsOpportunityPercentage" RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency" RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue" EFFECTIVE_RECOMMENDATION_PREFERENCES_CPU_VENDOR_ARCHITECTURES = "EffectiveRecommendationPreferencesCpuVendorArchitectures" EFFECTIVE_RECOMMENDATION_PREFERENCES_ENHANCED_INFRASTRUCTURE_METRICS = "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics" EFFECTIVE_RECOMMENDATION_PREFERENCES_INFERRED_WORKLOAD_TYPES = "EffectiveRecommendationPreferencesInferredWorkloadTypes" INFERRED_WORKLOAD_TYPES = "InferredWorkloadTypes" RECOMMENDATION_OPTIONS_MIGRATION_EFFORT = "RecommendationOptionsMigrationEffort" } enum ExportableECSServiceField { ACCOUNT_ID = "AccountId" SERVICE_ARN = "ServiceArn" LOOKBACK_PERIOD_IN_DAYS = "LookbackPeriodInDays" LAST_REFRESH_TIMESTAMP = "LastRefreshTimestamp" LAUNCH_TYPE = "LaunchType" CURRENT_PERFORMANCE_RISK = "CurrentPerformanceRisk" CURRENT_SERVICE_CONFIGURATION_MEMORY = "CurrentServiceConfigurationMemory" CURRENT_SERVICE_CONFIGURATION_CPU = "CurrentServiceConfigurationCpu" CURRENT_SERVICE_CONFIGURATION_TASK_DEFINITION_ARN = "CurrentServiceConfigurationTaskDefinitionArn" CURRENT_SERVICE_CONFIGURATION_AUTO_SCALING_CONFIGURATION = "CurrentServiceConfigurationAutoScalingConfiguration" CURRENT_SERVICE_CONTAINER_CONFIGURATIONS = "CurrentServiceContainerConfigurations" UTILIZATION_METRICS_CPU_MAXIMUM = "UtilizationMetricsCpuMaximum" UTILIZATION_METRICS_MEMORY_MAXIMUM = "UtilizationMetricsMemoryMaximum" FINDING = "Finding" FINDING_REASON_CODES = "FindingReasonCodes" RECOMMENDATION_OPTIONS_MEMORY = "RecommendationOptionsMemory" RECOMMENDATION_OPTIONS_CPU = "RecommendationOptionsCpu" RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_PERCENTAGE = "RecommendationOptionsSavingsOpportunityPercentage" RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency" RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue" RECOMMENDATION_OPTIONS_CONTAINER_RECOMMENDATIONS = "RecommendationOptionsContainerRecommendations" RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_CPU_MAXIMUM = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum" RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_MEMORY_MAXIMUM = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum" } enum ExportableInstanceField { ACCOUNT_ID = "AccountId" INSTANCE_ARN = "InstanceArn" INSTANCE_NAME = "InstanceName" FINDING = "Finding" Finding_Reason_Codes = "FindingReasonCodes" LOOKBACK_PERIOD_IN_DAYS = "LookbackPeriodInDays" CURRENT_INSTANCE_TYPE = "CurrentInstanceType" UTILIZATION_METRICS_CPU_MAXIMUM = "UtilizationMetricsCpuMaximum" UTILIZATION_METRICS_MEMORY_MAXIMUM = "UtilizationMetricsMemoryMaximum" UTILIZATION_METRICS_EBS_READ_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsReadOpsPerSecondMaximum" UTILIZATION_METRICS_EBS_WRITE_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsWriteOpsPerSecondMaximum" UTILIZATION_METRICS_EBS_READ_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsReadBytesPerSecondMaximum" UTILIZATION_METRICS_EBS_WRITE_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsWriteBytesPerSecondMaximum" UTILIZATION_METRICS_DISK_READ_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsDiskReadOpsPerSecondMaximum" UTILIZATION_METRICS_DISK_WRITE_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsDiskWriteOpsPerSecondMaximum" UTILIZATION_METRICS_DISK_READ_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsDiskReadBytesPerSecondMaximum" UTILIZATION_METRICS_DISK_WRITE_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsDiskWriteBytesPerSecondMaximum" UTILIZATION_METRICS_NETWORK_IN_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsNetworkInBytesPerSecondMaximum" UTILIZATION_METRICS_NETWORK_OUT_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsNetworkOutBytesPerSecondMaximum" UTILIZATION_METRICS_NETWORK_PACKETS_IN_PER_SECOND_MAXIMUM = "UtilizationMetricsNetworkPacketsInPerSecondMaximum" UTILIZATION_METRICS_NETWORK_PACKETS_OUT_PER_SECOND_MAXIMUM = "UtilizationMetricsNetworkPacketsOutPerSecondMaximum" CURRENT_ON_DEMAND_PRICE = "CurrentOnDemandPrice" CURRENT_STANDARD_ONE_YEAR_NO_UPFRONT_RESERVED_PRICE = "CurrentStandardOneYearNoUpfrontReservedPrice" CURRENT_STANDARD_THREE_YEAR_NO_UPFRONT_RESERVED_PRICE = "CurrentStandardThreeYearNoUpfrontReservedPrice" CURRENT_VCPUS = "CurrentVCpus" CURRENT_MEMORY = "CurrentMemory" CURRENT_STORAGE = "CurrentStorage" CURRENT_NETWORK = "CurrentNetwork" RECOMMENDATION_OPTIONS_INSTANCE_TYPE = "RecommendationOptionsInstanceType" RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_CPU_MAXIMUM = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum" RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_MEMORY_MAXIMUM = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum" RECOMMENDATION_OPTIONS_PLATFORM_DIFFERENCES = "RecommendationOptionsPlatformDifferences" RECOMMENDATION_OPTIONS_PERFORMANCE_RISK = "RecommendationOptionsPerformanceRisk" RECOMMENDATION_OPTIONS_VCPUS = "RecommendationOptionsVcpus" RECOMMENDATION_OPTIONS_MEMORY = "RecommendationOptionsMemory" RECOMMENDATION_OPTIONS_STORAGE = "RecommendationOptionsStorage" RECOMMENDATION_OPTIONS_NETWORK = "RecommendationOptionsNetwork" RECOMMENDATION_OPTIONS_ON_DEMAND_PRICE = "RecommendationOptionsOnDemandPrice" RECOMMENDATION_OPTIONS_STANDARD_ONE_YEAR_NO_UPFRONT_RESERVED_PRICE = "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice" RECOMMENDATION_OPTIONS_STANDARD_THREE_YEAR_NO_UPFRONT_RESERVED_PRICE = "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice" RECOMMENDATIONS_SOURCES_RECOMMENDATION_SOURCE_ARN = "RecommendationsSourcesRecommendationSourceArn" RECOMMENDATIONS_SOURCES_RECOMMENDATION_SOURCE_TYPE = "RecommendationsSourcesRecommendationSourceType" LAST_REFRESH_TIMESTAMP = "LastRefreshTimestamp" CURRENT_PERFORMANCE_RISK = "CurrentPerformanceRisk" RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_PERCENTAGE = "RecommendationOptionsSavingsOpportunityPercentage" RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency" RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue" EFFECTIVE_RECOMMENDATION_PREFERENCES_CPU_VENDOR_ARCHITECTURES = "EffectiveRecommendationPreferencesCpuVendorArchitectures" EFFECTIVE_RECOMMENDATION_PREFERENCES_ENHANCED_INFRASTRUCTURE_METRICS = "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics" EFFECTIVE_RECOMMENDATION_PREFERENCES_INFERRED_WORKLOAD_TYPES = "EffectiveRecommendationPreferencesInferredWorkloadTypes" INFERRED_WORKLOAD_TYPES = "InferredWorkloadTypes" RECOMMENDATION_OPTIONS_MIGRATION_EFFORT = "RecommendationOptionsMigrationEffort" EFFECTIVE_RECOMMENDATION_PREFERENCES_EXTERNAL_METRICS_SOURCE = "EffectiveRecommendationPreferencesExternalMetricsSource" } enum ExportableLambdaFunctionField { ACCOUNT_ID = "AccountId" FUNCTION_ARN = "FunctionArn" FUNCTION_VERSION = "FunctionVersion" FINDING = "Finding" FINDING_REASON_CODES = "FindingReasonCodes" NUMBER_OF_INVOCATIONS = "NumberOfInvocations" UTILIZATION_METRICS_DURATION_MAXIMUM = "UtilizationMetricsDurationMaximum" UTILIZATION_METRICS_DURATION_AVERAGE = "UtilizationMetricsDurationAverage" UTILIZATION_METRICS_MEMORY_MAXIMUM = "UtilizationMetricsMemoryMaximum" UTILIZATION_METRICS_MEMORY_AVERAGE = "UtilizationMetricsMemoryAverage" LOOKBACK_PERIOD_IN_DAYS = "LookbackPeriodInDays" CURRENT_CONFIGURATION_MEMORY_SIZE = "CurrentConfigurationMemorySize" CURRENT_CONFIGURATION_TIMEOUT = "CurrentConfigurationTimeout" CURRENT_COST_TOTAL = "CurrentCostTotal" CURRENT_COST_AVERAGE = "CurrentCostAverage" RECOMMENDATION_OPTIONS_CONFIGURATION_MEMORY_SIZE = "RecommendationOptionsConfigurationMemorySize" RECOMMENDATION_OPTIONS_COST_LOW = "RecommendationOptionsCostLow" RECOMMENDATION_OPTIONS_COST_HIGH = "RecommendationOptionsCostHigh" RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_DURATION_LOWER_BOUND = "RecommendationOptionsProjectedUtilizationMetricsDurationLowerBound" RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_DURATION_UPPER_BOUND = "RecommendationOptionsProjectedUtilizationMetricsDurationUpperBound" RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_DURATION_EXPECTED = "RecommendationOptionsProjectedUtilizationMetricsDurationExpected" LAST_REFRESH_TIMESTAMP = "LastRefreshTimestamp" CURRENT_PERFORMANCE_RISK = "CurrentPerformanceRisk" RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_PERCENTAGE = "RecommendationOptionsSavingsOpportunityPercentage" RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency" RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue" } enum ExportableVolumeField { ACCOUNT_ID = "AccountId" VOLUME_ARN = "VolumeArn" FINDING = "Finding" UTILIZATION_METRICS_VOLUME_READ_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsVolumeReadOpsPerSecondMaximum" UTILIZATION_METRICS_VOLUME_WRITE_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsVolumeWriteOpsPerSecondMaximum" UTILIZATION_METRICS_VOLUME_READ_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsVolumeReadBytesPerSecondMaximum" UTILIZATION_METRICS_VOLUME_WRITE_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsVolumeWriteBytesPerSecondMaximum" LOOKBACK_PERIOD_IN_DAYS = "LookbackPeriodInDays" CURRENT_CONFIGURATION_VOLUME_TYPE = "CurrentConfigurationVolumeType" CURRENT_CONFIGURATION_VOLUME_BASELINE_IOPS = "CurrentConfigurationVolumeBaselineIOPS" CURRENT_CONFIGURATION_VOLUME_BASELINE_THROUGHPUT = "CurrentConfigurationVolumeBaselineThroughput" CURRENT_CONFIGURATION_VOLUME_BURST_IOPS = "CurrentConfigurationVolumeBurstIOPS" CURRENT_CONFIGURATION_VOLUME_BURST_THROUGHPUT = "CurrentConfigurationVolumeBurstThroughput" CURRENT_CONFIGURATION_VOLUME_SIZE = "CurrentConfigurationVolumeSize" CURRENT_MONTHLY_PRICE = "CurrentMonthlyPrice" RECOMMENDATION_OPTIONS_CONFIGURATION_VOLUME_TYPE = "RecommendationOptionsConfigurationVolumeType" RECOMMENDATION_OPTIONS_CONFIGURATION_VOLUME_BASELINE_IOPS = "RecommendationOptionsConfigurationVolumeBaselineIOPS" RECOMMENDATION_OPTIONS_CONFIGURATION_VOLUME_BASELINE_THROUGHPUT = "RecommendationOptionsConfigurationVolumeBaselineThroughput" RECOMMENDATION_OPTIONS_CONFIGURATION_VOLUME_BURST_IOPS = "RecommendationOptionsConfigurationVolumeBurstIOPS" RECOMMENDATION_OPTIONS_CONFIGURATION_VOLUME_BURST_THROUGHPUT = "RecommendationOptionsConfigurationVolumeBurstThroughput" RECOMMENDATION_OPTIONS_CONFIGURATION_VOLUME_SIZE = "RecommendationOptionsConfigurationVolumeSize" RECOMMENDATION_OPTIONS_MONTHLY_PRICE = "RecommendationOptionsMonthlyPrice" RECOMMENDATION_OPTIONS_PERFORMANCE_RISK = "RecommendationOptionsPerformanceRisk" LAST_REFRESH_TIMESTAMP = "LastRefreshTimestamp" CURRENT_PERFORMANCE_RISK = "CurrentPerformanceRisk" RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_PERCENTAGE = "RecommendationOptionsSavingsOpportunityPercentage" RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency" RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue" } enum ExternalMetricsSource { DATADOG = "Datadog" DYNATRACE = "Dynatrace" NEWRELIC = "NewRelic" INSTANA = "Instana" } string FailureReason enum FileFormat { CSV = "Csv" } enum FilterName { FINDING = "Finding" FINDING_REASON_CODES = "FindingReasonCodes" RECOMMENDATION_SOURCE_TYPE = "RecommendationSourceType" } string FilterValue enum Finding { UNDER_PROVISIONED = "Underprovisioned" OVER_PROVISIONED = "Overprovisioned" OPTIMIZED = "Optimized" NOT_OPTIMIZED = "NotOptimized" } enum FindingReasonCode { MEMORY_OVER_PROVISIONED = "MemoryOverprovisioned" MEMORY_UNDER_PROVISIONED = "MemoryUnderprovisioned" } string FunctionArn string FunctionVersion @default(0) long High string Identifier @default(false) boolean IncludeMemberAccounts enum InferredWorkloadType { AMAZON_EMR = "AmazonEmr" APACHE_CASSANDRA = "ApacheCassandra" APACHE_HADOOP = "ApacheHadoop" MEMCACHED = "Memcached" NGINX = "Nginx" POSTGRE_SQL = "PostgreSql" REDIS = "Redis" KAFKA = "Kafka" } enum InferredWorkloadTypesPreference { ACTIVE = "Active" INACTIVE = "Inactive" } string InstanceArn string InstanceName enum InstanceRecommendationFindingReasonCode { CPU_OVER_PROVISIONED = "CPUOverprovisioned" CPU_UNDER_PROVISIONED = "CPUUnderprovisioned" MEMORY_OVER_PROVISIONED = "MemoryOverprovisioned" MEMORY_UNDER_PROVISIONED = "MemoryUnderprovisioned" EBS_THROUGHPUT_OVER_PROVISIONED = "EBSThroughputOverprovisioned" EBS_THROUGHPUT_UNDER_PROVISIONED = "EBSThroughputUnderprovisioned" EBS_IOPS_OVER_PROVISIONED = "EBSIOPSOverprovisioned" EBS_IOPS_UNDER_PROVISIONED = "EBSIOPSUnderprovisioned" NETWORK_BANDWIDTH_OVER_PROVISIONED = "NetworkBandwidthOverprovisioned" NETWORK_BANDWIDTH_UNDER_PROVISIONED = "NetworkBandwidthUnderprovisioned" NETWORK_PPS_OVER_PROVISIONED = "NetworkPPSOverprovisioned" NETWORK_PPS_UNDER_PROVISIONED = "NetworkPPSUnderprovisioned" DISK_IOPS_OVER_PROVISIONED = "DiskIOPSOverprovisioned" DISK_IOPS_UNDER_PROVISIONED = "DiskIOPSUnderprovisioned" DISK_THROUGHPUT_OVER_PROVISIONED = "DiskThroughputOverprovisioned" DISK_THROUGHPUT_UNDER_PROVISIONED = "DiskThroughputUnderprovisioned" } string InstanceType enum JobFilterName { RESOURCE_TYPE = "ResourceType" JOB_STATUS = "JobStatus" } string JobId enum JobStatus { QUEUED = "Queued" IN_PROGRESS = "InProgress" COMPLETE = "Complete" FAILED = "Failed" } enum LambdaFunctionMemoryMetricName { DURATION = "Duration" } enum LambdaFunctionMemoryMetricStatistic { LOWER_BOUND = "LowerBound" UPPER_BOUND = "UpperBound" EXPECTED = "Expected" } enum LambdaFunctionMetricName { DURATION = "Duration" MEMORY = "Memory" } enum LambdaFunctionMetricStatistic { MAXIMUM = "Maximum" AVERAGE = "Average" } enum LambdaFunctionRecommendationFilterName { FINDING = "Finding" FINDING_REASON_CODE = "FindingReasonCode" } enum LambdaFunctionRecommendationFinding { OPTIMIZED = "Optimized" NOT_OPTIMIZED = "NotOptimized" UNAVAILABLE = "Unavailable" } enum LambdaFunctionRecommendationFindingReasonCode { MEMORY_OVER_PROVISIONED = "MemoryOverprovisioned" MEMORY_UNDER_PROVISIONED = "MemoryUnderprovisioned" INSUFFICIENT_DATA = "InsufficientData" INCONCLUSIVE = "Inconclusive" } timestamp LastRefreshTimestamp timestamp LastUpdatedTimestamp @default(0) double LookBackPeriodInDays @default(0) long Low @default(0) double LowerBoundValue @range( min: 0 max: 1000 ) integer MaxResults @default(0) integer MaxSize @default(0) long Medium @default(false) boolean MemberAccountsEnrolled @default(0) integer MemorySize string Message string MetadataKey enum MetricName { CPU = "Cpu" MEMORY = "Memory" EBS_READ_OPS_PER_SECOND EBS_WRITE_OPS_PER_SECOND EBS_READ_BYTES_PER_SECOND EBS_WRITE_BYTES_PER_SECOND DISK_READ_OPS_PER_SECOND DISK_WRITE_OPS_PER_SECOND DISK_READ_BYTES_PER_SECOND DISK_WRITE_BYTES_PER_SECOND NETWORK_IN_BYTES_PER_SECOND NETWORK_OUT_BYTES_PER_SECOND NETWORK_PACKETS_IN_PER_SECOND NETWORK_PACKETS_OUT_PER_SECOND } enum MetricStatistic { MAXIMUM = "Maximum" AVERAGE = "Average" } @default(0) double MetricValue enum MigrationEffort { VERY_LOW = "VeryLow" LOW = "Low" MEDIUM = "Medium" HIGH = "High" } @default(0) integer MinSize string NextToken integer NullableCpu integer NullableMemory integer NullableMemoryReservation @default(0) long NumberOfInvocations integer NumberOfMemberAccountsOptedIn @default(0) @range( min: 0 max: 4 ) double PerformanceRisk @default(0) integer Period enum PlatformDifference { HYPERVISOR = "Hypervisor" NETWORK_INTERFACE = "NetworkInterface" STORAGE_INTERFACE = "StorageInterface" INSTANCE_STORE_AVAILABILITY = "InstanceStoreAvailability" VIRTUALIZATION_TYPE = "VirtualizationType" ARCHITECTURE = "Architecture" } @default(0) integer Rank enum RecommendationPreferenceName { ENHANCED_INFRASTRUCTURE_METRICS = "EnhancedInfrastructureMetrics" INFERRED_WORKLOAD_TYPES = "InferredWorkloadTypes" EXTERNAL_METRICS_PREFERENCE = "ExternalMetricsPreference" } string RecommendationSourceArn enum RecommendationSourceType { EC2_INSTANCE = "Ec2Instance" AUTO_SCALING_GROUP = "AutoScalingGroup" EBS_VOLUME = "EbsVolume" LAMBDA_FUNCTION = "LambdaFunction" ECS_SERVICE = "EcsService" } string RecommendedInstanceType string ResourceArn enum ResourceType { EC2_INSTANCE = "Ec2Instance" AUTO_SCALING_GROUP = "AutoScalingGroup" EBS_VOLUME = "EbsVolume" LAMBDA_FUNCTION = "LambdaFunction" NOT_APPLICABLE = "NotApplicable" ECS_SERVICE = "EcsService" } @default(0) double SavingsOpportunityPercentage enum ScopeName { ORGANIZATION = "Organization" ACCOUNT_ID = "AccountId" RESOURCE_ARN = "ResourceArn" } string ScopeValue string ServiceArn enum Status { ACTIVE = "Active" INACTIVE = "Inactive" PENDING = "Pending" FAILED = "Failed" } string StatusReason @default(0) double SummaryValue string TaskDefinitionArn timestamp Timestamp @default(0) double UpperBoundValue @default(0) double Value @default(0) long VeryLow string VolumeArn @default(0) integer VolumeBaselineIOPS @default(0) integer VolumeBaselineThroughput @default(0) integer VolumeBurstIOPS @default(0) integer VolumeBurstThroughput @default(0) integer VolumeSize string VolumeType




© 2015 - 2025 Weber Informatics LLC | Privacy Policy