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

A structure for the metadata of a cluster. It includes information like the * CPUs needed, memory of instances, number of instances, and the port used while * establishing a connection.

See Also:

AWS * API Reference

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

The type that determines the hardware of the host computer used for your * cluster instance. Each node type offers different memory and storage * capabilities. Choose a node type based on the requirements of the application or * software that you plan to run on your instance.

You can only specify one * of the following values:

  • kx.s.large – The node * type with a configuration of 12 GiB memory and 2 vCPUs.

  • * kx.s.xlarge – The node type with a configuration of 27 GiB memory * and 4 vCPUs.

  • kx.s.2xlarge – The node type with a * configuration of 54 GiB memory and 8 vCPUs.

  • * kx.s.4xlarge – The node type with a configuration of 108 GiB memory * and 16 vCPUs.

  • kx.s.8xlarge – The node type with * a configuration of 216 GiB memory and 32 vCPUs.

  • * kx.s.16xlarge – The node type with a configuration of 432 GiB * memory and 64 vCPUs.

  • kx.s.32xlarge – The node * type with a configuration of 864 GiB memory and 128 vCPUs.

*/ inline const Aws::String& GetNodeType() const{ return m_nodeType; } /** *

The type that determines the hardware of the host computer used for your * cluster instance. Each node type offers different memory and storage * capabilities. Choose a node type based on the requirements of the application or * software that you plan to run on your instance.

You can only specify one * of the following values:

  • kx.s.large – The node * type with a configuration of 12 GiB memory and 2 vCPUs.

  • * kx.s.xlarge – The node type with a configuration of 27 GiB memory * and 4 vCPUs.

  • kx.s.2xlarge – The node type with a * configuration of 54 GiB memory and 8 vCPUs.

  • * kx.s.4xlarge – The node type with a configuration of 108 GiB memory * and 16 vCPUs.

  • kx.s.8xlarge – The node type with * a configuration of 216 GiB memory and 32 vCPUs.

  • * kx.s.16xlarge – The node type with a configuration of 432 GiB * memory and 64 vCPUs.

  • kx.s.32xlarge – The node * type with a configuration of 864 GiB memory and 128 vCPUs.

*/ inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } /** *

The type that determines the hardware of the host computer used for your * cluster instance. Each node type offers different memory and storage * capabilities. Choose a node type based on the requirements of the application or * software that you plan to run on your instance.

You can only specify one * of the following values:

  • kx.s.large – The node * type with a configuration of 12 GiB memory and 2 vCPUs.

  • * kx.s.xlarge – The node type with a configuration of 27 GiB memory * and 4 vCPUs.

  • kx.s.2xlarge – The node type with a * configuration of 54 GiB memory and 8 vCPUs.

  • * kx.s.4xlarge – The node type with a configuration of 108 GiB memory * and 16 vCPUs.

  • kx.s.8xlarge – The node type with * a configuration of 216 GiB memory and 32 vCPUs.

  • * kx.s.16xlarge – The node type with a configuration of 432 GiB * memory and 64 vCPUs.

  • kx.s.32xlarge – The node * type with a configuration of 864 GiB memory and 128 vCPUs.

*/ inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } /** *

The type that determines the hardware of the host computer used for your * cluster instance. Each node type offers different memory and storage * capabilities. Choose a node type based on the requirements of the application or * software that you plan to run on your instance.

You can only specify one * of the following values:

  • kx.s.large – The node * type with a configuration of 12 GiB memory and 2 vCPUs.

  • * kx.s.xlarge – The node type with a configuration of 27 GiB memory * and 4 vCPUs.

  • kx.s.2xlarge – The node type with a * configuration of 54 GiB memory and 8 vCPUs.

  • * kx.s.4xlarge – The node type with a configuration of 108 GiB memory * and 16 vCPUs.

  • kx.s.8xlarge – The node type with * a configuration of 216 GiB memory and 32 vCPUs.

  • * kx.s.16xlarge – The node type with a configuration of 432 GiB * memory and 64 vCPUs.

  • kx.s.32xlarge – The node * type with a configuration of 864 GiB memory and 128 vCPUs.

*/ inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } /** *

The type that determines the hardware of the host computer used for your * cluster instance. Each node type offers different memory and storage * capabilities. Choose a node type based on the requirements of the application or * software that you plan to run on your instance.

You can only specify one * of the following values:

  • kx.s.large – The node * type with a configuration of 12 GiB memory and 2 vCPUs.

  • * kx.s.xlarge – The node type with a configuration of 27 GiB memory * and 4 vCPUs.

  • kx.s.2xlarge – The node type with a * configuration of 54 GiB memory and 8 vCPUs.

  • * kx.s.4xlarge – The node type with a configuration of 108 GiB memory * and 16 vCPUs.

  • kx.s.8xlarge – The node type with * a configuration of 216 GiB memory and 32 vCPUs.

  • * kx.s.16xlarge – The node type with a configuration of 432 GiB * memory and 64 vCPUs.

  • kx.s.32xlarge – The node * type with a configuration of 864 GiB memory and 128 vCPUs.

*/ inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); } /** *

The type that determines the hardware of the host computer used for your * cluster instance. Each node type offers different memory and storage * capabilities. Choose a node type based on the requirements of the application or * software that you plan to run on your instance.

You can only specify one * of the following values:

  • kx.s.large – The node * type with a configuration of 12 GiB memory and 2 vCPUs.

  • * kx.s.xlarge – The node type with a configuration of 27 GiB memory * and 4 vCPUs.

  • kx.s.2xlarge – The node type with a * configuration of 54 GiB memory and 8 vCPUs.

  • * kx.s.4xlarge – The node type with a configuration of 108 GiB memory * and 16 vCPUs.

  • kx.s.8xlarge – The node type with * a configuration of 216 GiB memory and 32 vCPUs.

  • * kx.s.16xlarge – The node type with a configuration of 432 GiB * memory and 64 vCPUs.

  • kx.s.32xlarge – The node * type with a configuration of 864 GiB memory and 128 vCPUs.

*/ inline CapacityConfiguration& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;} /** *

The type that determines the hardware of the host computer used for your * cluster instance. Each node type offers different memory and storage * capabilities. Choose a node type based on the requirements of the application or * software that you plan to run on your instance.

You can only specify one * of the following values:

  • kx.s.large – The node * type with a configuration of 12 GiB memory and 2 vCPUs.

  • * kx.s.xlarge – The node type with a configuration of 27 GiB memory * and 4 vCPUs.

  • kx.s.2xlarge – The node type with a * configuration of 54 GiB memory and 8 vCPUs.

  • * kx.s.4xlarge – The node type with a configuration of 108 GiB memory * and 16 vCPUs.

  • kx.s.8xlarge – The node type with * a configuration of 216 GiB memory and 32 vCPUs.

  • * kx.s.16xlarge – The node type with a configuration of 432 GiB * memory and 64 vCPUs.

  • kx.s.32xlarge – The node * type with a configuration of 864 GiB memory and 128 vCPUs.

*/ inline CapacityConfiguration& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;} /** *

The type that determines the hardware of the host computer used for your * cluster instance. Each node type offers different memory and storage * capabilities. Choose a node type based on the requirements of the application or * software that you plan to run on your instance.

You can only specify one * of the following values:

  • kx.s.large – The node * type with a configuration of 12 GiB memory and 2 vCPUs.

  • * kx.s.xlarge – The node type with a configuration of 27 GiB memory * and 4 vCPUs.

  • kx.s.2xlarge – The node type with a * configuration of 54 GiB memory and 8 vCPUs.

  • * kx.s.4xlarge – The node type with a configuration of 108 GiB memory * and 16 vCPUs.

  • kx.s.8xlarge – The node type with * a configuration of 216 GiB memory and 32 vCPUs.

  • * kx.s.16xlarge – The node type with a configuration of 432 GiB * memory and 64 vCPUs.

  • kx.s.32xlarge – The node * type with a configuration of 864 GiB memory and 128 vCPUs.

*/ inline CapacityConfiguration& WithNodeType(const char* value) { SetNodeType(value); return *this;} /** *

The number of instances running in a cluster.

*/ inline int GetNodeCount() const{ return m_nodeCount; } /** *

The number of instances running in a cluster.

*/ inline bool NodeCountHasBeenSet() const { return m_nodeCountHasBeenSet; } /** *

The number of instances running in a cluster.

*/ inline void SetNodeCount(int value) { m_nodeCountHasBeenSet = true; m_nodeCount = value; } /** *

The number of instances running in a cluster.

*/ inline CapacityConfiguration& WithNodeCount(int value) { SetNodeCount(value); return *this;} private: Aws::String m_nodeType; bool m_nodeTypeHasBeenSet = false; int m_nodeCount; bool m_nodeCountHasBeenSet = false; }; } // namespace Model } // namespace finspace } // namespace Aws