/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Pricing { namespace Model { /** */ class ListPriceListsRequest : public PricingRequest { public: AWS_PRICING_API ListPriceListsRequest(); // 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 "ListPriceLists"; } AWS_PRICING_API Aws::String SerializePayload() const override; AWS_PRICING_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The service code or the Savings Plan service code for the attributes that you * want to retrieve. For example, to get the list of applicable Amazon EC2 price * lists, use AmazonEC2. For a full list of service codes containing * On-Demand and Reserved Instance (RI) pricing, use the * DescribeServices API.

To retrieve the Compute Savings * Plan price lists, use ComputeSavingsPlans. To retrieve Machine * Learning Savings Plans price lists, use * MachineLearningSavingsPlans.

*/ inline const Aws::String& GetServiceCode() const{ return m_serviceCode; } /** *

The service code or the Savings Plan service code for the attributes that you * want to retrieve. For example, to get the list of applicable Amazon EC2 price * lists, use AmazonEC2. For a full list of service codes containing * On-Demand and Reserved Instance (RI) pricing, use the * DescribeServices API.

To retrieve the Compute Savings * Plan price lists, use ComputeSavingsPlans. To retrieve Machine * Learning Savings Plans price lists, use * MachineLearningSavingsPlans.

*/ inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } /** *

The service code or the Savings Plan service code for the attributes that you * want to retrieve. For example, to get the list of applicable Amazon EC2 price * lists, use AmazonEC2. For a full list of service codes containing * On-Demand and Reserved Instance (RI) pricing, use the * DescribeServices API.

To retrieve the Compute Savings * Plan price lists, use ComputeSavingsPlans. To retrieve Machine * Learning Savings Plans price lists, use * MachineLearningSavingsPlans.

*/ inline void SetServiceCode(const Aws::String& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; } /** *

The service code or the Savings Plan service code for the attributes that you * want to retrieve. For example, to get the list of applicable Amazon EC2 price * lists, use AmazonEC2. For a full list of service codes containing * On-Demand and Reserved Instance (RI) pricing, use the * DescribeServices API.

To retrieve the Compute Savings * Plan price lists, use ComputeSavingsPlans. To retrieve Machine * Learning Savings Plans price lists, use * MachineLearningSavingsPlans.

*/ inline void SetServiceCode(Aws::String&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); } /** *

The service code or the Savings Plan service code for the attributes that you * want to retrieve. For example, to get the list of applicable Amazon EC2 price * lists, use AmazonEC2. For a full list of service codes containing * On-Demand and Reserved Instance (RI) pricing, use the * DescribeServices API.

To retrieve the Compute Savings * Plan price lists, use ComputeSavingsPlans. To retrieve Machine * Learning Savings Plans price lists, use * MachineLearningSavingsPlans.

*/ inline void SetServiceCode(const char* value) { m_serviceCodeHasBeenSet = true; m_serviceCode.assign(value); } /** *

The service code or the Savings Plan service code for the attributes that you * want to retrieve. For example, to get the list of applicable Amazon EC2 price * lists, use AmazonEC2. For a full list of service codes containing * On-Demand and Reserved Instance (RI) pricing, use the * DescribeServices API.

To retrieve the Compute Savings * Plan price lists, use ComputeSavingsPlans. To retrieve Machine * Learning Savings Plans price lists, use * MachineLearningSavingsPlans.

*/ inline ListPriceListsRequest& WithServiceCode(const Aws::String& value) { SetServiceCode(value); return *this;} /** *

The service code or the Savings Plan service code for the attributes that you * want to retrieve. For example, to get the list of applicable Amazon EC2 price * lists, use AmazonEC2. For a full list of service codes containing * On-Demand and Reserved Instance (RI) pricing, use the * DescribeServices API.

To retrieve the Compute Savings * Plan price lists, use ComputeSavingsPlans. To retrieve Machine * Learning Savings Plans price lists, use * MachineLearningSavingsPlans.

*/ inline ListPriceListsRequest& WithServiceCode(Aws::String&& value) { SetServiceCode(std::move(value)); return *this;} /** *

The service code or the Savings Plan service code for the attributes that you * want to retrieve. For example, to get the list of applicable Amazon EC2 price * lists, use AmazonEC2. For a full list of service codes containing * On-Demand and Reserved Instance (RI) pricing, use the * DescribeServices API.

To retrieve the Compute Savings * Plan price lists, use ComputeSavingsPlans. To retrieve Machine * Learning Savings Plans price lists, use * MachineLearningSavingsPlans.

*/ inline ListPriceListsRequest& WithServiceCode(const char* value) { SetServiceCode(value); return *this;} /** *

The date that the Price List file prices are effective from.

*/ inline const Aws::Utils::DateTime& GetEffectiveDate() const{ return m_effectiveDate; } /** *

The date that the Price List file prices are effective from.

*/ inline bool EffectiveDateHasBeenSet() const { return m_effectiveDateHasBeenSet; } /** *

The date that the Price List file prices are effective from.

*/ inline void SetEffectiveDate(const Aws::Utils::DateTime& value) { m_effectiveDateHasBeenSet = true; m_effectiveDate = value; } /** *

The date that the Price List file prices are effective from.

*/ inline void SetEffectiveDate(Aws::Utils::DateTime&& value) { m_effectiveDateHasBeenSet = true; m_effectiveDate = std::move(value); } /** *

The date that the Price List file prices are effective from.

*/ inline ListPriceListsRequest& WithEffectiveDate(const Aws::Utils::DateTime& value) { SetEffectiveDate(value); return *this;} /** *

The date that the Price List file prices are effective from.

*/ inline ListPriceListsRequest& WithEffectiveDate(Aws::Utils::DateTime&& value) { SetEffectiveDate(std::move(value)); return *this;} /** *

This is used to filter the Price List by Amazon Web Services Region. For * example, to get the price list only for the US East (N. Virginia) * Region, use us-east-1. If nothing is specified, you retrieve price * lists for all applicable Regions. The available RegionCode list can * be retrieved from * GetAttributeValues API.

*/ inline const Aws::String& GetRegionCode() const{ return m_regionCode; } /** *

This is used to filter the Price List by Amazon Web Services Region. For * example, to get the price list only for the US East (N. Virginia) * Region, use us-east-1. If nothing is specified, you retrieve price * lists for all applicable Regions. The available RegionCode list can * be retrieved from * GetAttributeValues API.

*/ inline bool RegionCodeHasBeenSet() const { return m_regionCodeHasBeenSet; } /** *

This is used to filter the Price List by Amazon Web Services Region. For * example, to get the price list only for the US East (N. Virginia) * Region, use us-east-1. If nothing is specified, you retrieve price * lists for all applicable Regions. The available RegionCode list can * be retrieved from * GetAttributeValues API.

*/ inline void SetRegionCode(const Aws::String& value) { m_regionCodeHasBeenSet = true; m_regionCode = value; } /** *

This is used to filter the Price List by Amazon Web Services Region. For * example, to get the price list only for the US East (N. Virginia) * Region, use us-east-1. If nothing is specified, you retrieve price * lists for all applicable Regions. The available RegionCode list can * be retrieved from * GetAttributeValues API.

*/ inline void SetRegionCode(Aws::String&& value) { m_regionCodeHasBeenSet = true; m_regionCode = std::move(value); } /** *

This is used to filter the Price List by Amazon Web Services Region. For * example, to get the price list only for the US East (N. Virginia) * Region, use us-east-1. If nothing is specified, you retrieve price * lists for all applicable Regions. The available RegionCode list can * be retrieved from * GetAttributeValues API.

*/ inline void SetRegionCode(const char* value) { m_regionCodeHasBeenSet = true; m_regionCode.assign(value); } /** *

This is used to filter the Price List by Amazon Web Services Region. For * example, to get the price list only for the US East (N. Virginia) * Region, use us-east-1. If nothing is specified, you retrieve price * lists for all applicable Regions. The available RegionCode list can * be retrieved from * GetAttributeValues API.

*/ inline ListPriceListsRequest& WithRegionCode(const Aws::String& value) { SetRegionCode(value); return *this;} /** *

This is used to filter the Price List by Amazon Web Services Region. For * example, to get the price list only for the US East (N. Virginia) * Region, use us-east-1. If nothing is specified, you retrieve price * lists for all applicable Regions. The available RegionCode list can * be retrieved from * GetAttributeValues API.

*/ inline ListPriceListsRequest& WithRegionCode(Aws::String&& value) { SetRegionCode(std::move(value)); return *this;} /** *

This is used to filter the Price List by Amazon Web Services Region. For * example, to get the price list only for the US East (N. Virginia) * Region, use us-east-1. If nothing is specified, you retrieve price * lists for all applicable Regions. The available RegionCode list can * be retrieved from * GetAttributeValues API.

*/ inline ListPriceListsRequest& WithRegionCode(const char* value) { SetRegionCode(value); return *this;} /** *

The three alphabetical character ISO-4217 currency code that the Price List * files are denominated in.

*/ inline const Aws::String& GetCurrencyCode() const{ return m_currencyCode; } /** *

The three alphabetical character ISO-4217 currency code that the Price List * files are denominated in.

*/ inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; } /** *

The three alphabetical character ISO-4217 currency code that the Price List * files are denominated in.

*/ inline void SetCurrencyCode(const Aws::String& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; } /** *

The three alphabetical character ISO-4217 currency code that the Price List * files are denominated in.

*/ inline void SetCurrencyCode(Aws::String&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = std::move(value); } /** *

The three alphabetical character ISO-4217 currency code that the Price List * files are denominated in.

*/ inline void SetCurrencyCode(const char* value) { m_currencyCodeHasBeenSet = true; m_currencyCode.assign(value); } /** *

The three alphabetical character ISO-4217 currency code that the Price List * files are denominated in.

*/ inline ListPriceListsRequest& WithCurrencyCode(const Aws::String& value) { SetCurrencyCode(value); return *this;} /** *

The three alphabetical character ISO-4217 currency code that the Price List * files are denominated in.

*/ inline ListPriceListsRequest& WithCurrencyCode(Aws::String&& value) { SetCurrencyCode(std::move(value)); return *this;} /** *

The three alphabetical character ISO-4217 currency code that the Price List * files are denominated in.

*/ inline ListPriceListsRequest& WithCurrencyCode(const char* value) { SetCurrencyCode(value); return *this;} /** *

The pagination token that indicates the next set of results that you want to * retrieve.

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

The pagination token that indicates the next set of results that you want to * retrieve.

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

The pagination token that indicates the next set of results that you want to * retrieve.

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

The pagination token that indicates the next set of results that you want to * retrieve.

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

The pagination token that indicates the next set of results that you want to * retrieve.

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

The pagination token that indicates the next set of results that you want to * retrieve.

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

The pagination token that indicates the next set of results that you want to * retrieve.

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

The pagination token that indicates the next set of results that you want to * retrieve.

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

The maximum number of results to return in the response.

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

The maximum number of results to return in the response.

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

The maximum number of results to return in the response.

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

The maximum number of results to return in the response.

*/ inline ListPriceListsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} private: Aws::String m_serviceCode; bool m_serviceCodeHasBeenSet = false; Aws::Utils::DateTime m_effectiveDate; bool m_effectiveDateHasBeenSet = false; Aws::String m_regionCode; bool m_regionCodeHasBeenSet = false; Aws::String m_currencyCode; bool m_currencyCodeHasBeenSet = false; Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; }; } // namespace Model } // namespace Pricing } // namespace Aws