/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CodeDeploy { namespace Model { /** *

A target Amazon EC2 or on-premises instance during a deployment that uses * the EC2/On-premises compute platform.

See Also:

AWS * API Reference

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

The unique ID of a deployment.

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

The unique ID of a deployment.

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

The unique ID of a deployment.

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

The unique ID of a deployment.

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

The unique ID of a deployment.

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

The unique ID of a deployment.

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

The unique ID of a deployment.

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

The unique ID of a deployment.

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

The unique ID of a deployment target that has a type of * instanceTarget.

*/ inline const Aws::String& GetTargetId() const{ return m_targetId; } /** *

The unique ID of a deployment target that has a type of * instanceTarget.

*/ inline bool TargetIdHasBeenSet() const { return m_targetIdHasBeenSet; } /** *

The unique ID of a deployment target that has a type of * instanceTarget.

*/ inline void SetTargetId(const Aws::String& value) { m_targetIdHasBeenSet = true; m_targetId = value; } /** *

The unique ID of a deployment target that has a type of * instanceTarget.

*/ inline void SetTargetId(Aws::String&& value) { m_targetIdHasBeenSet = true; m_targetId = std::move(value); } /** *

The unique ID of a deployment target that has a type of * instanceTarget.

*/ inline void SetTargetId(const char* value) { m_targetIdHasBeenSet = true; m_targetId.assign(value); } /** *

The unique ID of a deployment target that has a type of * instanceTarget.

*/ inline InstanceTarget& WithTargetId(const Aws::String& value) { SetTargetId(value); return *this;} /** *

The unique ID of a deployment target that has a type of * instanceTarget.

*/ inline InstanceTarget& WithTargetId(Aws::String&& value) { SetTargetId(std::move(value)); return *this;} /** *

The unique ID of a deployment target that has a type of * instanceTarget.

*/ inline InstanceTarget& WithTargetId(const char* value) { SetTargetId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the target.

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

The Amazon Resource Name (ARN) of the target.

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

The Amazon Resource Name (ARN) of the target.

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

The Amazon Resource Name (ARN) of the target.

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

The Amazon Resource Name (ARN) of the target.

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

The Amazon Resource Name (ARN) of the target.

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

The Amazon Resource Name (ARN) of the target.

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

The Amazon Resource Name (ARN) of the target.

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

The status an EC2/On-premises deployment's target instance.

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

The status an EC2/On-premises deployment's target instance.

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

The status an EC2/On-premises deployment's target instance.

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

The status an EC2/On-premises deployment's target instance.

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

The status an EC2/On-premises deployment's target instance.

*/ inline InstanceTarget& WithStatus(const TargetStatus& value) { SetStatus(value); return *this;} /** *

The status an EC2/On-premises deployment's target instance.

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

The date and time when the target instance was updated by a deployment.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } /** *

The date and time when the target instance was updated by a deployment.

*/ inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } /** *

The date and time when the target instance was updated by a deployment.

*/ inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; } /** *

The date and time when the target instance was updated by a deployment.

*/ inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::move(value); } /** *

The date and time when the target instance was updated by a deployment.

*/ inline InstanceTarget& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} /** *

The date and time when the target instance was updated by a deployment.

*/ inline InstanceTarget& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} /** *

The lifecycle events of the deployment to this target instance.

*/ inline const Aws::Vector& GetLifecycleEvents() const{ return m_lifecycleEvents; } /** *

The lifecycle events of the deployment to this target instance.

*/ inline bool LifecycleEventsHasBeenSet() const { return m_lifecycleEventsHasBeenSet; } /** *

The lifecycle events of the deployment to this target instance.

*/ inline void SetLifecycleEvents(const Aws::Vector& value) { m_lifecycleEventsHasBeenSet = true; m_lifecycleEvents = value; } /** *

The lifecycle events of the deployment to this target instance.

*/ inline void SetLifecycleEvents(Aws::Vector&& value) { m_lifecycleEventsHasBeenSet = true; m_lifecycleEvents = std::move(value); } /** *

The lifecycle events of the deployment to this target instance.

*/ inline InstanceTarget& WithLifecycleEvents(const Aws::Vector& value) { SetLifecycleEvents(value); return *this;} /** *

The lifecycle events of the deployment to this target instance.

*/ inline InstanceTarget& WithLifecycleEvents(Aws::Vector&& value) { SetLifecycleEvents(std::move(value)); return *this;} /** *

The lifecycle events of the deployment to this target instance.

*/ inline InstanceTarget& AddLifecycleEvents(const LifecycleEvent& value) { m_lifecycleEventsHasBeenSet = true; m_lifecycleEvents.push_back(value); return *this; } /** *

The lifecycle events of the deployment to this target instance.

*/ inline InstanceTarget& AddLifecycleEvents(LifecycleEvent&& value) { m_lifecycleEventsHasBeenSet = true; m_lifecycleEvents.push_back(std::move(value)); return *this; } /** *

A label that identifies whether the instance is an original target * (BLUE) or a replacement target (GREEN).

*/ inline const TargetLabel& GetInstanceLabel() const{ return m_instanceLabel; } /** *

A label that identifies whether the instance is an original target * (BLUE) or a replacement target (GREEN).

*/ inline bool InstanceLabelHasBeenSet() const { return m_instanceLabelHasBeenSet; } /** *

A label that identifies whether the instance is an original target * (BLUE) or a replacement target (GREEN).

*/ inline void SetInstanceLabel(const TargetLabel& value) { m_instanceLabelHasBeenSet = true; m_instanceLabel = value; } /** *

A label that identifies whether the instance is an original target * (BLUE) or a replacement target (GREEN).

*/ inline void SetInstanceLabel(TargetLabel&& value) { m_instanceLabelHasBeenSet = true; m_instanceLabel = std::move(value); } /** *

A label that identifies whether the instance is an original target * (BLUE) or a replacement target (GREEN).

*/ inline InstanceTarget& WithInstanceLabel(const TargetLabel& value) { SetInstanceLabel(value); return *this;} /** *

A label that identifies whether the instance is an original target * (BLUE) or a replacement target (GREEN).

*/ inline InstanceTarget& WithInstanceLabel(TargetLabel&& value) { SetInstanceLabel(std::move(value)); return *this;} private: Aws::String m_deploymentId; bool m_deploymentIdHasBeenSet = false; Aws::String m_targetId; bool m_targetIdHasBeenSet = false; Aws::String m_targetArn; bool m_targetArnHasBeenSet = false; TargetStatus m_status; bool m_statusHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedAt; bool m_lastUpdatedAtHasBeenSet = false; Aws::Vector m_lifecycleEvents; bool m_lifecycleEventsHasBeenSet = false; TargetLabel m_instanceLabel; bool m_instanceLabelHasBeenSet = false; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws