import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource for managing an AWS FinSpace Kx Cluster. * * ## Example Usage * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.finspace.KxCluster("example", { * capacityConfiguration: { * nodeType: "kx.s.2xlarge", * nodeCount: 2, * }, * vpcConfiguration: { * vpcId: test.id, * securityGroupIds: [exampleAwsSecurityGroup.id], * subnetIds: [exampleAwsSubnet.id], * ipAddressType: "IP_V4", * }, * code: { * s3Bucket: testAwsS3Bucket.id, * s3Key: object.key, * }, * cacheStorageConfigurations: [{ * type: "CACHE_1000", * size: 1200, * }], * databases: [{ * cacheConfiguration: [{ * cacheType: "CACHE_1000", * dbPaths: "/", * }], * databaseName: exampleAwsFinspaceKxDatabase.name, * }], * name: "my-tf-kx-cluster", * environmentId: exampleAwsFinspaceKxEnvironment.id, * type: "HDB", * releaseLabel: "1.0", * azMode: "SINGLE", * availabilityZoneId: "use1-az2", * }, { * customTimeouts: { * create: "18h", * update: "18h", * }, * }); * ``` * * ## 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 * ``` */ export declare class KxCluster extends pulumi.CustomResource { /** * Get an existing KxCluster resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: KxClusterState, opts?: pulumi.CustomResourceOptions): KxCluster; /** * Returns true if the given object is an instance of KxCluster. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is KxCluster; /** * ARN identifier of the KX cluster. */ readonly arn: pulumi.Output; /** * Configuration based on which FinSpace will scale in or scale out nodes in your cluster. See `autoScalingConfiguration` Block. */ readonly autoScalingConfiguration: pulumi.Output; /** * Availability zone identifiers for the requested regions. Required when `azMode` is set to SINGLE. */ readonly availabilityZoneId: pulumi.Output; /** * Number of availability zones to assign per cluster. Valid values are `SINGLE` (assigns one availability zone per cluster) and `MULTI` (assigns all the availability zones per cluster). */ readonly azMode: pulumi.Output; /** * 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 `cacheStorageConfigurations` Block. */ readonly cacheStorageConfigurations: pulumi.Output; /** * Structure for the metadata of a cluster. Includes information like the CPUs needed, memory of instances, and number of instances. See `capacityConfiguration` Block. */ readonly capacityConfiguration: pulumi.Output; /** * 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` Block. */ readonly code: pulumi.Output; /** * List of key-value pairs to make available inside the cluster. */ readonly commandLineArguments: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Timestamp at which the cluster is created in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000. */ readonly createdTimestamp: pulumi.Output; /** * KX database that will be available for querying. See `database` Block. */ readonly databases: pulumi.Output; /** * Description of the cluster. */ readonly description: pulumi.Output; /** * Unique identifier for the KX environment. */ readonly environmentId: pulumi.Output; /** * IAM role that defines a set of permissions associated with a cluster. These permissions are assumed when a cluster attempts to access another cluster. */ readonly executionRole: pulumi.Output; /** * 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. */ readonly initializationScript: pulumi.Output; /** * Last timestamp at which the cluster was updated in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000. */ readonly lastModifiedTimestamp: pulumi.Output; /** * Unique name for the cluster that you want to create. */ readonly name: pulumi.Output; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output; /** * Version of FinSpace Managed kdb to run. */ readonly releaseLabel: pulumi.Output; /** * 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 `savedownStorageConfiguration` Block. */ readonly savedownStorageConfiguration: pulumi.Output; /** * Structure that stores the configuration details of a scaling group. See `scalingGroupConfiguration` Block. */ readonly scalingGroupConfiguration: pulumi.Output; /** * Status of the cluster. */ readonly status: pulumi.Output; /** * Reason for the cluster status. */ readonly statusReason: pulumi.Output; /** * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ readonly tagsAll: pulumi.Output<{ [key: string]: string; }>; /** * 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. See `tickerplantLogConfiguration` Block. */ readonly tickerplantLogConfigurations: pulumi.Output; /** * Type of KDB database. Valid values are `HDB` (Historical Database), `RDB` (Realtime Database, which requires the `savedownStorageConfiguration` parameter), `GATEWAY`, `GP` (general purpose), and `Tickerplant`. */ readonly type: pulumi.Output; /** * Configuration details about the network where the Privatelink endpoint of the cluster resides. See `vpcConfiguration` Block. * * The following arguments are optional: */ readonly vpcConfiguration: pulumi.Output; /** * Create a KxCluster resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: KxClusterArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering KxCluster resources. */ export interface KxClusterState { /** * ARN identifier of the KX cluster. */ arn?: pulumi.Input; /** * Configuration based on which FinSpace will scale in or scale out nodes in your cluster. See `autoScalingConfiguration` Block. */ autoScalingConfiguration?: pulumi.Input; /** * Availability zone identifiers for the requested regions. Required when `azMode` is set to SINGLE. */ availabilityZoneId?: pulumi.Input; /** * Number of availability zones to assign per cluster. Valid values are `SINGLE` (assigns one availability zone per cluster) and `MULTI` (assigns all the availability zones per cluster). */ azMode?: pulumi.Input; /** * 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 `cacheStorageConfigurations` Block. */ cacheStorageConfigurations?: pulumi.Input[] | undefined>; /** * Structure for the metadata of a cluster. Includes information like the CPUs needed, memory of instances, and number of instances. See `capacityConfiguration` Block. */ capacityConfiguration?: pulumi.Input; /** * 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` Block. */ code?: pulumi.Input; /** * List of key-value pairs to make available inside the cluster. */ commandLineArguments?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Timestamp at which the cluster is created in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000. */ createdTimestamp?: pulumi.Input; /** * KX database that will be available for querying. See `database` Block. */ databases?: pulumi.Input[] | undefined>; /** * Description of the cluster. */ description?: pulumi.Input; /** * Unique identifier for the KX environment. */ environmentId?: pulumi.Input; /** * IAM role that defines a set of permissions associated with a cluster. These permissions are assumed when a cluster attempts to access another cluster. */ executionRole?: pulumi.Input; /** * 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. */ initializationScript?: pulumi.Input; /** * Last timestamp at which the cluster was updated in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000. */ lastModifiedTimestamp?: pulumi.Input; /** * Unique name for the cluster that you want to create. */ name?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * Version of FinSpace Managed kdb to run. */ releaseLabel?: pulumi.Input; /** * 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 `savedownStorageConfiguration` Block. */ savedownStorageConfiguration?: pulumi.Input; /** * Structure that stores the configuration details of a scaling group. See `scalingGroupConfiguration` Block. */ scalingGroupConfiguration?: pulumi.Input; /** * Status of the cluster. */ status?: pulumi.Input; /** * Reason for the cluster status. */ statusReason?: pulumi.Input; /** * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * 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. See `tickerplantLogConfiguration` Block. */ tickerplantLogConfigurations?: pulumi.Input[] | undefined>; /** * Type of KDB database. Valid values are `HDB` (Historical Database), `RDB` (Realtime Database, which requires the `savedownStorageConfiguration` parameter), `GATEWAY`, `GP` (general purpose), and `Tickerplant`. */ type?: pulumi.Input; /** * Configuration details about the network where the Privatelink endpoint of the cluster resides. See `vpcConfiguration` Block. * * The following arguments are optional: */ vpcConfiguration?: pulumi.Input; } /** * The set of arguments for constructing a KxCluster resource. */ export interface KxClusterArgs { /** * Configuration based on which FinSpace will scale in or scale out nodes in your cluster. See `autoScalingConfiguration` Block. */ autoScalingConfiguration?: pulumi.Input; /** * Availability zone identifiers for the requested regions. Required when `azMode` is set to SINGLE. */ availabilityZoneId?: pulumi.Input; /** * Number of availability zones to assign per cluster. Valid values are `SINGLE` (assigns one availability zone per cluster) and `MULTI` (assigns all the availability zones per cluster). */ azMode: pulumi.Input; /** * 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 `cacheStorageConfigurations` Block. */ cacheStorageConfigurations?: pulumi.Input[] | undefined>; /** * Structure for the metadata of a cluster. Includes information like the CPUs needed, memory of instances, and number of instances. See `capacityConfiguration` Block. */ capacityConfiguration?: pulumi.Input; /** * 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` Block. */ code?: pulumi.Input; /** * List of key-value pairs to make available inside the cluster. */ commandLineArguments?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * KX database that will be available for querying. See `database` Block. */ databases?: pulumi.Input[] | undefined>; /** * Description of the cluster. */ description?: pulumi.Input; /** * Unique identifier for the KX environment. */ environmentId: pulumi.Input; /** * IAM role that defines a set of permissions associated with a cluster. These permissions are assumed when a cluster attempts to access another cluster. */ executionRole?: pulumi.Input; /** * 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. */ initializationScript?: pulumi.Input; /** * Unique name for the cluster that you want to create. */ name?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * Version of FinSpace Managed kdb to run. */ releaseLabel: pulumi.Input; /** * 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 `savedownStorageConfiguration` Block. */ savedownStorageConfiguration?: pulumi.Input; /** * Structure that stores the configuration details of a scaling group. See `scalingGroupConfiguration` Block. */ scalingGroupConfiguration?: pulumi.Input; /** * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * 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. See `tickerplantLogConfiguration` Block. */ tickerplantLogConfigurations?: pulumi.Input[] | undefined>; /** * Type of KDB database. Valid values are `HDB` (Historical Database), `RDB` (Realtime Database, which requires the `savedownStorageConfiguration` parameter), `GATEWAY`, `GP` (general purpose), and `Tickerplant`. */ type: pulumi.Input; /** * Configuration details about the network where the Privatelink endpoint of the cluster resides. See `vpcConfiguration` Block. * * The following arguments are optional: */ vpcConfiguration: pulumi.Input; } //# sourceMappingURL=kxCluster.d.ts.map