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/rds/RDS_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 RDS
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p> This data type is used as a response element in the
28    * <code>DescribeReservedDBInstances</code> and
29    * <code>DescribeReservedDBInstancesOfferings</code> actions. </p><p><h3>See
30    * Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RecurringCharge">AWS
32    * API Reference</a></p>
33    */
34   class AWS_RDS_API RecurringCharge
35   {
36   public:
37     RecurringCharge();
38     RecurringCharge(const Aws::Utils::Xml::XmlNode& xmlNode);
39     RecurringCharge& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
40 
41     void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
42     void OutputToStream(Aws::OStream& oStream, const char* location) const;
43 
44 
45     /**
46      * <p>The amount of the recurring charge.</p>
47      */
GetRecurringChargeAmount()48     inline double GetRecurringChargeAmount() const{ return m_recurringChargeAmount; }
49 
50     /**
51      * <p>The amount of the recurring charge.</p>
52      */
RecurringChargeAmountHasBeenSet()53     inline bool RecurringChargeAmountHasBeenSet() const { return m_recurringChargeAmountHasBeenSet; }
54 
55     /**
56      * <p>The amount of the recurring charge.</p>
57      */
SetRecurringChargeAmount(double value)58     inline void SetRecurringChargeAmount(double value) { m_recurringChargeAmountHasBeenSet = true; m_recurringChargeAmount = value; }
59 
60     /**
61      * <p>The amount of the recurring charge.</p>
62      */
WithRecurringChargeAmount(double value)63     inline RecurringCharge& WithRecurringChargeAmount(double value) { SetRecurringChargeAmount(value); return *this;}
64 
65 
66     /**
67      * <p>The frequency of the recurring charge.</p>
68      */
GetRecurringChargeFrequency()69     inline const Aws::String& GetRecurringChargeFrequency() const{ return m_recurringChargeFrequency; }
70 
71     /**
72      * <p>The frequency of the recurring charge.</p>
73      */
RecurringChargeFrequencyHasBeenSet()74     inline bool RecurringChargeFrequencyHasBeenSet() const { return m_recurringChargeFrequencyHasBeenSet; }
75 
76     /**
77      * <p>The frequency of the recurring charge.</p>
78      */
SetRecurringChargeFrequency(const Aws::String & value)79     inline void SetRecurringChargeFrequency(const Aws::String& value) { m_recurringChargeFrequencyHasBeenSet = true; m_recurringChargeFrequency = value; }
80 
81     /**
82      * <p>The frequency of the recurring charge.</p>
83      */
SetRecurringChargeFrequency(Aws::String && value)84     inline void SetRecurringChargeFrequency(Aws::String&& value) { m_recurringChargeFrequencyHasBeenSet = true; m_recurringChargeFrequency = std::move(value); }
85 
86     /**
87      * <p>The frequency of the recurring charge.</p>
88      */
SetRecurringChargeFrequency(const char * value)89     inline void SetRecurringChargeFrequency(const char* value) { m_recurringChargeFrequencyHasBeenSet = true; m_recurringChargeFrequency.assign(value); }
90 
91     /**
92      * <p>The frequency of the recurring charge.</p>
93      */
WithRecurringChargeFrequency(const Aws::String & value)94     inline RecurringCharge& WithRecurringChargeFrequency(const Aws::String& value) { SetRecurringChargeFrequency(value); return *this;}
95 
96     /**
97      * <p>The frequency of the recurring charge.</p>
98      */
WithRecurringChargeFrequency(Aws::String && value)99     inline RecurringCharge& WithRecurringChargeFrequency(Aws::String&& value) { SetRecurringChargeFrequency(std::move(value)); return *this;}
100 
101     /**
102      * <p>The frequency of the recurring charge.</p>
103      */
WithRecurringChargeFrequency(const char * value)104     inline RecurringCharge& WithRecurringChargeFrequency(const char* value) { SetRecurringChargeFrequency(value); return *this;}
105 
106   private:
107 
108     double m_recurringChargeAmount;
109     bool m_recurringChargeAmountHasBeenSet;
110 
111     Aws::String m_recurringChargeFrequency;
112     bool m_recurringChargeFrequencyHasBeenSet;
113   };
114 
115 } // namespace Model
116 } // namespace RDS
117 } // namespace Aws
118