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

The summary description of the cluster.

See Also:

AWS * API Reference

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

The unique identifier for the cluster.

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

The unique identifier for the cluster.

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

The unique identifier for the cluster.

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

The unique identifier for the cluster.

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

The unique identifier for the cluster.

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

The unique identifier for the cluster.

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

The unique identifier for the cluster.

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

The unique identifier for the cluster.

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

The name of the cluster.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the cluster.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the cluster.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the cluster.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the cluster.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the cluster.

*/ inline ClusterSummary& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the cluster.

*/ inline ClusterSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the cluster.

*/ inline ClusterSummary& WithName(const char* value) { SetName(value); return *this;} /** *

The details about the current status of the cluster.

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

The details about the current status of the cluster.

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

The details about the current status of the cluster.

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

The details about the current status of the cluster.

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

The details about the current status of the cluster.

*/ inline ClusterSummary& WithStatus(const ClusterStatus& value) { SetStatus(value); return *this;} /** *

The details about the current status of the cluster.

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

An approximation of the cost of the cluster, represented in m1.small/hours. * This value is incremented one time for every hour an m1.small instance runs. * Larger instances are weighted more, so an Amazon EC2 instance that is roughly * four times more expensive would result in the normalized instance hours being * incremented by four. This result is only an approximation and does not reflect * the actual billing rate.

*/ inline int GetNormalizedInstanceHours() const{ return m_normalizedInstanceHours; } /** *

An approximation of the cost of the cluster, represented in m1.small/hours. * This value is incremented one time for every hour an m1.small instance runs. * Larger instances are weighted more, so an Amazon EC2 instance that is roughly * four times more expensive would result in the normalized instance hours being * incremented by four. This result is only an approximation and does not reflect * the actual billing rate.

*/ inline bool NormalizedInstanceHoursHasBeenSet() const { return m_normalizedInstanceHoursHasBeenSet; } /** *

An approximation of the cost of the cluster, represented in m1.small/hours. * This value is incremented one time for every hour an m1.small instance runs. * Larger instances are weighted more, so an Amazon EC2 instance that is roughly * four times more expensive would result in the normalized instance hours being * incremented by four. This result is only an approximation and does not reflect * the actual billing rate.

*/ inline void SetNormalizedInstanceHours(int value) { m_normalizedInstanceHoursHasBeenSet = true; m_normalizedInstanceHours = value; } /** *

An approximation of the cost of the cluster, represented in m1.small/hours. * This value is incremented one time for every hour an m1.small instance runs. * Larger instances are weighted more, so an Amazon EC2 instance that is roughly * four times more expensive would result in the normalized instance hours being * incremented by four. This result is only an approximation and does not reflect * the actual billing rate.

*/ inline ClusterSummary& WithNormalizedInstanceHours(int value) { SetNormalizedInstanceHours(value); return *this;} /** *

The Amazon Resource Name of the cluster.

*/ inline const Aws::String& GetClusterArn() const{ return m_clusterArn; } /** *

The Amazon Resource Name of the cluster.

*/ inline bool ClusterArnHasBeenSet() const { return m_clusterArnHasBeenSet; } /** *

The Amazon Resource Name of the cluster.

*/ inline void SetClusterArn(const Aws::String& value) { m_clusterArnHasBeenSet = true; m_clusterArn = value; } /** *

The Amazon Resource Name of the cluster.

*/ inline void SetClusterArn(Aws::String&& value) { m_clusterArnHasBeenSet = true; m_clusterArn = std::move(value); } /** *

The Amazon Resource Name of the cluster.

*/ inline void SetClusterArn(const char* value) { m_clusterArnHasBeenSet = true; m_clusterArn.assign(value); } /** *

The Amazon Resource Name of the cluster.

*/ inline ClusterSummary& WithClusterArn(const Aws::String& value) { SetClusterArn(value); return *this;} /** *

The Amazon Resource Name of the cluster.

*/ inline ClusterSummary& WithClusterArn(Aws::String&& value) { SetClusterArn(std::move(value)); return *this;} /** *

The Amazon Resource Name of the cluster.

*/ inline ClusterSummary& WithClusterArn(const char* value) { SetClusterArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *

*/ inline const Aws::String& GetOutpostArn() const{ return m_outpostArn; } /** *

The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *

*/ inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *

*/ inline void SetOutpostArn(const Aws::String& value) { m_outpostArnHasBeenSet = true; m_outpostArn = value; } /** *

The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *

*/ inline void SetOutpostArn(Aws::String&& value) { m_outpostArnHasBeenSet = true; m_outpostArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *

*/ inline void SetOutpostArn(const char* value) { m_outpostArnHasBeenSet = true; m_outpostArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *

*/ inline ClusterSummary& WithOutpostArn(const Aws::String& value) { SetOutpostArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *

*/ inline ClusterSummary& WithOutpostArn(Aws::String&& value) { SetOutpostArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *

*/ inline ClusterSummary& WithOutpostArn(const char* value) { SetOutpostArn(value); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; ClusterStatus m_status; bool m_statusHasBeenSet = false; int m_normalizedInstanceHours; bool m_normalizedInstanceHoursHasBeenSet = false; Aws::String m_clusterArn; bool m_clusterArnHasBeenSet = false; Aws::String m_outpostArn; bool m_outpostArnHasBeenSet = false; }; } // namespace Model } // namespace EMR } // namespace Aws