/** * 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 #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace IoTSiteWise { namespace Model { class DescribeAssetResult { public: AWS_IOTSITEWISE_API DescribeAssetResult(); AWS_IOTSITEWISE_API DescribeAssetResult(const Aws::AmazonWebServiceResult& result); AWS_IOTSITEWISE_API DescribeAssetResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The ID of the asset.

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

The ID of the asset.

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

The ID of the asset.

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

The ID of the asset.

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

The ID of the asset.

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

The ID of the asset.

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

The ID of the asset.

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

The ARN * of the asset, which has the following format.

* arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} *

*/ inline const Aws::String& GetAssetArn() const{ return m_assetArn; } /** *

The ARN * of the asset, which has the following format.

* arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} *

*/ inline void SetAssetArn(const Aws::String& value) { m_assetArn = value; } /** *

The ARN * of the asset, which has the following format.

* arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} *

*/ inline void SetAssetArn(Aws::String&& value) { m_assetArn = std::move(value); } /** *

The ARN * of the asset, which has the following format.

* arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} *

*/ inline void SetAssetArn(const char* value) { m_assetArn.assign(value); } /** *

The ARN * of the asset, which has the following format.

* arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} *

*/ inline DescribeAssetResult& WithAssetArn(const Aws::String& value) { SetAssetArn(value); return *this;} /** *

The ARN * of the asset, which has the following format.

* arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} *

*/ inline DescribeAssetResult& WithAssetArn(Aws::String&& value) { SetAssetArn(std::move(value)); return *this;} /** *

The ARN * of the asset, which has the following format.

* arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} *

*/ inline DescribeAssetResult& WithAssetArn(const char* value) { SetAssetArn(value); return *this;} /** *

The name of the asset.

*/ inline const Aws::String& GetAssetName() const{ return m_assetName; } /** *

The name of the asset.

*/ inline void SetAssetName(const Aws::String& value) { m_assetName = value; } /** *

The name of the asset.

*/ inline void SetAssetName(Aws::String&& value) { m_assetName = std::move(value); } /** *

The name of the asset.

*/ inline void SetAssetName(const char* value) { m_assetName.assign(value); } /** *

The name of the asset.

*/ inline DescribeAssetResult& WithAssetName(const Aws::String& value) { SetAssetName(value); return *this;} /** *

The name of the asset.

*/ inline DescribeAssetResult& WithAssetName(Aws::String&& value) { SetAssetName(std::move(value)); return *this;} /** *

The name of the asset.

*/ inline DescribeAssetResult& WithAssetName(const char* value) { SetAssetName(value); return *this;} /** *

The ID of the asset model that was used to create the asset.

*/ inline const Aws::String& GetAssetModelId() const{ return m_assetModelId; } /** *

The ID of the asset model that was used to create the asset.

*/ inline void SetAssetModelId(const Aws::String& value) { m_assetModelId = value; } /** *

The ID of the asset model that was used to create the asset.

*/ inline void SetAssetModelId(Aws::String&& value) { m_assetModelId = std::move(value); } /** *

The ID of the asset model that was used to create the asset.

*/ inline void SetAssetModelId(const char* value) { m_assetModelId.assign(value); } /** *

The ID of the asset model that was used to create the asset.

*/ inline DescribeAssetResult& WithAssetModelId(const Aws::String& value) { SetAssetModelId(value); return *this;} /** *

The ID of the asset model that was used to create the asset.

*/ inline DescribeAssetResult& WithAssetModelId(Aws::String&& value) { SetAssetModelId(std::move(value)); return *this;} /** *

The ID of the asset model that was used to create the asset.

*/ inline DescribeAssetResult& WithAssetModelId(const char* value) { SetAssetModelId(value); return *this;} /** *

The list of asset properties for the asset.

This object doesn't * include properties that you define in composite models. You can find composite * model properties in the assetCompositeModels object.

*/ inline const Aws::Vector& GetAssetProperties() const{ return m_assetProperties; } /** *

The list of asset properties for the asset.

This object doesn't * include properties that you define in composite models. You can find composite * model properties in the assetCompositeModels object.

*/ inline void SetAssetProperties(const Aws::Vector& value) { m_assetProperties = value; } /** *

The list of asset properties for the asset.

This object doesn't * include properties that you define in composite models. You can find composite * model properties in the assetCompositeModels object.

*/ inline void SetAssetProperties(Aws::Vector&& value) { m_assetProperties = std::move(value); } /** *

The list of asset properties for the asset.

This object doesn't * include properties that you define in composite models. You can find composite * model properties in the assetCompositeModels object.

*/ inline DescribeAssetResult& WithAssetProperties(const Aws::Vector& value) { SetAssetProperties(value); return *this;} /** *

The list of asset properties for the asset.

This object doesn't * include properties that you define in composite models. You can find composite * model properties in the assetCompositeModels object.

*/ inline DescribeAssetResult& WithAssetProperties(Aws::Vector&& value) { SetAssetProperties(std::move(value)); return *this;} /** *

The list of asset properties for the asset.

This object doesn't * include properties that you define in composite models. You can find composite * model properties in the assetCompositeModels object.

*/ inline DescribeAssetResult& AddAssetProperties(const AssetProperty& value) { m_assetProperties.push_back(value); return *this; } /** *

The list of asset properties for the asset.

This object doesn't * include properties that you define in composite models. You can find composite * model properties in the assetCompositeModels object.

*/ inline DescribeAssetResult& AddAssetProperties(AssetProperty&& value) { m_assetProperties.push_back(std::move(value)); return *this; } /** *

A list of asset hierarchies that each contain a hierarchyId. A * hierarchy specifies allowed parent/child asset relationships.

*/ inline const Aws::Vector& GetAssetHierarchies() const{ return m_assetHierarchies; } /** *

A list of asset hierarchies that each contain a hierarchyId. A * hierarchy specifies allowed parent/child asset relationships.

*/ inline void SetAssetHierarchies(const Aws::Vector& value) { m_assetHierarchies = value; } /** *

A list of asset hierarchies that each contain a hierarchyId. A * hierarchy specifies allowed parent/child asset relationships.

*/ inline void SetAssetHierarchies(Aws::Vector&& value) { m_assetHierarchies = std::move(value); } /** *

A list of asset hierarchies that each contain a hierarchyId. A * hierarchy specifies allowed parent/child asset relationships.

*/ inline DescribeAssetResult& WithAssetHierarchies(const Aws::Vector& value) { SetAssetHierarchies(value); return *this;} /** *

A list of asset hierarchies that each contain a hierarchyId. A * hierarchy specifies allowed parent/child asset relationships.

*/ inline DescribeAssetResult& WithAssetHierarchies(Aws::Vector&& value) { SetAssetHierarchies(std::move(value)); return *this;} /** *

A list of asset hierarchies that each contain a hierarchyId. A * hierarchy specifies allowed parent/child asset relationships.

*/ inline DescribeAssetResult& AddAssetHierarchies(const AssetHierarchy& value) { m_assetHierarchies.push_back(value); return *this; } /** *

A list of asset hierarchies that each contain a hierarchyId. A * hierarchy specifies allowed parent/child asset relationships.

*/ inline DescribeAssetResult& AddAssetHierarchies(AssetHierarchy&& value) { m_assetHierarchies.push_back(std::move(value)); return *this; } /** *

The composite models for the asset.

*/ inline const Aws::Vector& GetAssetCompositeModels() const{ return m_assetCompositeModels; } /** *

The composite models for the asset.

*/ inline void SetAssetCompositeModels(const Aws::Vector& value) { m_assetCompositeModels = value; } /** *

The composite models for the asset.

*/ inline void SetAssetCompositeModels(Aws::Vector&& value) { m_assetCompositeModels = std::move(value); } /** *

The composite models for the asset.

*/ inline DescribeAssetResult& WithAssetCompositeModels(const Aws::Vector& value) { SetAssetCompositeModels(value); return *this;} /** *

The composite models for the asset.

*/ inline DescribeAssetResult& WithAssetCompositeModels(Aws::Vector&& value) { SetAssetCompositeModels(std::move(value)); return *this;} /** *

The composite models for the asset.

*/ inline DescribeAssetResult& AddAssetCompositeModels(const AssetCompositeModel& value) { m_assetCompositeModels.push_back(value); return *this; } /** *

The composite models for the asset.

*/ inline DescribeAssetResult& AddAssetCompositeModels(AssetCompositeModel&& value) { m_assetCompositeModels.push_back(std::move(value)); return *this; } /** *

The date the asset was created, in Unix epoch time.

*/ inline const Aws::Utils::DateTime& GetAssetCreationDate() const{ return m_assetCreationDate; } /** *

The date the asset was created, in Unix epoch time.

*/ inline void SetAssetCreationDate(const Aws::Utils::DateTime& value) { m_assetCreationDate = value; } /** *

The date the asset was created, in Unix epoch time.

*/ inline void SetAssetCreationDate(Aws::Utils::DateTime&& value) { m_assetCreationDate = std::move(value); } /** *

The date the asset was created, in Unix epoch time.

*/ inline DescribeAssetResult& WithAssetCreationDate(const Aws::Utils::DateTime& value) { SetAssetCreationDate(value); return *this;} /** *

The date the asset was created, in Unix epoch time.

*/ inline DescribeAssetResult& WithAssetCreationDate(Aws::Utils::DateTime&& value) { SetAssetCreationDate(std::move(value)); return *this;} /** *

The date the asset was last updated, in Unix epoch time.

*/ inline const Aws::Utils::DateTime& GetAssetLastUpdateDate() const{ return m_assetLastUpdateDate; } /** *

The date the asset was last updated, in Unix epoch time.

*/ inline void SetAssetLastUpdateDate(const Aws::Utils::DateTime& value) { m_assetLastUpdateDate = value; } /** *

The date the asset was last updated, in Unix epoch time.

*/ inline void SetAssetLastUpdateDate(Aws::Utils::DateTime&& value) { m_assetLastUpdateDate = std::move(value); } /** *

The date the asset was last updated, in Unix epoch time.

*/ inline DescribeAssetResult& WithAssetLastUpdateDate(const Aws::Utils::DateTime& value) { SetAssetLastUpdateDate(value); return *this;} /** *

The date the asset was last updated, in Unix epoch time.

*/ inline DescribeAssetResult& WithAssetLastUpdateDate(Aws::Utils::DateTime&& value) { SetAssetLastUpdateDate(std::move(value)); return *this;} /** *

The current status of the asset, which contains a state and any error * message.

*/ inline const AssetStatus& GetAssetStatus() const{ return m_assetStatus; } /** *

The current status of the asset, which contains a state and any error * message.

*/ inline void SetAssetStatus(const AssetStatus& value) { m_assetStatus = value; } /** *

The current status of the asset, which contains a state and any error * message.

*/ inline void SetAssetStatus(AssetStatus&& value) { m_assetStatus = std::move(value); } /** *

The current status of the asset, which contains a state and any error * message.

*/ inline DescribeAssetResult& WithAssetStatus(const AssetStatus& value) { SetAssetStatus(value); return *this;} /** *

The current status of the asset, which contains a state and any error * message.

*/ inline DescribeAssetResult& WithAssetStatus(AssetStatus&& value) { SetAssetStatus(std::move(value)); return *this;} /** *

A description for the asset.

*/ inline const Aws::String& GetAssetDescription() const{ return m_assetDescription; } /** *

A description for the asset.

*/ inline void SetAssetDescription(const Aws::String& value) { m_assetDescription = value; } /** *

A description for the asset.

*/ inline void SetAssetDescription(Aws::String&& value) { m_assetDescription = std::move(value); } /** *

A description for the asset.

*/ inline void SetAssetDescription(const char* value) { m_assetDescription.assign(value); } /** *

A description for the asset.

*/ inline DescribeAssetResult& WithAssetDescription(const Aws::String& value) { SetAssetDescription(value); return *this;} /** *

A description for the asset.

*/ inline DescribeAssetResult& WithAssetDescription(Aws::String&& value) { SetAssetDescription(std::move(value)); return *this;} /** *

A description for the asset.

*/ inline DescribeAssetResult& WithAssetDescription(const char* value) { SetAssetDescription(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeAssetResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeAssetResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeAssetResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_assetId; Aws::String m_assetArn; Aws::String m_assetName; Aws::String m_assetModelId; Aws::Vector m_assetProperties; Aws::Vector m_assetHierarchies; Aws::Vector m_assetCompositeModels; Aws::Utils::DateTime m_assetCreationDate; Aws::Utils::DateTime m_assetLastUpdateDate; AssetStatus m_assetStatus; Aws::String m_assetDescription; Aws::String m_requestId; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws