KxClusterArgs

data class KxClusterArgs(val autoScalingConfiguration: Output<KxClusterAutoScalingConfigurationArgs>? = null, val availabilityZoneId: Output<String>? = null, val azMode: Output<String>? = null, val cacheStorageConfigurations: Output<List<KxClusterCacheStorageConfigurationArgs>>? = null, val capacityConfiguration: Output<KxClusterCapacityConfigurationArgs>? = null, val code: Output<KxClusterCodeArgs>? = null, val commandLineArguments: Output<Map<String, String>>? = null, val databases: Output<List<KxClusterDatabaseArgs>>? = null, val description: Output<String>? = null, val environmentId: Output<String>? = null, val executionRole: Output<String>? = null, val initializationScript: Output<String>? = null, val name: Output<String>? = null, val releaseLabel: Output<String>? = null, val savedownStorageConfiguration: Output<KxClusterSavedownStorageConfigurationArgs>? = null, val scalingGroupConfiguration: Output<KxClusterScalingGroupConfigurationArgs>? = null, val tags: Output<Map<String, String>>? = null, val tickerplantLogConfigurations: Output<List<KxClusterTickerplantLogConfigurationArgs>>? = null, val type: Output<String>? = null, val vpcConfiguration: Output<KxClusterVpcConfigurationArgs>? = null) : ConvertibleToJava<KxClusterArgs>

Resource for managing an AWS FinSpace Kx Cluster.

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.finspace.KxCluster;
import com.pulumi.aws.finspace.KxClusterArgs;
import com.pulumi.aws.finspace.inputs.KxClusterCapacityConfigurationArgs;
import com.pulumi.aws.finspace.inputs.KxClusterVpcConfigurationArgs;
import com.pulumi.aws.finspace.inputs.KxClusterCacheStorageConfigurationArgs;
import com.pulumi.aws.finspace.inputs.KxClusterDatabaseArgs;
import com.pulumi.aws.finspace.inputs.KxClusterCodeArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new KxCluster("example", KxClusterArgs.builder()
.name("my-tf-kx-cluster")
.environmentId(exampleAwsFinspaceKxEnvironment.id())
.type("HDB")
.releaseLabel("1.0")
.azMode("SINGLE")
.availabilityZoneId("use1-az2")
.capacityConfiguration(KxClusterCapacityConfigurationArgs.builder()
.nodeType("kx.s.2xlarge")
.nodeCount(2)
.build())
.vpcConfiguration(KxClusterVpcConfigurationArgs.builder()
.vpcId(test.id())
.securityGroupIds(exampleAwsSecurityGroup.id())
.subnetIds(exampleAwsSubnet.id())
.ipAddressType("IP_V4")
.build())
.cacheStorageConfigurations(KxClusterCacheStorageConfigurationArgs.builder()
.type("CACHE_1000")
.size(1200)
.build())
.databases(KxClusterDatabaseArgs.builder()
.databaseName(exampleAwsFinspaceKxDatabase.name())
.cacheConfiguration(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.build())
.code(KxClusterCodeArgs.builder()
.s3Bucket(testAwsS3Bucket.id())
.s3Key(object.key())
.build())
.build());
}
}
resources:
example:
type: aws:finspace:KxCluster
properties:
name: my-tf-kx-cluster
environmentId: ${exampleAwsFinspaceKxEnvironment.id}
type: HDB
releaseLabel: '1.0'
azMode: SINGLE
availabilityZoneId: use1-az2
capacityConfiguration:
nodeType: kx.s.2xlarge
nodeCount: 2
vpcConfiguration:
vpcId: ${test.id}
securityGroupIds:
- ${exampleAwsSecurityGroup.id}
subnetIds:
- ${exampleAwsSubnet.id}
ipAddressType: IP_V4
cacheStorageConfigurations:
- type: CACHE_1000
size: 1200
databases:
- databaseName: ${exampleAwsFinspaceKxDatabase.name}
cacheConfiguration:
- cacheType: CACHE_1000
dbPaths: /
code:
s3Bucket: ${testAwsS3Bucket.id}
s3Key: ${object.key}

Import

Using pulumi import, import an AWS FinSpace Kx Cluster using the id (environment ID and cluster name, comma-delimited). For example:

$ pulumi import aws:finspace/kxCluster:KxCluster example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-cluster

Constructors

Link copied to clipboard
constructor(autoScalingConfiguration: Output<KxClusterAutoScalingConfigurationArgs>? = null, availabilityZoneId: Output<String>? = null, azMode: Output<String>? = null, cacheStorageConfigurations: Output<List<KxClusterCacheStorageConfigurationArgs>>? = null, capacityConfiguration: Output<KxClusterCapacityConfigurationArgs>? = null, code: Output<KxClusterCodeArgs>? = null, commandLineArguments: Output<Map<String, String>>? = null, databases: Output<List<KxClusterDatabaseArgs>>? = null, description: Output<String>? = null, environmentId: Output<String>? = null, executionRole: Output<String>? = null, initializationScript: Output<String>? = null, name: Output<String>? = null, releaseLabel: Output<String>? = null, savedownStorageConfiguration: Output<KxClusterSavedownStorageConfigurationArgs>? = null, scalingGroupConfiguration: Output<KxClusterScalingGroupConfigurationArgs>? = null, tags: Output<Map<String, String>>? = null, tickerplantLogConfigurations: Output<List<KxClusterTickerplantLogConfigurationArgs>>? = null, type: Output<String>? = null, vpcConfiguration: Output<KxClusterVpcConfigurationArgs>? = null)

Properties

Link copied to clipboard

Configuration based on which FinSpace will scale in or scale out nodes in your cluster. See auto_scaling_configuration.

Link copied to clipboard
val availabilityZoneId: Output<String>? = null

The availability zone identifiers for the requested regions. Required when az_mode is set to SINGLE.

Link copied to clipboard
val azMode: Output<String>? = null

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

Link copied to clipboard

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. See cache_storage_configuration.

Link copied to clipboard

Structure for the metadata of a cluster. Includes information like the CPUs needed, memory of instances, and number of instances. See capacity_configuration.

Link copied to clipboard
val code: Output<KxClusterCodeArgs>? = null

Details of the custom code that you want to use inside a cluster when analyzing data. Consists of the S3 source bucket, location, object version, and the relative path from where the custom code is loaded into the cluster. See code.

Link copied to clipboard
val commandLineArguments: Output<Map<String, String>>? = null

List of key-value pairs to make available inside the cluster.

Link copied to clipboard
val databases: Output<List<KxClusterDatabaseArgs>>? = null

KX database that will be available for querying. Defined below.

Link copied to clipboard
val description: Output<String>? = null

Description of the cluster.

Link copied to clipboard
val environmentId: Output<String>? = null

Unique identifier for the KX environment.

Link copied to clipboard
val executionRole: Output<String>? = null

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.

Link copied to clipboard
val initializationScript: Output<String>? = null

Path to Q program that will be run at launch of a cluster. This 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.

Link copied to clipboard
val name: Output<String>? = null

Unique name for the cluster that you want to create.

Link copied to clipboard
val releaseLabel: Output<String>? = null

Version of FinSpace Managed kdb to run.

Link copied to clipboard

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

Link copied to clipboard

The structure that stores the configuration details of a scaling group.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Link copied to clipboard

A configuration to store Tickerplant logs. It consists of a list of volumes that will be mounted to your cluster. For the cluster type Tickerplant , the location of the TP volume on the cluster will be available by using the global variable .aws.tp_log_path.

Link copied to clipboard
val type: Output<String>? = null

Type of KDB database. The following types are available:

Link copied to clipboard

Configuration details about the network where the Privatelink endpoint of the cluster resides. See vpc_configuration. The following arguments are optional:

Functions

Link copied to clipboard
open override fun toJava(): KxClusterArgs