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/lightsail/Lightsail_EXPORTS.h>
8 
9 namespace Aws
10 {
11 namespace Utils
12 {
13 namespace Json
14 {
15   class JsonValue;
16   class JsonView;
17 } // namespace Json
18 } // namespace Utils
19 namespace Lightsail
20 {
21 namespace Model
22 {
23 
24   /**
25    * <p>Describes the hardware of a database.</p><p><h3>See Also:</h3>   <a
26    * href="http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RelationalDatabaseHardware">AWS
27    * API Reference</a></p>
28    */
29   class AWS_LIGHTSAIL_API RelationalDatabaseHardware
30   {
31   public:
32     RelationalDatabaseHardware();
33     RelationalDatabaseHardware(Aws::Utils::Json::JsonView jsonValue);
34     RelationalDatabaseHardware& operator=(Aws::Utils::Json::JsonView jsonValue);
35     Aws::Utils::Json::JsonValue Jsonize() const;
36 
37 
38     /**
39      * <p>The number of vCPUs for the database.</p>
40      */
GetCpuCount()41     inline int GetCpuCount() const{ return m_cpuCount; }
42 
43     /**
44      * <p>The number of vCPUs for the database.</p>
45      */
CpuCountHasBeenSet()46     inline bool CpuCountHasBeenSet() const { return m_cpuCountHasBeenSet; }
47 
48     /**
49      * <p>The number of vCPUs for the database.</p>
50      */
SetCpuCount(int value)51     inline void SetCpuCount(int value) { m_cpuCountHasBeenSet = true; m_cpuCount = value; }
52 
53     /**
54      * <p>The number of vCPUs for the database.</p>
55      */
WithCpuCount(int value)56     inline RelationalDatabaseHardware& WithCpuCount(int value) { SetCpuCount(value); return *this;}
57 
58 
59     /**
60      * <p>The size of the disk for the database.</p>
61      */
GetDiskSizeInGb()62     inline int GetDiskSizeInGb() const{ return m_diskSizeInGb; }
63 
64     /**
65      * <p>The size of the disk for the database.</p>
66      */
DiskSizeInGbHasBeenSet()67     inline bool DiskSizeInGbHasBeenSet() const { return m_diskSizeInGbHasBeenSet; }
68 
69     /**
70      * <p>The size of the disk for the database.</p>
71      */
SetDiskSizeInGb(int value)72     inline void SetDiskSizeInGb(int value) { m_diskSizeInGbHasBeenSet = true; m_diskSizeInGb = value; }
73 
74     /**
75      * <p>The size of the disk for the database.</p>
76      */
WithDiskSizeInGb(int value)77     inline RelationalDatabaseHardware& WithDiskSizeInGb(int value) { SetDiskSizeInGb(value); return *this;}
78 
79 
80     /**
81      * <p>The amount of RAM in GB for the database.</p>
82      */
GetRamSizeInGb()83     inline double GetRamSizeInGb() const{ return m_ramSizeInGb; }
84 
85     /**
86      * <p>The amount of RAM in GB for the database.</p>
87      */
RamSizeInGbHasBeenSet()88     inline bool RamSizeInGbHasBeenSet() const { return m_ramSizeInGbHasBeenSet; }
89 
90     /**
91      * <p>The amount of RAM in GB for the database.</p>
92      */
SetRamSizeInGb(double value)93     inline void SetRamSizeInGb(double value) { m_ramSizeInGbHasBeenSet = true; m_ramSizeInGb = value; }
94 
95     /**
96      * <p>The amount of RAM in GB for the database.</p>
97      */
WithRamSizeInGb(double value)98     inline RelationalDatabaseHardware& WithRamSizeInGb(double value) { SetRamSizeInGb(value); return *this;}
99 
100   private:
101 
102     int m_cpuCount;
103     bool m_cpuCountHasBeenSet;
104 
105     int m_diskSizeInGb;
106     bool m_diskSizeInGbHasBeenSet;
107 
108     double m_ramSizeInGb;
109     bool m_ramSizeInGbHasBeenSet;
110   };
111 
112 } // namespace Model
113 } // namespace Lightsail
114 } // namespace Aws
115