Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.finspace.kotlin
import com.pulumi.aws.finspace.KxClusterArgs.builder
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterAutoScalingConfigurationArgs
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterAutoScalingConfigurationArgsBuilder
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterCacheStorageConfigurationArgs
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterCacheStorageConfigurationArgsBuilder
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterCapacityConfigurationArgs
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterCapacityConfigurationArgsBuilder
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterCodeArgs
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterCodeArgsBuilder
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterDatabaseArgs
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterDatabaseArgsBuilder
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterSavedownStorageConfigurationArgs
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterSavedownStorageConfigurationArgsBuilder
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterScalingGroupConfigurationArgs
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterScalingGroupConfigurationArgsBuilder
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterTickerplantLogConfigurationArgs
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterTickerplantLogConfigurationArgsBuilder
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterVpcConfigurationArgs
import com.pulumi.aws.finspace.kotlin.inputs.KxClusterVpcConfigurationArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Resource for managing an AWS FinSpace Kx Cluster.
* ## Example Usage
* ### Basic Usage
*
* ```java
* 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());
* }
* }
* ```
* ```yaml
* 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:
* ```sh
* $ pulumi import aws:finspace/kxCluster:KxCluster example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-cluster
* ```
* @property autoScalingConfiguration Configuration based on which FinSpace will scale in or scale out nodes in your cluster. See auto_scaling_configuration.
* @property availabilityZoneId The availability zone identifiers for the requested regions. Required when `az_mode` is set to SINGLE.
* @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.
* @property cacheStorageConfigurations 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.
* @property capacityConfiguration Structure for the metadata of a cluster. Includes information like the CPUs needed, memory of instances, and number of instances. See capacity_configuration.
* @property code 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.
* @property commandLineArguments List of key-value pairs to make available inside the cluster.
* @property databases KX database that will be available for querying. Defined below.
* @property description Description of the cluster.
* @property environmentId Unique identifier for the KX environment.
* @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.
* @property initializationScript 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.
* @property name Unique name for the cluster that you want to create.
* @property releaseLabel Version of FinSpace Managed kdb to run.
* @property savedownStorageConfiguration 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.
* @property scalingGroupConfiguration The structure that stores the configuration details of a scaling group.
* @property tags 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.
* @property tickerplantLogConfigurations 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.
* @property type Type of KDB database. The following types are available:
* * HDB - Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed KX databases mounted to the cluster.
* * RDB - 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.
* * GP - A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only `SINGLE` AZ mode.
* * Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, which is readable by any RDB environment. It supports only single-node that is only one kdb process.
* @property vpcConfiguration Configuration details about the network where the Privatelink endpoint of the cluster resides. See vpc_configuration.
* The following arguments are optional:
*/
public data class KxClusterArgs(
public val autoScalingConfiguration: Output? = null,
public val availabilityZoneId: Output? = null,
public val azMode: Output? = null,
public val cacheStorageConfigurations: Output>? =
null,
public val capacityConfiguration: Output? = null,
public val code: Output? = null,
public val commandLineArguments: Output