1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/elasticache/ElastiCache_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Xml 17 { 18 class XmlNode; 19 } // namespace Xml 20 } // namespace Utils 21 namespace ElastiCache 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Contains the specific price and frequency of a recurring charges for a 28 * reserved cache node, or for a reserved cache node offering.</p><p><h3>See 29 * Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RecurringCharge">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_ELASTICACHE_API RecurringCharge 34 { 35 public: 36 RecurringCharge(); 37 RecurringCharge(const Aws::Utils::Xml::XmlNode& xmlNode); 38 RecurringCharge& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 39 40 void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; 41 void OutputToStream(Aws::OStream& oStream, const char* location) const; 42 43 44 /** 45 * <p>The monetary amount of the recurring charge.</p> 46 */ GetRecurringChargeAmount()47 inline double GetRecurringChargeAmount() const{ return m_recurringChargeAmount; } 48 49 /** 50 * <p>The monetary amount of the recurring charge.</p> 51 */ RecurringChargeAmountHasBeenSet()52 inline bool RecurringChargeAmountHasBeenSet() const { return m_recurringChargeAmountHasBeenSet; } 53 54 /** 55 * <p>The monetary amount of the recurring charge.</p> 56 */ SetRecurringChargeAmount(double value)57 inline void SetRecurringChargeAmount(double value) { m_recurringChargeAmountHasBeenSet = true; m_recurringChargeAmount = value; } 58 59 /** 60 * <p>The monetary amount of the recurring charge.</p> 61 */ WithRecurringChargeAmount(double value)62 inline RecurringCharge& WithRecurringChargeAmount(double value) { SetRecurringChargeAmount(value); return *this;} 63 64 65 /** 66 * <p>The frequency of the recurring charge.</p> 67 */ GetRecurringChargeFrequency()68 inline const Aws::String& GetRecurringChargeFrequency() const{ return m_recurringChargeFrequency; } 69 70 /** 71 * <p>The frequency of the recurring charge.</p> 72 */ RecurringChargeFrequencyHasBeenSet()73 inline bool RecurringChargeFrequencyHasBeenSet() const { return m_recurringChargeFrequencyHasBeenSet; } 74 75 /** 76 * <p>The frequency of the recurring charge.</p> 77 */ SetRecurringChargeFrequency(const Aws::String & value)78 inline void SetRecurringChargeFrequency(const Aws::String& value) { m_recurringChargeFrequencyHasBeenSet = true; m_recurringChargeFrequency = value; } 79 80 /** 81 * <p>The frequency of the recurring charge.</p> 82 */ SetRecurringChargeFrequency(Aws::String && value)83 inline void SetRecurringChargeFrequency(Aws::String&& value) { m_recurringChargeFrequencyHasBeenSet = true; m_recurringChargeFrequency = std::move(value); } 84 85 /** 86 * <p>The frequency of the recurring charge.</p> 87 */ SetRecurringChargeFrequency(const char * value)88 inline void SetRecurringChargeFrequency(const char* value) { m_recurringChargeFrequencyHasBeenSet = true; m_recurringChargeFrequency.assign(value); } 89 90 /** 91 * <p>The frequency of the recurring charge.</p> 92 */ WithRecurringChargeFrequency(const Aws::String & value)93 inline RecurringCharge& WithRecurringChargeFrequency(const Aws::String& value) { SetRecurringChargeFrequency(value); return *this;} 94 95 /** 96 * <p>The frequency of the recurring charge.</p> 97 */ WithRecurringChargeFrequency(Aws::String && value)98 inline RecurringCharge& WithRecurringChargeFrequency(Aws::String&& value) { SetRecurringChargeFrequency(std::move(value)); return *this;} 99 100 /** 101 * <p>The frequency of the recurring charge.</p> 102 */ WithRecurringChargeFrequency(const char * value)103 inline RecurringCharge& WithRecurringChargeFrequency(const char* value) { SetRecurringChargeFrequency(value); return *this;} 104 105 private: 106 107 double m_recurringChargeAmount; 108 bool m_recurringChargeAmountHasBeenSet; 109 110 Aws::String m_recurringChargeFrequency; 111 bool m_recurringChargeFrequencyHasBeenSet; 112 }; 113 114 } // namespace Model 115 } // namespace ElastiCache 116 } // namespace Aws 117