2025/05/28 - Cost Optimization Hub - 2 updated api methods
Changes This release allows customers to modify their preferred commitment term and payment options.
{'preferredCommitment': {'paymentOption': 'AllUpfront | PartialUpfront | '
                                          'NoUpfront',
                         'term': 'OneYear | ThreeYears'}}
      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.
See also: AWS API Documentation
Request Syntax
client.get_preferences()
dict
Response Syntax
{
    'savingsEstimationMode': 'BeforeDiscounts'|'AfterDiscounts',
    'memberAccountDiscountVisibility': 'All'|'None',
    'preferredCommitment': {
        'term': 'OneYear'|'ThreeYears',
        'paymentOption': 'AllUpfront'|'PartialUpfront'|'NoUpfront'
    }
}
Response Structure
(dict) --
savingsEstimationMode (string) --
Retrieves the status of the "savings estimation mode" preference.
memberAccountDiscountVisibility (string) --
Retrieves the status of the "member account discount visibility" preference.
preferredCommitment (dict) --
Retrieves the current preferences for how Reserved Instances and Savings Plans cost-saving opportunities are prioritized in terms of payment option and term length.
term (string) --
The preferred length of the commitment period. If the value is null, it will default to ThreeYears (highest savings) where applicable.
paymentOption (string) --
The preferred upfront payment structure for commitments. If the value is null, it will default to AllUpfront (highest savings) where applicable.
{'preferredCommitment': {'paymentOption': 'AllUpfront | PartialUpfront | '
                                          'NoUpfront',
                         'term': 'OneYear | ThreeYears'}}
      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.
See also: AWS API Documentation
Request Syntax
client.update_preferences(
    savingsEstimationMode='BeforeDiscounts'|'AfterDiscounts',
    memberAccountDiscountVisibility='All'|'None',
    preferredCommitment={
        'term': 'OneYear'|'ThreeYears',
        'paymentOption': 'AllUpfront'|'PartialUpfront'|'NoUpfront'
    }
)
string
Sets the "savings estimation mode" preference.
string
Sets the "member account discount visibility" preference.
dict
Sets the preferences for how Reserved Instances and Savings Plans cost-saving opportunities are prioritized in terms of payment option and term length.
term (string) --
The preferred length of the commitment period. If the value is null, it will default to ThreeYears (highest savings) where applicable.
paymentOption (string) --
The preferred upfront payment structure for commitments. If the value is null, it will default to AllUpfront (highest savings) where applicable.
dict
Response Syntax
{
    'savingsEstimationMode': 'BeforeDiscounts'|'AfterDiscounts',
    'memberAccountDiscountVisibility': 'All'|'None',
    'preferredCommitment': {
        'term': 'OneYear'|'ThreeYears',
        'paymentOption': 'AllUpfront'|'PartialUpfront'|'NoUpfront'
    }
}
Response Structure
(dict) --
savingsEstimationMode (string) --
Shows the status of the "savings estimation mode" preference.
memberAccountDiscountVisibility (string) --
Shows the status of the "member account discount visibility" preference.
preferredCommitment (dict) --
Shows the updated preferences for how Reserved Instances and Savings Plans cost-saving opportunities are prioritized in terms of payment option and term length.
term (string) --
The preferred length of the commitment period. If the value is null, it will default to ThreeYears (highest savings) where applicable.
paymentOption (string) --
The preferred upfront payment structure for commitments. If the value is null, it will default to AllUpfront (highest savings) where applicable.