SDK for PHP 3.x

Client: Aws\CostOptimizationHub\CostOptimizationHubClient
Service ID: cost-optimization-hub
Version: 2022-07-26

This page describes the parameters and results for the operations of the Cost Optimization Hub (2022-07-26), and shows how to use the Aws\CostOptimizationHub\CostOptimizationHubClient object to call the described operations. This documentation is specific to the 2022-07-26 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

GetPreferences ( array $params = [] )
Returns a set of preferences for an account in order to add account-specific preferences into the service.
GetRecommendation ( array $params = [] )
Returns both the current and recommended resource configuration and the estimated cost impact for a recommendation.
ListEnrollmentStatuses ( array $params = [] )
Retrieves the enrollment status for an account.
ListRecommendationSummaries ( array $params = [] )
Returns a concise representation of savings estimates for resources.
ListRecommendations ( array $params = [] )
Returns a list of recommendations.
UpdateEnrollmentStatus ( array $params = [] )
Updates the enrollment (opt in and opt out) status of an account to the Cost Optimization Hub service.
UpdatePreferences ( array $params = [] )
Updates a set of preferences for an account in order to add account-specific preferences into the service.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListEnrollmentStatuses
ListRecommendationSummaries
ListRecommendations

Operations

GetPreferences

$result = $client->getPreferences([/* ... */]);
$promise = $client->getPreferencesAsync([/* ... */]);

Returns a set of preferences for an account in order to add account-specific preferences into the service. These preferences impact how the savings associated with recommendations are presented—estimated savings after discounts or estimated savings before discounts, for example.

Parameter Syntax

$result = $client->getPreferences([
]);

Parameter Details

Members

Result Syntax

[
    'memberAccountDiscountVisibility' => 'All|None',
    'savingsEstimationMode' => 'BeforeDiscounts|AfterDiscounts',
]

Result Details

Members
memberAccountDiscountVisibility
Type: string

Retrieves the status of the "member account discount visibility" preference.

savingsEstimationMode
Type: string

Retrieves the status of the "savings estimation mode" preference.

Errors

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

An error on the server occurred during the processing of your request. Try again later.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The request was denied due to request throttling.

GetRecommendation

$result = $client->getRecommendation([/* ... */]);
$promise = $client->getRecommendationAsync([/* ... */]);

Returns both the current and recommended resource configuration and the estimated cost impact for a recommendation.

The recommendationId is only valid for up to a maximum of 24 hours as recommendations are refreshed daily. To retrieve the recommendationId, use the ListRecommendations API.

Parameter Syntax

$result = $client->getRecommendation([
    'recommendationId' => '<string>', // REQUIRED
]);

Parameter Details

Members
recommendationId
Required: Yes
Type: string

The ID for the recommendation.

Result Syntax

[
    'accountId' => '<string>',
    'actionType' => 'Rightsize|Stop|Upgrade|PurchaseSavingsPlans|PurchaseReservedInstances|MigrateToGraviton',
    'costCalculationLookbackPeriodInDays' => <integer>,
    'currencyCode' => '<string>',
    'currentResourceDetails' => [
        'computeSavingsPlans' => [
            'configuration' => [
                'accountScope' => '<string>',
                'hourlyCommitment' => '<string>',
                'paymentOption' => '<string>',
                'term' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyCommitment' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlySavingsPlansEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
        'ebsVolume' => [
            'configuration' => [
                'attachmentState' => '<string>',
                'performance' => [
                    'iops' => <float>,
                    'throughput' => <float>,
                ],
                'storage' => [
                    'sizeInGb' => <float>,
                    'type' => '<string>',
                ],
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedCostAfterDiscounts' => <float>,
                    'estimatedCostBeforeDiscounts' => <float>,
                    'estimatedDiscounts' => [
                        'otherDiscount' => <float>,
                        'reservedInstancesDiscount' => <float>,
                        'savingsPlansDiscount' => <float>,
                    ],
                    'estimatedNetUnusedAmortizedCommitments' => <float>,
                ],
                'usages' => [
                    [
                        'operation' => '<string>',
                        'productCode' => '<string>',
                        'unit' => '<string>',
                        'usageAmount' => <float>,
                        'usageType' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'ec2AutoScalingGroup' => [
            'configuration' => [
                'instance' => [
                    'type' => '<string>',
                ],
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedCostAfterDiscounts' => <float>,
                    'estimatedCostBeforeDiscounts' => <float>,
                    'estimatedDiscounts' => [
                        'otherDiscount' => <float>,
                        'reservedInstancesDiscount' => <float>,
                        'savingsPlansDiscount' => <float>,
                    ],
                    'estimatedNetUnusedAmortizedCommitments' => <float>,
                ],
                'usages' => [
                    [
                        'operation' => '<string>',
                        'productCode' => '<string>',
                        'unit' => '<string>',
                        'usageAmount' => <float>,
                        'usageType' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'ec2Instance' => [
            'configuration' => [
                'instance' => [
                    'type' => '<string>',
                ],
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedCostAfterDiscounts' => <float>,
                    'estimatedCostBeforeDiscounts' => <float>,
                    'estimatedDiscounts' => [
                        'otherDiscount' => <float>,
                        'reservedInstancesDiscount' => <float>,
                        'savingsPlansDiscount' => <float>,
                    ],
                    'estimatedNetUnusedAmortizedCommitments' => <float>,
                ],
                'usages' => [
                    [
                        'operation' => '<string>',
                        'productCode' => '<string>',
                        'unit' => '<string>',
                        'usageAmount' => <float>,
                        'usageType' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'ec2InstanceSavingsPlans' => [
            'configuration' => [
                'accountScope' => '<string>',
                'hourlyCommitment' => '<string>',
                'instanceFamily' => '<string>',
                'paymentOption' => '<string>',
                'savingsPlansRegion' => '<string>',
                'term' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyCommitment' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlySavingsPlansEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
        'ec2ReservedInstances' => [
            'configuration' => [
                'accountScope' => '<string>',
                'currentGeneration' => '<string>',
                'instanceFamily' => '<string>',
                'instanceType' => '<string>',
                'monthlyRecurringCost' => '<string>',
                'normalizedUnitsToPurchase' => '<string>',
                'numberOfInstancesToPurchase' => '<string>',
                'offeringClass' => '<string>',
                'paymentOption' => '<string>',
                'platform' => '<string>',
                'reservedInstancesRegion' => '<string>',
                'service' => '<string>',
                'sizeFlexEligible' => true || false,
                'tenancy' => '<string>',
                'term' => '<string>',
                'upfrontCost' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyAmortizedReservationCost' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlyReservationEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
        'ecsService' => [
            'configuration' => [
                'compute' => [
                    'architecture' => '<string>',
                    'memorySizeInMB' => <integer>,
                    'platform' => '<string>',
                    'vCpu' => <float>,
                ],
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedCostAfterDiscounts' => <float>,
                    'estimatedCostBeforeDiscounts' => <float>,
                    'estimatedDiscounts' => [
                        'otherDiscount' => <float>,
                        'reservedInstancesDiscount' => <float>,
                        'savingsPlansDiscount' => <float>,
                    ],
                    'estimatedNetUnusedAmortizedCommitments' => <float>,
                ],
                'usages' => [
                    [
                        'operation' => '<string>',
                        'productCode' => '<string>',
                        'unit' => '<string>',
                        'usageAmount' => <float>,
                        'usageType' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'elastiCacheReservedInstances' => [
            'configuration' => [
                'accountScope' => '<string>',
                'currentGeneration' => '<string>',
                'instanceFamily' => '<string>',
                'instanceType' => '<string>',
                'monthlyRecurringCost' => '<string>',
                'normalizedUnitsToPurchase' => '<string>',
                'numberOfInstancesToPurchase' => '<string>',
                'paymentOption' => '<string>',
                'reservedInstancesRegion' => '<string>',
                'service' => '<string>',
                'sizeFlexEligible' => true || false,
                'term' => '<string>',
                'upfrontCost' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyAmortizedReservationCost' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlyReservationEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
        'lambdaFunction' => [
            'configuration' => [
                'compute' => [
                    'architecture' => '<string>',
                    'memorySizeInMB' => <integer>,
                    'platform' => '<string>',
                    'vCpu' => <float>,
                ],
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedCostAfterDiscounts' => <float>,
                    'estimatedCostBeforeDiscounts' => <float>,
                    'estimatedDiscounts' => [
                        'otherDiscount' => <float>,
                        'reservedInstancesDiscount' => <float>,
                        'savingsPlansDiscount' => <float>,
                    ],
                    'estimatedNetUnusedAmortizedCommitments' => <float>,
                ],
                'usages' => [
                    [
                        'operation' => '<string>',
                        'productCode' => '<string>',
                        'unit' => '<string>',
                        'usageAmount' => <float>,
                        'usageType' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'openSearchReservedInstances' => [
            'configuration' => [
                'accountScope' => '<string>',
                'currentGeneration' => '<string>',
                'instanceType' => '<string>',
                'monthlyRecurringCost' => '<string>',
                'normalizedUnitsToPurchase' => '<string>',
                'numberOfInstancesToPurchase' => '<string>',
                'paymentOption' => '<string>',
                'reservedInstancesRegion' => '<string>',
                'service' => '<string>',
                'sizeFlexEligible' => true || false,
                'term' => '<string>',
                'upfrontCost' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyAmortizedReservationCost' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlyReservationEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
        'rdsDbInstance' => [
            'configuration' => [
                'instance' => [
                    'dbInstanceClass' => '<string>',
                ],
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedCostAfterDiscounts' => <float>,
                    'estimatedCostBeforeDiscounts' => <float>,
                    'estimatedDiscounts' => [
                        'otherDiscount' => <float>,
                        'reservedInstancesDiscount' => <float>,
                        'savingsPlansDiscount' => <float>,
                    ],
                    'estimatedNetUnusedAmortizedCommitments' => <float>,
                ],
                'usages' => [
                    [
                        'operation' => '<string>',
                        'productCode' => '<string>',
                        'unit' => '<string>',
                        'usageAmount' => <float>,
                        'usageType' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'rdsDbInstanceStorage' => [
            'configuration' => [
                'allocatedStorageInGb' => <float>,
                'iops' => <float>,
                'storageThroughput' => <float>,
                'storageType' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedCostAfterDiscounts' => <float>,
                    'estimatedCostBeforeDiscounts' => <float>,
                    'estimatedDiscounts' => [
                        'otherDiscount' => <float>,
                        'reservedInstancesDiscount' => <float>,
                        'savingsPlansDiscount' => <float>,
                    ],
                    'estimatedNetUnusedAmortizedCommitments' => <float>,
                ],
                'usages' => [
                    [
                        'operation' => '<string>',
                        'productCode' => '<string>',
                        'unit' => '<string>',
                        'usageAmount' => <float>,
                        'usageType' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'rdsReservedInstances' => [
            'configuration' => [
                'accountScope' => '<string>',
                'currentGeneration' => '<string>',
                'databaseEdition' => '<string>',
                'databaseEngine' => '<string>',
                'deploymentOption' => '<string>',
                'instanceFamily' => '<string>',
                'instanceType' => '<string>',
                'licenseModel' => '<string>',
                'monthlyRecurringCost' => '<string>',
                'normalizedUnitsToPurchase' => '<string>',
                'numberOfInstancesToPurchase' => '<string>',
                'paymentOption' => '<string>',
                'reservedInstancesRegion' => '<string>',
                'service' => '<string>',
                'sizeFlexEligible' => true || false,
                'term' => '<string>',
                'upfrontCost' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyAmortizedReservationCost' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlyReservationEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
        'redshiftReservedInstances' => [
            'configuration' => [
                'accountScope' => '<string>',
                'currentGeneration' => '<string>',
                'instanceFamily' => '<string>',
                'instanceType' => '<string>',
                'monthlyRecurringCost' => '<string>',
                'normalizedUnitsToPurchase' => '<string>',
                'numberOfInstancesToPurchase' => '<string>',
                'paymentOption' => '<string>',
                'reservedInstancesRegion' => '<string>',
                'service' => '<string>',
                'sizeFlexEligible' => true || false,
                'term' => '<string>',
                'upfrontCost' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyAmortizedReservationCost' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlyReservationEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
        'sageMakerSavingsPlans' => [
            'configuration' => [
                'accountScope' => '<string>',
                'hourlyCommitment' => '<string>',
                'paymentOption' => '<string>',
                'term' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyCommitment' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlySavingsPlansEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
    ],
    'currentResourceType' => 'Ec2Instance|LambdaFunction|EbsVolume|EcsService|Ec2AutoScalingGroup|Ec2InstanceSavingsPlans|ComputeSavingsPlans|SageMakerSavingsPlans|Ec2ReservedInstances|RdsReservedInstances|OpenSearchReservedInstances|RedshiftReservedInstances|ElastiCacheReservedInstances|RdsDbInstanceStorage|RdsDbInstance',
    'estimatedMonthlyCost' => <float>,
    'estimatedMonthlySavings' => <float>,
    'estimatedSavingsOverCostCalculationLookbackPeriod' => <float>,
    'estimatedSavingsPercentage' => <float>,
    'implementationEffort' => 'VeryLow|Low|Medium|High|VeryHigh',
    'lastRefreshTimestamp' => <DateTime>,
    'recommendationId' => '<string>',
    'recommendationLookbackPeriodInDays' => <integer>,
    'recommendedResourceDetails' => [
        'computeSavingsPlans' => [
            'configuration' => [
                'accountScope' => '<string>',
                'hourlyCommitment' => '<string>',
                'paymentOption' => '<string>',
                'term' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyCommitment' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlySavingsPlansEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
        'ebsVolume' => [
            'configuration' => [
                'attachmentState' => '<string>',
                'performance' => [
                    'iops' => <float>,
                    'throughput' => <float>,
                ],
                'storage' => [
                    'sizeInGb' => <float>,
                    'type' => '<string>',
                ],
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedCostAfterDiscounts' => <float>,
                    'estimatedCostBeforeDiscounts' => <float>,
                    'estimatedDiscounts' => [
                        'otherDiscount' => <float>,
                        'reservedInstancesDiscount' => <float>,
                        'savingsPlansDiscount' => <float>,
                    ],
                    'estimatedNetUnusedAmortizedCommitments' => <float>,
                ],
                'usages' => [
                    [
                        'operation' => '<string>',
                        'productCode' => '<string>',
                        'unit' => '<string>',
                        'usageAmount' => <float>,
                        'usageType' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'ec2AutoScalingGroup' => [
            'configuration' => [
                'instance' => [
                    'type' => '<string>',
                ],
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedCostAfterDiscounts' => <float>,
                    'estimatedCostBeforeDiscounts' => <float>,
                    'estimatedDiscounts' => [
                        'otherDiscount' => <float>,
                        'reservedInstancesDiscount' => <float>,
                        'savingsPlansDiscount' => <float>,
                    ],
                    'estimatedNetUnusedAmortizedCommitments' => <float>,
                ],
                'usages' => [
                    [
                        'operation' => '<string>',
                        'productCode' => '<string>',
                        'unit' => '<string>',
                        'usageAmount' => <float>,
                        'usageType' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'ec2Instance' => [
            'configuration' => [
                'instance' => [
                    'type' => '<string>',
                ],
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedCostAfterDiscounts' => <float>,
                    'estimatedCostBeforeDiscounts' => <float>,
                    'estimatedDiscounts' => [
                        'otherDiscount' => <float>,
                        'reservedInstancesDiscount' => <float>,
                        'savingsPlansDiscount' => <float>,
                    ],
                    'estimatedNetUnusedAmortizedCommitments' => <float>,
                ],
                'usages' => [
                    [
                        'operation' => '<string>',
                        'productCode' => '<string>',
                        'unit' => '<string>',
                        'usageAmount' => <float>,
                        'usageType' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'ec2InstanceSavingsPlans' => [
            'configuration' => [
                'accountScope' => '<string>',
                'hourlyCommitment' => '<string>',
                'instanceFamily' => '<string>',
                'paymentOption' => '<string>',
                'savingsPlansRegion' => '<string>',
                'term' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyCommitment' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlySavingsPlansEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
        'ec2ReservedInstances' => [
            'configuration' => [
                'accountScope' => '<string>',
                'currentGeneration' => '<string>',
                'instanceFamily' => '<string>',
                'instanceType' => '<string>',
                'monthlyRecurringCost' => '<string>',
                'normalizedUnitsToPurchase' => '<string>',
                'numberOfInstancesToPurchase' => '<string>',
                'offeringClass' => '<string>',
                'paymentOption' => '<string>',
                'platform' => '<string>',
                'reservedInstancesRegion' => '<string>',
                'service' => '<string>',
                'sizeFlexEligible' => true || false,
                'tenancy' => '<string>',
                'term' => '<string>',
                'upfrontCost' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyAmortizedReservationCost' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlyReservationEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
        'ecsService' => [
            'configuration' => [
                'compute' => [
                    'architecture' => '<string>',
                    'memorySizeInMB' => <integer>,
                    'platform' => '<string>',
                    'vCpu' => <float>,
                ],
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedCostAfterDiscounts' => <float>,
                    'estimatedCostBeforeDiscounts' => <float>,
                    'estimatedDiscounts' => [
                        'otherDiscount' => <float>,
                        'reservedInstancesDiscount' => <float>,
                        'savingsPlansDiscount' => <float>,
                    ],
                    'estimatedNetUnusedAmortizedCommitments' => <float>,
                ],
                'usages' => [
                    [
                        'operation' => '<string>',
                        'productCode' => '<string>',
                        'unit' => '<string>',
                        'usageAmount' => <float>,
                        'usageType' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'elastiCacheReservedInstances' => [
            'configuration' => [
                'accountScope' => '<string>',
                'currentGeneration' => '<string>',
                'instanceFamily' => '<string>',
                'instanceType' => '<string>',
                'monthlyRecurringCost' => '<string>',
                'normalizedUnitsToPurchase' => '<string>',
                'numberOfInstancesToPurchase' => '<string>',
                'paymentOption' => '<string>',
                'reservedInstancesRegion' => '<string>',
                'service' => '<string>',
                'sizeFlexEligible' => true || false,
                'term' => '<string>',
                'upfrontCost' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyAmortizedReservationCost' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlyReservationEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
        'lambdaFunction' => [
            'configuration' => [
                'compute' => [
                    'architecture' => '<string>',
                    'memorySizeInMB' => <integer>,
                    'platform' => '<string>',
                    'vCpu' => <float>,
                ],
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedCostAfterDiscounts' => <float>,
                    'estimatedCostBeforeDiscounts' => <float>,
                    'estimatedDiscounts' => [
                        'otherDiscount' => <float>,
                        'reservedInstancesDiscount' => <float>,
                        'savingsPlansDiscount' => <float>,
                    ],
                    'estimatedNetUnusedAmortizedCommitments' => <float>,
                ],
                'usages' => [
                    [
                        'operation' => '<string>',
                        'productCode' => '<string>',
                        'unit' => '<string>',
                        'usageAmount' => <float>,
                        'usageType' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'openSearchReservedInstances' => [
            'configuration' => [
                'accountScope' => '<string>',
                'currentGeneration' => '<string>',
                'instanceType' => '<string>',
                'monthlyRecurringCost' => '<string>',
                'normalizedUnitsToPurchase' => '<string>',
                'numberOfInstancesToPurchase' => '<string>',
                'paymentOption' => '<string>',
                'reservedInstancesRegion' => '<string>',
                'service' => '<string>',
                'sizeFlexEligible' => true || false,
                'term' => '<string>',
                'upfrontCost' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyAmortizedReservationCost' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlyReservationEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
        'rdsDbInstance' => [
            'configuration' => [
                'instance' => [
                    'dbInstanceClass' => '<string>',
                ],
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedCostAfterDiscounts' => <float>,
                    'estimatedCostBeforeDiscounts' => <float>,
                    'estimatedDiscounts' => [
                        'otherDiscount' => <float>,
                        'reservedInstancesDiscount' => <float>,
                        'savingsPlansDiscount' => <float>,
                    ],
                    'estimatedNetUnusedAmortizedCommitments' => <float>,
                ],
                'usages' => [
                    [
                        'operation' => '<string>',
                        'productCode' => '<string>',
                        'unit' => '<string>',
                        'usageAmount' => <float>,
                        'usageType' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'rdsDbInstanceStorage' => [
            'configuration' => [
                'allocatedStorageInGb' => <float>,
                'iops' => <float>,
                'storageThroughput' => <float>,
                'storageType' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedCostAfterDiscounts' => <float>,
                    'estimatedCostBeforeDiscounts' => <float>,
                    'estimatedDiscounts' => [
                        'otherDiscount' => <float>,
                        'reservedInstancesDiscount' => <float>,
                        'savingsPlansDiscount' => <float>,
                    ],
                    'estimatedNetUnusedAmortizedCommitments' => <float>,
                ],
                'usages' => [
                    [
                        'operation' => '<string>',
                        'productCode' => '<string>',
                        'unit' => '<string>',
                        'usageAmount' => <float>,
                        'usageType' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'rdsReservedInstances' => [
            'configuration' => [
                'accountScope' => '<string>',
                'currentGeneration' => '<string>',
                'databaseEdition' => '<string>',
                'databaseEngine' => '<string>',
                'deploymentOption' => '<string>',
                'instanceFamily' => '<string>',
                'instanceType' => '<string>',
                'licenseModel' => '<string>',
                'monthlyRecurringCost' => '<string>',
                'normalizedUnitsToPurchase' => '<string>',
                'numberOfInstancesToPurchase' => '<string>',
                'paymentOption' => '<string>',
                'reservedInstancesRegion' => '<string>',
                'service' => '<string>',
                'sizeFlexEligible' => true || false,
                'term' => '<string>',
                'upfrontCost' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyAmortizedReservationCost' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlyReservationEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
        'redshiftReservedInstances' => [
            'configuration' => [
                'accountScope' => '<string>',
                'currentGeneration' => '<string>',
                'instanceFamily' => '<string>',
                'instanceType' => '<string>',
                'monthlyRecurringCost' => '<string>',
                'normalizedUnitsToPurchase' => '<string>',
                'numberOfInstancesToPurchase' => '<string>',
                'paymentOption' => '<string>',
                'reservedInstancesRegion' => '<string>',
                'service' => '<string>',
                'sizeFlexEligible' => true || false,
                'term' => '<string>',
                'upfrontCost' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyAmortizedReservationCost' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlyReservationEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
        'sageMakerSavingsPlans' => [
            'configuration' => [
                'accountScope' => '<string>',
                'hourlyCommitment' => '<string>',
                'paymentOption' => '<string>',
                'term' => '<string>',
            ],
            'costCalculation' => [
                'pricing' => [
                    'estimatedMonthlyCommitment' => <float>,
                    'estimatedOnDemandCost' => <float>,
                    'monthlySavingsPlansEligibleCost' => <float>,
                    'savingsPercentage' => <float>,
                ],
            ],
        ],
    ],
    'recommendedResourceType' => 'Ec2Instance|LambdaFunction|EbsVolume|EcsService|Ec2AutoScalingGroup|Ec2InstanceSavingsPlans|ComputeSavingsPlans|SageMakerSavingsPlans|Ec2ReservedInstances|RdsReservedInstances|OpenSearchReservedInstances|RedshiftReservedInstances|ElastiCacheReservedInstances|RdsDbInstanceStorage|RdsDbInstance',
    'region' => '<string>',
    'resourceArn' => '<string>',
    'resourceId' => '<string>',
    'restartNeeded' => true || false,
    'rollbackPossible' => true || false,
    'source' => 'ComputeOptimizer|CostExplorer',
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
accountId
Type: string

The account that the recommendation is for.

actionType
Type: string

The type of action you can take by adopting the recommendation.

costCalculationLookbackPeriodInDays
Type: int

The lookback period used to calculate cost impact for a recommendation.

currencyCode
Type: string

The currency code used for the recommendation.

currentResourceDetails
Type: ResourceDetails structure

The details for the resource.

currentResourceType
Type: string

The type of resource.

estimatedMonthlyCost
Type: double

The estimated monthly cost of the current resource. For Reserved Instances and Savings Plans, it refers to the cost for eligible usage.

estimatedMonthlySavings
Type: double

The estimated monthly savings amount for the recommendation.

estimatedSavingsOverCostCalculationLookbackPeriod
Type: double

The estimated savings amount over the lookback period used to calculate cost impact for a recommendation.

estimatedSavingsPercentage
Type: double

The estimated savings percentage relative to the total cost over the cost calculation lookback period.

implementationEffort
Type: string

The effort required to implement the recommendation.

lastRefreshTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the recommendation was last generated.

recommendationId
Type: string

The ID for the recommendation.

recommendationLookbackPeriodInDays
Type: int

The lookback period that's used to generate the recommendation.

recommendedResourceDetails
Type: ResourceDetails structure

The details about the recommended resource.

recommendedResourceType
Type: string

The resource type of the recommendation.

region
Type: string

The Amazon Web Services Region of the resource.

resourceArn
Type: string

The Amazon Resource Name (ARN) of the resource.

resourceId
Type: string

The unique identifier for the resource. This is the same as the Amazon Resource Name (ARN), if available.

restartNeeded
Type: boolean

Whether or not implementing the recommendation requires a restart.

rollbackPossible
Type: boolean

Whether or not implementing the recommendation can be rolled back.

source
Type: string

The source of the recommendation.

tags
Type: Array of Tag structures

A list of tags associated with the resource for which the recommendation exists.

Errors

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

An error on the server occurred during the processing of your request. Try again later.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ResourceNotFoundException:

The specified Amazon Resource Name (ARN) in the request doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ListEnrollmentStatuses

$result = $client->listEnrollmentStatuses([/* ... */]);
$promise = $client->listEnrollmentStatusesAsync([/* ... */]);

Retrieves the enrollment status for an account. It can also return the list of accounts that are enrolled under the organization.

Parameter Syntax

$result = $client->listEnrollmentStatuses([
    'accountId' => '<string>',
    'includeOrganizationInfo' => true || false,
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
accountId
Type: string

The account ID of a member account in the organization.

includeOrganizationInfo
Type: boolean

Indicates whether to return the enrollment status for the organization.

maxResults
Type: int

The maximum number of objects that are returned for the request.

nextToken
Type: string

The token to retrieve the next set of results.

Result Syntax

[
    'includeMemberAccounts' => true || false,
    'items' => [
        [
            'accountId' => '<string>',
            'createdTimestamp' => <DateTime>,
            'lastUpdatedTimestamp' => <DateTime>,
            'status' => 'Active|Inactive',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
includeMemberAccounts
Type: boolean

The enrollment status of all member accounts in the organization if the account is the management account or delegated administrator.

items
Type: Array of AccountEnrollmentStatus structures

The enrollment status of a specific account ID, including creation and last updated timestamps.

nextToken
Type: string

The token to retrieve the next set of results.

Errors

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

An error on the server occurred during the processing of your request. Try again later.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The request was denied due to request throttling.

ListRecommendationSummaries

$result = $client->listRecommendationSummaries([/* ... */]);
$promise = $client->listRecommendationSummariesAsync([/* ... */]);

Returns a concise representation of savings estimates for resources. Also returns de-duped savings across different types of recommendations.

The following filters are not supported for this API: recommendationIds, resourceArns, and resourceIds.

Parameter Syntax

$result = $client->listRecommendationSummaries([
    'filter' => [
        'accountIds' => ['<string>', ...],
        'actionTypes' => ['<string>', ...],
        'implementationEfforts' => ['<string>', ...],
        'recommendationIds' => ['<string>', ...],
        'regions' => ['<string>', ...],
        'resourceArns' => ['<string>', ...],
        'resourceIds' => ['<string>', ...],
        'resourceTypes' => ['<string>', ...],
        'restartNeeded' => true || false,
        'rollbackPossible' => true || false,
        'tags' => [
            [
                'key' => '<string>',
                'value' => '<string>',
            ],
            // ...
        ],
    ],
    'groupBy' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'metrics' => ['<string>', ...],
    'nextToken' => '<string>',
]);

Parameter Details

Members
filter
Type: Filter structure

Describes a filter that returns a more specific list of recommendations. Filters recommendations by different dimensions.

groupBy
Required: Yes
Type: string

The grouping of recommendations by a dimension.

maxResults
Type: int

The maximum number of recommendations to be returned for the request.

metrics
Type: Array of strings

Additional metrics to be returned for the request. The only valid value is savingsPercentage.

nextToken
Type: string

The token to retrieve the next set of results.

Result Syntax

[
    'currencyCode' => '<string>',
    'estimatedTotalDedupedSavings' => <float>,
    'groupBy' => '<string>',
    'items' => [
        [
            'estimatedMonthlySavings' => <float>,
            'group' => '<string>',
            'recommendationCount' => <integer>,
        ],
        // ...
    ],
    'metrics' => [
        'savingsPercentage' => '<string>',
    ],
    'nextToken' => '<string>',
]

Result Details

Members
currencyCode
Type: string

The currency code used for the recommendation.

estimatedTotalDedupedSavings
Type: double

The total overall savings for the aggregated view.

groupBy
Type: string

The dimension used to group the recommendations by.

items
Type: Array of RecommendationSummary structures

A list of all savings recommendations.

metrics
Type: SummaryMetricsResult structure

The results or descriptions for the additional metrics, based on whether the metrics were or were not requested.

nextToken
Type: string

The token to retrieve the next set of results.

Errors

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

An error on the server occurred during the processing of your request. Try again later.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The request was denied due to request throttling.

ListRecommendations

$result = $client->listRecommendations([/* ... */]);
$promise = $client->listRecommendationsAsync([/* ... */]);

Returns a list of recommendations.

Parameter Syntax

$result = $client->listRecommendations([
    'filter' => [
        'accountIds' => ['<string>', ...],
        'actionTypes' => ['<string>', ...],
        'implementationEfforts' => ['<string>', ...],
        'recommendationIds' => ['<string>', ...],
        'regions' => ['<string>', ...],
        'resourceArns' => ['<string>', ...],
        'resourceIds' => ['<string>', ...],
        'resourceTypes' => ['<string>', ...],
        'restartNeeded' => true || false,
        'rollbackPossible' => true || false,
        'tags' => [
            [
                'key' => '<string>',
                'value' => '<string>',
            ],
            // ...
        ],
    ],
    'includeAllRecommendations' => true || false,
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'orderBy' => [
        'dimension' => '<string>',
        'order' => 'Asc|Desc',
    ],
]);

Parameter Details

Members
filter
Type: Filter structure

The constraints that you want all returned recommendations to match.

includeAllRecommendations
Type: boolean

List of all recommendations for a resource, or a single recommendation if de-duped by resourceId.

maxResults
Type: int

The maximum number of recommendations that are returned for the request.

nextToken
Type: string

The token to retrieve the next set of results.

orderBy
Type: OrderBy structure

The ordering of recommendations by a dimension.

Result Syntax

[
    'items' => [
        [
            'accountId' => '<string>',
            'actionType' => '<string>',
            'currencyCode' => '<string>',
            'currentResourceSummary' => '<string>',
            'currentResourceType' => '<string>',
            'estimatedMonthlyCost' => <float>,
            'estimatedMonthlySavings' => <float>,
            'estimatedSavingsPercentage' => <float>,
            'implementationEffort' => '<string>',
            'lastRefreshTimestamp' => <DateTime>,
            'recommendationId' => '<string>',
            'recommendationLookbackPeriodInDays' => <integer>,
            'recommendedResourceSummary' => '<string>',
            'recommendedResourceType' => '<string>',
            'region' => '<string>',
            'resourceArn' => '<string>',
            'resourceId' => '<string>',
            'restartNeeded' => true || false,
            'rollbackPossible' => true || false,
            'source' => 'ComputeOptimizer|CostExplorer',
            'tags' => [
                [
                    'key' => '<string>',
                    'value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Type: Array of Recommendation structures

List of all savings recommendations.

nextToken
Type: string

The token to retrieve the next set of results.

Errors

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

An error on the server occurred during the processing of your request. Try again later.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The request was denied due to request throttling.

UpdateEnrollmentStatus

$result = $client->updateEnrollmentStatus([/* ... */]);
$promise = $client->updateEnrollmentStatusAsync([/* ... */]);

Updates the enrollment (opt in and opt out) status of an account to the Cost Optimization Hub service.

If the account is a management account or delegated administrator 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 Cost Optimization Hub and to view its recommendations. When you opt in, Cost Optimization Hub automatically creates a service-linked role in your account to access its data.

Parameter Syntax

$result = $client->updateEnrollmentStatus([
    'includeMemberAccounts' => true || false,
    'status' => 'Active|Inactive', // REQUIRED
]);

Parameter Details

Members
includeMemberAccounts
Type: boolean

Indicates whether to enroll member accounts of the organization if the account is the management account or delegated administrator.

status
Required: Yes
Type: string

Sets the account status.

Result Syntax

[
    'status' => '<string>',
]

Result Details

Members
status
Type: string

The enrollment status of the account.

Errors

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

An error on the server occurred during the processing of your request. Try again later.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The request was denied due to request throttling.

UpdatePreferences

$result = $client->updatePreferences([/* ... */]);
$promise = $client->updatePreferencesAsync([/* ... */]);

Updates a set of preferences for an account in order to add account-specific preferences into the service. These preferences impact how the savings associated with recommendations are presented.

Parameter Syntax

$result = $client->updatePreferences([
    'memberAccountDiscountVisibility' => 'All|None',
    'savingsEstimationMode' => 'BeforeDiscounts|AfterDiscounts',
]);

Parameter Details

Members
memberAccountDiscountVisibility
Type: string

Sets the "member account discount visibility" preference.

savingsEstimationMode
Type: string

Sets the "savings estimation mode" preference.

Result Syntax

[
    'memberAccountDiscountVisibility' => 'All|None',
    'savingsEstimationMode' => 'BeforeDiscounts|AfterDiscounts',
]

Result Details

Members
memberAccountDiscountVisibility
Type: string

Shows the status of the "member account discount visibility" preference.

savingsEstimationMode
Type: string

Shows the status of the "savings estimation mode" preference.

Errors

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

An error on the server occurred during the processing of your request. Try again later.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The request was denied due to request throttling.

Shapes

AccessDeniedException

Description

You are not authorized to use this operation with the given parameters.

Members
message
Required: Yes
Type: string

AccountEnrollmentStatus

Description

Describes the enrollment status of an organization's member accounts in Cost Optimization Hub.

Members
accountId
Type: string

The Amazon Web Services account ID.

createdTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the account enrollment status was created.

lastUpdatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the account enrollment status was last updated.

status
Type: string

The account enrollment status.

BlockStoragePerformanceConfiguration

Description

Describes the Amazon Elastic Block Store performance configuration of the current and recommended resource configuration for a recommendation.

Members
iops
Type: double

The number of I/O operations per second.

throughput
Type: double

The throughput that the volume supports.

ComputeConfiguration

Description

Describes the performance configuration for compute services such as Amazon EC2, Lambda, and ECS.

Members
architecture
Type: string

The architecture of the resource.

memorySizeInMB
Type: int

The memory size of the resource.

platform
Type: string

The platform of the resource. The platform is the specific combination of operating system, license model, and software on an instance.

vCpu
Type: double

The number of vCPU cores in the resource.

ComputeSavingsPlans

Description

The Compute Savings Plans recommendation details.

Members
configuration

Configuration details of the Compute Savings Plans to purchase.

costCalculation
Type: SavingsPlansCostCalculation structure

Cost impact of the Savings Plans purchase recommendation.

ComputeSavingsPlansConfiguration

Description

The Compute Savings Plans configuration used for recommendations.

Members
accountScope
Type: string

The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

hourlyCommitment
Type: string

The hourly commitment for the Savings Plans type.

paymentOption
Type: string

The payment option for the commitment.

term
Type: string

The Savings Plans recommendation term in years.

DbInstanceConfiguration

Description

The DB instance configuration used for recommendations.

Members
dbInstanceClass
Type: string

The DB instance class of the DB instance.

EbsVolume

Description

Describes the Amazon Elastic Block Store volume configuration of the current and recommended resource configuration for a recommendation.

Members
configuration
Type: EbsVolumeConfiguration structure

The Amazon Elastic Block Store volume configuration used for recommendations.

costCalculation
Type: ResourceCostCalculation structure

Cost impact of the recommendation.

EbsVolumeConfiguration

Description

The Amazon Elastic Block Store volume configuration used for recommendations.

Members
attachmentState
Type: string

The Amazon Elastic Block Store attachment state.

performance

The Amazon Elastic Block Store performance configuration.

storage
Type: StorageConfiguration structure

The disk storage of the Amazon Elastic Block Store volume.

Ec2AutoScalingGroup

Description

The EC2 Auto Scaling group recommendation details.

Members
configuration

The EC2 Auto Scaling group configuration used for recommendations.

costCalculation
Type: ResourceCostCalculation structure

Cost impact of the recommendation.

Ec2AutoScalingGroupConfiguration

Description

The EC2 auto scaling group configuration used for recommendations.

Members
instance
Type: InstanceConfiguration structure

Details about the instance.

Ec2Instance

Description

Describes the EC2 instance configuration of the current and recommended resource configuration for a recommendation.

Members
configuration
Type: Ec2InstanceConfiguration structure

The EC2 instance configuration used for recommendations.

costCalculation
Type: ResourceCostCalculation structure

Cost impact of the recommendation.

Ec2InstanceConfiguration

Description

The EC2 instance configuration used for recommendations.

Members
instance
Type: InstanceConfiguration structure

Details about the instance.

Ec2InstanceSavingsPlans

Description

The EC2 instance Savings Plans recommendation details.

Members
configuration

The EC2 instance Savings Plans configuration used for recommendations.

costCalculation
Type: SavingsPlansCostCalculation structure

Cost impact of the Savings Plans purchase recommendation.

Ec2InstanceSavingsPlansConfiguration

Description

The EC2 instance Savings Plans configuration used for recommendations.

Members
accountScope
Type: string

The account scope that you want your recommendations for.

hourlyCommitment
Type: string

The hourly commitment for the Savings Plans type.

instanceFamily
Type: string

The instance family of the recommended Savings Plan.

paymentOption
Type: string

The payment option for the commitment.

savingsPlansRegion
Type: string

The Amazon Web Services Region of the commitment.

term
Type: string

The Savings Plans recommendation term in years.

Ec2ReservedInstances

Description

The EC2 reserved instances recommendation details.

Members
configuration

The EC2 reserved instances configuration used for recommendations.

costCalculation

Cost impact of the purchase recommendation.

Ec2ReservedInstancesConfiguration

Description

The EC2 reserved instances configuration used for recommendations.

Members
accountScope
Type: string

The account scope that you want your recommendations for.

currentGeneration
Type: string

Determines whether the recommendation is for a current generation instance.

instanceFamily
Type: string

The instance family of the recommended reservation.

instanceType
Type: string

The type of instance that Amazon Web Services recommends.

monthlyRecurringCost
Type: string

How much purchasing reserved instances costs you on a monthly basis.

normalizedUnitsToPurchase
Type: string

The number of normalized units that Amazon Web Services recommends that you purchase.

numberOfInstancesToPurchase
Type: string

The number of instances that Amazon Web Services recommends that you purchase.

offeringClass
Type: string

Indicates whether the recommendation is for standard or convertible reservations.

paymentOption
Type: string

The payment option for the commitment.

platform
Type: string

The platform of the recommended reservation. The platform is the specific combination of operating system, license model, and software on an instance.

reservedInstancesRegion
Type: string

The Amazon Web Services Region of the commitment.

service
Type: string

The service that you want your recommendations for.

sizeFlexEligible
Type: boolean

Determines whether the recommendation is size flexible.

tenancy
Type: string

Determines whether the recommended reservation is dedicated or shared.

term
Type: string

The reserved instances recommendation term in years.

upfrontCost
Type: string

How much purchasing this instance costs you upfront.

EcsService

Description

The ECS service recommendation details.

Members
configuration
Type: EcsServiceConfiguration structure

The ECS service configuration used for recommendations.

costCalculation
Type: ResourceCostCalculation structure

Cost impact of the recommendation.

EcsServiceConfiguration

Description

The ECS service configuration used for recommendations.

Members
compute
Type: ComputeConfiguration structure

Details about the compute configuration.

ElastiCacheReservedInstances

Description

The ElastiCache reserved instances recommendation details.

Members
configuration

The ElastiCache reserved instances configuration used for recommendations.

costCalculation

Cost impact of the purchase recommendation.

ElastiCacheReservedInstancesConfiguration

Description

The ElastiCache reserved instances configuration used for recommendations.

Members
accountScope
Type: string

The account scope that you want your recommendations for.

currentGeneration
Type: string

Determines whether the recommendation is for a current generation instance.

instanceFamily
Type: string

The instance family of the recommended reservation.

instanceType
Type: string

The type of instance that Amazon Web Services recommends.

monthlyRecurringCost
Type: string

How much purchasing reserved instances costs you on a monthly basis.

normalizedUnitsToPurchase
Type: string

The number of normalized units that Amazon Web Services recommends that you purchase.

numberOfInstancesToPurchase
Type: string

The number of instances that Amazon Web Services recommends that you purchase.

paymentOption
Type: string

The payment option for the commitment.

reservedInstancesRegion
Type: string

The Amazon Web Services Region of the commitment.

service
Type: string

The service that you want your recommendations for.

sizeFlexEligible
Type: boolean

Determines whether the recommendation is size flexible.

term
Type: string

The reserved instances recommendation term in years.

upfrontCost
Type: string

How much purchasing this instance costs you upfront.

EstimatedDiscounts

Description

Estimated discount details of the current and recommended resource configuration for a recommendation.

Members
otherDiscount
Type: double

Estimated other discounts include all discounts that are not itemized. Itemized discounts include reservedInstanceDiscount and savingsPlansDiscount.

reservedInstancesDiscount
Type: double

Estimated reserved instance discounts.

savingsPlansDiscount
Type: double

Estimated Savings Plans discounts.

Filter

Description

Describes a filter that returns a more specific list of recommendations. Filters recommendations by different dimensions.

Members
accountIds
Type: Array of strings

The account that the recommendation is for.

actionTypes
Type: Array of strings

The type of action you can take by adopting the recommendation.

implementationEfforts
Type: Array of strings

The effort required to implement the recommendation.

recommendationIds
Type: Array of strings

The IDs for the recommendations.

regions
Type: Array of strings

The Amazon Web Services Region of the resource.

resourceArns
Type: Array of strings

The Amazon Resource Name (ARN) of the recommendation.

resourceIds
Type: Array of strings

The resource ID of the recommendation.

resourceTypes
Type: Array of strings

The resource type of the recommendation.

restartNeeded
Type: boolean

Whether or not implementing the recommendation requires a restart.

rollbackPossible
Type: boolean

Whether or not implementing the recommendation can be rolled back.

tags
Type: Array of Tag structures

A list of tags assigned to the recommendation.

InstanceConfiguration

Description

The Instance configuration used for recommendations.

Members
type
Type: string

Details about the type.

InternalServerException

Description

An error on the server occurred during the processing of your request. Try again later.

Members
message
Required: Yes
Type: string

LambdaFunction

Description

The Lambda function recommendation details.

Members
configuration
Type: LambdaFunctionConfiguration structure

The Lambda function configuration used for recommendations.

costCalculation
Type: ResourceCostCalculation structure

Cost impact of the recommendation.

LambdaFunctionConfiguration

Description

The Lambda function configuration used for recommendations.

Members
compute
Type: ComputeConfiguration structure

Details about the compute configuration.

OpenSearchReservedInstances

Description

The OpenSearch reserved instances recommendation details.

Members
configuration

The OpenSearch reserved instances configuration used for recommendations.

costCalculation

Cost impact of the purchase recommendation.

OpenSearchReservedInstancesConfiguration

Description

The OpenSearch reserved instances configuration used for recommendations.

Members
accountScope
Type: string

The account scope that you want your recommendations for.

currentGeneration
Type: string

Determines whether the recommendation is for a current generation instance.

instanceType
Type: string

The type of instance that Amazon Web Services recommends.

monthlyRecurringCost
Type: string

How much purchasing reserved instances costs you on a monthly basis.

normalizedUnitsToPurchase
Type: string

The number of normalized units that Amazon Web Services recommends that you purchase.

numberOfInstancesToPurchase
Type: string

The number of instances that Amazon Web Services recommends that you purchase.

paymentOption
Type: string

The payment option for the commitment.

reservedInstancesRegion
Type: string

The Amazon Web Services Region of the commitment.

service
Type: string

The service that you want your recommendations for.

sizeFlexEligible
Type: boolean

Determines whether the recommendation is size flexible.

term
Type: string

The reserved instances recommendation term in years.

upfrontCost
Type: string

How much purchasing this instance costs you upfront.

OrderBy

Description

Defines how rows will be sorted in the response.

Members
dimension
Type: string

Sorts by dimension values.

order
Type: string

The order that's used to sort the data.

RdsDbInstance

Description

Contains the details of an Amazon RDS DB instance.

Members
configuration
Type: RdsDbInstanceConfiguration structure

The Amazon RDS DB instance configuration used for recommendations.

costCalculation
Type: ResourceCostCalculation structure

Cost impact of the resource recommendation.

RdsDbInstanceConfiguration

Description

The Amazon RDS DB instance configuration used for recommendations.

Members
instance
Type: DbInstanceConfiguration structure

Details about the instance configuration.

RdsDbInstanceStorage

Description

Contains the details of an Amazon RDS DB instance storage.

Members
configuration

The Amazon RDS DB instance storage configuration used for recommendations.

costCalculation
Type: ResourceCostCalculation structure

Cost impact of the resource recommendation.

RdsDbInstanceStorageConfiguration

Description

The Amazon RDS DB instance storage configuration used for recommendations.

Members
allocatedStorageInGb
Type: double

The new amount of storage in GB to allocate for the DB instance.

iops
Type: double

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

storageThroughput
Type: double

The storage throughput for the DB instance.

storageType
Type: string

The storage type to associate with the DB instance.

RdsReservedInstances

Description

The RDS reserved instances recommendation details.

Members
configuration

The RDS reserved instances configuration used for recommendations.

costCalculation

Cost impact of the purchase recommendation.

RdsReservedInstancesConfiguration

Description

The RDS reserved instances configuration used for recommendations.

Members
accountScope
Type: string

The account scope that you want your recommendations for.

currentGeneration
Type: string

Determines whether the recommendation is for a current generation instance.

databaseEdition
Type: string

The database edition that the recommended reservation supports.

databaseEngine
Type: string

The database engine that the recommended reservation supports.

deploymentOption
Type: string

Determines whether the recommendation is for a reservation in a single Availability Zone or a reservation with a backup in a second Availability Zone.

instanceFamily
Type: string

The instance family of the recommended reservation.

instanceType
Type: string

The type of instance that Amazon Web Services recommends.

licenseModel
Type: string

The license model that the recommended reservation supports.

monthlyRecurringCost
Type: string

How much purchasing this instance costs you on a monthly basis.

normalizedUnitsToPurchase
Type: string

The number of normalized units that Amazon Web Services recommends that you purchase.

numberOfInstancesToPurchase
Type: string

The number of instances that Amazon Web Services recommends that you purchase.

paymentOption
Type: string

The payment option for the commitment.

reservedInstancesRegion
Type: string

The Amazon Web Services Region of the commitment.

service
Type: string

The service that you want your recommendations for.

sizeFlexEligible
Type: boolean

Determines whether the recommendation is size flexible.

term
Type: string

The reserved instances recommendation term in years.

upfrontCost
Type: string

How much purchasing this instance costs you upfront.

Recommendation

Description

Describes a recommendation.

Members
accountId
Type: string

The account that the recommendation is for.

actionType
Type: string

The type of tasks that can be carried out by this action.

currencyCode
Type: string

The currency code used for the recommendation.

currentResourceSummary
Type: string

Describes the current resource.

currentResourceType
Type: string

The current resource type.

estimatedMonthlyCost
Type: double

The estimated monthly cost of the current resource. For Reserved Instances and Savings Plans, it refers to the cost for eligible usage.

estimatedMonthlySavings
Type: double

The estimated monthly savings amount for the recommendation.

estimatedSavingsPercentage
Type: double

The estimated savings percentage relative to the total cost over the cost calculation lookback period.

implementationEffort
Type: string

The effort required to implement the recommendation.

lastRefreshTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the recommendation was last generated.

recommendationId
Type: string

The ID for the recommendation.

recommendationLookbackPeriodInDays
Type: int

The lookback period that's used to generate the recommendation.

recommendedResourceSummary
Type: string

Describes the recommended resource.

recommendedResourceType
Type: string

The recommended resource type.

region
Type: string

The Amazon Web Services Region of the resource.

resourceArn
Type: string

The Amazon Resource Name (ARN) for the recommendation.

resourceId
Type: string

The resource ID for the recommendation.

restartNeeded
Type: boolean

Whether or not implementing the recommendation requires a restart.

rollbackPossible
Type: boolean

Whether or not implementing the recommendation can be rolled back.

source
Type: string

The source of the recommendation.

tags
Type: Array of Tag structures

A list of tags assigned to the recommendation.

RecommendationSummary

Description

The summary of rightsizing recommendations, including de-duped savings from all types of recommendations.

Members
estimatedMonthlySavings
Type: double

The estimated total savings resulting from modifications, on a monthly basis.

group
Type: string

The grouping of recommendations.

recommendationCount
Type: int

The total number of instance recommendations.

RedshiftReservedInstances

Description

The Redshift reserved instances recommendation details.

Members
configuration

The Redshift reserved instances configuration used for recommendations.

costCalculation

Cost impact of the purchase recommendation.

RedshiftReservedInstancesConfiguration

Description

The Redshift reserved instances configuration used for recommendations.

Members
accountScope
Type: string

The account scope that you want your recommendations for.

currentGeneration
Type: string

Determines whether the recommendation is for a current generation instance.

instanceFamily
Type: string

The instance family of the recommended reservation.

instanceType
Type: string

The type of instance that Amazon Web Services recommends.

monthlyRecurringCost
Type: string

How much purchasing reserved instances costs you on a monthly basis.

normalizedUnitsToPurchase
Type: string

The number of normalized units that Amazon Web Services recommends that you purchase.

numberOfInstancesToPurchase
Type: string

The number of instances that Amazon Web Services recommends that you purchase.

paymentOption
Type: string

The payment option for the commitment.

reservedInstancesRegion
Type: string

The Amazon Web Services Region of the commitment.

service
Type: string

The service that you want your recommendations for.

sizeFlexEligible
Type: boolean

Determines whether the recommendation is size flexible.

term
Type: string

The reserved instances recommendation term in years.

upfrontCost
Type: string

How much purchasing this instance costs you upfront.

ReservedInstancesCostCalculation

Description

Cost impact of the purchase recommendation.

Members
pricing
Type: ReservedInstancesPricing structure

Pricing details of the purchase recommendation.

ReservedInstancesPricing

Description

Pricing details for your recommended reserved instance.

Members
estimatedMonthlyAmortizedReservationCost
Type: double

The estimated cost of your recurring monthly fees for the recommended reserved instance across the month.

estimatedOnDemandCost
Type: double

The remaining On-Demand cost estimated to not be covered by the recommended reserved instance, over the length of the lookback period.

monthlyReservationEligibleCost
Type: double

The cost of paying for the recommended reserved instance monthly.

savingsPercentage
Type: double

The savings percentage relative to the total On-Demand costs that are associated with this instance.

ResourceCostCalculation

Description

Cost impact of the resource recommendation.

Members
pricing
Type: ResourcePricing structure

Pricing details of the resource recommendation.

usages
Type: Array of Usage structures

Usage details of the resource recommendation.

ResourceDetails

Description

Contains detailed information about the specified resource.

Members
computeSavingsPlans
Type: ComputeSavingsPlans structure

The Compute Savings Plans recommendation details.

ebsVolume
Type: EbsVolume structure

The Amazon Elastic Block Store volume recommendation details.

ec2AutoScalingGroup
Type: Ec2AutoScalingGroup structure

The EC2 Auto Scaling group recommendation details.

ec2Instance
Type: Ec2Instance structure

The EC2 instance recommendation details.

ec2InstanceSavingsPlans
Type: Ec2InstanceSavingsPlans structure

The EC2 instance Savings Plans recommendation details.

ec2ReservedInstances
Type: Ec2ReservedInstances structure

The EC2 reserved instances recommendation details.

ecsService
Type: EcsService structure

The ECS service recommendation details.

elastiCacheReservedInstances

The ElastiCache reserved instances recommendation details.

lambdaFunction
Type: LambdaFunction structure

The Lambda function recommendation details.

openSearchReservedInstances
Type: OpenSearchReservedInstances structure

The OpenSearch reserved instances recommendation details.

rdsDbInstance
Type: RdsDbInstance structure

The DB instance recommendation details.

rdsDbInstanceStorage
Type: RdsDbInstanceStorage structure

The DB instance storage recommendation details.

rdsReservedInstances
Type: RdsReservedInstances structure

The RDS reserved instances recommendation details.

redshiftReservedInstances
Type: RedshiftReservedInstances structure

The Redshift reserved instances recommendation details.

sageMakerSavingsPlans
Type: SageMakerSavingsPlans structure

The SageMaker Savings Plans recommendation details.

ResourceNotFoundException

Description

The specified Amazon Resource Name (ARN) in the request doesn't exist.

Members
message
Required: Yes
Type: string
resourceId
Required: Yes
Type: string

The identifier of the resource that was not found.

ResourcePricing

Description

Contains pricing information about the specified resource.

Members
estimatedCostAfterDiscounts
Type: double

The savings estimate incorporating all discounts with Amazon Web Services, such as Reserved Instances and Savings Plans.

estimatedCostBeforeDiscounts
Type: double

The savings estimate using Amazon Web Services public pricing without incorporating any discounts.

estimatedDiscounts
Type: EstimatedDiscounts structure

The estimated discounts for a recommendation.

estimatedNetUnusedAmortizedCommitments
Type: double

The estimated net unused amortized commitment for the recommendation.

SageMakerSavingsPlans

Description

The SageMaker Savings Plans recommendation details.

Members
configuration

The SageMaker Savings Plans configuration used for recommendations.

costCalculation
Type: SavingsPlansCostCalculation structure

Cost impact of the Savings Plans purchase recommendation.

SageMakerSavingsPlansConfiguration

Description

The SageMaker Savings Plans configuration used for recommendations.

Members
accountScope
Type: string

The account scope that you want your recommendations for.

hourlyCommitment
Type: string

The hourly commitment for the Savings Plans type.

paymentOption
Type: string

The payment option for the commitment.

term
Type: string

The Savings Plans recommendation term in years.

SavingsPlansCostCalculation

Description

Cost impact of the purchase recommendation.

Members
pricing
Type: SavingsPlansPricing structure

Pricing details of the purchase recommendation.

SavingsPlansPricing

Description

Pricing information about a Savings Plan.

Members
estimatedMonthlyCommitment
Type: double

Estimated monthly commitment for the Savings Plan.

estimatedOnDemandCost
Type: double

Estimated On-Demand cost you will pay after buying the Savings Plan.

monthlySavingsPlansEligibleCost
Type: double

The cost of paying for the recommended Savings Plan monthly.

savingsPercentage
Type: double

Estimated savings as a percentage of your overall costs after buying the Savings Plan.

StorageConfiguration

Description

The storage configuration used for recommendations.

Members
sizeInGb
Type: double

The storage volume.

type
Type: string

The storage type.

SummaryMetricsResult

Description

The results or descriptions for the additional metrics, based on whether the metrics were or were not requested.

Members
savingsPercentage
Type: string

The savings percentage based on your Amazon Web Services spend over the past 30 days.

Savings percentage is only supported when filtering by Region, account ID, or tags.

Tag

Description

The tag structure that contains a tag key and value.

Members
key
Type: string

The key that's associated with the tag.

value
Type: string

The value that's associated with the tag.

ThrottlingException

Description

The request was denied due to request throttling.

Members
message
Type: string

Usage

Description

Details about the usage.

Members
operation
Type: string

The operation value.

productCode
Type: string

The product code.

unit
Type: string

The usage unit.

usageAmount
Type: double

The usage amount.

usageType
Type: string

The usage type.

ValidationException

Description

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Members
fields
Type: Array of ValidationExceptionDetail structures

The list of fields that are invalid.

message
Required: Yes
Type: string
reason
Type: string

The reason for the validation exception.

ValidationExceptionDetail

Description

The input failed to meet the constraints specified by the Amazon Web Services service in a specified field.

Members
fieldName
Required: Yes
Type: string

The field name where the invalid entry was detected.

message
Required: Yes
Type: string

A message with the reason for the validation exception error.