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

The ID of the gateway device.

*/ inline const Aws::String& GetGatewayId() const{ return m_gatewayId; } /** *

The ID of the gateway device.

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

The ID of the gateway device.

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

The ID of the gateway device.

*/ inline void SetGatewayId(const char* value) { m_gatewayId.assign(value); } /** *

The ID of the gateway device.

*/ inline DescribeGatewayResult& WithGatewayId(const Aws::String& value) { SetGatewayId(value); return *this;} /** *

The ID of the gateway device.

*/ inline DescribeGatewayResult& WithGatewayId(Aws::String&& value) { SetGatewayId(std::move(value)); return *this;} /** *

The ID of the gateway device.

*/ inline DescribeGatewayResult& WithGatewayId(const char* value) { SetGatewayId(value); return *this;} /** *

The name of the gateway.

*/ inline const Aws::String& GetGatewayName() const{ return m_gatewayName; } /** *

The name of the gateway.

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

The name of the gateway.

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

The name of the gateway.

*/ inline void SetGatewayName(const char* value) { m_gatewayName.assign(value); } /** *

The name of the gateway.

*/ inline DescribeGatewayResult& WithGatewayName(const Aws::String& value) { SetGatewayName(value); return *this;} /** *

The name of the gateway.

*/ inline DescribeGatewayResult& WithGatewayName(Aws::String&& value) { SetGatewayName(std::move(value)); return *this;} /** *

The name of the gateway.

*/ inline DescribeGatewayResult& WithGatewayName(const char* value) { SetGatewayName(value); return *this;} /** *

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

* arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId} *

*/ inline const Aws::String& GetGatewayArn() const{ return m_gatewayArn; } /** *

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

* arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId} *

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

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

* arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId} *

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

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

* arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId} *

*/ inline void SetGatewayArn(const char* value) { m_gatewayArn.assign(value); } /** *

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

* arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId} *

*/ inline DescribeGatewayResult& WithGatewayArn(const Aws::String& value) { SetGatewayArn(value); return *this;} /** *

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

* arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId} *

*/ inline DescribeGatewayResult& WithGatewayArn(Aws::String&& value) { SetGatewayArn(std::move(value)); return *this;} /** *

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

* arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId} *

*/ inline DescribeGatewayResult& WithGatewayArn(const char* value) { SetGatewayArn(value); return *this;} /** *

The gateway's platform.

*/ inline const GatewayPlatform& GetGatewayPlatform() const{ return m_gatewayPlatform; } /** *

The gateway's platform.

*/ inline void SetGatewayPlatform(const GatewayPlatform& value) { m_gatewayPlatform = value; } /** *

The gateway's platform.

*/ inline void SetGatewayPlatform(GatewayPlatform&& value) { m_gatewayPlatform = std::move(value); } /** *

The gateway's platform.

*/ inline DescribeGatewayResult& WithGatewayPlatform(const GatewayPlatform& value) { SetGatewayPlatform(value); return *this;} /** *

The gateway's platform.

*/ inline DescribeGatewayResult& WithGatewayPlatform(GatewayPlatform&& value) { SetGatewayPlatform(std::move(value)); return *this;} /** *

A list of gateway capability summaries that each contain a namespace and * status. Each gateway capability defines data sources for the gateway. To * retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration.

*/ inline const Aws::Vector& GetGatewayCapabilitySummaries() const{ return m_gatewayCapabilitySummaries; } /** *

A list of gateway capability summaries that each contain a namespace and * status. Each gateway capability defines data sources for the gateway. To * retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration.

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

A list of gateway capability summaries that each contain a namespace and * status. Each gateway capability defines data sources for the gateway. To * retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration.

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

A list of gateway capability summaries that each contain a namespace and * status. Each gateway capability defines data sources for the gateway. To * retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration.

*/ inline DescribeGatewayResult& WithGatewayCapabilitySummaries(const Aws::Vector& value) { SetGatewayCapabilitySummaries(value); return *this;} /** *

A list of gateway capability summaries that each contain a namespace and * status. Each gateway capability defines data sources for the gateway. To * retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration.

*/ inline DescribeGatewayResult& WithGatewayCapabilitySummaries(Aws::Vector&& value) { SetGatewayCapabilitySummaries(std::move(value)); return *this;} /** *

A list of gateway capability summaries that each contain a namespace and * status. Each gateway capability defines data sources for the gateway. To * retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration.

*/ inline DescribeGatewayResult& AddGatewayCapabilitySummaries(const GatewayCapabilitySummary& value) { m_gatewayCapabilitySummaries.push_back(value); return *this; } /** *

A list of gateway capability summaries that each contain a namespace and * status. Each gateway capability defines data sources for the gateway. To * retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration.

*/ inline DescribeGatewayResult& AddGatewayCapabilitySummaries(GatewayCapabilitySummary&& value) { m_gatewayCapabilitySummaries.push_back(std::move(value)); return *this; } /** *

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

*/ inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } /** *

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

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

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

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

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

*/ inline DescribeGatewayResult& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} /** *

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

*/ inline DescribeGatewayResult& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} /** *

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

*/ inline const Aws::Utils::DateTime& GetLastUpdateDate() const{ return m_lastUpdateDate; } /** *

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

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

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

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

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

*/ inline DescribeGatewayResult& WithLastUpdateDate(const Aws::Utils::DateTime& value) { SetLastUpdateDate(value); return *this;} /** *

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

*/ inline DescribeGatewayResult& WithLastUpdateDate(Aws::Utils::DateTime&& value) { SetLastUpdateDate(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 DescribeGatewayResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeGatewayResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeGatewayResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_gatewayId; Aws::String m_gatewayName; Aws::String m_gatewayArn; GatewayPlatform m_gatewayPlatform; Aws::Vector m_gatewayCapabilitySummaries; Aws::Utils::DateTime m_creationDate; Aws::Utils::DateTime m_lastUpdateDate; Aws::String m_requestId; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws