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

The reserved node identifier filter value. Use this parameter to show only * the reservation that matches the specified reservation ID.

*/ inline const Aws::String& GetReservationId() const{ return m_reservationId; } /** *

The reserved node identifier filter value. Use this parameter to show only * the reservation that matches the specified reservation ID.

*/ inline bool ReservationIdHasBeenSet() const { return m_reservationIdHasBeenSet; } /** *

The reserved node identifier filter value. Use this parameter to show only * the reservation that matches the specified reservation ID.

*/ inline void SetReservationId(const Aws::String& value) { m_reservationIdHasBeenSet = true; m_reservationId = value; } /** *

The reserved node identifier filter value. Use this parameter to show only * the reservation that matches the specified reservation ID.

*/ inline void SetReservationId(Aws::String&& value) { m_reservationIdHasBeenSet = true; m_reservationId = std::move(value); } /** *

The reserved node identifier filter value. Use this parameter to show only * the reservation that matches the specified reservation ID.

*/ inline void SetReservationId(const char* value) { m_reservationIdHasBeenSet = true; m_reservationId.assign(value); } /** *

The reserved node identifier filter value. Use this parameter to show only * the reservation that matches the specified reservation ID.

*/ inline DescribeReservedNodesRequest& WithReservationId(const Aws::String& value) { SetReservationId(value); return *this;} /** *

The reserved node identifier filter value. Use this parameter to show only * the reservation that matches the specified reservation ID.

*/ inline DescribeReservedNodesRequest& WithReservationId(Aws::String&& value) { SetReservationId(std::move(value)); return *this;} /** *

The reserved node identifier filter value. Use this parameter to show only * the reservation that matches the specified reservation ID.

*/ inline DescribeReservedNodesRequest& WithReservationId(const char* value) { SetReservationId(value); return *this;} /** *

The offering identifier filter value. Use this parameter to show only * purchased reservations matching the specified offering identifier.

*/ inline const Aws::String& GetReservedNodesOfferingId() const{ return m_reservedNodesOfferingId; } /** *

The offering identifier filter value. Use this parameter to show only * purchased reservations matching the specified offering identifier.

*/ inline bool ReservedNodesOfferingIdHasBeenSet() const { return m_reservedNodesOfferingIdHasBeenSet; } /** *

The offering identifier filter value. Use this parameter to show only * purchased reservations matching the specified offering identifier.

*/ inline void SetReservedNodesOfferingId(const Aws::String& value) { m_reservedNodesOfferingIdHasBeenSet = true; m_reservedNodesOfferingId = value; } /** *

The offering identifier filter value. Use this parameter to show only * purchased reservations matching the specified offering identifier.

*/ inline void SetReservedNodesOfferingId(Aws::String&& value) { m_reservedNodesOfferingIdHasBeenSet = true; m_reservedNodesOfferingId = std::move(value); } /** *

The offering identifier filter value. Use this parameter to show only * purchased reservations matching the specified offering identifier.

*/ inline void SetReservedNodesOfferingId(const char* value) { m_reservedNodesOfferingIdHasBeenSet = true; m_reservedNodesOfferingId.assign(value); } /** *

The offering identifier filter value. Use this parameter to show only * purchased reservations matching the specified offering identifier.

*/ inline DescribeReservedNodesRequest& WithReservedNodesOfferingId(const Aws::String& value) { SetReservedNodesOfferingId(value); return *this;} /** *

The offering identifier filter value. Use this parameter to show only * purchased reservations matching the specified offering identifier.

*/ inline DescribeReservedNodesRequest& WithReservedNodesOfferingId(Aws::String&& value) { SetReservedNodesOfferingId(std::move(value)); return *this;} /** *

The offering identifier filter value. Use this parameter to show only * purchased reservations matching the specified offering identifier.

*/ inline DescribeReservedNodesRequest& WithReservedNodesOfferingId(const char* value) { SetReservedNodesOfferingId(value); return *this;} /** *

The node type filter value. Use this parameter to show only those * reservations matching the specified node type. For more information, see Supported * node types.

*/ inline const Aws::String& GetNodeType() const{ return m_nodeType; } /** *

The node type filter value. Use this parameter to show only those * reservations matching the specified node type. For more information, see Supported * node types.

*/ inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } /** *

The node type filter value. Use this parameter to show only those * reservations matching the specified node type. For more information, see Supported * node types.

*/ inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } /** *

The node type filter value. Use this parameter to show only those * reservations matching the specified node type. For more information, see Supported * node types.

*/ inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } /** *

The node type filter value. Use this parameter to show only those * reservations matching the specified node type. For more information, see Supported * node types.

*/ inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); } /** *

The node type filter value. Use this parameter to show only those * reservations matching the specified node type. For more information, see Supported * node types.

*/ inline DescribeReservedNodesRequest& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;} /** *

The node type filter value. Use this parameter to show only those * reservations matching the specified node type. For more information, see Supported * node types.

*/ inline DescribeReservedNodesRequest& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;} /** *

The node type filter value. Use this parameter to show only those * reservations matching the specified node type. For more information, see Supported * node types.

*/ inline DescribeReservedNodesRequest& WithNodeType(const char* value) { SetNodeType(value); return *this;} /** *

The duration filter value, specified in years or seconds. Use this parameter * to show only reservations for this duration.

*/ inline const Aws::String& GetDuration() const{ return m_duration; } /** *

The duration filter value, specified in years or seconds. Use this parameter * to show only reservations for this duration.

*/ inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } /** *

The duration filter value, specified in years or seconds. Use this parameter * to show only reservations for this duration.

*/ inline void SetDuration(const Aws::String& value) { m_durationHasBeenSet = true; m_duration = value; } /** *

The duration filter value, specified in years or seconds. Use this parameter * to show only reservations for this duration.

*/ inline void SetDuration(Aws::String&& value) { m_durationHasBeenSet = true; m_duration = std::move(value); } /** *

The duration filter value, specified in years or seconds. Use this parameter * to show only reservations for this duration.

*/ inline void SetDuration(const char* value) { m_durationHasBeenSet = true; m_duration.assign(value); } /** *

The duration filter value, specified in years or seconds. Use this parameter * to show only reservations for this duration.

*/ inline DescribeReservedNodesRequest& WithDuration(const Aws::String& value) { SetDuration(value); return *this;} /** *

The duration filter value, specified in years or seconds. Use this parameter * to show only reservations for this duration.

*/ inline DescribeReservedNodesRequest& WithDuration(Aws::String&& value) { SetDuration(std::move(value)); return *this;} /** *

The duration filter value, specified in years or seconds. Use this parameter * to show only reservations for this duration.

*/ inline DescribeReservedNodesRequest& WithDuration(const char* value) { SetDuration(value); return *this;} /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type. Valid values: "All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline const Aws::String& GetOfferingType() const{ return m_offeringType; } /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type. Valid values: "All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; } /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type. Valid values: "All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline void SetOfferingType(const Aws::String& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; } /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type. Valid values: "All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline void SetOfferingType(Aws::String&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = std::move(value); } /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type. Valid values: "All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline void SetOfferingType(const char* value) { m_offeringTypeHasBeenSet = true; m_offeringType.assign(value); } /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type. Valid values: "All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline DescribeReservedNodesRequest& WithOfferingType(const Aws::String& value) { SetOfferingType(value); return *this;} /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type. Valid values: "All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline DescribeReservedNodesRequest& WithOfferingType(Aws::String&& value) { SetOfferingType(std::move(value)); return *this;} /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type. Valid values: "All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline DescribeReservedNodesRequest& WithOfferingType(const char* value) { SetOfferingType(value); return *this;} /** *

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a marker is included in the response * so that the remaining results can be retrieved.

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

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a marker is included in the response * so that the remaining results can be retrieved.

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

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a marker is included in the response * so that the remaining results can be retrieved.

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

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a marker is included in the response * so that the remaining results can be retrieved.

*/ inline DescribeReservedNodesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

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

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

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

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

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

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

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

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

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

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

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

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

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

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline DescribeReservedNodesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} private: Aws::String m_reservationId; bool m_reservationIdHasBeenSet = false; Aws::String m_reservedNodesOfferingId; bool m_reservedNodesOfferingIdHasBeenSet = false; Aws::String m_nodeType; bool m_nodeTypeHasBeenSet = false; Aws::String m_duration; bool m_durationHasBeenSet = false; Aws::String m_offeringType; bool m_offeringTypeHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; }; } // namespace Model } // namespace MemoryDB } // namespace Aws