/** * 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 DescribeAssetModelResult { public: AWS_IOTSITEWISE_API DescribeAssetModelResult(); AWS_IOTSITEWISE_API DescribeAssetModelResult(const Aws::AmazonWebServiceResult& result); AWS_IOTSITEWISE_API DescribeAssetModelResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The ID of the asset model.

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

The ID of the asset model.

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

The ID of the asset model.

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

The ID of the asset model.

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

The ID of the asset model.

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

The ID of the asset model.

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

The ID of the asset model.

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

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

* arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} *

*/ inline const Aws::String& GetAssetModelArn() const{ return m_assetModelArn; } /** *

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

* arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} *

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

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

* arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} *

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

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

* arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} *

*/ inline void SetAssetModelArn(const char* value) { m_assetModelArn.assign(value); } /** *

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

* arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} *

*/ inline DescribeAssetModelResult& WithAssetModelArn(const Aws::String& value) { SetAssetModelArn(value); return *this;} /** *

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

* arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} *

*/ inline DescribeAssetModelResult& WithAssetModelArn(Aws::String&& value) { SetAssetModelArn(std::move(value)); return *this;} /** *

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

* arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} *

*/ inline DescribeAssetModelResult& WithAssetModelArn(const char* value) { SetAssetModelArn(value); return *this;} /** *

The name of the asset model.

*/ inline const Aws::String& GetAssetModelName() const{ return m_assetModelName; } /** *

The name of the asset model.

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

The name of the asset model.

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

The name of the asset model.

*/ inline void SetAssetModelName(const char* value) { m_assetModelName.assign(value); } /** *

The name of the asset model.

*/ inline DescribeAssetModelResult& WithAssetModelName(const Aws::String& value) { SetAssetModelName(value); return *this;} /** *

The name of the asset model.

*/ inline DescribeAssetModelResult& WithAssetModelName(Aws::String&& value) { SetAssetModelName(std::move(value)); return *this;} /** *

The name of the asset model.

*/ inline DescribeAssetModelResult& WithAssetModelName(const char* value) { SetAssetModelName(value); return *this;} /** *

The asset model's description.

*/ inline const Aws::String& GetAssetModelDescription() const{ return m_assetModelDescription; } /** *

The asset model's description.

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

The asset model's description.

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

The asset model's description.

*/ inline void SetAssetModelDescription(const char* value) { m_assetModelDescription.assign(value); } /** *

The asset model's description.

*/ inline DescribeAssetModelResult& WithAssetModelDescription(const Aws::String& value) { SetAssetModelDescription(value); return *this;} /** *

The asset model's description.

*/ inline DescribeAssetModelResult& WithAssetModelDescription(Aws::String&& value) { SetAssetModelDescription(std::move(value)); return *this;} /** *

The asset model's description.

*/ inline DescribeAssetModelResult& WithAssetModelDescription(const char* value) { SetAssetModelDescription(value); return *this;} /** *

The list of asset properties for the asset model.

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

*/ inline const Aws::Vector& GetAssetModelProperties() const{ return m_assetModelProperties; } /** *

The list of asset properties for the asset model.

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

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

The list of asset properties for the asset model.

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

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

The list of asset properties for the asset model.

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

*/ inline DescribeAssetModelResult& WithAssetModelProperties(const Aws::Vector& value) { SetAssetModelProperties(value); return *this;} /** *

The list of asset properties for the asset model.

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

*/ inline DescribeAssetModelResult& WithAssetModelProperties(Aws::Vector&& value) { SetAssetModelProperties(std::move(value)); return *this;} /** *

The list of asset properties for the asset model.

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

*/ inline DescribeAssetModelResult& AddAssetModelProperties(const AssetModelProperty& value) { m_assetModelProperties.push_back(value); return *this; } /** *

The list of asset properties for the asset model.

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

*/ inline DescribeAssetModelResult& AddAssetModelProperties(AssetModelProperty&& value) { m_assetModelProperties.push_back(std::move(value)); return *this; } /** *

A list of asset model hierarchies that each contain a * childAssetModelId and a hierarchyId (named * id). A hierarchy specifies allowed parent/child asset relationships * for an asset model.

*/ inline const Aws::Vector& GetAssetModelHierarchies() const{ return m_assetModelHierarchies; } /** *

A list of asset model hierarchies that each contain a * childAssetModelId and a hierarchyId (named * id). A hierarchy specifies allowed parent/child asset relationships * for an asset model.

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

A list of asset model hierarchies that each contain a * childAssetModelId and a hierarchyId (named * id). A hierarchy specifies allowed parent/child asset relationships * for an asset model.

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

A list of asset model hierarchies that each contain a * childAssetModelId and a hierarchyId (named * id). A hierarchy specifies allowed parent/child asset relationships * for an asset model.

*/ inline DescribeAssetModelResult& WithAssetModelHierarchies(const Aws::Vector& value) { SetAssetModelHierarchies(value); return *this;} /** *

A list of asset model hierarchies that each contain a * childAssetModelId and a hierarchyId (named * id). A hierarchy specifies allowed parent/child asset relationships * for an asset model.

*/ inline DescribeAssetModelResult& WithAssetModelHierarchies(Aws::Vector&& value) { SetAssetModelHierarchies(std::move(value)); return *this;} /** *

A list of asset model hierarchies that each contain a * childAssetModelId and a hierarchyId (named * id). A hierarchy specifies allowed parent/child asset relationships * for an asset model.

*/ inline DescribeAssetModelResult& AddAssetModelHierarchies(const AssetModelHierarchy& value) { m_assetModelHierarchies.push_back(value); return *this; } /** *

A list of asset model hierarchies that each contain a * childAssetModelId and a hierarchyId (named * id). A hierarchy specifies allowed parent/child asset relationships * for an asset model.

*/ inline DescribeAssetModelResult& AddAssetModelHierarchies(AssetModelHierarchy&& value) { m_assetModelHierarchies.push_back(std::move(value)); return *this; } /** *

The list of composite asset models for the asset model.

*/ inline const Aws::Vector& GetAssetModelCompositeModels() const{ return m_assetModelCompositeModels; } /** *

The list of composite asset models for the asset model.

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

The list of composite asset models for the asset model.

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

The list of composite asset models for the asset model.

*/ inline DescribeAssetModelResult& WithAssetModelCompositeModels(const Aws::Vector& value) { SetAssetModelCompositeModels(value); return *this;} /** *

The list of composite asset models for the asset model.

*/ inline DescribeAssetModelResult& WithAssetModelCompositeModels(Aws::Vector&& value) { SetAssetModelCompositeModels(std::move(value)); return *this;} /** *

The list of composite asset models for the asset model.

*/ inline DescribeAssetModelResult& AddAssetModelCompositeModels(const AssetModelCompositeModel& value) { m_assetModelCompositeModels.push_back(value); return *this; } /** *

The list of composite asset models for the asset model.

*/ inline DescribeAssetModelResult& AddAssetModelCompositeModels(AssetModelCompositeModel&& value) { m_assetModelCompositeModels.push_back(std::move(value)); return *this; } /** *

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

*/ inline const Aws::Utils::DateTime& GetAssetModelCreationDate() const{ return m_assetModelCreationDate; } /** *

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

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

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

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

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

*/ inline DescribeAssetModelResult& WithAssetModelCreationDate(const Aws::Utils::DateTime& value) { SetAssetModelCreationDate(value); return *this;} /** *

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

*/ inline DescribeAssetModelResult& WithAssetModelCreationDate(Aws::Utils::DateTime&& value) { SetAssetModelCreationDate(std::move(value)); return *this;} /** *

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

*/ inline const Aws::Utils::DateTime& GetAssetModelLastUpdateDate() const{ return m_assetModelLastUpdateDate; } /** *

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

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

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

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

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

*/ inline DescribeAssetModelResult& WithAssetModelLastUpdateDate(const Aws::Utils::DateTime& value) { SetAssetModelLastUpdateDate(value); return *this;} /** *

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

*/ inline DescribeAssetModelResult& WithAssetModelLastUpdateDate(Aws::Utils::DateTime&& value) { SetAssetModelLastUpdateDate(std::move(value)); return *this;} /** *

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

*/ inline const AssetModelStatus& GetAssetModelStatus() const{ return m_assetModelStatus; } /** *

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

*/ inline void SetAssetModelStatus(const AssetModelStatus& value) { m_assetModelStatus = value; } /** *

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

*/ inline void SetAssetModelStatus(AssetModelStatus&& value) { m_assetModelStatus = std::move(value); } /** *

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

*/ inline DescribeAssetModelResult& WithAssetModelStatus(const AssetModelStatus& value) { SetAssetModelStatus(value); return *this;} /** *

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

*/ inline DescribeAssetModelResult& WithAssetModelStatus(AssetModelStatus&& value) { SetAssetModelStatus(std::move(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 DescribeAssetModelResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeAssetModelResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeAssetModelResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_assetModelId; Aws::String m_assetModelArn; Aws::String m_assetModelName; Aws::String m_assetModelDescription; Aws::Vector m_assetModelProperties; Aws::Vector m_assetModelHierarchies; Aws::Vector m_assetModelCompositeModels; Aws::Utils::DateTime m_assetModelCreationDate; Aws::Utils::DateTime m_assetModelLastUpdateDate; AssetModelStatus m_assetModelStatus; Aws::String m_requestId; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws