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

Provides details about an Amazon ECS cluster.

See Also:

AWS * API Reference

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The number of services that are running on the cluster in an * ACTIVE state. You can view these services with the Amazon ECS * ListServices API operation.

*/ inline int GetActiveServicesCount() const{ return m_activeServicesCount; } /** *

The number of services that are running on the cluster in an * ACTIVE state. You can view these services with the Amazon ECS * ListServices API operation.

*/ inline bool ActiveServicesCountHasBeenSet() const { return m_activeServicesCountHasBeenSet; } /** *

The number of services that are running on the cluster in an * ACTIVE state. You can view these services with the Amazon ECS * ListServices API operation.

*/ inline void SetActiveServicesCount(int value) { m_activeServicesCountHasBeenSet = true; m_activeServicesCount = value; } /** *

The number of services that are running on the cluster in an * ACTIVE state. You can view these services with the Amazon ECS * ListServices API operation.

*/ inline AwsEcsClusterDetails& WithActiveServicesCount(int value) { SetActiveServicesCount(value); return *this;} /** *

The short name of one or more capacity providers to associate with the * cluster.

*/ inline const Aws::Vector& GetCapacityProviders() const{ return m_capacityProviders; } /** *

The short name of one or more capacity providers to associate with the * cluster.

*/ inline bool CapacityProvidersHasBeenSet() const { return m_capacityProvidersHasBeenSet; } /** *

The short name of one or more capacity providers to associate with the * cluster.

*/ inline void SetCapacityProviders(const Aws::Vector& value) { m_capacityProvidersHasBeenSet = true; m_capacityProviders = value; } /** *

The short name of one or more capacity providers to associate with the * cluster.

*/ inline void SetCapacityProviders(Aws::Vector&& value) { m_capacityProvidersHasBeenSet = true; m_capacityProviders = std::move(value); } /** *

The short name of one or more capacity providers to associate with the * cluster.

*/ inline AwsEcsClusterDetails& WithCapacityProviders(const Aws::Vector& value) { SetCapacityProviders(value); return *this;} /** *

The short name of one or more capacity providers to associate with the * cluster.

*/ inline AwsEcsClusterDetails& WithCapacityProviders(Aws::Vector&& value) { SetCapacityProviders(std::move(value)); return *this;} /** *

The short name of one or more capacity providers to associate with the * cluster.

*/ inline AwsEcsClusterDetails& AddCapacityProviders(const Aws::String& value) { m_capacityProvidersHasBeenSet = true; m_capacityProviders.push_back(value); return *this; } /** *

The short name of one or more capacity providers to associate with the * cluster.

*/ inline AwsEcsClusterDetails& AddCapacityProviders(Aws::String&& value) { m_capacityProvidersHasBeenSet = true; m_capacityProviders.push_back(std::move(value)); return *this; } /** *

The short name of one or more capacity providers to associate with the * cluster.

*/ inline AwsEcsClusterDetails& AddCapacityProviders(const char* value) { m_capacityProvidersHasBeenSet = true; m_capacityProviders.push_back(value); return *this; } /** *

The setting to use to create the cluster. Specifically used to configure * whether to enable CloudWatch Container Insights for the cluster.

*/ inline const Aws::Vector& GetClusterSettings() const{ return m_clusterSettings; } /** *

The setting to use to create the cluster. Specifically used to configure * whether to enable CloudWatch Container Insights for the cluster.

*/ inline bool ClusterSettingsHasBeenSet() const { return m_clusterSettingsHasBeenSet; } /** *

The setting to use to create the cluster. Specifically used to configure * whether to enable CloudWatch Container Insights for the cluster.

*/ inline void SetClusterSettings(const Aws::Vector& value) { m_clusterSettingsHasBeenSet = true; m_clusterSettings = value; } /** *

The setting to use to create the cluster. Specifically used to configure * whether to enable CloudWatch Container Insights for the cluster.

*/ inline void SetClusterSettings(Aws::Vector&& value) { m_clusterSettingsHasBeenSet = true; m_clusterSettings = std::move(value); } /** *

The setting to use to create the cluster. Specifically used to configure * whether to enable CloudWatch Container Insights for the cluster.

*/ inline AwsEcsClusterDetails& WithClusterSettings(const Aws::Vector& value) { SetClusterSettings(value); return *this;} /** *

The setting to use to create the cluster. Specifically used to configure * whether to enable CloudWatch Container Insights for the cluster.

*/ inline AwsEcsClusterDetails& WithClusterSettings(Aws::Vector&& value) { SetClusterSettings(std::move(value)); return *this;} /** *

The setting to use to create the cluster. Specifically used to configure * whether to enable CloudWatch Container Insights for the cluster.

*/ inline AwsEcsClusterDetails& AddClusterSettings(const AwsEcsClusterClusterSettingsDetails& value) { m_clusterSettingsHasBeenSet = true; m_clusterSettings.push_back(value); return *this; } /** *

The setting to use to create the cluster. Specifically used to configure * whether to enable CloudWatch Container Insights for the cluster.

*/ inline AwsEcsClusterDetails& AddClusterSettings(AwsEcsClusterClusterSettingsDetails&& value) { m_clusterSettingsHasBeenSet = true; m_clusterSettings.push_back(std::move(value)); return *this; } /** *

The run command configuration for the cluster.

*/ inline const AwsEcsClusterConfigurationDetails& GetConfiguration() const{ return m_configuration; } /** *

The run command configuration for the cluster.

*/ inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } /** *

The run command configuration for the cluster.

*/ inline void SetConfiguration(const AwsEcsClusterConfigurationDetails& value) { m_configurationHasBeenSet = true; m_configuration = value; } /** *

The run command configuration for the cluster.

*/ inline void SetConfiguration(AwsEcsClusterConfigurationDetails&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } /** *

The run command configuration for the cluster.

*/ inline AwsEcsClusterDetails& WithConfiguration(const AwsEcsClusterConfigurationDetails& value) { SetConfiguration(value); return *this;} /** *

The run command configuration for the cluster.

*/ inline AwsEcsClusterDetails& WithConfiguration(AwsEcsClusterConfigurationDetails&& value) { SetConfiguration(std::move(value)); return *this;} /** *

The default capacity provider strategy for the cluster. The default capacity * provider strategy is used when services or tasks are run without a specified * launch type or capacity provider strategy.

*/ inline const Aws::Vector& GetDefaultCapacityProviderStrategy() const{ return m_defaultCapacityProviderStrategy; } /** *

The default capacity provider strategy for the cluster. The default capacity * provider strategy is used when services or tasks are run without a specified * launch type or capacity provider strategy.

*/ inline bool DefaultCapacityProviderStrategyHasBeenSet() const { return m_defaultCapacityProviderStrategyHasBeenSet; } /** *

The default capacity provider strategy for the cluster. The default capacity * provider strategy is used when services or tasks are run without a specified * launch type or capacity provider strategy.

*/ inline void SetDefaultCapacityProviderStrategy(const Aws::Vector& value) { m_defaultCapacityProviderStrategyHasBeenSet = true; m_defaultCapacityProviderStrategy = value; } /** *

The default capacity provider strategy for the cluster. The default capacity * provider strategy is used when services or tasks are run without a specified * launch type or capacity provider strategy.

*/ inline void SetDefaultCapacityProviderStrategy(Aws::Vector&& value) { m_defaultCapacityProviderStrategyHasBeenSet = true; m_defaultCapacityProviderStrategy = std::move(value); } /** *

The default capacity provider strategy for the cluster. The default capacity * provider strategy is used when services or tasks are run without a specified * launch type or capacity provider strategy.

*/ inline AwsEcsClusterDetails& WithDefaultCapacityProviderStrategy(const Aws::Vector& value) { SetDefaultCapacityProviderStrategy(value); return *this;} /** *

The default capacity provider strategy for the cluster. The default capacity * provider strategy is used when services or tasks are run without a specified * launch type or capacity provider strategy.

*/ inline AwsEcsClusterDetails& WithDefaultCapacityProviderStrategy(Aws::Vector&& value) { SetDefaultCapacityProviderStrategy(std::move(value)); return *this;} /** *

The default capacity provider strategy for the cluster. The default capacity * provider strategy is used when services or tasks are run without a specified * launch type or capacity provider strategy.

*/ inline AwsEcsClusterDetails& AddDefaultCapacityProviderStrategy(const AwsEcsClusterDefaultCapacityProviderStrategyDetails& value) { m_defaultCapacityProviderStrategyHasBeenSet = true; m_defaultCapacityProviderStrategy.push_back(value); return *this; } /** *

The default capacity provider strategy for the cluster. The default capacity * provider strategy is used when services or tasks are run without a specified * launch type or capacity provider strategy.

*/ inline AwsEcsClusterDetails& AddDefaultCapacityProviderStrategy(AwsEcsClusterDefaultCapacityProviderStrategyDetails&& value) { m_defaultCapacityProviderStrategyHasBeenSet = true; m_defaultCapacityProviderStrategy.push_back(std::move(value)); return *this; } /** *

A name that you use to identify your cluster.

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

A name that you use to identify your cluster.

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

A name that you use to identify your cluster.

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

A name that you use to identify your cluster.

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

A name that you use to identify your cluster.

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

A name that you use to identify your cluster.

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

A name that you use to identify your cluster.

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

A name that you use to identify your cluster.

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

The number of container instances registered into the cluster. This includes * container instances in both ACTIVE and DRAINING * status.

*/ inline int GetRegisteredContainerInstancesCount() const{ return m_registeredContainerInstancesCount; } /** *

The number of container instances registered into the cluster. This includes * container instances in both ACTIVE and DRAINING * status.

*/ inline bool RegisteredContainerInstancesCountHasBeenSet() const { return m_registeredContainerInstancesCountHasBeenSet; } /** *

The number of container instances registered into the cluster. This includes * container instances in both ACTIVE and DRAINING * status.

*/ inline void SetRegisteredContainerInstancesCount(int value) { m_registeredContainerInstancesCountHasBeenSet = true; m_registeredContainerInstancesCount = value; } /** *

The number of container instances registered into the cluster. This includes * container instances in both ACTIVE and DRAINING * status.

*/ inline AwsEcsClusterDetails& WithRegisteredContainerInstancesCount(int value) { SetRegisteredContainerInstancesCount(value); return *this;} /** *

The number of tasks in the cluster that are in the RUNNING * state.

*/ inline int GetRunningTasksCount() const{ return m_runningTasksCount; } /** *

The number of tasks in the cluster that are in the RUNNING * state.

*/ inline bool RunningTasksCountHasBeenSet() const { return m_runningTasksCountHasBeenSet; } /** *

The number of tasks in the cluster that are in the RUNNING * state.

*/ inline void SetRunningTasksCount(int value) { m_runningTasksCountHasBeenSet = true; m_runningTasksCount = value; } /** *

The number of tasks in the cluster that are in the RUNNING * state.

*/ inline AwsEcsClusterDetails& WithRunningTasksCount(int value) { SetRunningTasksCount(value); return *this;} /** *

The status of the cluster.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The status of the cluster.

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

The status of the cluster.

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

The status of the cluster.

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

The status of the cluster.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The status of the cluster.

*/ inline AwsEcsClusterDetails& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The status of the cluster.

*/ inline AwsEcsClusterDetails& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The status of the cluster.

*/ inline AwsEcsClusterDetails& WithStatus(const char* value) { SetStatus(value); return *this;} private: Aws::String m_clusterArn; bool m_clusterArnHasBeenSet = false; int m_activeServicesCount; bool m_activeServicesCountHasBeenSet = false; Aws::Vector m_capacityProviders; bool m_capacityProvidersHasBeenSet = false; Aws::Vector m_clusterSettings; bool m_clusterSettingsHasBeenSet = false; AwsEcsClusterConfigurationDetails m_configuration; bool m_configurationHasBeenSet = false; Aws::Vector m_defaultCapacityProviderStrategy; bool m_defaultCapacityProviderStrategyHasBeenSet = false; Aws::String m_clusterName; bool m_clusterNameHasBeenSet = false; int m_registeredContainerInstancesCount; bool m_registeredContainerInstancesCountHasBeenSet = false; int m_runningTasksCount; bool m_runningTasksCountHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws