/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Lightsail { namespace Model { /** *

Describes the powers that can be specified for an Amazon Lightsail container * service.

The power specifies the amount of RAM, the number of vCPUs, and * the base price of the container service.

See Also:

AWS * API Reference

*/ class ContainerServicePower { public: AWS_LIGHTSAIL_API ContainerServicePower(); AWS_LIGHTSAIL_API ContainerServicePower(Aws::Utils::Json::JsonView jsonValue); AWS_LIGHTSAIL_API ContainerServicePower& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The ID of the power (e.g., nano-1).

*/ inline const Aws::String& GetPowerId() const{ return m_powerId; } /** *

The ID of the power (e.g., nano-1).

*/ inline bool PowerIdHasBeenSet() const { return m_powerIdHasBeenSet; } /** *

The ID of the power (e.g., nano-1).

*/ inline void SetPowerId(const Aws::String& value) { m_powerIdHasBeenSet = true; m_powerId = value; } /** *

The ID of the power (e.g., nano-1).

*/ inline void SetPowerId(Aws::String&& value) { m_powerIdHasBeenSet = true; m_powerId = std::move(value); } /** *

The ID of the power (e.g., nano-1).

*/ inline void SetPowerId(const char* value) { m_powerIdHasBeenSet = true; m_powerId.assign(value); } /** *

The ID of the power (e.g., nano-1).

*/ inline ContainerServicePower& WithPowerId(const Aws::String& value) { SetPowerId(value); return *this;} /** *

The ID of the power (e.g., nano-1).

*/ inline ContainerServicePower& WithPowerId(Aws::String&& value) { SetPowerId(std::move(value)); return *this;} /** *

The ID of the power (e.g., nano-1).

*/ inline ContainerServicePower& WithPowerId(const char* value) { SetPowerId(value); return *this;} /** *

The monthly price of the power in USD.

*/ inline double GetPrice() const{ return m_price; } /** *

The monthly price of the power in USD.

*/ inline bool PriceHasBeenSet() const { return m_priceHasBeenSet; } /** *

The monthly price of the power in USD.

*/ inline void SetPrice(double value) { m_priceHasBeenSet = true; m_price = value; } /** *

The monthly price of the power in USD.

*/ inline ContainerServicePower& WithPrice(double value) { SetPrice(value); return *this;} /** *

The number of vCPUs included in the power.

*/ inline double GetCpuCount() const{ return m_cpuCount; } /** *

The number of vCPUs included in the power.

*/ inline bool CpuCountHasBeenSet() const { return m_cpuCountHasBeenSet; } /** *

The number of vCPUs included in the power.

*/ inline void SetCpuCount(double value) { m_cpuCountHasBeenSet = true; m_cpuCount = value; } /** *

The number of vCPUs included in the power.

*/ inline ContainerServicePower& WithCpuCount(double value) { SetCpuCount(value); return *this;} /** *

The amount of RAM (in GB) of the power.

*/ inline double GetRamSizeInGb() const{ return m_ramSizeInGb; } /** *

The amount of RAM (in GB) of the power.

*/ inline bool RamSizeInGbHasBeenSet() const { return m_ramSizeInGbHasBeenSet; } /** *

The amount of RAM (in GB) of the power.

*/ inline void SetRamSizeInGb(double value) { m_ramSizeInGbHasBeenSet = true; m_ramSizeInGb = value; } /** *

The amount of RAM (in GB) of the power.

*/ inline ContainerServicePower& WithRamSizeInGb(double value) { SetRamSizeInGb(value); return *this;} /** *

The friendly name of the power (e.g., nano).

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The friendly name of the power (e.g., nano).

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The friendly name of the power (e.g., nano).

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The friendly name of the power (e.g., nano).

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The friendly name of the power (e.g., nano).

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The friendly name of the power (e.g., nano).

*/ inline ContainerServicePower& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The friendly name of the power (e.g., nano).

*/ inline ContainerServicePower& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The friendly name of the power (e.g., nano).

*/ inline ContainerServicePower& WithName(const char* value) { SetName(value); return *this;} /** *

A Boolean value indicating whether the power is active and can be specified * for container services.

*/ inline bool GetIsActive() const{ return m_isActive; } /** *

A Boolean value indicating whether the power is active and can be specified * for container services.

*/ inline bool IsActiveHasBeenSet() const { return m_isActiveHasBeenSet; } /** *

A Boolean value indicating whether the power is active and can be specified * for container services.

*/ inline void SetIsActive(bool value) { m_isActiveHasBeenSet = true; m_isActive = value; } /** *

A Boolean value indicating whether the power is active and can be specified * for container services.

*/ inline ContainerServicePower& WithIsActive(bool value) { SetIsActive(value); return *this;} private: Aws::String m_powerId; bool m_powerIdHasBeenSet = false; double m_price; bool m_priceHasBeenSet = false; double m_cpuCount; bool m_cpuCountHasBeenSet = false; double m_ramSizeInGb; bool m_ramSizeInGbHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; bool m_isActive; bool m_isActiveHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws