/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The details of a kdb cluster.See Also:
AWS
* API Reference
The status of a cluster.
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.
The status of a cluster.
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.
The status of a cluster.
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.
The status of a cluster.
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.
The status of a cluster.
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.
The status of a cluster.
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.
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 bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } /** *The error message when a failed state occurs.
*/ inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; } /** *The error message when a failed state occurs.
*/ inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); } /** *The error message when a failed state occurs.
*/ inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); } /** *The error message when a failed state occurs.
*/ inline KxCluster& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;} /** *The error message when a failed state occurs.
*/ inline KxCluster& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;} /** *The error message when a failed state occurs.
*/ inline KxCluster& 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 bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } /** *A unique name for the cluster.
*/ inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } /** *A unique name for the cluster.
*/ inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } /** *A unique name for the cluster.
*/ inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } /** *A unique name for the cluster.
*/ inline KxCluster& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} /** *A unique name for the cluster.
*/ inline KxCluster& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} /** *A unique name for the cluster.
*/ inline KxCluster& 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.
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.
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.
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.
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.
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.
A description of the cluster.
*/ inline const Aws::String& GetClusterDescription() const{ return m_clusterDescription; } /** *A description of the cluster.
*/ inline bool ClusterDescriptionHasBeenSet() const { return m_clusterDescriptionHasBeenSet; } /** *A description of the cluster.
*/ inline void SetClusterDescription(const Aws::String& value) { m_clusterDescriptionHasBeenSet = true; m_clusterDescription = value; } /** *A description of the cluster.
*/ inline void SetClusterDescription(Aws::String&& value) { m_clusterDescriptionHasBeenSet = true; m_clusterDescription = std::move(value); } /** *A description of the cluster.
*/ inline void SetClusterDescription(const char* value) { m_clusterDescriptionHasBeenSet = true; m_clusterDescription.assign(value); } /** *A description of the cluster.
*/ inline KxCluster& WithClusterDescription(const Aws::String& value) { SetClusterDescription(value); return *this;} /** *A description of the cluster.
*/ inline KxCluster& WithClusterDescription(Aws::String&& value) { SetClusterDescription(std::move(value)); return *this;} /** *A description of the cluster.
*/ inline KxCluster& WithClusterDescription(const char* value) { SetClusterDescription(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 bool ReleaseLabelHasBeenSet() const { return m_releaseLabelHasBeenSet; } /** *A version of the FinSpace managed kdb to run.
*/ inline void SetReleaseLabel(const Aws::String& value) { m_releaseLabelHasBeenSet = true; m_releaseLabel = value; } /** *A version of the FinSpace managed kdb to run.
*/ inline void SetReleaseLabel(Aws::String&& value) { m_releaseLabelHasBeenSet = true; m_releaseLabel = std::move(value); } /** *A version of the FinSpace managed kdb to run.
*/ inline void SetReleaseLabel(const char* value) { m_releaseLabelHasBeenSet = true; m_releaseLabel.assign(value); } /** *A version of the FinSpace managed kdb to run.
*/ inline KxCluster& WithReleaseLabel(const Aws::String& value) { SetReleaseLabel(value); return *this;} /** *A version of the FinSpace managed kdb to run.
*/ inline KxCluster& WithReleaseLabel(Aws::String&& value) { SetReleaseLabel(std::move(value)); return *this;} /** *A version of the FinSpace managed kdb to run.
*/ inline KxCluster& WithReleaseLabel(const char* value) { SetReleaseLabel(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
.
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
.
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
.
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
.
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
.
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
.
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
.
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
.
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 bool ExecutionRoleHasBeenSet() const { return m_executionRoleHasBeenSet; } /** *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_executionRoleHasBeenSet = true; 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_executionRoleHasBeenSet = true; 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_executionRoleHasBeenSet = true; 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 KxCluster& 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 KxCluster& 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 KxCluster& WithExecutionRole(const char* value) { SetExecutionRole(value); return *this;} /** *The number of availability zones assigned per cluster. This can be one of the * following
SINGLE
– Assigns one availability zone
* per cluster.
MULTI
– Assigns all the
* availability zones per cluster.
The number of availability zones assigned per cluster. This can be one of the * following
SINGLE
– Assigns one availability zone
* per cluster.
MULTI
– Assigns all the
* availability zones per cluster.
The number of availability zones assigned per cluster. This can be one of the * following
SINGLE
– Assigns one availability zone
* per cluster.
MULTI
– Assigns all the
* availability zones per cluster.
The number of availability zones assigned per cluster. This can be one of the * following
SINGLE
– Assigns one availability zone
* per cluster.
MULTI
– Assigns all the
* availability zones per cluster.
The number of availability zones assigned per cluster. This can be one of the * following
SINGLE
– Assigns one availability zone
* per cluster.
MULTI
– Assigns all the
* availability zones per cluster.
The number of availability zones assigned per cluster. This can be one of the * following
SINGLE
– Assigns one availability zone
* per cluster.
MULTI
– Assigns all the
* availability zones per cluster.
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 bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; } /** *The availability zone identifiers for the requested regions.
*/ inline void SetAvailabilityZoneId(const Aws::String& value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId = value; } /** *The availability zone identifiers for the requested regions.
*/ inline void SetAvailabilityZoneId(Aws::String&& value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId = std::move(value); } /** *The availability zone identifiers for the requested regions.
*/ inline void SetAvailabilityZoneId(const char* value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId.assign(value); } /** *The availability zone identifiers for the requested regions.
*/ inline KxCluster& WithAvailabilityZoneId(const Aws::String& value) { SetAvailabilityZoneId(value); return *this;} /** *The availability zone identifiers for the requested regions.
*/ inline KxCluster& WithAvailabilityZoneId(Aws::String&& value) { SetAvailabilityZoneId(std::move(value)); return *this;} /** *The availability zone identifiers for the requested regions.
*/ inline KxCluster& WithAvailabilityZoneId(const char* value) { SetAvailabilityZoneId(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 bool LastModifiedTimestampHasBeenSet() const { return m_lastModifiedTimestampHasBeenSet; } /** *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_lastModifiedTimestampHasBeenSet = true; 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_lastModifiedTimestampHasBeenSet = true; 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 KxCluster& 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 KxCluster& WithLastModifiedTimestamp(Aws::Utils::DateTime&& value) { SetLastModifiedTimestamp(std::move(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 bool CreatedTimestampHasBeenSet() const { return m_createdTimestampHasBeenSet; } /** *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_createdTimestampHasBeenSet = true; 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_createdTimestampHasBeenSet = true; 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 KxCluster& 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 KxCluster& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} private: KxClusterStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_statusReason; bool m_statusReasonHasBeenSet = false; Aws::String m_clusterName; bool m_clusterNameHasBeenSet = false; KxClusterType m_clusterType; bool m_clusterTypeHasBeenSet = false; Aws::String m_clusterDescription; bool m_clusterDescriptionHasBeenSet = false; Aws::String m_releaseLabel; bool m_releaseLabelHasBeenSet = false; Aws::String m_initializationScript; bool m_initializationScriptHasBeenSet = false; Aws::String m_executionRole; bool m_executionRoleHasBeenSet = false; KxAzMode m_azMode; bool m_azModeHasBeenSet = false; Aws::String m_availabilityZoneId; bool m_availabilityZoneIdHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedTimestamp; bool m_lastModifiedTimestampHasBeenSet = false; Aws::Utils::DateTime m_createdTimestamp; bool m_createdTimestampHasBeenSet = false; }; } // namespace Model } // namespace finspace } // namespace Aws