/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the finspace-2021-03-12.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Finspace.Model
{
///
/// This is the response object from the CreateKxCluster operation.
///
public partial class CreateKxClusterResponse : AmazonWebServiceResponse
{
private AutoScalingConfiguration _autoScalingConfiguration;
private string _availabilityZoneId;
private KxAzMode _azMode;
private List _cacheStorageConfigurations = new List();
private CapacityConfiguration _capacityConfiguration;
private string _clusterDescription;
private string _clusterName;
private KxClusterType _clusterType;
private CodeConfiguration _code;
private List _commandLineArguments = new List();
private DateTime? _createdTimestamp;
private List _databases = new List();
private string _environmentId;
private string _executionRole;
private string _initializationScript;
private DateTime? _lastModifiedTimestamp;
private string _releaseLabel;
private KxSavedownStorageConfiguration _savedownStorageConfiguration;
private KxClusterStatus _status;
private string _statusReason;
private VpcConfiguration _vpcConfiguration;
///
/// Gets and sets the property AutoScalingConfiguration.
///
/// The configuration based on which FinSpace will scale in or scale out nodes in your
/// cluster.
///
///
public AutoScalingConfiguration AutoScalingConfiguration
{
get { return this._autoScalingConfiguration; }
set { this._autoScalingConfiguration = value; }
}
// Check to see if AutoScalingConfiguration property is set
internal bool IsSetAutoScalingConfiguration()
{
return this._autoScalingConfiguration != null;
}
///
/// Gets and sets the property AvailabilityZoneId.
///
/// The availability zone identifiers for the requested regions.
///
///
public string AvailabilityZoneId
{
get { return this._availabilityZoneId; }
set { this._availabilityZoneId = value; }
}
// Check to see if AvailabilityZoneId property is set
internal bool IsSetAvailabilityZoneId()
{
return this._availabilityZoneId != null;
}
///
/// Gets and sets the property 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.
///
///
///
public KxAzMode AzMode
{
get { return this._azMode; }
set { this._azMode = value; }
}
// Check to see if AzMode property is set
internal bool IsSetAzMode()
{
return this._azMode != null;
}
///
/// Gets and sets the property 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.
///
///
public List CacheStorageConfigurations
{
get { return this._cacheStorageConfigurations; }
set { this._cacheStorageConfigurations = value; }
}
// Check to see if CacheStorageConfigurations property is set
internal bool IsSetCacheStorageConfigurations()
{
return this._cacheStorageConfigurations != null && this._cacheStorageConfigurations.Count > 0;
}
///
/// Gets and sets the property 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.
///
///
public CapacityConfiguration CapacityConfiguration
{
get { return this._capacityConfiguration; }
set { this._capacityConfiguration = value; }
}
// Check to see if CapacityConfiguration property is set
internal bool IsSetCapacityConfiguration()
{
return this._capacityConfiguration != null;
}
///
/// Gets and sets the property ClusterDescription.
///
/// A description of the cluster.
///
///
[AWSProperty(Min=1, Max=1000)]
public string ClusterDescription
{
get { return this._clusterDescription; }
set { this._clusterDescription = value; }
}
// Check to see if ClusterDescription property is set
internal bool IsSetClusterDescription()
{
return this._clusterDescription != null;
}
///
/// Gets and sets the property ClusterName.
///
/// A unique name for the cluster.
///
///
[AWSProperty(Min=3, Max=63)]
public string ClusterName
{
get { return this._clusterName; }
set { this._clusterName = value; }
}
// Check to see if ClusterName property is set
internal bool IsSetClusterName()
{
return this._clusterName != null;
}
///
/// Gets and sets the property 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.
///
///
///
public KxClusterType ClusterType
{
get { return this._clusterType; }
set { this._clusterType = value; }
}
// Check to see if ClusterType property is set
internal bool IsSetClusterType()
{
return this._clusterType != null;
}
///
/// Gets and sets the property 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.
///
///
public CodeConfiguration Code
{
get { return this._code; }
set { this._code = value; }
}
// Check to see if Code property is set
internal bool IsSetCode()
{
return this._code != null;
}
///
/// Gets and sets the property CommandLineArguments.
///
/// Defines the key-value pairs to make them available inside the cluster.
///
///
public List CommandLineArguments
{
get { return this._commandLineArguments; }
set { this._commandLineArguments = value; }
}
// Check to see if CommandLineArguments property is set
internal bool IsSetCommandLineArguments()
{
return this._commandLineArguments != null && this._commandLineArguments.Count > 0;
}
///
/// Gets and sets the property 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.
///
///
public DateTime CreatedTimestamp
{
get { return this._createdTimestamp.GetValueOrDefault(); }
set { this._createdTimestamp = value; }
}
// Check to see if CreatedTimestamp property is set
internal bool IsSetCreatedTimestamp()
{
return this._createdTimestamp.HasValue;
}
///
/// Gets and sets the property Databases.
///
/// A list of databases that will be available for querying.
///
///
public List Databases
{
get { return this._databases; }
set { this._databases = value; }
}
// Check to see if Databases property is set
internal bool IsSetDatabases()
{
return this._databases != null && this._databases.Count > 0;
}
///
/// Gets and sets the property EnvironmentId.
///
/// A unique identifier for the kdb environment.
///
///
[AWSProperty(Min=1, Max=32)]
public string EnvironmentId
{
get { return this._environmentId; }
set { this._environmentId = value; }
}
// Check to see if EnvironmentId property is set
internal bool IsSetEnvironmentId()
{
return this._environmentId != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=1, Max=1024)]
public string ExecutionRole
{
get { return this._executionRole; }
set { this._executionRole = value; }
}
// Check to see if ExecutionRole property is set
internal bool IsSetExecutionRole()
{
return this._executionRole != null;
}
///
/// Gets and sets the property 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
.
///
///
[AWSProperty(Min=1, Max=255)]
public string InitializationScript
{
get { return this._initializationScript; }
set { this._initializationScript = value; }
}
// Check to see if InitializationScript property is set
internal bool IsSetInitializationScript()
{
return this._initializationScript != null;
}
///
/// Gets and sets the property 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.
///
///
public DateTime LastModifiedTimestamp
{
get { return this._lastModifiedTimestamp.GetValueOrDefault(); }
set { this._lastModifiedTimestamp = value; }
}
// Check to see if LastModifiedTimestamp property is set
internal bool IsSetLastModifiedTimestamp()
{
return this._lastModifiedTimestamp.HasValue;
}
///
/// Gets and sets the property ReleaseLabel.
///
/// A version of the FinSpace managed kdb to run.
///
///
[AWSProperty(Min=1, Max=16)]
public string ReleaseLabel
{
get { return this._releaseLabel; }
set { this._releaseLabel = value; }
}
// Check to see if ReleaseLabel property is set
internal bool IsSetReleaseLabel()
{
return this._releaseLabel != null;
}
///
/// Gets and sets the property 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.
///
///
public KxSavedownStorageConfiguration SavedownStorageConfiguration
{
get { return this._savedownStorageConfiguration; }
set { this._savedownStorageConfiguration = value; }
}
// Check to see if SavedownStorageConfiguration property is set
internal bool IsSetSavedownStorageConfiguration()
{
return this._savedownStorageConfiguration != null;
}
///
/// Gets and sets the property 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.
///
///
///
public KxClusterStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property StatusReason.
///
/// The error message when a failed state occurs.
///
///
[AWSProperty(Min=1, Max=250)]
public string StatusReason
{
get { return this._statusReason; }
set { this._statusReason = value; }
}
// Check to see if StatusReason property is set
internal bool IsSetStatusReason()
{
return this._statusReason != null;
}
///
/// Gets and sets the property VpcConfiguration.
///
/// Configuration details about the network where the Privatelink endpoint of the cluster
/// resides.
///
///
public VpcConfiguration VpcConfiguration
{
get { return this._vpcConfiguration; }
set { this._vpcConfiguration = value; }
}
// Check to see if VpcConfiguration property is set
internal bool IsSetVpcConfiguration()
{
return this._vpcConfiguration != null;
}
}
}