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

Information about a catalog item.

See Also:

AWS * API Reference

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

The ID of the catalog item.

*/ inline const Aws::String& GetCatalogItemId() const{ return m_catalogItemId; } /** *

The ID of the catalog item.

*/ inline bool CatalogItemIdHasBeenSet() const { return m_catalogItemIdHasBeenSet; } /** *

The ID of the catalog item.

*/ inline void SetCatalogItemId(const Aws::String& value) { m_catalogItemIdHasBeenSet = true; m_catalogItemId = value; } /** *

The ID of the catalog item.

*/ inline void SetCatalogItemId(Aws::String&& value) { m_catalogItemIdHasBeenSet = true; m_catalogItemId = std::move(value); } /** *

The ID of the catalog item.

*/ inline void SetCatalogItemId(const char* value) { m_catalogItemIdHasBeenSet = true; m_catalogItemId.assign(value); } /** *

The ID of the catalog item.

*/ inline CatalogItem& WithCatalogItemId(const Aws::String& value) { SetCatalogItemId(value); return *this;} /** *

The ID of the catalog item.

*/ inline CatalogItem& WithCatalogItemId(Aws::String&& value) { SetCatalogItemId(std::move(value)); return *this;} /** *

The ID of the catalog item.

*/ inline CatalogItem& WithCatalogItemId(const char* value) { SetCatalogItemId(value); return *this;} /** *

The status of a catalog item.

*/ inline const CatalogItemStatus& GetItemStatus() const{ return m_itemStatus; } /** *

The status of a catalog item.

*/ inline bool ItemStatusHasBeenSet() const { return m_itemStatusHasBeenSet; } /** *

The status of a catalog item.

*/ inline void SetItemStatus(const CatalogItemStatus& value) { m_itemStatusHasBeenSet = true; m_itemStatus = value; } /** *

The status of a catalog item.

*/ inline void SetItemStatus(CatalogItemStatus&& value) { m_itemStatusHasBeenSet = true; m_itemStatus = std::move(value); } /** *

The status of a catalog item.

*/ inline CatalogItem& WithItemStatus(const CatalogItemStatus& value) { SetItemStatus(value); return *this;} /** *

The status of a catalog item.

*/ inline CatalogItem& WithItemStatus(CatalogItemStatus&& value) { SetItemStatus(std::move(value)); return *this;} /** *

Information about the EC2 capacity of an item.

*/ inline const Aws::Vector& GetEC2Capacities() const{ return m_eC2Capacities; } /** *

Information about the EC2 capacity of an item.

*/ inline bool EC2CapacitiesHasBeenSet() const { return m_eC2CapacitiesHasBeenSet; } /** *

Information about the EC2 capacity of an item.

*/ inline void SetEC2Capacities(const Aws::Vector& value) { m_eC2CapacitiesHasBeenSet = true; m_eC2Capacities = value; } /** *

Information about the EC2 capacity of an item.

*/ inline void SetEC2Capacities(Aws::Vector&& value) { m_eC2CapacitiesHasBeenSet = true; m_eC2Capacities = std::move(value); } /** *

Information about the EC2 capacity of an item.

*/ inline CatalogItem& WithEC2Capacities(const Aws::Vector& value) { SetEC2Capacities(value); return *this;} /** *

Information about the EC2 capacity of an item.

*/ inline CatalogItem& WithEC2Capacities(Aws::Vector&& value) { SetEC2Capacities(std::move(value)); return *this;} /** *

Information about the EC2 capacity of an item.

*/ inline CatalogItem& AddEC2Capacities(const EC2Capacity& value) { m_eC2CapacitiesHasBeenSet = true; m_eC2Capacities.push_back(value); return *this; } /** *

Information about the EC2 capacity of an item.

*/ inline CatalogItem& AddEC2Capacities(EC2Capacity&& value) { m_eC2CapacitiesHasBeenSet = true; m_eC2Capacities.push_back(std::move(value)); return *this; } /** *

Information about the power draw of an item.

*/ inline double GetPowerKva() const{ return m_powerKva; } /** *

Information about the power draw of an item.

*/ inline bool PowerKvaHasBeenSet() const { return m_powerKvaHasBeenSet; } /** *

Information about the power draw of an item.

*/ inline void SetPowerKva(double value) { m_powerKvaHasBeenSet = true; m_powerKva = value; } /** *

Information about the power draw of an item.

*/ inline CatalogItem& WithPowerKva(double value) { SetPowerKva(value); return *this;} /** *

The weight of the item in pounds.

*/ inline int GetWeightLbs() const{ return m_weightLbs; } /** *

The weight of the item in pounds.

*/ inline bool WeightLbsHasBeenSet() const { return m_weightLbsHasBeenSet; } /** *

The weight of the item in pounds.

*/ inline void SetWeightLbs(int value) { m_weightLbsHasBeenSet = true; m_weightLbs = value; } /** *

The weight of the item in pounds.

*/ inline CatalogItem& WithWeightLbs(int value) { SetWeightLbs(value); return *this;} /** *

The uplink speed this catalog item requires for the connection to the * Region.

*/ inline const Aws::Vector& GetSupportedUplinkGbps() const{ return m_supportedUplinkGbps; } /** *

The uplink speed this catalog item requires for the connection to the * Region.

*/ inline bool SupportedUplinkGbpsHasBeenSet() const { return m_supportedUplinkGbpsHasBeenSet; } /** *

The uplink speed this catalog item requires for the connection to the * Region.

*/ inline void SetSupportedUplinkGbps(const Aws::Vector& value) { m_supportedUplinkGbpsHasBeenSet = true; m_supportedUplinkGbps = value; } /** *

The uplink speed this catalog item requires for the connection to the * Region.

*/ inline void SetSupportedUplinkGbps(Aws::Vector&& value) { m_supportedUplinkGbpsHasBeenSet = true; m_supportedUplinkGbps = std::move(value); } /** *

The uplink speed this catalog item requires for the connection to the * Region.

*/ inline CatalogItem& WithSupportedUplinkGbps(const Aws::Vector& value) { SetSupportedUplinkGbps(value); return *this;} /** *

The uplink speed this catalog item requires for the connection to the * Region.

*/ inline CatalogItem& WithSupportedUplinkGbps(Aws::Vector&& value) { SetSupportedUplinkGbps(std::move(value)); return *this;} /** *

The uplink speed this catalog item requires for the connection to the * Region.

*/ inline CatalogItem& AddSupportedUplinkGbps(int value) { m_supportedUplinkGbpsHasBeenSet = true; m_supportedUplinkGbps.push_back(value); return *this; } /** *

The supported storage options for the catalog item.

*/ inline const Aws::Vector& GetSupportedStorage() const{ return m_supportedStorage; } /** *

The supported storage options for the catalog item.

*/ inline bool SupportedStorageHasBeenSet() const { return m_supportedStorageHasBeenSet; } /** *

The supported storage options for the catalog item.

*/ inline void SetSupportedStorage(const Aws::Vector& value) { m_supportedStorageHasBeenSet = true; m_supportedStorage = value; } /** *

The supported storage options for the catalog item.

*/ inline void SetSupportedStorage(Aws::Vector&& value) { m_supportedStorageHasBeenSet = true; m_supportedStorage = std::move(value); } /** *

The supported storage options for the catalog item.

*/ inline CatalogItem& WithSupportedStorage(const Aws::Vector& value) { SetSupportedStorage(value); return *this;} /** *

The supported storage options for the catalog item.

*/ inline CatalogItem& WithSupportedStorage(Aws::Vector&& value) { SetSupportedStorage(std::move(value)); return *this;} /** *

The supported storage options for the catalog item.

*/ inline CatalogItem& AddSupportedStorage(const SupportedStorageEnum& value) { m_supportedStorageHasBeenSet = true; m_supportedStorage.push_back(value); return *this; } /** *

The supported storage options for the catalog item.

*/ inline CatalogItem& AddSupportedStorage(SupportedStorageEnum&& value) { m_supportedStorageHasBeenSet = true; m_supportedStorage.push_back(std::move(value)); return *this; } private: Aws::String m_catalogItemId; bool m_catalogItemIdHasBeenSet = false; CatalogItemStatus m_itemStatus; bool m_itemStatusHasBeenSet = false; Aws::Vector m_eC2Capacities; bool m_eC2CapacitiesHasBeenSet = false; double m_powerKva; bool m_powerKvaHasBeenSet = false; int m_weightLbs; bool m_weightLbsHasBeenSet = false; Aws::Vector m_supportedUplinkGbps; bool m_supportedUplinkGbpsHasBeenSet = false; Aws::Vector m_supportedStorage; bool m_supportedStorageHasBeenSet = false; }; } // namespace Model } // namespace Outposts } // namespace Aws