/** * 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 { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace ElasticBeanstalk { namespace Model { /** *

Detailed health information about an Amazon EC2 instance in your Elastic * Beanstalk environment.

See Also:

AWS * API Reference

*/ class SingleInstanceHealth { public: AWS_ELASTICBEANSTALK_API SingleInstanceHealth(); AWS_ELASTICBEANSTALK_API SingleInstanceHealth(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICBEANSTALK_API SingleInstanceHealth& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICBEANSTALK_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_ELASTICBEANSTALK_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The ID of the Amazon EC2 instance.

*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *

The ID of the Amazon EC2 instance.

*/ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** *

The ID of the Amazon EC2 instance.

*/ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } /** *

The ID of the Amazon EC2 instance.

*/ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } /** *

The ID of the Amazon EC2 instance.

*/ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } /** *

The ID of the Amazon EC2 instance.

*/ inline SingleInstanceHealth& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *

The ID of the Amazon EC2 instance.

*/ inline SingleInstanceHealth& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** *

The ID of the Amazon EC2 instance.

*/ inline SingleInstanceHealth& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} /** *

Returns the health status of the specified instance. For more information, * see Health * Colors and Statuses.

*/ inline const Aws::String& GetHealthStatus() const{ return m_healthStatus; } /** *

Returns the health status of the specified instance. For more information, * see Health * Colors and Statuses.

*/ inline bool HealthStatusHasBeenSet() const { return m_healthStatusHasBeenSet; } /** *

Returns the health status of the specified instance. For more information, * see Health * Colors and Statuses.

*/ inline void SetHealthStatus(const Aws::String& value) { m_healthStatusHasBeenSet = true; m_healthStatus = value; } /** *

Returns the health status of the specified instance. For more information, * see Health * Colors and Statuses.

*/ inline void SetHealthStatus(Aws::String&& value) { m_healthStatusHasBeenSet = true; m_healthStatus = std::move(value); } /** *

Returns the health status of the specified instance. For more information, * see Health * Colors and Statuses.

*/ inline void SetHealthStatus(const char* value) { m_healthStatusHasBeenSet = true; m_healthStatus.assign(value); } /** *

Returns the health status of the specified instance. For more information, * see Health * Colors and Statuses.

*/ inline SingleInstanceHealth& WithHealthStatus(const Aws::String& value) { SetHealthStatus(value); return *this;} /** *

Returns the health status of the specified instance. For more information, * see Health * Colors and Statuses.

*/ inline SingleInstanceHealth& WithHealthStatus(Aws::String&& value) { SetHealthStatus(std::move(value)); return *this;} /** *

Returns the health status of the specified instance. For more information, * see Health * Colors and Statuses.

*/ inline SingleInstanceHealth& WithHealthStatus(const char* value) { SetHealthStatus(value); return *this;} /** *

Represents the color indicator that gives you information about the health of * the EC2 instance. For more information, see Health * Colors and Statuses.

*/ inline const Aws::String& GetColor() const{ return m_color; } /** *

Represents the color indicator that gives you information about the health of * the EC2 instance. For more information, see Health * Colors and Statuses.

*/ inline bool ColorHasBeenSet() const { return m_colorHasBeenSet; } /** *

Represents the color indicator that gives you information about the health of * the EC2 instance. For more information, see Health * Colors and Statuses.

*/ inline void SetColor(const Aws::String& value) { m_colorHasBeenSet = true; m_color = value; } /** *

Represents the color indicator that gives you information about the health of * the EC2 instance. For more information, see Health * Colors and Statuses.

*/ inline void SetColor(Aws::String&& value) { m_colorHasBeenSet = true; m_color = std::move(value); } /** *

Represents the color indicator that gives you information about the health of * the EC2 instance. For more information, see Health * Colors and Statuses.

*/ inline void SetColor(const char* value) { m_colorHasBeenSet = true; m_color.assign(value); } /** *

Represents the color indicator that gives you information about the health of * the EC2 instance. For more information, see Health * Colors and Statuses.

*/ inline SingleInstanceHealth& WithColor(const Aws::String& value) { SetColor(value); return *this;} /** *

Represents the color indicator that gives you information about the health of * the EC2 instance. For more information, see Health * Colors and Statuses.

*/ inline SingleInstanceHealth& WithColor(Aws::String&& value) { SetColor(std::move(value)); return *this;} /** *

Represents the color indicator that gives you information about the health of * the EC2 instance. For more information, see Health * Colors and Statuses.

*/ inline SingleInstanceHealth& WithColor(const char* value) { SetColor(value); return *this;} /** *

Represents the causes, which provide more information about the current * health status.

*/ inline const Aws::Vector& GetCauses() const{ return m_causes; } /** *

Represents the causes, which provide more information about the current * health status.

*/ inline bool CausesHasBeenSet() const { return m_causesHasBeenSet; } /** *

Represents the causes, which provide more information about the current * health status.

*/ inline void SetCauses(const Aws::Vector& value) { m_causesHasBeenSet = true; m_causes = value; } /** *

Represents the causes, which provide more information about the current * health status.

*/ inline void SetCauses(Aws::Vector&& value) { m_causesHasBeenSet = true; m_causes = std::move(value); } /** *

Represents the causes, which provide more information about the current * health status.

*/ inline SingleInstanceHealth& WithCauses(const Aws::Vector& value) { SetCauses(value); return *this;} /** *

Represents the causes, which provide more information about the current * health status.

*/ inline SingleInstanceHealth& WithCauses(Aws::Vector&& value) { SetCauses(std::move(value)); return *this;} /** *

Represents the causes, which provide more information about the current * health status.

*/ inline SingleInstanceHealth& AddCauses(const Aws::String& value) { m_causesHasBeenSet = true; m_causes.push_back(value); return *this; } /** *

Represents the causes, which provide more information about the current * health status.

*/ inline SingleInstanceHealth& AddCauses(Aws::String&& value) { m_causesHasBeenSet = true; m_causes.push_back(std::move(value)); return *this; } /** *

Represents the causes, which provide more information about the current * health status.

*/ inline SingleInstanceHealth& AddCauses(const char* value) { m_causesHasBeenSet = true; m_causes.push_back(value); return *this; } /** *

The time at which the EC2 instance was launched.

*/ inline const Aws::Utils::DateTime& GetLaunchedAt() const{ return m_launchedAt; } /** *

The time at which the EC2 instance was launched.

*/ inline bool LaunchedAtHasBeenSet() const { return m_launchedAtHasBeenSet; } /** *

The time at which the EC2 instance was launched.

*/ inline void SetLaunchedAt(const Aws::Utils::DateTime& value) { m_launchedAtHasBeenSet = true; m_launchedAt = value; } /** *

The time at which the EC2 instance was launched.

*/ inline void SetLaunchedAt(Aws::Utils::DateTime&& value) { m_launchedAtHasBeenSet = true; m_launchedAt = std::move(value); } /** *

The time at which the EC2 instance was launched.

*/ inline SingleInstanceHealth& WithLaunchedAt(const Aws::Utils::DateTime& value) { SetLaunchedAt(value); return *this;} /** *

The time at which the EC2 instance was launched.

*/ inline SingleInstanceHealth& WithLaunchedAt(Aws::Utils::DateTime&& value) { SetLaunchedAt(std::move(value)); return *this;} /** *

Request metrics from your application.

*/ inline const ApplicationMetrics& GetApplicationMetrics() const{ return m_applicationMetrics; } /** *

Request metrics from your application.

*/ inline bool ApplicationMetricsHasBeenSet() const { return m_applicationMetricsHasBeenSet; } /** *

Request metrics from your application.

*/ inline void SetApplicationMetrics(const ApplicationMetrics& value) { m_applicationMetricsHasBeenSet = true; m_applicationMetrics = value; } /** *

Request metrics from your application.

*/ inline void SetApplicationMetrics(ApplicationMetrics&& value) { m_applicationMetricsHasBeenSet = true; m_applicationMetrics = std::move(value); } /** *

Request metrics from your application.

*/ inline SingleInstanceHealth& WithApplicationMetrics(const ApplicationMetrics& value) { SetApplicationMetrics(value); return *this;} /** *

Request metrics from your application.

*/ inline SingleInstanceHealth& WithApplicationMetrics(ApplicationMetrics&& value) { SetApplicationMetrics(std::move(value)); return *this;} /** *

Operating system metrics from the instance.

*/ inline const SystemStatus& GetSystem() const{ return m_system; } /** *

Operating system metrics from the instance.

*/ inline bool SystemHasBeenSet() const { return m_systemHasBeenSet; } /** *

Operating system metrics from the instance.

*/ inline void SetSystem(const SystemStatus& value) { m_systemHasBeenSet = true; m_system = value; } /** *

Operating system metrics from the instance.

*/ inline void SetSystem(SystemStatus&& value) { m_systemHasBeenSet = true; m_system = std::move(value); } /** *

Operating system metrics from the instance.

*/ inline SingleInstanceHealth& WithSystem(const SystemStatus& value) { SetSystem(value); return *this;} /** *

Operating system metrics from the instance.

*/ inline SingleInstanceHealth& WithSystem(SystemStatus&& value) { SetSystem(std::move(value)); return *this;} /** *

Information about the most recent deployment to an instance.

*/ inline const Deployment& GetDeployment() const{ return m_deployment; } /** *

Information about the most recent deployment to an instance.

*/ inline bool DeploymentHasBeenSet() const { return m_deploymentHasBeenSet; } /** *

Information about the most recent deployment to an instance.

*/ inline void SetDeployment(const Deployment& value) { m_deploymentHasBeenSet = true; m_deployment = value; } /** *

Information about the most recent deployment to an instance.

*/ inline void SetDeployment(Deployment&& value) { m_deploymentHasBeenSet = true; m_deployment = std::move(value); } /** *

Information about the most recent deployment to an instance.

*/ inline SingleInstanceHealth& WithDeployment(const Deployment& value) { SetDeployment(value); return *this;} /** *

Information about the most recent deployment to an instance.

*/ inline SingleInstanceHealth& WithDeployment(Deployment&& value) { SetDeployment(std::move(value)); return *this;} /** *

The availability zone in which the instance runs.

*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *

The availability zone in which the instance runs.

*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *

The availability zone in which the instance runs.

*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *

The availability zone in which the instance runs.

*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *

The availability zone in which the instance runs.

*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *

The availability zone in which the instance runs.

*/ inline SingleInstanceHealth& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *

The availability zone in which the instance runs.

*/ inline SingleInstanceHealth& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *

The availability zone in which the instance runs.

*/ inline SingleInstanceHealth& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *

The instance's type.

*/ inline const Aws::String& GetInstanceType() const{ return m_instanceType; } /** *

The instance's type.

*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *

The instance's type.

*/ inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *

The instance's type.

*/ inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *

The instance's type.

*/ inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } /** *

The instance's type.

*/ inline SingleInstanceHealth& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} /** *

The instance's type.

*/ inline SingleInstanceHealth& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} /** *

The instance's type.

*/ inline SingleInstanceHealth& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} private: Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; Aws::String m_healthStatus; bool m_healthStatusHasBeenSet = false; Aws::String m_color; bool m_colorHasBeenSet = false; Aws::Vector m_causes; bool m_causesHasBeenSet = false; Aws::Utils::DateTime m_launchedAt; bool m_launchedAtHasBeenSet = false; ApplicationMetrics m_applicationMetrics; bool m_applicationMetricsHasBeenSet = false; SystemStatus m_system; bool m_systemHasBeenSet = false; Deployment m_deployment; bool m_deploymentHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; Aws::String m_instanceType; bool m_instanceTypeHasBeenSet = false; }; } // namespace Model } // namespace ElasticBeanstalk } // namespace Aws