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

Returns information about a cluster.

See * Also:

AWS API * Reference

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

The Amazon Resource Name (ARN) that uniquely identifies a * cluster operation.

*/ inline const Aws::String& GetActiveOperationArn() const{ return m_activeOperationArn; } /** *

The Amazon Resource Name (ARN) that uniquely identifies a * cluster operation.

*/ inline bool ActiveOperationArnHasBeenSet() const { return m_activeOperationArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) that uniquely identifies a * cluster operation.

*/ inline void SetActiveOperationArn(const Aws::String& value) { m_activeOperationArnHasBeenSet = true; m_activeOperationArn = value; } /** *

The Amazon Resource Name (ARN) that uniquely identifies a * cluster operation.

*/ inline void SetActiveOperationArn(Aws::String&& value) { m_activeOperationArnHasBeenSet = true; m_activeOperationArn = std::move(value); } /** *

The Amazon Resource Name (ARN) that uniquely identifies a * cluster operation.

*/ inline void SetActiveOperationArn(const char* value) { m_activeOperationArnHasBeenSet = true; m_activeOperationArn.assign(value); } /** *

The Amazon Resource Name (ARN) that uniquely identifies a * cluster operation.

*/ inline Cluster& WithActiveOperationArn(const Aws::String& value) { SetActiveOperationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) that uniquely identifies a * cluster operation.

*/ inline Cluster& WithActiveOperationArn(Aws::String&& value) { SetActiveOperationArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) that uniquely identifies a * cluster operation.

*/ inline Cluster& WithActiveOperationArn(const char* value) { SetActiveOperationArn(value); return *this;} /** *

Cluster Type.

*/ inline const ClusterType& GetClusterType() const{ return m_clusterType; } /** *

Cluster Type.

*/ inline bool ClusterTypeHasBeenSet() const { return m_clusterTypeHasBeenSet; } /** *

Cluster Type.

*/ inline void SetClusterType(const ClusterType& value) { m_clusterTypeHasBeenSet = true; m_clusterType = value; } /** *

Cluster Type.

*/ inline void SetClusterType(ClusterType&& value) { m_clusterTypeHasBeenSet = true; m_clusterType = std::move(value); } /** *

Cluster Type.

*/ inline Cluster& WithClusterType(const ClusterType& value) { SetClusterType(value); return *this;} /** *

Cluster Type.

*/ inline Cluster& WithClusterType(ClusterType&& value) { SetClusterType(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) that uniquely identifies the * cluster.

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

The Amazon Resource Name (ARN) that uniquely identifies the * cluster.

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

The Amazon Resource Name (ARN) that uniquely identifies the * cluster.

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

The Amazon Resource Name (ARN) that uniquely identifies the * cluster.

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

The Amazon Resource Name (ARN) that uniquely identifies the * cluster.

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

The Amazon Resource Name (ARN) that uniquely identifies the * cluster.

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

The Amazon Resource Name (ARN) that uniquely identifies the * cluster.

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

The Amazon Resource Name (ARN) that uniquely identifies the * cluster.

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

The name of the cluster.

*/ inline const Aws::String& GetClusterName() const{ return m_clusterName; } /** *

The name of the cluster.

*/ inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } /** *

The name of the cluster.

*/ inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } /** *

The name of the cluster.

*/ inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } /** *

The name of the cluster.

*/ inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } /** *

The name of the cluster.

*/ inline Cluster& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} /** *

The name of the cluster.

*/ inline Cluster& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} /** *

The name of the cluster.

*/ inline Cluster& WithClusterName(const char* value) { SetClusterName(value); return *this;} /** *

The time when the cluster was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The time when the cluster was created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The time when the cluster was created.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The time when the cluster was created.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The time when the cluster was created.

*/ inline Cluster& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The time when the cluster was created.

*/ inline Cluster& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The current version of the MSK cluster.

*/ inline const Aws::String& GetCurrentVersion() const{ return m_currentVersion; } /** *

The current version of the MSK cluster.

*/ inline bool CurrentVersionHasBeenSet() const { return m_currentVersionHasBeenSet; } /** *

The current version of the MSK cluster.

*/ inline void SetCurrentVersion(const Aws::String& value) { m_currentVersionHasBeenSet = true; m_currentVersion = value; } /** *

The current version of the MSK cluster.

*/ inline void SetCurrentVersion(Aws::String&& value) { m_currentVersionHasBeenSet = true; m_currentVersion = std::move(value); } /** *

The current version of the MSK cluster.

*/ inline void SetCurrentVersion(const char* value) { m_currentVersionHasBeenSet = true; m_currentVersion.assign(value); } /** *

The current version of the MSK cluster.

*/ inline Cluster& WithCurrentVersion(const Aws::String& value) { SetCurrentVersion(value); return *this;} /** *

The current version of the MSK cluster.

*/ inline Cluster& WithCurrentVersion(Aws::String&& value) { SetCurrentVersion(std::move(value)); return *this;} /** *

The current version of the MSK cluster.

*/ inline Cluster& WithCurrentVersion(const char* value) { SetCurrentVersion(value); return *this;} /** *

The state of the cluster. The possible states are ACTIVE, * CREATING, DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and * UPDATING.

*/ inline const ClusterState& GetState() const{ return m_state; } /** *

The state of the cluster. The possible states are ACTIVE, * CREATING, DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and * UPDATING.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The state of the cluster. The possible states are ACTIVE, * CREATING, DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and * UPDATING.

*/ inline void SetState(const ClusterState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The state of the cluster. The possible states are ACTIVE, * CREATING, DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and * UPDATING.

*/ inline void SetState(ClusterState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The state of the cluster. The possible states are ACTIVE, * CREATING, DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and * UPDATING.

*/ inline Cluster& WithState(const ClusterState& value) { SetState(value); return *this;} /** *

The state of the cluster. The possible states are ACTIVE, * CREATING, DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and * UPDATING.

*/ inline Cluster& WithState(ClusterState&& value) { SetState(std::move(value)); return *this;} /** *

State Info for the Amazon MSK cluster.

*/ inline const StateInfo& GetStateInfo() const{ return m_stateInfo; } /** *

State Info for the Amazon MSK cluster.

*/ inline bool StateInfoHasBeenSet() const { return m_stateInfoHasBeenSet; } /** *

State Info for the Amazon MSK cluster.

*/ inline void SetStateInfo(const StateInfo& value) { m_stateInfoHasBeenSet = true; m_stateInfo = value; } /** *

State Info for the Amazon MSK cluster.

*/ inline void SetStateInfo(StateInfo&& value) { m_stateInfoHasBeenSet = true; m_stateInfo = std::move(value); } /** *

State Info for the Amazon MSK cluster.

*/ inline Cluster& WithStateInfo(const StateInfo& value) { SetStateInfo(value); return *this;} /** *

State Info for the Amazon MSK cluster.

*/ inline Cluster& WithStateInfo(StateInfo&& value) { SetStateInfo(std::move(value)); return *this;} /** *

Tags attached to the cluster.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

Tags attached to the cluster.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Tags attached to the cluster.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Tags attached to the cluster.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Tags attached to the cluster.

*/ inline Cluster& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

Tags attached to the cluster.

*/ inline Cluster& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

Tags attached to the cluster.

*/ inline Cluster& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

Tags attached to the cluster.

*/ inline Cluster& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

Tags attached to the cluster.

*/ inline Cluster& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

Tags attached to the cluster.

*/ inline Cluster& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

Tags attached to the cluster.

*/ inline Cluster& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

Tags attached to the cluster.

*/ inline Cluster& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

Tags attached to the cluster.

*/ inline Cluster& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

Information about the provisioned cluster.

*/ inline const Provisioned& GetProvisioned() const{ return m_provisioned; } /** *

Information about the provisioned cluster.

*/ inline bool ProvisionedHasBeenSet() const { return m_provisionedHasBeenSet; } /** *

Information about the provisioned cluster.

*/ inline void SetProvisioned(const Provisioned& value) { m_provisionedHasBeenSet = true; m_provisioned = value; } /** *

Information about the provisioned cluster.

*/ inline void SetProvisioned(Provisioned&& value) { m_provisionedHasBeenSet = true; m_provisioned = std::move(value); } /** *

Information about the provisioned cluster.

*/ inline Cluster& WithProvisioned(const Provisioned& value) { SetProvisioned(value); return *this;} /** *

Information about the provisioned cluster.

*/ inline Cluster& WithProvisioned(Provisioned&& value) { SetProvisioned(std::move(value)); return *this;} /** *

Information about the serverless cluster.

*/ inline const Serverless& GetServerless() const{ return m_serverless; } /** *

Information about the serverless cluster.

*/ inline bool ServerlessHasBeenSet() const { return m_serverlessHasBeenSet; } /** *

Information about the serverless cluster.

*/ inline void SetServerless(const Serverless& value) { m_serverlessHasBeenSet = true; m_serverless = value; } /** *

Information about the serverless cluster.

*/ inline void SetServerless(Serverless&& value) { m_serverlessHasBeenSet = true; m_serverless = std::move(value); } /** *

Information about the serverless cluster.

*/ inline Cluster& WithServerless(const Serverless& value) { SetServerless(value); return *this;} /** *

Information about the serverless cluster.

*/ inline Cluster& WithServerless(Serverless&& value) { SetServerless(std::move(value)); return *this;} private: Aws::String m_activeOperationArn; bool m_activeOperationArnHasBeenSet = false; ClusterType m_clusterType; bool m_clusterTypeHasBeenSet = false; Aws::String m_clusterArn; bool m_clusterArnHasBeenSet = false; Aws::String m_clusterName; bool m_clusterNameHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::String m_currentVersion; bool m_currentVersionHasBeenSet = false; ClusterState m_state; bool m_stateHasBeenSet = false; StateInfo m_stateInfo; bool m_stateInfoHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Provisioned m_provisioned; bool m_provisionedHasBeenSet = false; Serverless m_serverless; bool m_serverlessHasBeenSet = false; }; } // namespace Model } // namespace Kafka } // namespace Aws