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 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace Lightsail 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Describes the powers that can be specified for an Amazon Lightsail container 28 * service.</p> <p>The power specifies the amount of RAM, the number of vCPUs, and 29 * the base price of the container service.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ContainerServicePower">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_LIGHTSAIL_API ContainerServicePower 34 { 35 public: 36 ContainerServicePower(); 37 ContainerServicePower(Aws::Utils::Json::JsonView jsonValue); 38 ContainerServicePower& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The ID of the power (e.g., <code>nano-1</code>).</p> 44 */ GetPowerId()45 inline const Aws::String& GetPowerId() const{ return m_powerId; } 46 47 /** 48 * <p>The ID of the power (e.g., <code>nano-1</code>).</p> 49 */ PowerIdHasBeenSet()50 inline bool PowerIdHasBeenSet() const { return m_powerIdHasBeenSet; } 51 52 /** 53 * <p>The ID of the power (e.g., <code>nano-1</code>).</p> 54 */ SetPowerId(const Aws::String & value)55 inline void SetPowerId(const Aws::String& value) { m_powerIdHasBeenSet = true; m_powerId = value; } 56 57 /** 58 * <p>The ID of the power (e.g., <code>nano-1</code>).</p> 59 */ SetPowerId(Aws::String && value)60 inline void SetPowerId(Aws::String&& value) { m_powerIdHasBeenSet = true; m_powerId = std::move(value); } 61 62 /** 63 * <p>The ID of the power (e.g., <code>nano-1</code>).</p> 64 */ SetPowerId(const char * value)65 inline void SetPowerId(const char* value) { m_powerIdHasBeenSet = true; m_powerId.assign(value); } 66 67 /** 68 * <p>The ID of the power (e.g., <code>nano-1</code>).</p> 69 */ WithPowerId(const Aws::String & value)70 inline ContainerServicePower& WithPowerId(const Aws::String& value) { SetPowerId(value); return *this;} 71 72 /** 73 * <p>The ID of the power (e.g., <code>nano-1</code>).</p> 74 */ WithPowerId(Aws::String && value)75 inline ContainerServicePower& WithPowerId(Aws::String&& value) { SetPowerId(std::move(value)); return *this;} 76 77 /** 78 * <p>The ID of the power (e.g., <code>nano-1</code>).</p> 79 */ WithPowerId(const char * value)80 inline ContainerServicePower& WithPowerId(const char* value) { SetPowerId(value); return *this;} 81 82 83 /** 84 * <p>The monthly price of the power in USD.</p> 85 */ GetPrice()86 inline double GetPrice() const{ return m_price; } 87 88 /** 89 * <p>The monthly price of the power in USD.</p> 90 */ PriceHasBeenSet()91 inline bool PriceHasBeenSet() const { return m_priceHasBeenSet; } 92 93 /** 94 * <p>The monthly price of the power in USD.</p> 95 */ SetPrice(double value)96 inline void SetPrice(double value) { m_priceHasBeenSet = true; m_price = value; } 97 98 /** 99 * <p>The monthly price of the power in USD.</p> 100 */ WithPrice(double value)101 inline ContainerServicePower& WithPrice(double value) { SetPrice(value); return *this;} 102 103 104 /** 105 * <p>The number of vCPUs included in the power.</p> 106 */ GetCpuCount()107 inline double GetCpuCount() const{ return m_cpuCount; } 108 109 /** 110 * <p>The number of vCPUs included in the power.</p> 111 */ CpuCountHasBeenSet()112 inline bool CpuCountHasBeenSet() const { return m_cpuCountHasBeenSet; } 113 114 /** 115 * <p>The number of vCPUs included in the power.</p> 116 */ SetCpuCount(double value)117 inline void SetCpuCount(double value) { m_cpuCountHasBeenSet = true; m_cpuCount = value; } 118 119 /** 120 * <p>The number of vCPUs included in the power.</p> 121 */ WithCpuCount(double value)122 inline ContainerServicePower& WithCpuCount(double value) { SetCpuCount(value); return *this;} 123 124 125 /** 126 * <p>The amount of RAM (in GB) of the power.</p> 127 */ GetRamSizeInGb()128 inline double GetRamSizeInGb() const{ return m_ramSizeInGb; } 129 130 /** 131 * <p>The amount of RAM (in GB) of the power.</p> 132 */ RamSizeInGbHasBeenSet()133 inline bool RamSizeInGbHasBeenSet() const { return m_ramSizeInGbHasBeenSet; } 134 135 /** 136 * <p>The amount of RAM (in GB) of the power.</p> 137 */ SetRamSizeInGb(double value)138 inline void SetRamSizeInGb(double value) { m_ramSizeInGbHasBeenSet = true; m_ramSizeInGb = value; } 139 140 /** 141 * <p>The amount of RAM (in GB) of the power.</p> 142 */ WithRamSizeInGb(double value)143 inline ContainerServicePower& WithRamSizeInGb(double value) { SetRamSizeInGb(value); return *this;} 144 145 146 /** 147 * <p>The friendly name of the power (e.g., <code>nano</code>).</p> 148 */ GetName()149 inline const Aws::String& GetName() const{ return m_name; } 150 151 /** 152 * <p>The friendly name of the power (e.g., <code>nano</code>).</p> 153 */ NameHasBeenSet()154 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 155 156 /** 157 * <p>The friendly name of the power (e.g., <code>nano</code>).</p> 158 */ SetName(const Aws::String & value)159 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 160 161 /** 162 * <p>The friendly name of the power (e.g., <code>nano</code>).</p> 163 */ SetName(Aws::String && value)164 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 165 166 /** 167 * <p>The friendly name of the power (e.g., <code>nano</code>).</p> 168 */ SetName(const char * value)169 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 170 171 /** 172 * <p>The friendly name of the power (e.g., <code>nano</code>).</p> 173 */ WithName(const Aws::String & value)174 inline ContainerServicePower& WithName(const Aws::String& value) { SetName(value); return *this;} 175 176 /** 177 * <p>The friendly name of the power (e.g., <code>nano</code>).</p> 178 */ WithName(Aws::String && value)179 inline ContainerServicePower& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 180 181 /** 182 * <p>The friendly name of the power (e.g., <code>nano</code>).</p> 183 */ WithName(const char * value)184 inline ContainerServicePower& WithName(const char* value) { SetName(value); return *this;} 185 186 187 /** 188 * <p>A Boolean value indicating whether the power is active and can be specified 189 * for container services.</p> 190 */ GetIsActive()191 inline bool GetIsActive() const{ return m_isActive; } 192 193 /** 194 * <p>A Boolean value indicating whether the power is active and can be specified 195 * for container services.</p> 196 */ IsActiveHasBeenSet()197 inline bool IsActiveHasBeenSet() const { return m_isActiveHasBeenSet; } 198 199 /** 200 * <p>A Boolean value indicating whether the power is active and can be specified 201 * for container services.</p> 202 */ SetIsActive(bool value)203 inline void SetIsActive(bool value) { m_isActiveHasBeenSet = true; m_isActive = value; } 204 205 /** 206 * <p>A Boolean value indicating whether the power is active and can be specified 207 * for container services.</p> 208 */ WithIsActive(bool value)209 inline ContainerServicePower& WithIsActive(bool value) { SetIsActive(value); return *this;} 210 211 private: 212 213 Aws::String m_powerId; 214 bool m_powerIdHasBeenSet; 215 216 double m_price; 217 bool m_priceHasBeenSet; 218 219 double m_cpuCount; 220 bool m_cpuCountHasBeenSet; 221 222 double m_ramSizeInGb; 223 bool m_ramSizeInGbHasBeenSet; 224 225 Aws::String m_name; 226 bool m_nameHasBeenSet; 227 228 bool m_isActive; 229 bool m_isActiveHasBeenSet; 230 }; 231 232 } // namespace Model 233 } // namespace Lightsail 234 } // namespace Aws 235