/* * 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 { /// /// Container for the parameters to the CreateKxCluster operation. /// Creates a new kdb cluster. /// public partial class CreateKxClusterRequest : AmazonFinspaceRequest { private AutoScalingConfiguration _autoScalingConfiguration; private string _availabilityZoneId; private KxAzMode _azMode; private List _cacheStorageConfigurations = new List(); private CapacityConfiguration _capacityConfiguration; private string _clientToken; private string _clusterDescription; private string _clusterName; private KxClusterType _clusterType; private CodeConfiguration _code; private List _commandLineArguments = new List(); private List _databases = new List(); private string _environmentId; private string _executionRole; private string _initializationScript; private string _releaseLabel; private KxSavedownStorageConfiguration _savedownStorageConfiguration; private Dictionary _tags = new Dictionary(); 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. /// ///
///
[AWSProperty(Required=true)] 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 about like the /// CPUs needed, memory of instances, number of instances, and the port used while establishing /// a connection. /// /// [AWSProperty(Required=true)] 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 ClientToken. /// /// A token that ensures idempotency. This token expires in 10 minutes. /// /// [AWSProperty(Min=1, Max=36)] public string ClientToken { get { return this._clientToken; } set { this._clientToken = value; } } // Check to see if ClientToken property is set internal bool IsSetClientToken() { return this._clientToken != 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 that you want to create. /// /// [AWSProperty(Required=true, 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. /// ///
///
[AWSProperty(Required=true)] 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 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(Required=true, 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 ReleaseLabel. /// /// The version of FinSpace managed kdb to run. /// /// [AWSProperty(Required=true, 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 Tags. /// /// A list of key-value pairs to label the cluster. You can add up to 50 tags to a cluster. /// /// [AWSProperty(Min=1, Max=50)] public Dictionary Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// 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; } } }