/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace GreengrassV2 { namespace Model { /** *

Contains information about a deployment.

See Also:

AWS * API Reference

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

The ARN * of the target IoT thing or thing group. When creating a subdeployment, the * targetARN can only be a thing group.

*/ inline const Aws::String& GetTargetArn() const{ return m_targetArn; } /** *

The ARN * of the target IoT thing or thing group. When creating a subdeployment, the * targetARN can only be a thing group.

*/ inline bool TargetArnHasBeenSet() const { return m_targetArnHasBeenSet; } /** *

The ARN * of the target IoT thing or thing group. When creating a subdeployment, the * targetARN can only be a thing group.

*/ inline void SetTargetArn(const Aws::String& value) { m_targetArnHasBeenSet = true; m_targetArn = value; } /** *

The ARN * of the target IoT thing or thing group. When creating a subdeployment, the * targetARN can only be a thing group.

*/ inline void SetTargetArn(Aws::String&& value) { m_targetArnHasBeenSet = true; m_targetArn = std::move(value); } /** *

The ARN * of the target IoT thing or thing group. When creating a subdeployment, the * targetARN can only be a thing group.

*/ inline void SetTargetArn(const char* value) { m_targetArnHasBeenSet = true; m_targetArn.assign(value); } /** *

The ARN * of the target IoT thing or thing group. When creating a subdeployment, the * targetARN can only be a thing group.

*/ inline Deployment& WithTargetArn(const Aws::String& value) { SetTargetArn(value); return *this;} /** *

The ARN * of the target IoT thing or thing group. When creating a subdeployment, the * targetARN can only be a thing group.

*/ inline Deployment& WithTargetArn(Aws::String&& value) { SetTargetArn(std::move(value)); return *this;} /** *

The ARN * of the target IoT thing or thing group. When creating a subdeployment, the * targetARN can only be a thing group.

*/ inline Deployment& WithTargetArn(const char* value) { SetTargetArn(value); return *this;} /** *

The revision number of the deployment.

*/ inline const Aws::String& GetRevisionId() const{ return m_revisionId; } /** *

The revision number of the deployment.

*/ inline bool RevisionIdHasBeenSet() const { return m_revisionIdHasBeenSet; } /** *

The revision number of the deployment.

*/ inline void SetRevisionId(const Aws::String& value) { m_revisionIdHasBeenSet = true; m_revisionId = value; } /** *

The revision number of the deployment.

*/ inline void SetRevisionId(Aws::String&& value) { m_revisionIdHasBeenSet = true; m_revisionId = std::move(value); } /** *

The revision number of the deployment.

*/ inline void SetRevisionId(const char* value) { m_revisionIdHasBeenSet = true; m_revisionId.assign(value); } /** *

The revision number of the deployment.

*/ inline Deployment& WithRevisionId(const Aws::String& value) { SetRevisionId(value); return *this;} /** *

The revision number of the deployment.

*/ inline Deployment& WithRevisionId(Aws::String&& value) { SetRevisionId(std::move(value)); return *this;} /** *

The revision number of the deployment.

*/ inline Deployment& WithRevisionId(const char* value) { SetRevisionId(value); return *this;} /** *

The ID of the deployment.

*/ inline const Aws::String& GetDeploymentId() const{ return m_deploymentId; } /** *

The ID of the deployment.

*/ inline bool DeploymentIdHasBeenSet() const { return m_deploymentIdHasBeenSet; } /** *

The ID of the deployment.

*/ inline void SetDeploymentId(const Aws::String& value) { m_deploymentIdHasBeenSet = true; m_deploymentId = value; } /** *

The ID of the deployment.

*/ inline void SetDeploymentId(Aws::String&& value) { m_deploymentIdHasBeenSet = true; m_deploymentId = std::move(value); } /** *

The ID of the deployment.

*/ inline void SetDeploymentId(const char* value) { m_deploymentIdHasBeenSet = true; m_deploymentId.assign(value); } /** *

The ID of the deployment.

*/ inline Deployment& WithDeploymentId(const Aws::String& value) { SetDeploymentId(value); return *this;} /** *

The ID of the deployment.

*/ inline Deployment& WithDeploymentId(Aws::String&& value) { SetDeploymentId(std::move(value)); return *this;} /** *

The ID of the deployment.

*/ inline Deployment& WithDeploymentId(const char* value) { SetDeploymentId(value); return *this;} /** *

The name of the deployment.

*/ inline const Aws::String& GetDeploymentName() const{ return m_deploymentName; } /** *

The name of the deployment.

*/ inline bool DeploymentNameHasBeenSet() const { return m_deploymentNameHasBeenSet; } /** *

The name of the deployment.

*/ inline void SetDeploymentName(const Aws::String& value) { m_deploymentNameHasBeenSet = true; m_deploymentName = value; } /** *

The name of the deployment.

*/ inline void SetDeploymentName(Aws::String&& value) { m_deploymentNameHasBeenSet = true; m_deploymentName = std::move(value); } /** *

The name of the deployment.

*/ inline void SetDeploymentName(const char* value) { m_deploymentNameHasBeenSet = true; m_deploymentName.assign(value); } /** *

The name of the deployment.

*/ inline Deployment& WithDeploymentName(const Aws::String& value) { SetDeploymentName(value); return *this;} /** *

The name of the deployment.

*/ inline Deployment& WithDeploymentName(Aws::String&& value) { SetDeploymentName(std::move(value)); return *this;} /** *

The name of the deployment.

*/ inline Deployment& WithDeploymentName(const char* value) { SetDeploymentName(value); return *this;} /** *

The time at which the deployment was created, expressed in ISO 8601 * format.

*/ inline const Aws::Utils::DateTime& GetCreationTimestamp() const{ return m_creationTimestamp; } /** *

The time at which the deployment was created, expressed in ISO 8601 * format.

*/ inline bool CreationTimestampHasBeenSet() const { return m_creationTimestampHasBeenSet; } /** *

The time at which the deployment was created, expressed in ISO 8601 * format.

*/ inline void SetCreationTimestamp(const Aws::Utils::DateTime& value) { m_creationTimestampHasBeenSet = true; m_creationTimestamp = value; } /** *

The time at which the deployment was created, expressed in ISO 8601 * format.

*/ inline void SetCreationTimestamp(Aws::Utils::DateTime&& value) { m_creationTimestampHasBeenSet = true; m_creationTimestamp = std::move(value); } /** *

The time at which the deployment was created, expressed in ISO 8601 * format.

*/ inline Deployment& WithCreationTimestamp(const Aws::Utils::DateTime& value) { SetCreationTimestamp(value); return *this;} /** *

The time at which the deployment was created, expressed in ISO 8601 * format.

*/ inline Deployment& WithCreationTimestamp(Aws::Utils::DateTime&& value) { SetCreationTimestamp(std::move(value)); return *this;} /** *

The status of the deployment.

*/ inline const DeploymentStatus& GetDeploymentStatus() const{ return m_deploymentStatus; } /** *

The status of the deployment.

*/ inline bool DeploymentStatusHasBeenSet() const { return m_deploymentStatusHasBeenSet; } /** *

The status of the deployment.

*/ inline void SetDeploymentStatus(const DeploymentStatus& value) { m_deploymentStatusHasBeenSet = true; m_deploymentStatus = value; } /** *

The status of the deployment.

*/ inline void SetDeploymentStatus(DeploymentStatus&& value) { m_deploymentStatusHasBeenSet = true; m_deploymentStatus = std::move(value); } /** *

The status of the deployment.

*/ inline Deployment& WithDeploymentStatus(const DeploymentStatus& value) { SetDeploymentStatus(value); return *this;} /** *

The status of the deployment.

*/ inline Deployment& WithDeploymentStatus(DeploymentStatus&& value) { SetDeploymentStatus(std::move(value)); return *this;} /** *

Whether or not the deployment is the latest revision for its target.

*/ inline bool GetIsLatestForTarget() const{ return m_isLatestForTarget; } /** *

Whether or not the deployment is the latest revision for its target.

*/ inline bool IsLatestForTargetHasBeenSet() const { return m_isLatestForTargetHasBeenSet; } /** *

Whether or not the deployment is the latest revision for its target.

*/ inline void SetIsLatestForTarget(bool value) { m_isLatestForTargetHasBeenSet = true; m_isLatestForTarget = value; } /** *

Whether or not the deployment is the latest revision for its target.

*/ inline Deployment& WithIsLatestForTarget(bool value) { SetIsLatestForTarget(value); return *this;} /** *

The parent deployment's target ARN * within a subdeployment.

*/ inline const Aws::String& GetParentTargetArn() const{ return m_parentTargetArn; } /** *

The parent deployment's target ARN * within a subdeployment.

*/ inline bool ParentTargetArnHasBeenSet() const { return m_parentTargetArnHasBeenSet; } /** *

The parent deployment's target ARN * within a subdeployment.

*/ inline void SetParentTargetArn(const Aws::String& value) { m_parentTargetArnHasBeenSet = true; m_parentTargetArn = value; } /** *

The parent deployment's target ARN * within a subdeployment.

*/ inline void SetParentTargetArn(Aws::String&& value) { m_parentTargetArnHasBeenSet = true; m_parentTargetArn = std::move(value); } /** *

The parent deployment's target ARN * within a subdeployment.

*/ inline void SetParentTargetArn(const char* value) { m_parentTargetArnHasBeenSet = true; m_parentTargetArn.assign(value); } /** *

The parent deployment's target ARN * within a subdeployment.

*/ inline Deployment& WithParentTargetArn(const Aws::String& value) { SetParentTargetArn(value); return *this;} /** *

The parent deployment's target ARN * within a subdeployment.

*/ inline Deployment& WithParentTargetArn(Aws::String&& value) { SetParentTargetArn(std::move(value)); return *this;} /** *

The parent deployment's target ARN * within a subdeployment.

*/ inline Deployment& WithParentTargetArn(const char* value) { SetParentTargetArn(value); return *this;} private: Aws::String m_targetArn; bool m_targetArnHasBeenSet = false; Aws::String m_revisionId; bool m_revisionIdHasBeenSet = false; Aws::String m_deploymentId; bool m_deploymentIdHasBeenSet = false; Aws::String m_deploymentName; bool m_deploymentNameHasBeenSet = false; Aws::Utils::DateTime m_creationTimestamp; bool m_creationTimestampHasBeenSet = false; DeploymentStatus m_deploymentStatus; bool m_deploymentStatusHasBeenSet = false; bool m_isLatestForTarget; bool m_isLatestForTargetHasBeenSet = false; Aws::String m_parentTargetArn; bool m_parentTargetArnHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws