/** * 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 #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace finspace { namespace Model { class CreateKxClusterResult { public: AWS_FINSPACE_API CreateKxClusterResult(); AWS_FINSPACE_API CreateKxClusterResult(const Aws::AmazonWebServiceResult& result); AWS_FINSPACE_API CreateKxClusterResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

A unique identifier for the kdb environment.

*/ inline const Aws::String& GetEnvironmentId() const{ return m_environmentId; } /** *

A unique identifier for the kdb environment.

*/ inline void SetEnvironmentId(const Aws::String& value) { m_environmentId = value; } /** *

A unique identifier for the kdb environment.

*/ inline void SetEnvironmentId(Aws::String&& value) { m_environmentId = std::move(value); } /** *

A unique identifier for the kdb environment.

*/ inline void SetEnvironmentId(const char* value) { m_environmentId.assign(value); } /** *

A unique identifier for the kdb environment.

*/ inline CreateKxClusterResult& WithEnvironmentId(const Aws::String& value) { SetEnvironmentId(value); return *this;} /** *

A unique identifier for the kdb environment.

*/ inline CreateKxClusterResult& WithEnvironmentId(Aws::String&& value) { SetEnvironmentId(std::move(value)); return *this;} /** *

A unique identifier for the kdb environment.

*/ inline CreateKxClusterResult& WithEnvironmentId(const char* value) { SetEnvironmentId(value); return *this;} /** *

The status of cluster creation.

  • PENDING – The cluster is * pending creation.

  • CREATING – The cluster creation process is * in progress.

  • CREATE_FAILED – The cluster creation process has * failed.

  • RUNNING – The cluster creation process is running.

    *
  • UPDATING – The cluster is in the process of being updated.

    *
  • DELETING – The cluster is in the process of being deleted.

    *
  • DELETED – The cluster has been deleted.

  • *

    DELETE_FAILED – The cluster failed to delete.

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

The status of cluster creation.

  • PENDING – The cluster is * pending creation.

  • CREATING – The cluster creation process is * in progress.

  • CREATE_FAILED – The cluster creation process has * failed.

  • RUNNING – The cluster creation process is running.

    *
  • UPDATING – The cluster is in the process of being updated.

    *
  • DELETING – The cluster is in the process of being deleted.

    *
  • DELETED – The cluster has been deleted.

  • *

    DELETE_FAILED – The cluster failed to delete.

*/ inline void SetStatus(const KxClusterStatus& value) { m_status = value; } /** *

The status of cluster creation.

  • PENDING – The cluster is * pending creation.

  • CREATING – The cluster creation process is * in progress.

  • CREATE_FAILED – The cluster creation process has * failed.

  • RUNNING – The cluster creation process is running.

    *
  • UPDATING – The cluster is in the process of being updated.

    *
  • DELETING – The cluster is in the process of being deleted.

    *
  • DELETED – The cluster has been deleted.

  • *

    DELETE_FAILED – The cluster failed to delete.

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

The status of cluster creation.

  • PENDING – The cluster is * pending creation.

  • CREATING – The cluster creation process is * in progress.

  • CREATE_FAILED – The cluster creation process has * failed.

  • RUNNING – The cluster creation process is running.

    *
  • UPDATING – The cluster is in the process of being updated.

    *
  • DELETING – The cluster is in the process of being deleted.

    *
  • DELETED – The cluster has been deleted.

  • *

    DELETE_FAILED – The cluster failed to delete.

*/ inline CreateKxClusterResult& WithStatus(const KxClusterStatus& value) { SetStatus(value); return *this;} /** *

The status of cluster creation.

  • PENDING – The cluster is * pending creation.

  • CREATING – The cluster creation process is * in progress.

  • CREATE_FAILED – The cluster creation process has * failed.

  • RUNNING – The cluster creation process is running.

    *
  • UPDATING – The cluster is in the process of being updated.

    *
  • DELETING – The cluster is in the process of being deleted.

    *
  • DELETED – The cluster has been deleted.

  • *

    DELETE_FAILED – The cluster failed to delete.

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

The error message when a failed state occurs.

*/ inline const Aws::String& GetStatusReason() const{ return m_statusReason; } /** *

The error message when a failed state occurs.

*/ inline void SetStatusReason(const Aws::String& value) { m_statusReason = value; } /** *

The error message when a failed state occurs.

*/ inline void SetStatusReason(Aws::String&& value) { m_statusReason = std::move(value); } /** *

The error message when a failed state occurs.

*/ inline void SetStatusReason(const char* value) { m_statusReason.assign(value); } /** *

The error message when a failed state occurs.

*/ inline CreateKxClusterResult& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;} /** *

The error message when a failed state occurs.

*/ inline CreateKxClusterResult& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;} /** *

The error message when a failed state occurs.

*/ inline CreateKxClusterResult& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} /** *

A unique name for the cluster.

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

A unique name for the cluster.

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

A unique name for the cluster.

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

A unique name for the cluster.

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

A unique name for the cluster.

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

A unique name for the cluster.

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

A unique name for the cluster.

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

Specifies the type of KDB database that is being created. The following types * are available:

  • HDB – A Historical Database. The data is only * accessible with read-only permissions from one of the FinSpace managed kdb * databases mounted to the cluster.

  • RDB – A Realtime Database. * This type of database captures all the data from a ticker plant and stores it in * memory until the end of day, after which it writes all of its data to a disk and * reloads the HDB. This cluster type requires local storage for temporary storage * of data during the savedown process. If you specify this field in your request, * you must provide the savedownStorageConfiguration parameter.

    *
  • GATEWAY – A gateway cluster allows you to access data across * processes in kdb systems. It allows you to create your own routing logic using * the initialization scripts and custom code. This type of cluster does not * require a writable local storage.

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

Specifies the type of KDB database that is being created. The following types * are available:

  • HDB – A Historical Database. The data is only * accessible with read-only permissions from one of the FinSpace managed kdb * databases mounted to the cluster.

  • RDB – A Realtime Database. * This type of database captures all the data from a ticker plant and stores it in * memory until the end of day, after which it writes all of its data to a disk and * reloads the HDB. This cluster type requires local storage for temporary storage * of data during the savedown process. If you specify this field in your request, * you must provide the savedownStorageConfiguration parameter.

    *
  • GATEWAY – A gateway cluster allows you to access data across * processes in kdb systems. It allows you to create your own routing logic using * the initialization scripts and custom code. This type of cluster does not * require a writable local storage.

*/ inline void SetClusterType(const KxClusterType& value) { m_clusterType = value; } /** *

Specifies the type of KDB database that is being created. The following types * are available:

  • HDB – A Historical Database. The data is only * accessible with read-only permissions from one of the FinSpace managed kdb * databases mounted to the cluster.

  • RDB – A Realtime Database. * This type of database captures all the data from a ticker plant and stores it in * memory until the end of day, after which it writes all of its data to a disk and * reloads the HDB. This cluster type requires local storage for temporary storage * of data during the savedown process. If you specify this field in your request, * you must provide the savedownStorageConfiguration parameter.

    *
  • GATEWAY – A gateway cluster allows you to access data across * processes in kdb systems. It allows you to create your own routing logic using * the initialization scripts and custom code. This type of cluster does not * require a writable local storage.

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

Specifies the type of KDB database that is being created. The following types * are available:

  • HDB – A Historical Database. The data is only * accessible with read-only permissions from one of the FinSpace managed kdb * databases mounted to the cluster.

  • RDB – A Realtime Database. * This type of database captures all the data from a ticker plant and stores it in * memory until the end of day, after which it writes all of its data to a disk and * reloads the HDB. This cluster type requires local storage for temporary storage * of data during the savedown process. If you specify this field in your request, * you must provide the savedownStorageConfiguration parameter.

    *
  • GATEWAY – A gateway cluster allows you to access data across * processes in kdb systems. It allows you to create your own routing logic using * the initialization scripts and custom code. This type of cluster does not * require a writable local storage.

*/ inline CreateKxClusterResult& WithClusterType(const KxClusterType& value) { SetClusterType(value); return *this;} /** *

Specifies the type of KDB database that is being created. The following types * are available:

  • HDB – A Historical Database. The data is only * accessible with read-only permissions from one of the FinSpace managed kdb * databases mounted to the cluster.

  • RDB – A Realtime Database. * This type of database captures all the data from a ticker plant and stores it in * memory until the end of day, after which it writes all of its data to a disk and * reloads the HDB. This cluster type requires local storage for temporary storage * of data during the savedown process. If you specify this field in your request, * you must provide the savedownStorageConfiguration parameter.

    *
  • GATEWAY – A gateway cluster allows you to access data across * processes in kdb systems. It allows you to create your own routing logic using * the initialization scripts and custom code. This type of cluster does not * require a writable local storage.

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

A list of databases that will be available for querying.

*/ inline const Aws::Vector& GetDatabases() const{ return m_databases; } /** *

A list of databases that will be available for querying.

*/ inline void SetDatabases(const Aws::Vector& value) { m_databases = value; } /** *

A list of databases that will be available for querying.

*/ inline void SetDatabases(Aws::Vector&& value) { m_databases = std::move(value); } /** *

A list of databases that will be available for querying.

*/ inline CreateKxClusterResult& WithDatabases(const Aws::Vector& value) { SetDatabases(value); return *this;} /** *

A list of databases that will be available for querying.

*/ inline CreateKxClusterResult& WithDatabases(Aws::Vector&& value) { SetDatabases(std::move(value)); return *this;} /** *

A list of databases that will be available for querying.

*/ inline CreateKxClusterResult& AddDatabases(const KxDatabaseConfiguration& value) { m_databases.push_back(value); return *this; } /** *

A list of databases that will be available for querying.

*/ inline CreateKxClusterResult& AddDatabases(KxDatabaseConfiguration&& value) { m_databases.push_back(std::move(value)); return *this; } /** *

The configurations for a read only cache storage associated with a cluster. * This cache will be stored as an FSx Lustre that reads from the S3 store.

*/ inline const Aws::Vector& GetCacheStorageConfigurations() const{ return m_cacheStorageConfigurations; } /** *

The configurations for a read only cache storage associated with a cluster. * This cache will be stored as an FSx Lustre that reads from the S3 store.

*/ inline void SetCacheStorageConfigurations(const Aws::Vector& value) { m_cacheStorageConfigurations = value; } /** *

The configurations for a read only cache storage associated with a cluster. * This cache will be stored as an FSx Lustre that reads from the S3 store.

*/ inline void SetCacheStorageConfigurations(Aws::Vector&& value) { m_cacheStorageConfigurations = std::move(value); } /** *

The configurations for a read only cache storage associated with a cluster. * This cache will be stored as an FSx Lustre that reads from the S3 store.

*/ inline CreateKxClusterResult& WithCacheStorageConfigurations(const Aws::Vector& value) { SetCacheStorageConfigurations(value); return *this;} /** *

The configurations for a read only cache storage associated with a cluster. * This cache will be stored as an FSx Lustre that reads from the S3 store.

*/ inline CreateKxClusterResult& WithCacheStorageConfigurations(Aws::Vector&& value) { SetCacheStorageConfigurations(std::move(value)); return *this;} /** *

The configurations for a read only cache storage associated with a cluster. * This cache will be stored as an FSx Lustre that reads from the S3 store.

*/ inline CreateKxClusterResult& AddCacheStorageConfigurations(const KxCacheStorageConfiguration& value) { m_cacheStorageConfigurations.push_back(value); return *this; } /** *

The configurations for a read only cache storage associated with a cluster. * This cache will be stored as an FSx Lustre that reads from the S3 store.

*/ inline CreateKxClusterResult& AddCacheStorageConfigurations(KxCacheStorageConfiguration&& value) { m_cacheStorageConfigurations.push_back(std::move(value)); return *this; } /** *

The configuration based on which FinSpace will scale in or scale out nodes in * your cluster.

*/ inline const AutoScalingConfiguration& GetAutoScalingConfiguration() const{ return m_autoScalingConfiguration; } /** *

The configuration based on which FinSpace will scale in or scale out nodes in * your cluster.

*/ inline void SetAutoScalingConfiguration(const AutoScalingConfiguration& value) { m_autoScalingConfiguration = value; } /** *

The configuration based on which FinSpace will scale in or scale out nodes in * your cluster.

*/ inline void SetAutoScalingConfiguration(AutoScalingConfiguration&& value) { m_autoScalingConfiguration = std::move(value); } /** *

The configuration based on which FinSpace will scale in or scale out nodes in * your cluster.

*/ inline CreateKxClusterResult& WithAutoScalingConfiguration(const AutoScalingConfiguration& value) { SetAutoScalingConfiguration(value); return *this;} /** *

The configuration based on which FinSpace will scale in or scale out nodes in * your cluster.

*/ inline CreateKxClusterResult& WithAutoScalingConfiguration(AutoScalingConfiguration&& value) { SetAutoScalingConfiguration(std::move(value)); return *this;} /** *

A description of the cluster.

*/ inline const Aws::String& GetClusterDescription() const{ return m_clusterDescription; } /** *

A description of the cluster.

*/ inline void SetClusterDescription(const Aws::String& value) { m_clusterDescription = value; } /** *

A description of the cluster.

*/ inline void SetClusterDescription(Aws::String&& value) { m_clusterDescription = std::move(value); } /** *

A description of the cluster.

*/ inline void SetClusterDescription(const char* value) { m_clusterDescription.assign(value); } /** *

A description of the cluster.

*/ inline CreateKxClusterResult& WithClusterDescription(const Aws::String& value) { SetClusterDescription(value); return *this;} /** *

A description of the cluster.

*/ inline CreateKxClusterResult& WithClusterDescription(Aws::String&& value) { SetClusterDescription(std::move(value)); return *this;} /** *

A description of the cluster.

*/ inline CreateKxClusterResult& WithClusterDescription(const char* value) { SetClusterDescription(value); return *this;} /** *

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.

*/ inline const CapacityConfiguration& GetCapacityConfiguration() const{ return m_capacityConfiguration; } /** *

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.

*/ inline void SetCapacityConfiguration(const CapacityConfiguration& value) { m_capacityConfiguration = value; } /** *

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.

*/ inline void SetCapacityConfiguration(CapacityConfiguration&& value) { m_capacityConfiguration = std::move(value); } /** *

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.

*/ inline CreateKxClusterResult& WithCapacityConfiguration(const CapacityConfiguration& value) { SetCapacityConfiguration(value); return *this;} /** *

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.

*/ inline CreateKxClusterResult& WithCapacityConfiguration(CapacityConfiguration&& value) { SetCapacityConfiguration(std::move(value)); return *this;} /** *

A version of the FinSpace managed kdb to run.

*/ inline const Aws::String& GetReleaseLabel() const{ return m_releaseLabel; } /** *

A version of the FinSpace managed kdb to run.

*/ inline void SetReleaseLabel(const Aws::String& value) { m_releaseLabel = value; } /** *

A version of the FinSpace managed kdb to run.

*/ inline void SetReleaseLabel(Aws::String&& value) { m_releaseLabel = std::move(value); } /** *

A version of the FinSpace managed kdb to run.

*/ inline void SetReleaseLabel(const char* value) { m_releaseLabel.assign(value); } /** *

A version of the FinSpace managed kdb to run.

*/ inline CreateKxClusterResult& WithReleaseLabel(const Aws::String& value) { SetReleaseLabel(value); return *this;} /** *

A version of the FinSpace managed kdb to run.

*/ inline CreateKxClusterResult& WithReleaseLabel(Aws::String&& value) { SetReleaseLabel(std::move(value)); return *this;} /** *

A version of the FinSpace managed kdb to run.

*/ inline CreateKxClusterResult& WithReleaseLabel(const char* value) { SetReleaseLabel(value); return *this;} /** *

Configuration details about the network where the Privatelink endpoint of the * cluster resides.

*/ inline const VpcConfiguration& GetVpcConfiguration() const{ return m_vpcConfiguration; } /** *

Configuration details about the network where the Privatelink endpoint of the * cluster resides.

*/ inline void SetVpcConfiguration(const VpcConfiguration& value) { m_vpcConfiguration = value; } /** *

Configuration details about the network where the Privatelink endpoint of the * cluster resides.

*/ inline void SetVpcConfiguration(VpcConfiguration&& value) { m_vpcConfiguration = std::move(value); } /** *

Configuration details about the network where the Privatelink endpoint of the * cluster resides.

*/ inline CreateKxClusterResult& WithVpcConfiguration(const VpcConfiguration& value) { SetVpcConfiguration(value); return *this;} /** *

Configuration details about the network where the Privatelink endpoint of the * cluster resides.

*/ inline CreateKxClusterResult& WithVpcConfiguration(VpcConfiguration&& value) { SetVpcConfiguration(std::move(value)); return *this;} /** *

Specifies a Q program that will be run at launch of a cluster. It is a * relative path within .zip file that contains the custom code, which will * be loaded on the cluster. It must include the file name itself. For example, * somedir/init.q.

*/ inline const Aws::String& GetInitializationScript() const{ return m_initializationScript; } /** *

Specifies a Q program that will be run at launch of a cluster. It is a * relative path within .zip file that contains the custom code, which will * be loaded on the cluster. It must include the file name itself. For example, * somedir/init.q.

*/ inline void SetInitializationScript(const Aws::String& value) { m_initializationScript = value; } /** *

Specifies a Q program that will be run at launch of a cluster. It is a * relative path within .zip file that contains the custom code, which will * be loaded on the cluster. It must include the file name itself. For example, * somedir/init.q.

*/ inline void SetInitializationScript(Aws::String&& value) { m_initializationScript = std::move(value); } /** *

Specifies a Q program that will be run at launch of a cluster. It is a * relative path within .zip file that contains the custom code, which will * be loaded on the cluster. It must include the file name itself. For example, * somedir/init.q.

*/ inline void SetInitializationScript(const char* value) { m_initializationScript.assign(value); } /** *

Specifies a Q program that will be run at launch of a cluster. It is a * relative path within .zip file that contains the custom code, which will * be loaded on the cluster. It must include the file name itself. For example, * somedir/init.q.

*/ inline CreateKxClusterResult& WithInitializationScript(const Aws::String& value) { SetInitializationScript(value); return *this;} /** *

Specifies a Q program that will be run at launch of a cluster. It is a * relative path within .zip file that contains the custom code, which will * be loaded on the cluster. It must include the file name itself. For example, * somedir/init.q.

*/ inline CreateKxClusterResult& WithInitializationScript(Aws::String&& value) { SetInitializationScript(std::move(value)); return *this;} /** *

Specifies a Q program that will be run at launch of a cluster. It is a * relative path within .zip file that contains the custom code, which will * be loaded on the cluster. It must include the file name itself. For example, * somedir/init.q.

*/ inline CreateKxClusterResult& WithInitializationScript(const char* value) { SetInitializationScript(value); return *this;} /** *

Defines the key-value pairs to make them available inside the cluster.

*/ inline const Aws::Vector& GetCommandLineArguments() const{ return m_commandLineArguments; } /** *

Defines the key-value pairs to make them available inside the cluster.

*/ inline void SetCommandLineArguments(const Aws::Vector& value) { m_commandLineArguments = value; } /** *

Defines the key-value pairs to make them available inside the cluster.

*/ inline void SetCommandLineArguments(Aws::Vector&& value) { m_commandLineArguments = std::move(value); } /** *

Defines the key-value pairs to make them available inside the cluster.

*/ inline CreateKxClusterResult& WithCommandLineArguments(const Aws::Vector& value) { SetCommandLineArguments(value); return *this;} /** *

Defines the key-value pairs to make them available inside the cluster.

*/ inline CreateKxClusterResult& WithCommandLineArguments(Aws::Vector&& value) { SetCommandLineArguments(std::move(value)); return *this;} /** *

Defines the key-value pairs to make them available inside the cluster.

*/ inline CreateKxClusterResult& AddCommandLineArguments(const KxCommandLineArgument& value) { m_commandLineArguments.push_back(value); return *this; } /** *

Defines the key-value pairs to make them available inside the cluster.

*/ inline CreateKxClusterResult& AddCommandLineArguments(KxCommandLineArgument&& value) { m_commandLineArguments.push_back(std::move(value)); return *this; } /** *

The details of the custom code that you want to use inside a cluster when * analyzing a data. It consists of the S3 source bucket, location, S3 object * version, and the relative path from where the custom code is loaded into the * cluster.

*/ inline const CodeConfiguration& GetCode() const{ return m_code; } /** *

The details of the custom code that you want to use inside a cluster when * analyzing a data. It consists of the S3 source bucket, location, S3 object * version, and the relative path from where the custom code is loaded into the * cluster.

*/ inline void SetCode(const CodeConfiguration& value) { m_code = value; } /** *

The details of the custom code that you want to use inside a cluster when * analyzing a data. It consists of the S3 source bucket, location, S3 object * version, and the relative path from where the custom code is loaded into the * cluster.

*/ inline void SetCode(CodeConfiguration&& value) { m_code = std::move(value); } /** *

The details of the custom code that you want to use inside a cluster when * analyzing a data. It consists of the S3 source bucket, location, S3 object * version, and the relative path from where the custom code is loaded into the * cluster.

*/ inline CreateKxClusterResult& WithCode(const CodeConfiguration& value) { SetCode(value); return *this;} /** *

The details of the custom code that you want to use inside a cluster when * analyzing a data. It consists of the S3 source bucket, location, S3 object * version, and the relative path from where the custom code is loaded into the * cluster.

*/ inline CreateKxClusterResult& WithCode(CodeConfiguration&& value) { SetCode(std::move(value)); return *this;} /** *

An IAM role that defines a set of permissions associated with a cluster. * These permissions are assumed when a cluster attempts to access another cluster. *

*/ inline const Aws::String& GetExecutionRole() const{ return m_executionRole; } /** *

An IAM role that defines a set of permissions associated with a cluster. * These permissions are assumed when a cluster attempts to access another cluster. *

*/ inline void SetExecutionRole(const Aws::String& value) { m_executionRole = value; } /** *

An IAM role that defines a set of permissions associated with a cluster. * These permissions are assumed when a cluster attempts to access another cluster. *

*/ inline void SetExecutionRole(Aws::String&& value) { m_executionRole = std::move(value); } /** *

An IAM role that defines a set of permissions associated with a cluster. * These permissions are assumed when a cluster attempts to access another cluster. *

*/ inline void SetExecutionRole(const char* value) { m_executionRole.assign(value); } /** *

An IAM role that defines a set of permissions associated with a cluster. * These permissions are assumed when a cluster attempts to access another cluster. *

*/ inline CreateKxClusterResult& WithExecutionRole(const Aws::String& value) { SetExecutionRole(value); return *this;} /** *

An IAM role that defines a set of permissions associated with a cluster. * These permissions are assumed when a cluster attempts to access another cluster. *

*/ inline CreateKxClusterResult& WithExecutionRole(Aws::String&& value) { SetExecutionRole(std::move(value)); return *this;} /** *

An IAM role that defines a set of permissions associated with a cluster. * These permissions are assumed when a cluster attempts to access another cluster. *

*/ inline CreateKxClusterResult& WithExecutionRole(const char* value) { SetExecutionRole(value); return *this;} /** *

The last time that the cluster was modified. The value is determined as epoch * time in milliseconds. For example, the value for Monday, November 1, 2021 * 12:00:00 PM UTC is specified as 1635768000000.

*/ inline const Aws::Utils::DateTime& GetLastModifiedTimestamp() const{ return m_lastModifiedTimestamp; } /** *

The last time that the cluster was modified. The value is determined as epoch * time in milliseconds. For example, the value for Monday, November 1, 2021 * 12:00:00 PM UTC is specified as 1635768000000.

*/ inline void SetLastModifiedTimestamp(const Aws::Utils::DateTime& value) { m_lastModifiedTimestamp = value; } /** *

The last time that the cluster was modified. The value is determined as epoch * time in milliseconds. For example, the value for Monday, November 1, 2021 * 12:00:00 PM UTC is specified as 1635768000000.

*/ inline void SetLastModifiedTimestamp(Aws::Utils::DateTime&& value) { m_lastModifiedTimestamp = std::move(value); } /** *

The last time that the cluster was modified. The value is determined as epoch * time in milliseconds. For example, the value for Monday, November 1, 2021 * 12:00:00 PM UTC is specified as 1635768000000.

*/ inline CreateKxClusterResult& WithLastModifiedTimestamp(const Aws::Utils::DateTime& value) { SetLastModifiedTimestamp(value); return *this;} /** *

The last time that the cluster was modified. The value is determined as epoch * time in milliseconds. For example, the value for Monday, November 1, 2021 * 12:00:00 PM UTC is specified as 1635768000000.

*/ inline CreateKxClusterResult& WithLastModifiedTimestamp(Aws::Utils::DateTime&& value) { SetLastModifiedTimestamp(std::move(value)); return *this;} /** *

The size and type of the temporary storage that is used to hold data during * the savedown process. This parameter is required when you choose * clusterType as RDB. All the data written to this storage space is * lost when the cluster node is restarted.

*/ inline const KxSavedownStorageConfiguration& GetSavedownStorageConfiguration() const{ return m_savedownStorageConfiguration; } /** *

The size and type of the temporary storage that is used to hold data during * the savedown process. This parameter is required when you choose * clusterType as RDB. All the data written to this storage space is * lost when the cluster node is restarted.

*/ inline void SetSavedownStorageConfiguration(const KxSavedownStorageConfiguration& value) { m_savedownStorageConfiguration = value; } /** *

The size and type of the temporary storage that is used to hold data during * the savedown process. This parameter is required when you choose * clusterType as RDB. All the data written to this storage space is * lost when the cluster node is restarted.

*/ inline void SetSavedownStorageConfiguration(KxSavedownStorageConfiguration&& value) { m_savedownStorageConfiguration = std::move(value); } /** *

The size and type of the temporary storage that is used to hold data during * the savedown process. This parameter is required when you choose * clusterType as RDB. All the data written to this storage space is * lost when the cluster node is restarted.

*/ inline CreateKxClusterResult& WithSavedownStorageConfiguration(const KxSavedownStorageConfiguration& value) { SetSavedownStorageConfiguration(value); return *this;} /** *

The size and type of the temporary storage that is used to hold data during * the savedown process. This parameter is required when you choose * clusterType as RDB. All the data written to this storage space is * lost when the cluster node is restarted.

*/ inline CreateKxClusterResult& WithSavedownStorageConfiguration(KxSavedownStorageConfiguration&& value) { SetSavedownStorageConfiguration(std::move(value)); return *this;} /** *

The number of availability zones you want to assign per cluster. This can be * one of the following

  • SINGLE – Assigns one * availability zone per cluster.

  • MULTI – Assigns * all the availability zones per cluster.

*/ inline const KxAzMode& GetAzMode() const{ return m_azMode; } /** *

The number of availability zones you want to assign per cluster. This can be * one of the following

  • SINGLE – Assigns one * availability zone per cluster.

  • MULTI – Assigns * all the availability zones per cluster.

*/ inline void SetAzMode(const KxAzMode& value) { m_azMode = value; } /** *

The number of availability zones you want to assign per cluster. This can be * one of the following

  • SINGLE – Assigns one * availability zone per cluster.

  • MULTI – Assigns * all the availability zones per cluster.

*/ inline void SetAzMode(KxAzMode&& value) { m_azMode = std::move(value); } /** *

The number of availability zones you want to assign per cluster. This can be * one of the following

  • SINGLE – Assigns one * availability zone per cluster.

  • MULTI – Assigns * all the availability zones per cluster.

*/ inline CreateKxClusterResult& WithAzMode(const KxAzMode& value) { SetAzMode(value); return *this;} /** *

The number of availability zones you want to assign per cluster. This can be * one of the following

  • SINGLE – Assigns one * availability zone per cluster.

  • MULTI – Assigns * all the availability zones per cluster.

*/ inline CreateKxClusterResult& WithAzMode(KxAzMode&& value) { SetAzMode(std::move(value)); return *this;} /** *

The availability zone identifiers for the requested regions.

*/ inline const Aws::String& GetAvailabilityZoneId() const{ return m_availabilityZoneId; } /** *

The availability zone identifiers for the requested regions.

*/ inline void SetAvailabilityZoneId(const Aws::String& value) { m_availabilityZoneId = value; } /** *

The availability zone identifiers for the requested regions.

*/ inline void SetAvailabilityZoneId(Aws::String&& value) { m_availabilityZoneId = std::move(value); } /** *

The availability zone identifiers for the requested regions.

*/ inline void SetAvailabilityZoneId(const char* value) { m_availabilityZoneId.assign(value); } /** *

The availability zone identifiers for the requested regions.

*/ inline CreateKxClusterResult& WithAvailabilityZoneId(const Aws::String& value) { SetAvailabilityZoneId(value); return *this;} /** *

The availability zone identifiers for the requested regions.

*/ inline CreateKxClusterResult& WithAvailabilityZoneId(Aws::String&& value) { SetAvailabilityZoneId(std::move(value)); return *this;} /** *

The availability zone identifiers for the requested regions.

*/ inline CreateKxClusterResult& WithAvailabilityZoneId(const char* value) { SetAvailabilityZoneId(value); return *this;} /** *

The timestamp at which the cluster was created in FinSpace. The value is * determined as epoch time in milliseconds. For example, the value for Monday, * November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

*/ inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } /** *

The timestamp at which the cluster was created in FinSpace. The value is * determined as epoch time in milliseconds. For example, the value for Monday, * November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

*/ inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestamp = value; } /** *

The timestamp at which the cluster was created in FinSpace. The value is * determined as epoch time in milliseconds. For example, the value for Monday, * November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

*/ inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestamp = std::move(value); } /** *

The timestamp at which the cluster was created in FinSpace. The value is * determined as epoch time in milliseconds. For example, the value for Monday, * November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

*/ inline CreateKxClusterResult& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} /** *

The timestamp at which the cluster was created in FinSpace. The value is * determined as epoch time in milliseconds. For example, the value for Monday, * November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

*/ inline CreateKxClusterResult& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline CreateKxClusterResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline CreateKxClusterResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline CreateKxClusterResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_environmentId; KxClusterStatus m_status; Aws::String m_statusReason; Aws::String m_clusterName; KxClusterType m_clusterType; Aws::Vector m_databases; Aws::Vector m_cacheStorageConfigurations; AutoScalingConfiguration m_autoScalingConfiguration; Aws::String m_clusterDescription; CapacityConfiguration m_capacityConfiguration; Aws::String m_releaseLabel; VpcConfiguration m_vpcConfiguration; Aws::String m_initializationScript; Aws::Vector m_commandLineArguments; CodeConfiguration m_code; Aws::String m_executionRole; Aws::Utils::DateTime m_lastModifiedTimestamp; KxSavedownStorageConfiguration m_savedownStorageConfiguration; KxAzMode m_azMode; Aws::String m_availabilityZoneId; Aws::Utils::DateTime m_createdTimestamp; Aws::String m_requestId; }; } // namespace Model } // namespace finspace } // namespace Aws