/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace SavingsPlans { namespace Model { /** */ class DescribeSavingsPlansOfferingRatesRequest : public SavingsPlansRequest { public: AWS_SAVINGSPLANS_API DescribeSavingsPlansOfferingRatesRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DescribeSavingsPlansOfferingRates"; } AWS_SAVINGSPLANS_API Aws::String SerializePayload() const override; /** *

The IDs of the offerings.

*/ inline const Aws::Vector& GetSavingsPlanOfferingIds() const{ return m_savingsPlanOfferingIds; } /** *

The IDs of the offerings.

*/ inline bool SavingsPlanOfferingIdsHasBeenSet() const { return m_savingsPlanOfferingIdsHasBeenSet; } /** *

The IDs of the offerings.

*/ inline void SetSavingsPlanOfferingIds(const Aws::Vector& value) { m_savingsPlanOfferingIdsHasBeenSet = true; m_savingsPlanOfferingIds = value; } /** *

The IDs of the offerings.

*/ inline void SetSavingsPlanOfferingIds(Aws::Vector&& value) { m_savingsPlanOfferingIdsHasBeenSet = true; m_savingsPlanOfferingIds = std::move(value); } /** *

The IDs of the offerings.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithSavingsPlanOfferingIds(const Aws::Vector& value) { SetSavingsPlanOfferingIds(value); return *this;} /** *

The IDs of the offerings.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithSavingsPlanOfferingIds(Aws::Vector&& value) { SetSavingsPlanOfferingIds(std::move(value)); return *this;} /** *

The IDs of the offerings.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddSavingsPlanOfferingIds(const Aws::String& value) { m_savingsPlanOfferingIdsHasBeenSet = true; m_savingsPlanOfferingIds.push_back(value); return *this; } /** *

The IDs of the offerings.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddSavingsPlanOfferingIds(Aws::String&& value) { m_savingsPlanOfferingIdsHasBeenSet = true; m_savingsPlanOfferingIds.push_back(std::move(value)); return *this; } /** *

The IDs of the offerings.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddSavingsPlanOfferingIds(const char* value) { m_savingsPlanOfferingIdsHasBeenSet = true; m_savingsPlanOfferingIds.push_back(value); return *this; } /** *

The payment options.

*/ inline const Aws::Vector& GetSavingsPlanPaymentOptions() const{ return m_savingsPlanPaymentOptions; } /** *

The payment options.

*/ inline bool SavingsPlanPaymentOptionsHasBeenSet() const { return m_savingsPlanPaymentOptionsHasBeenSet; } /** *

The payment options.

*/ inline void SetSavingsPlanPaymentOptions(const Aws::Vector& value) { m_savingsPlanPaymentOptionsHasBeenSet = true; m_savingsPlanPaymentOptions = value; } /** *

The payment options.

*/ inline void SetSavingsPlanPaymentOptions(Aws::Vector&& value) { m_savingsPlanPaymentOptionsHasBeenSet = true; m_savingsPlanPaymentOptions = std::move(value); } /** *

The payment options.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithSavingsPlanPaymentOptions(const Aws::Vector& value) { SetSavingsPlanPaymentOptions(value); return *this;} /** *

The payment options.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithSavingsPlanPaymentOptions(Aws::Vector&& value) { SetSavingsPlanPaymentOptions(std::move(value)); return *this;} /** *

The payment options.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddSavingsPlanPaymentOptions(const SavingsPlanPaymentOption& value) { m_savingsPlanPaymentOptionsHasBeenSet = true; m_savingsPlanPaymentOptions.push_back(value); return *this; } /** *

The payment options.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddSavingsPlanPaymentOptions(SavingsPlanPaymentOption&& value) { m_savingsPlanPaymentOptionsHasBeenSet = true; m_savingsPlanPaymentOptions.push_back(std::move(value)); return *this; } /** *

The plan types.

*/ inline const Aws::Vector& GetSavingsPlanTypes() const{ return m_savingsPlanTypes; } /** *

The plan types.

*/ inline bool SavingsPlanTypesHasBeenSet() const { return m_savingsPlanTypesHasBeenSet; } /** *

The plan types.

*/ inline void SetSavingsPlanTypes(const Aws::Vector& value) { m_savingsPlanTypesHasBeenSet = true; m_savingsPlanTypes = value; } /** *

The plan types.

*/ inline void SetSavingsPlanTypes(Aws::Vector&& value) { m_savingsPlanTypesHasBeenSet = true; m_savingsPlanTypes = std::move(value); } /** *

The plan types.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithSavingsPlanTypes(const Aws::Vector& value) { SetSavingsPlanTypes(value); return *this;} /** *

The plan types.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithSavingsPlanTypes(Aws::Vector&& value) { SetSavingsPlanTypes(std::move(value)); return *this;} /** *

The plan types.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddSavingsPlanTypes(const SavingsPlanType& value) { m_savingsPlanTypesHasBeenSet = true; m_savingsPlanTypes.push_back(value); return *this; } /** *

The plan types.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddSavingsPlanTypes(SavingsPlanType&& value) { m_savingsPlanTypesHasBeenSet = true; m_savingsPlanTypes.push_back(std::move(value)); return *this; } /** *

The AWS products.

*/ inline const Aws::Vector& GetProducts() const{ return m_products; } /** *

The AWS products.

*/ inline bool ProductsHasBeenSet() const { return m_productsHasBeenSet; } /** *

The AWS products.

*/ inline void SetProducts(const Aws::Vector& value) { m_productsHasBeenSet = true; m_products = value; } /** *

The AWS products.

*/ inline void SetProducts(Aws::Vector&& value) { m_productsHasBeenSet = true; m_products = std::move(value); } /** *

The AWS products.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithProducts(const Aws::Vector& value) { SetProducts(value); return *this;} /** *

The AWS products.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithProducts(Aws::Vector&& value) { SetProducts(std::move(value)); return *this;} /** *

The AWS products.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddProducts(const SavingsPlanProductType& value) { m_productsHasBeenSet = true; m_products.push_back(value); return *this; } /** *

The AWS products.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddProducts(SavingsPlanProductType&& value) { m_productsHasBeenSet = true; m_products.push_back(std::move(value)); return *this; } /** *

The services.

*/ inline const Aws::Vector& GetServiceCodes() const{ return m_serviceCodes; } /** *

The services.

*/ inline bool ServiceCodesHasBeenSet() const { return m_serviceCodesHasBeenSet; } /** *

The services.

*/ inline void SetServiceCodes(const Aws::Vector& value) { m_serviceCodesHasBeenSet = true; m_serviceCodes = value; } /** *

The services.

*/ inline void SetServiceCodes(Aws::Vector&& value) { m_serviceCodesHasBeenSet = true; m_serviceCodes = std::move(value); } /** *

The services.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithServiceCodes(const Aws::Vector& value) { SetServiceCodes(value); return *this;} /** *

The services.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithServiceCodes(Aws::Vector&& value) { SetServiceCodes(std::move(value)); return *this;} /** *

The services.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddServiceCodes(const SavingsPlanRateServiceCode& value) { m_serviceCodesHasBeenSet = true; m_serviceCodes.push_back(value); return *this; } /** *

The services.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddServiceCodes(SavingsPlanRateServiceCode&& value) { m_serviceCodesHasBeenSet = true; m_serviceCodes.push_back(std::move(value)); return *this; } /** *

The usage details of the line item in the billing report.

*/ inline const Aws::Vector& GetUsageTypes() const{ return m_usageTypes; } /** *

The usage details of the line item in the billing report.

*/ inline bool UsageTypesHasBeenSet() const { return m_usageTypesHasBeenSet; } /** *

The usage details of the line item in the billing report.

*/ inline void SetUsageTypes(const Aws::Vector& value) { m_usageTypesHasBeenSet = true; m_usageTypes = value; } /** *

The usage details of the line item in the billing report.

*/ inline void SetUsageTypes(Aws::Vector&& value) { m_usageTypesHasBeenSet = true; m_usageTypes = std::move(value); } /** *

The usage details of the line item in the billing report.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithUsageTypes(const Aws::Vector& value) { SetUsageTypes(value); return *this;} /** *

The usage details of the line item in the billing report.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithUsageTypes(Aws::Vector&& value) { SetUsageTypes(std::move(value)); return *this;} /** *

The usage details of the line item in the billing report.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddUsageTypes(const Aws::String& value) { m_usageTypesHasBeenSet = true; m_usageTypes.push_back(value); return *this; } /** *

The usage details of the line item in the billing report.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddUsageTypes(Aws::String&& value) { m_usageTypesHasBeenSet = true; m_usageTypes.push_back(std::move(value)); return *this; } /** *

The usage details of the line item in the billing report.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddUsageTypes(const char* value) { m_usageTypesHasBeenSet = true; m_usageTypes.push_back(value); return *this; } /** *

The specific AWS operation for the line item in the billing report.

*/ inline const Aws::Vector& GetOperations() const{ return m_operations; } /** *

The specific AWS operation for the line item in the billing report.

*/ inline bool OperationsHasBeenSet() const { return m_operationsHasBeenSet; } /** *

The specific AWS operation for the line item in the billing report.

*/ inline void SetOperations(const Aws::Vector& value) { m_operationsHasBeenSet = true; m_operations = value; } /** *

The specific AWS operation for the line item in the billing report.

*/ inline void SetOperations(Aws::Vector&& value) { m_operationsHasBeenSet = true; m_operations = std::move(value); } /** *

The specific AWS operation for the line item in the billing report.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithOperations(const Aws::Vector& value) { SetOperations(value); return *this;} /** *

The specific AWS operation for the line item in the billing report.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithOperations(Aws::Vector&& value) { SetOperations(std::move(value)); return *this;} /** *

The specific AWS operation for the line item in the billing report.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddOperations(const Aws::String& value) { m_operationsHasBeenSet = true; m_operations.push_back(value); return *this; } /** *

The specific AWS operation for the line item in the billing report.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddOperations(Aws::String&& value) { m_operationsHasBeenSet = true; m_operations.push_back(std::move(value)); return *this; } /** *

The specific AWS operation for the line item in the billing report.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddOperations(const char* value) { m_operationsHasBeenSet = true; m_operations.push_back(value); return *this; } /** *

The filters.

*/ inline const Aws::Vector& GetFilters() const{ return m_filters; } /** *

The filters.

*/ inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } /** *

The filters.

*/ inline void SetFilters(const Aws::Vector& value) { m_filtersHasBeenSet = true; m_filters = value; } /** *

The filters.

*/ inline void SetFilters(Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } /** *

The filters.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithFilters(const Aws::Vector& value) { SetFilters(value); return *this;} /** *

The filters.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithFilters(Aws::Vector&& value) { SetFilters(std::move(value)); return *this;} /** *

The filters.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddFilters(const SavingsPlanOfferingRateFilterElement& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } /** *

The filters.

*/ inline DescribeSavingsPlansOfferingRatesRequest& AddFilters(SavingsPlanOfferingRateFilterElement&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } /** *

The token for the next page of results.

*/ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** *

The token for the next page of results.

*/ inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } /** *

The token for the next page of results.

*/ inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } /** *

The token for the next page of results.

*/ inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } /** *

The token for the next page of results.

*/ inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } /** *

The token for the next page of results.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** *

The token for the next page of results.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** *

The token for the next page of results.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} /** *

The maximum number of results to return with a single call. To retrieve * additional results, make another call with the returned token value.

*/ inline int GetMaxResults() const{ return m_maxResults; } /** *

The maximum number of results to return with a single call. To retrieve * additional results, make another call with the returned token value.

*/ inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } /** *

The maximum number of results to return with a single call. To retrieve * additional results, make another call with the returned token value.

*/ inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } /** *

The maximum number of results to return with a single call. To retrieve * additional results, make another call with the returned token value.

*/ inline DescribeSavingsPlansOfferingRatesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} private: Aws::Vector m_savingsPlanOfferingIds; bool m_savingsPlanOfferingIdsHasBeenSet = false; Aws::Vector m_savingsPlanPaymentOptions; bool m_savingsPlanPaymentOptionsHasBeenSet = false; Aws::Vector m_savingsPlanTypes; bool m_savingsPlanTypesHasBeenSet = false; Aws::Vector m_products; bool m_productsHasBeenSet = false; Aws::Vector m_serviceCodes; bool m_serviceCodesHasBeenSet = false; Aws::Vector m_usageTypes; bool m_usageTypesHasBeenSet = false; Aws::Vector m_operations; bool m_operationsHasBeenSet = false; Aws::Vector m_filters; bool m_filtersHasBeenSet = false; Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; }; } // namespace Model } // namespace SavingsPlans } // namespace Aws