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

com.amazonaws.services.costexplorer.model.SavingsPlansPurchaseRecommendationDetail Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Cost Explorer module holds the client classes that are used for communicating with AWS Cost Explorer Service

The newest version!
/*
 * Copyright 2020-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.costexplorer.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Details for your recommended Savings Plans. *

* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class SavingsPlansPurchaseRecommendationDetail implements Serializable, Cloneable, StructuredPojo { /** *

* Details for your recommended Savings Plans. *

*/ private SavingsPlansDetails savingsPlansDetails; /** *

* The AccountID the recommendation is generated for. *

*/ private String accountId; /** *

* The upfront cost of the recommended Savings Plans, based on the selected payment option. *

*/ private String upfrontCost; /** *

* The estimated return on investment that's based on the recommended Savings Plans that you purchased. This is * calculated as estimatedSavingsAmount/ estimatedSPCost*100. *

*/ private String estimatedROI; /** *

* The currency code that Amazon Web Services used to generate the recommendations and present potential savings. *

*/ private String currencyCode; /** *

* The cost of the recommended Savings Plans over the length of the lookback period. *

*/ private String estimatedSPCost; /** *

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

*/ private String estimatedOnDemandCost; /** *

* The estimated On-Demand costs you expect with no additional commitment, based on your usage of the selected time * period and the Savings Plans you own. *

*/ private String estimatedOnDemandCostWithCurrentCommitment; /** *

* The estimated savings amount that's based on the recommended Savings Plans over the length of the lookback * period. *

*/ private String estimatedSavingsAmount; /** *

* The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback * period. *

*/ private String estimatedSavingsPercentage; /** *

* The recommended hourly commitment level for the Savings Plans type and the configuration that's based on the * usage during the lookback period. *

*/ private String hourlyCommitmentToPurchase; /** *

* The estimated utilization of the recommended Savings Plans. *

*/ private String estimatedAverageUtilization; /** *

* The estimated monthly savings amount based on the recommended Savings Plans. *

*/ private String estimatedMonthlySavingsAmount; /** *

* The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type. *

*/ private String currentMinimumHourlyOnDemandSpend; /** *

* The highest value of hourly On-Demand spend over the lookback period of the applicable usage type. *

*/ private String currentMaximumHourlyOnDemandSpend; /** *

* The average value of hourly On-Demand spend over the lookback period of the applicable usage type. *

*/ private String currentAverageHourlyOnDemandSpend; /** *

* Contains detailed information about a specific Savings Plan recommendation. *

*/ private String recommendationDetailId; /** *

* Details for your recommended Savings Plans. *

* * @param savingsPlansDetails * Details for your recommended Savings Plans. */ public void setSavingsPlansDetails(SavingsPlansDetails savingsPlansDetails) { this.savingsPlansDetails = savingsPlansDetails; } /** *

* Details for your recommended Savings Plans. *

* * @return Details for your recommended Savings Plans. */ public SavingsPlansDetails getSavingsPlansDetails() { return this.savingsPlansDetails; } /** *

* Details for your recommended Savings Plans. *

* * @param savingsPlansDetails * Details for your recommended Savings Plans. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withSavingsPlansDetails(SavingsPlansDetails savingsPlansDetails) { setSavingsPlansDetails(savingsPlansDetails); return this; } /** *

* The AccountID the recommendation is generated for. *

* * @param accountId * The AccountID the recommendation is generated for. */ public void setAccountId(String accountId) { this.accountId = accountId; } /** *

* The AccountID the recommendation is generated for. *

* * @return The AccountID the recommendation is generated for. */ public String getAccountId() { return this.accountId; } /** *

* The AccountID the recommendation is generated for. *

* * @param accountId * The AccountID the recommendation is generated for. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withAccountId(String accountId) { setAccountId(accountId); return this; } /** *

* The upfront cost of the recommended Savings Plans, based on the selected payment option. *

* * @param upfrontCost * The upfront cost of the recommended Savings Plans, based on the selected payment option. */ public void setUpfrontCost(String upfrontCost) { this.upfrontCost = upfrontCost; } /** *

* The upfront cost of the recommended Savings Plans, based on the selected payment option. *

* * @return The upfront cost of the recommended Savings Plans, based on the selected payment option. */ public String getUpfrontCost() { return this.upfrontCost; } /** *

* The upfront cost of the recommended Savings Plans, based on the selected payment option. *

* * @param upfrontCost * The upfront cost of the recommended Savings Plans, based on the selected payment option. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withUpfrontCost(String upfrontCost) { setUpfrontCost(upfrontCost); return this; } /** *

* The estimated return on investment that's based on the recommended Savings Plans that you purchased. This is * calculated as estimatedSavingsAmount/ estimatedSPCost*100. *

* * @param estimatedROI * The estimated return on investment that's based on the recommended Savings Plans that you purchased. This * is calculated as estimatedSavingsAmount/ estimatedSPCost 100. */ public void setEstimatedROI(String estimatedROI) { this.estimatedROI = estimatedROI; } /** *

* The estimated return on investment that's based on the recommended Savings Plans that you purchased. This is * calculated as estimatedSavingsAmount/ estimatedSPCost*100. *

* * @return The estimated return on investment that's based on the recommended Savings Plans that you purchased. This * is calculated as estimatedSavingsAmount/ estimatedSPCost 100. */ public String getEstimatedROI() { return this.estimatedROI; } /** *

* The estimated return on investment that's based on the recommended Savings Plans that you purchased. This is * calculated as estimatedSavingsAmount/ estimatedSPCost*100. *

* * @param estimatedROI * The estimated return on investment that's based on the recommended Savings Plans that you purchased. This * is calculated as estimatedSavingsAmount/ estimatedSPCost 100. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withEstimatedROI(String estimatedROI) { setEstimatedROI(estimatedROI); return this; } /** *

* The currency code that Amazon Web Services used to generate the recommendations and present potential savings. *

* * @param currencyCode * The currency code that Amazon Web Services used to generate the recommendations and present potential * savings. */ public void setCurrencyCode(String currencyCode) { this.currencyCode = currencyCode; } /** *

* The currency code that Amazon Web Services used to generate the recommendations and present potential savings. *

* * @return The currency code that Amazon Web Services used to generate the recommendations and present potential * savings. */ public String getCurrencyCode() { return this.currencyCode; } /** *

* The currency code that Amazon Web Services used to generate the recommendations and present potential savings. *

* * @param currencyCode * The currency code that Amazon Web Services used to generate the recommendations and present potential * savings. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withCurrencyCode(String currencyCode) { setCurrencyCode(currencyCode); return this; } /** *

* The cost of the recommended Savings Plans over the length of the lookback period. *

* * @param estimatedSPCost * The cost of the recommended Savings Plans over the length of the lookback period. */ public void setEstimatedSPCost(String estimatedSPCost) { this.estimatedSPCost = estimatedSPCost; } /** *

* The cost of the recommended Savings Plans over the length of the lookback period. *

* * @return The cost of the recommended Savings Plans over the length of the lookback period. */ public String getEstimatedSPCost() { return this.estimatedSPCost; } /** *

* The cost of the recommended Savings Plans over the length of the lookback period. *

* * @param estimatedSPCost * The cost of the recommended Savings Plans over the length of the lookback period. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withEstimatedSPCost(String estimatedSPCost) { setEstimatedSPCost(estimatedSPCost); return this; } /** *

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

* * @param estimatedOnDemandCost * The remaining On-Demand cost estimated to not be covered by the recommended Savings Plans, over the length * of the lookback period. */ public void setEstimatedOnDemandCost(String estimatedOnDemandCost) { this.estimatedOnDemandCost = estimatedOnDemandCost; } /** *

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

* * @return The remaining On-Demand cost estimated to not be covered by the recommended Savings Plans, over the * length of the lookback period. */ public String getEstimatedOnDemandCost() { return this.estimatedOnDemandCost; } /** *

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

* * @param estimatedOnDemandCost * The remaining On-Demand cost estimated to not be covered by the recommended Savings Plans, over the length * of the lookback period. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withEstimatedOnDemandCost(String estimatedOnDemandCost) { setEstimatedOnDemandCost(estimatedOnDemandCost); return this; } /** *

* The estimated On-Demand costs you expect with no additional commitment, based on your usage of the selected time * period and the Savings Plans you own. *

* * @param estimatedOnDemandCostWithCurrentCommitment * The estimated On-Demand costs you expect with no additional commitment, based on your usage of the * selected time period and the Savings Plans you own. */ public void setEstimatedOnDemandCostWithCurrentCommitment(String estimatedOnDemandCostWithCurrentCommitment) { this.estimatedOnDemandCostWithCurrentCommitment = estimatedOnDemandCostWithCurrentCommitment; } /** *

* The estimated On-Demand costs you expect with no additional commitment, based on your usage of the selected time * period and the Savings Plans you own. *

* * @return The estimated On-Demand costs you expect with no additional commitment, based on your usage of the * selected time period and the Savings Plans you own. */ public String getEstimatedOnDemandCostWithCurrentCommitment() { return this.estimatedOnDemandCostWithCurrentCommitment; } /** *

* The estimated On-Demand costs you expect with no additional commitment, based on your usage of the selected time * period and the Savings Plans you own. *

* * @param estimatedOnDemandCostWithCurrentCommitment * The estimated On-Demand costs you expect with no additional commitment, based on your usage of the * selected time period and the Savings Plans you own. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withEstimatedOnDemandCostWithCurrentCommitment(String estimatedOnDemandCostWithCurrentCommitment) { setEstimatedOnDemandCostWithCurrentCommitment(estimatedOnDemandCostWithCurrentCommitment); return this; } /** *

* The estimated savings amount that's based on the recommended Savings Plans over the length of the lookback * period. *

* * @param estimatedSavingsAmount * The estimated savings amount that's based on the recommended Savings Plans over the length of the lookback * period. */ public void setEstimatedSavingsAmount(String estimatedSavingsAmount) { this.estimatedSavingsAmount = estimatedSavingsAmount; } /** *

* The estimated savings amount that's based on the recommended Savings Plans over the length of the lookback * period. *

* * @return The estimated savings amount that's based on the recommended Savings Plans over the length of the * lookback period. */ public String getEstimatedSavingsAmount() { return this.estimatedSavingsAmount; } /** *

* The estimated savings amount that's based on the recommended Savings Plans over the length of the lookback * period. *

* * @param estimatedSavingsAmount * The estimated savings amount that's based on the recommended Savings Plans over the length of the lookback * period. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withEstimatedSavingsAmount(String estimatedSavingsAmount) { setEstimatedSavingsAmount(estimatedSavingsAmount); return this; } /** *

* The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback * period. *

* * @param estimatedSavingsPercentage * The estimated savings percentage relative to the total cost of applicable On-Demand usage over the * lookback period. */ public void setEstimatedSavingsPercentage(String estimatedSavingsPercentage) { this.estimatedSavingsPercentage = estimatedSavingsPercentage; } /** *

* The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback * period. *

* * @return The estimated savings percentage relative to the total cost of applicable On-Demand usage over the * lookback period. */ public String getEstimatedSavingsPercentage() { return this.estimatedSavingsPercentage; } /** *

* The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback * period. *

* * @param estimatedSavingsPercentage * The estimated savings percentage relative to the total cost of applicable On-Demand usage over the * lookback period. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withEstimatedSavingsPercentage(String estimatedSavingsPercentage) { setEstimatedSavingsPercentage(estimatedSavingsPercentage); return this; } /** *

* The recommended hourly commitment level for the Savings Plans type and the configuration that's based on the * usage during the lookback period. *

* * @param hourlyCommitmentToPurchase * The recommended hourly commitment level for the Savings Plans type and the configuration that's based on * the usage during the lookback period. */ public void setHourlyCommitmentToPurchase(String hourlyCommitmentToPurchase) { this.hourlyCommitmentToPurchase = hourlyCommitmentToPurchase; } /** *

* The recommended hourly commitment level for the Savings Plans type and the configuration that's based on the * usage during the lookback period. *

* * @return The recommended hourly commitment level for the Savings Plans type and the configuration that's based on * the usage during the lookback period. */ public String getHourlyCommitmentToPurchase() { return this.hourlyCommitmentToPurchase; } /** *

* The recommended hourly commitment level for the Savings Plans type and the configuration that's based on the * usage during the lookback period. *

* * @param hourlyCommitmentToPurchase * The recommended hourly commitment level for the Savings Plans type and the configuration that's based on * the usage during the lookback period. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withHourlyCommitmentToPurchase(String hourlyCommitmentToPurchase) { setHourlyCommitmentToPurchase(hourlyCommitmentToPurchase); return this; } /** *

* The estimated utilization of the recommended Savings Plans. *

* * @param estimatedAverageUtilization * The estimated utilization of the recommended Savings Plans. */ public void setEstimatedAverageUtilization(String estimatedAverageUtilization) { this.estimatedAverageUtilization = estimatedAverageUtilization; } /** *

* The estimated utilization of the recommended Savings Plans. *

* * @return The estimated utilization of the recommended Savings Plans. */ public String getEstimatedAverageUtilization() { return this.estimatedAverageUtilization; } /** *

* The estimated utilization of the recommended Savings Plans. *

* * @param estimatedAverageUtilization * The estimated utilization of the recommended Savings Plans. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withEstimatedAverageUtilization(String estimatedAverageUtilization) { setEstimatedAverageUtilization(estimatedAverageUtilization); return this; } /** *

* The estimated monthly savings amount based on the recommended Savings Plans. *

* * @param estimatedMonthlySavingsAmount * The estimated monthly savings amount based on the recommended Savings Plans. */ public void setEstimatedMonthlySavingsAmount(String estimatedMonthlySavingsAmount) { this.estimatedMonthlySavingsAmount = estimatedMonthlySavingsAmount; } /** *

* The estimated monthly savings amount based on the recommended Savings Plans. *

* * @return The estimated monthly savings amount based on the recommended Savings Plans. */ public String getEstimatedMonthlySavingsAmount() { return this.estimatedMonthlySavingsAmount; } /** *

* The estimated monthly savings amount based on the recommended Savings Plans. *

* * @param estimatedMonthlySavingsAmount * The estimated monthly savings amount based on the recommended Savings Plans. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withEstimatedMonthlySavingsAmount(String estimatedMonthlySavingsAmount) { setEstimatedMonthlySavingsAmount(estimatedMonthlySavingsAmount); return this; } /** *

* The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type. *

* * @param currentMinimumHourlyOnDemandSpend * The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type. */ public void setCurrentMinimumHourlyOnDemandSpend(String currentMinimumHourlyOnDemandSpend) { this.currentMinimumHourlyOnDemandSpend = currentMinimumHourlyOnDemandSpend; } /** *

* The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type. *

* * @return The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type. */ public String getCurrentMinimumHourlyOnDemandSpend() { return this.currentMinimumHourlyOnDemandSpend; } /** *

* The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type. *

* * @param currentMinimumHourlyOnDemandSpend * The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withCurrentMinimumHourlyOnDemandSpend(String currentMinimumHourlyOnDemandSpend) { setCurrentMinimumHourlyOnDemandSpend(currentMinimumHourlyOnDemandSpend); return this; } /** *

* The highest value of hourly On-Demand spend over the lookback period of the applicable usage type. *

* * @param currentMaximumHourlyOnDemandSpend * The highest value of hourly On-Demand spend over the lookback period of the applicable usage type. */ public void setCurrentMaximumHourlyOnDemandSpend(String currentMaximumHourlyOnDemandSpend) { this.currentMaximumHourlyOnDemandSpend = currentMaximumHourlyOnDemandSpend; } /** *

* The highest value of hourly On-Demand spend over the lookback period of the applicable usage type. *

* * @return The highest value of hourly On-Demand spend over the lookback period of the applicable usage type. */ public String getCurrentMaximumHourlyOnDemandSpend() { return this.currentMaximumHourlyOnDemandSpend; } /** *

* The highest value of hourly On-Demand spend over the lookback period of the applicable usage type. *

* * @param currentMaximumHourlyOnDemandSpend * The highest value of hourly On-Demand spend over the lookback period of the applicable usage type. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withCurrentMaximumHourlyOnDemandSpend(String currentMaximumHourlyOnDemandSpend) { setCurrentMaximumHourlyOnDemandSpend(currentMaximumHourlyOnDemandSpend); return this; } /** *

* The average value of hourly On-Demand spend over the lookback period of the applicable usage type. *

* * @param currentAverageHourlyOnDemandSpend * The average value of hourly On-Demand spend over the lookback period of the applicable usage type. */ public void setCurrentAverageHourlyOnDemandSpend(String currentAverageHourlyOnDemandSpend) { this.currentAverageHourlyOnDemandSpend = currentAverageHourlyOnDemandSpend; } /** *

* The average value of hourly On-Demand spend over the lookback period of the applicable usage type. *

* * @return The average value of hourly On-Demand spend over the lookback period of the applicable usage type. */ public String getCurrentAverageHourlyOnDemandSpend() { return this.currentAverageHourlyOnDemandSpend; } /** *

* The average value of hourly On-Demand spend over the lookback period of the applicable usage type. *

* * @param currentAverageHourlyOnDemandSpend * The average value of hourly On-Demand spend over the lookback period of the applicable usage type. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withCurrentAverageHourlyOnDemandSpend(String currentAverageHourlyOnDemandSpend) { setCurrentAverageHourlyOnDemandSpend(currentAverageHourlyOnDemandSpend); return this; } /** *

* Contains detailed information about a specific Savings Plan recommendation. *

* * @param recommendationDetailId * Contains detailed information about a specific Savings Plan recommendation. */ public void setRecommendationDetailId(String recommendationDetailId) { this.recommendationDetailId = recommendationDetailId; } /** *

* Contains detailed information about a specific Savings Plan recommendation. *

* * @return Contains detailed information about a specific Savings Plan recommendation. */ public String getRecommendationDetailId() { return this.recommendationDetailId; } /** *

* Contains detailed information about a specific Savings Plan recommendation. *

* * @param recommendationDetailId * Contains detailed information about a specific Savings Plan recommendation. * @return Returns a reference to this object so that method calls can be chained together. */ public SavingsPlansPurchaseRecommendationDetail withRecommendationDetailId(String recommendationDetailId) { setRecommendationDetailId(recommendationDetailId); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getSavingsPlansDetails() != null) sb.append("SavingsPlansDetails: ").append(getSavingsPlansDetails()).append(","); if (getAccountId() != null) sb.append("AccountId: ").append(getAccountId()).append(","); if (getUpfrontCost() != null) sb.append("UpfrontCost: ").append(getUpfrontCost()).append(","); if (getEstimatedROI() != null) sb.append("EstimatedROI: ").append(getEstimatedROI()).append(","); if (getCurrencyCode() != null) sb.append("CurrencyCode: ").append(getCurrencyCode()).append(","); if (getEstimatedSPCost() != null) sb.append("EstimatedSPCost: ").append(getEstimatedSPCost()).append(","); if (getEstimatedOnDemandCost() != null) sb.append("EstimatedOnDemandCost: ").append(getEstimatedOnDemandCost()).append(","); if (getEstimatedOnDemandCostWithCurrentCommitment() != null) sb.append("EstimatedOnDemandCostWithCurrentCommitment: ").append(getEstimatedOnDemandCostWithCurrentCommitment()).append(","); if (getEstimatedSavingsAmount() != null) sb.append("EstimatedSavingsAmount: ").append(getEstimatedSavingsAmount()).append(","); if (getEstimatedSavingsPercentage() != null) sb.append("EstimatedSavingsPercentage: ").append(getEstimatedSavingsPercentage()).append(","); if (getHourlyCommitmentToPurchase() != null) sb.append("HourlyCommitmentToPurchase: ").append(getHourlyCommitmentToPurchase()).append(","); if (getEstimatedAverageUtilization() != null) sb.append("EstimatedAverageUtilization: ").append(getEstimatedAverageUtilization()).append(","); if (getEstimatedMonthlySavingsAmount() != null) sb.append("EstimatedMonthlySavingsAmount: ").append(getEstimatedMonthlySavingsAmount()).append(","); if (getCurrentMinimumHourlyOnDemandSpend() != null) sb.append("CurrentMinimumHourlyOnDemandSpend: ").append(getCurrentMinimumHourlyOnDemandSpend()).append(","); if (getCurrentMaximumHourlyOnDemandSpend() != null) sb.append("CurrentMaximumHourlyOnDemandSpend: ").append(getCurrentMaximumHourlyOnDemandSpend()).append(","); if (getCurrentAverageHourlyOnDemandSpend() != null) sb.append("CurrentAverageHourlyOnDemandSpend: ").append(getCurrentAverageHourlyOnDemandSpend()).append(","); if (getRecommendationDetailId() != null) sb.append("RecommendationDetailId: ").append(getRecommendationDetailId()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof SavingsPlansPurchaseRecommendationDetail == false) return false; SavingsPlansPurchaseRecommendationDetail other = (SavingsPlansPurchaseRecommendationDetail) obj; if (other.getSavingsPlansDetails() == null ^ this.getSavingsPlansDetails() == null) return false; if (other.getSavingsPlansDetails() != null && other.getSavingsPlansDetails().equals(this.getSavingsPlansDetails()) == false) return false; if (other.getAccountId() == null ^ this.getAccountId() == null) return false; if (other.getAccountId() != null && other.getAccountId().equals(this.getAccountId()) == false) return false; if (other.getUpfrontCost() == null ^ this.getUpfrontCost() == null) return false; if (other.getUpfrontCost() != null && other.getUpfrontCost().equals(this.getUpfrontCost()) == false) return false; if (other.getEstimatedROI() == null ^ this.getEstimatedROI() == null) return false; if (other.getEstimatedROI() != null && other.getEstimatedROI().equals(this.getEstimatedROI()) == false) return false; if (other.getCurrencyCode() == null ^ this.getCurrencyCode() == null) return false; if (other.getCurrencyCode() != null && other.getCurrencyCode().equals(this.getCurrencyCode()) == false) return false; if (other.getEstimatedSPCost() == null ^ this.getEstimatedSPCost() == null) return false; if (other.getEstimatedSPCost() != null && other.getEstimatedSPCost().equals(this.getEstimatedSPCost()) == false) return false; if (other.getEstimatedOnDemandCost() == null ^ this.getEstimatedOnDemandCost() == null) return false; if (other.getEstimatedOnDemandCost() != null && other.getEstimatedOnDemandCost().equals(this.getEstimatedOnDemandCost()) == false) return false; if (other.getEstimatedOnDemandCostWithCurrentCommitment() == null ^ this.getEstimatedOnDemandCostWithCurrentCommitment() == null) return false; if (other.getEstimatedOnDemandCostWithCurrentCommitment() != null && other.getEstimatedOnDemandCostWithCurrentCommitment().equals(this.getEstimatedOnDemandCostWithCurrentCommitment()) == false) return false; if (other.getEstimatedSavingsAmount() == null ^ this.getEstimatedSavingsAmount() == null) return false; if (other.getEstimatedSavingsAmount() != null && other.getEstimatedSavingsAmount().equals(this.getEstimatedSavingsAmount()) == false) return false; if (other.getEstimatedSavingsPercentage() == null ^ this.getEstimatedSavingsPercentage() == null) return false; if (other.getEstimatedSavingsPercentage() != null && other.getEstimatedSavingsPercentage().equals(this.getEstimatedSavingsPercentage()) == false) return false; if (other.getHourlyCommitmentToPurchase() == null ^ this.getHourlyCommitmentToPurchase() == null) return false; if (other.getHourlyCommitmentToPurchase() != null && other.getHourlyCommitmentToPurchase().equals(this.getHourlyCommitmentToPurchase()) == false) return false; if (other.getEstimatedAverageUtilization() == null ^ this.getEstimatedAverageUtilization() == null) return false; if (other.getEstimatedAverageUtilization() != null && other.getEstimatedAverageUtilization().equals(this.getEstimatedAverageUtilization()) == false) return false; if (other.getEstimatedMonthlySavingsAmount() == null ^ this.getEstimatedMonthlySavingsAmount() == null) return false; if (other.getEstimatedMonthlySavingsAmount() != null && other.getEstimatedMonthlySavingsAmount().equals(this.getEstimatedMonthlySavingsAmount()) == false) return false; if (other.getCurrentMinimumHourlyOnDemandSpend() == null ^ this.getCurrentMinimumHourlyOnDemandSpend() == null) return false; if (other.getCurrentMinimumHourlyOnDemandSpend() != null && other.getCurrentMinimumHourlyOnDemandSpend().equals(this.getCurrentMinimumHourlyOnDemandSpend()) == false) return false; if (other.getCurrentMaximumHourlyOnDemandSpend() == null ^ this.getCurrentMaximumHourlyOnDemandSpend() == null) return false; if (other.getCurrentMaximumHourlyOnDemandSpend() != null && other.getCurrentMaximumHourlyOnDemandSpend().equals(this.getCurrentMaximumHourlyOnDemandSpend()) == false) return false; if (other.getCurrentAverageHourlyOnDemandSpend() == null ^ this.getCurrentAverageHourlyOnDemandSpend() == null) return false; if (other.getCurrentAverageHourlyOnDemandSpend() != null && other.getCurrentAverageHourlyOnDemandSpend().equals(this.getCurrentAverageHourlyOnDemandSpend()) == false) return false; if (other.getRecommendationDetailId() == null ^ this.getRecommendationDetailId() == null) return false; if (other.getRecommendationDetailId() != null && other.getRecommendationDetailId().equals(this.getRecommendationDetailId()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getSavingsPlansDetails() == null) ? 0 : getSavingsPlansDetails().hashCode()); hashCode = prime * hashCode + ((getAccountId() == null) ? 0 : getAccountId().hashCode()); hashCode = prime * hashCode + ((getUpfrontCost() == null) ? 0 : getUpfrontCost().hashCode()); hashCode = prime * hashCode + ((getEstimatedROI() == null) ? 0 : getEstimatedROI().hashCode()); hashCode = prime * hashCode + ((getCurrencyCode() == null) ? 0 : getCurrencyCode().hashCode()); hashCode = prime * hashCode + ((getEstimatedSPCost() == null) ? 0 : getEstimatedSPCost().hashCode()); hashCode = prime * hashCode + ((getEstimatedOnDemandCost() == null) ? 0 : getEstimatedOnDemandCost().hashCode()); hashCode = prime * hashCode + ((getEstimatedOnDemandCostWithCurrentCommitment() == null) ? 0 : getEstimatedOnDemandCostWithCurrentCommitment().hashCode()); hashCode = prime * hashCode + ((getEstimatedSavingsAmount() == null) ? 0 : getEstimatedSavingsAmount().hashCode()); hashCode = prime * hashCode + ((getEstimatedSavingsPercentage() == null) ? 0 : getEstimatedSavingsPercentage().hashCode()); hashCode = prime * hashCode + ((getHourlyCommitmentToPurchase() == null) ? 0 : getHourlyCommitmentToPurchase().hashCode()); hashCode = prime * hashCode + ((getEstimatedAverageUtilization() == null) ? 0 : getEstimatedAverageUtilization().hashCode()); hashCode = prime * hashCode + ((getEstimatedMonthlySavingsAmount() == null) ? 0 : getEstimatedMonthlySavingsAmount().hashCode()); hashCode = prime * hashCode + ((getCurrentMinimumHourlyOnDemandSpend() == null) ? 0 : getCurrentMinimumHourlyOnDemandSpend().hashCode()); hashCode = prime * hashCode + ((getCurrentMaximumHourlyOnDemandSpend() == null) ? 0 : getCurrentMaximumHourlyOnDemandSpend().hashCode()); hashCode = prime * hashCode + ((getCurrentAverageHourlyOnDemandSpend() == null) ? 0 : getCurrentAverageHourlyOnDemandSpend().hashCode()); hashCode = prime * hashCode + ((getRecommendationDetailId() == null) ? 0 : getRecommendationDetailId().hashCode()); return hashCode; } @Override public SavingsPlansPurchaseRecommendationDetail clone() { try { return (SavingsPlansPurchaseRecommendationDetail) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.costexplorer.model.transform.SavingsPlansPurchaseRecommendationDetailMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy