/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 hardware assets.

See Also:

AWS * API Reference

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

The ID of the asset.

*/ inline const Aws::String& GetAssetId() const{ return m_assetId; } /** *

The ID of the asset.

*/ inline bool AssetIdHasBeenSet() const { return m_assetIdHasBeenSet; } /** *

The ID of the asset.

*/ inline void SetAssetId(const Aws::String& value) { m_assetIdHasBeenSet = true; m_assetId = value; } /** *

The ID of the asset.

*/ inline void SetAssetId(Aws::String&& value) { m_assetIdHasBeenSet = true; m_assetId = std::move(value); } /** *

The ID of the asset.

*/ inline void SetAssetId(const char* value) { m_assetIdHasBeenSet = true; m_assetId.assign(value); } /** *

The ID of the asset.

*/ inline AssetInfo& WithAssetId(const Aws::String& value) { SetAssetId(value); return *this;} /** *

The ID of the asset.

*/ inline AssetInfo& WithAssetId(Aws::String&& value) { SetAssetId(std::move(value)); return *this;} /** *

The ID of the asset.

*/ inline AssetInfo& WithAssetId(const char* value) { SetAssetId(value); return *this;} /** *

The rack ID of the asset.

*/ inline const Aws::String& GetRackId() const{ return m_rackId; } /** *

The rack ID of the asset.

*/ inline bool RackIdHasBeenSet() const { return m_rackIdHasBeenSet; } /** *

The rack ID of the asset.

*/ inline void SetRackId(const Aws::String& value) { m_rackIdHasBeenSet = true; m_rackId = value; } /** *

The rack ID of the asset.

*/ inline void SetRackId(Aws::String&& value) { m_rackIdHasBeenSet = true; m_rackId = std::move(value); } /** *

The rack ID of the asset.

*/ inline void SetRackId(const char* value) { m_rackIdHasBeenSet = true; m_rackId.assign(value); } /** *

The rack ID of the asset.

*/ inline AssetInfo& WithRackId(const Aws::String& value) { SetRackId(value); return *this;} /** *

The rack ID of the asset.

*/ inline AssetInfo& WithRackId(Aws::String&& value) { SetRackId(std::move(value)); return *this;} /** *

The rack ID of the asset.

*/ inline AssetInfo& WithRackId(const char* value) { SetRackId(value); return *this;} /** *

The type of the asset.

*/ inline const AssetType& GetAssetType() const{ return m_assetType; } /** *

The type of the asset.

*/ inline bool AssetTypeHasBeenSet() const { return m_assetTypeHasBeenSet; } /** *

The type of the asset.

*/ inline void SetAssetType(const AssetType& value) { m_assetTypeHasBeenSet = true; m_assetType = value; } /** *

The type of the asset.

*/ inline void SetAssetType(AssetType&& value) { m_assetTypeHasBeenSet = true; m_assetType = std::move(value); } /** *

The type of the asset.

*/ inline AssetInfo& WithAssetType(const AssetType& value) { SetAssetType(value); return *this;} /** *

The type of the asset.

*/ inline AssetInfo& WithAssetType(AssetType&& value) { SetAssetType(std::move(value)); return *this;} /** *

Information about compute hardware assets.

*/ inline const ComputeAttributes& GetComputeAttributes() const{ return m_computeAttributes; } /** *

Information about compute hardware assets.

*/ inline bool ComputeAttributesHasBeenSet() const { return m_computeAttributesHasBeenSet; } /** *

Information about compute hardware assets.

*/ inline void SetComputeAttributes(const ComputeAttributes& value) { m_computeAttributesHasBeenSet = true; m_computeAttributes = value; } /** *

Information about compute hardware assets.

*/ inline void SetComputeAttributes(ComputeAttributes&& value) { m_computeAttributesHasBeenSet = true; m_computeAttributes = std::move(value); } /** *

Information about compute hardware assets.

*/ inline AssetInfo& WithComputeAttributes(const ComputeAttributes& value) { SetComputeAttributes(value); return *this;} /** *

Information about compute hardware assets.

*/ inline AssetInfo& WithComputeAttributes(ComputeAttributes&& value) { SetComputeAttributes(std::move(value)); return *this;} /** *

The position of an asset in a rack.

*/ inline const AssetLocation& GetAssetLocation() const{ return m_assetLocation; } /** *

The position of an asset in a rack.

*/ inline bool AssetLocationHasBeenSet() const { return m_assetLocationHasBeenSet; } /** *

The position of an asset in a rack.

*/ inline void SetAssetLocation(const AssetLocation& value) { m_assetLocationHasBeenSet = true; m_assetLocation = value; } /** *

The position of an asset in a rack.

*/ inline void SetAssetLocation(AssetLocation&& value) { m_assetLocationHasBeenSet = true; m_assetLocation = std::move(value); } /** *

The position of an asset in a rack.

*/ inline AssetInfo& WithAssetLocation(const AssetLocation& value) { SetAssetLocation(value); return *this;} /** *

The position of an asset in a rack.

*/ inline AssetInfo& WithAssetLocation(AssetLocation&& value) { SetAssetLocation(std::move(value)); return *this;} private: Aws::String m_assetId; bool m_assetIdHasBeenSet = false; Aws::String m_rackId; bool m_rackIdHasBeenSet = false; AssetType m_assetType; bool m_assetTypeHasBeenSet = false; ComputeAttributes m_computeAttributes; bool m_computeAttributesHasBeenSet = false; AssetLocation m_assetLocation; bool m_assetLocationHasBeenSet = false; }; } // namespace Model } // namespace Outposts } // namespace Aws