/** * 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 IoTThingsGraph { namespace Model { /** *

An object that contains summary information about a system * instance.

See Also:

AWS * API Reference

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

The ID of the system instance.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The ID of the system instance.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The ID of the system instance.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The ID of the system instance.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The ID of the system instance.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The ID of the system instance.

*/ inline SystemInstanceSummary& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The ID of the system instance.

*/ inline SystemInstanceSummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The ID of the system instance.

*/ inline SystemInstanceSummary& WithId(const char* value) { SetId(value); return *this;} /** *

The ARN of the system instance.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The ARN of the system instance.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The ARN of the system instance.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The ARN of the system instance.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The ARN of the system instance.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The ARN of the system instance.

*/ inline SystemInstanceSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The ARN of the system instance.

*/ inline SystemInstanceSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The ARN of the system instance.

*/ inline SystemInstanceSummary& WithArn(const char* value) { SetArn(value); return *this;} /** *

The status of the system instance.

*/ inline const SystemInstanceDeploymentStatus& GetStatus() const{ return m_status; } /** *

The status of the system instance.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the system instance.

*/ inline void SetStatus(const SystemInstanceDeploymentStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the system instance.

*/ inline void SetStatus(SystemInstanceDeploymentStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the system instance.

*/ inline SystemInstanceSummary& WithStatus(const SystemInstanceDeploymentStatus& value) { SetStatus(value); return *this;} /** *

The status of the system instance.

*/ inline SystemInstanceSummary& WithStatus(SystemInstanceDeploymentStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The target of the system instance.

*/ inline const DeploymentTarget& GetTarget() const{ return m_target; } /** *

The target of the system instance.

*/ inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; } /** *

The target of the system instance.

*/ inline void SetTarget(const DeploymentTarget& value) { m_targetHasBeenSet = true; m_target = value; } /** *

The target of the system instance.

*/ inline void SetTarget(DeploymentTarget&& value) { m_targetHasBeenSet = true; m_target = std::move(value); } /** *

The target of the system instance.

*/ inline SystemInstanceSummary& WithTarget(const DeploymentTarget& value) { SetTarget(value); return *this;} /** *

The target of the system instance.

*/ inline SystemInstanceSummary& WithTarget(DeploymentTarget&& value) { SetTarget(std::move(value)); return *this;} /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline const Aws::String& GetGreengrassGroupName() const{ return m_greengrassGroupName; } /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline bool GreengrassGroupNameHasBeenSet() const { return m_greengrassGroupNameHasBeenSet; } /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline void SetGreengrassGroupName(const Aws::String& value) { m_greengrassGroupNameHasBeenSet = true; m_greengrassGroupName = value; } /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline void SetGreengrassGroupName(Aws::String&& value) { m_greengrassGroupNameHasBeenSet = true; m_greengrassGroupName = std::move(value); } /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline void SetGreengrassGroupName(const char* value) { m_greengrassGroupNameHasBeenSet = true; m_greengrassGroupName.assign(value); } /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline SystemInstanceSummary& WithGreengrassGroupName(const Aws::String& value) { SetGreengrassGroupName(value); return *this;} /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline SystemInstanceSummary& WithGreengrassGroupName(Aws::String&& value) { SetGreengrassGroupName(std::move(value)); return *this;} /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline SystemInstanceSummary& WithGreengrassGroupName(const char* value) { SetGreengrassGroupName(value); return *this;} /** *

The date when the system instance was created.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The date when the system instance was created.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The date when the system instance was created.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The date when the system instance was created.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The date when the system instance was created.

*/ inline SystemInstanceSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The date when the system instance was created.

*/ inline SystemInstanceSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The date and time when the system instance was last updated.

*/ inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } /** *

The date and time when the system instance was last updated.

*/ inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } /** *

The date and time when the system instance was last updated.

*/ inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } /** *

The date and time when the system instance was last updated.

*/ inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } /** *

The date and time when the system instance was last updated.

*/ inline SystemInstanceSummary& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} /** *

The date and time when the system instance was last updated.

*/ inline SystemInstanceSummary& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline const Aws::String& GetGreengrassGroupId() const{ return m_greengrassGroupId; } /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline bool GreengrassGroupIdHasBeenSet() const { return m_greengrassGroupIdHasBeenSet; } /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline void SetGreengrassGroupId(const Aws::String& value) { m_greengrassGroupIdHasBeenSet = true; m_greengrassGroupId = value; } /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline void SetGreengrassGroupId(Aws::String&& value) { m_greengrassGroupIdHasBeenSet = true; m_greengrassGroupId = std::move(value); } /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline void SetGreengrassGroupId(const char* value) { m_greengrassGroupIdHasBeenSet = true; m_greengrassGroupId.assign(value); } /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline SystemInstanceSummary& WithGreengrassGroupId(const Aws::String& value) { SetGreengrassGroupId(value); return *this;} /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline SystemInstanceSummary& WithGreengrassGroupId(Aws::String&& value) { SetGreengrassGroupId(std::move(value)); return *this;} /** *

The ID of the Greengrass group where the system instance is deployed.

*/ inline SystemInstanceSummary& WithGreengrassGroupId(const char* value) { SetGreengrassGroupId(value); return *this;} /** *

The version of the Greengrass group where the system instance is * deployed.

*/ inline const Aws::String& GetGreengrassGroupVersionId() const{ return m_greengrassGroupVersionId; } /** *

The version of the Greengrass group where the system instance is * deployed.

*/ inline bool GreengrassGroupVersionIdHasBeenSet() const { return m_greengrassGroupVersionIdHasBeenSet; } /** *

The version of the Greengrass group where the system instance is * deployed.

*/ inline void SetGreengrassGroupVersionId(const Aws::String& value) { m_greengrassGroupVersionIdHasBeenSet = true; m_greengrassGroupVersionId = value; } /** *

The version of the Greengrass group where the system instance is * deployed.

*/ inline void SetGreengrassGroupVersionId(Aws::String&& value) { m_greengrassGroupVersionIdHasBeenSet = true; m_greengrassGroupVersionId = std::move(value); } /** *

The version of the Greengrass group where the system instance is * deployed.

*/ inline void SetGreengrassGroupVersionId(const char* value) { m_greengrassGroupVersionIdHasBeenSet = true; m_greengrassGroupVersionId.assign(value); } /** *

The version of the Greengrass group where the system instance is * deployed.

*/ inline SystemInstanceSummary& WithGreengrassGroupVersionId(const Aws::String& value) { SetGreengrassGroupVersionId(value); return *this;} /** *

The version of the Greengrass group where the system instance is * deployed.

*/ inline SystemInstanceSummary& WithGreengrassGroupVersionId(Aws::String&& value) { SetGreengrassGroupVersionId(std::move(value)); return *this;} /** *

The version of the Greengrass group where the system instance is * deployed.

*/ inline SystemInstanceSummary& WithGreengrassGroupVersionId(const char* value) { SetGreengrassGroupVersionId(value); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; SystemInstanceDeploymentStatus m_status; bool m_statusHasBeenSet = false; DeploymentTarget m_target; bool m_targetHasBeenSet = false; Aws::String m_greengrassGroupName; bool m_greengrassGroupNameHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet = false; Aws::String m_greengrassGroupId; bool m_greengrassGroupIdHasBeenSet = false; Aws::String m_greengrassGroupVersionId; bool m_greengrassGroupVersionIdHasBeenSet = false; }; } // namespace Model } // namespace IoTThingsGraph } // namespace Aws