github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/finspace/kxCluster.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package finspace
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Resource for managing an AWS FinSpace Kx Cluster.
    16  //
    17  // ## Example Usage
    18  //
    19  // ## Import
    20  //
    21  // Using `pulumi import`, import an AWS FinSpace Kx Cluster using the `id` (environment ID and cluster name, comma-delimited). For example:
    22  //
    23  // ```sh
    24  // $ pulumi import aws:finspace/kxCluster:KxCluster example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-cluster
    25  // ```
    26  type KxCluster struct {
    27  	pulumi.CustomResourceState
    28  
    29  	// Amazon Resource Name (ARN) identifier of the KX cluster.
    30  	Arn pulumi.StringOutput `pulumi:"arn"`
    31  	// Configuration based on which FinSpace will scale in or scale out nodes in your cluster. See auto_scaling_configuration.
    32  	AutoScalingConfiguration KxClusterAutoScalingConfigurationPtrOutput `pulumi:"autoScalingConfiguration"`
    33  	// The availability zone identifiers for the requested regions. Required when `azMode` is set to SINGLE.
    34  	AvailabilityZoneId pulumi.StringPtrOutput `pulumi:"availabilityZoneId"`
    35  	// The number of availability zones you want to assign per cluster. This can be one of the following:
    36  	// * SINGLE - Assigns one availability zone per cluster.
    37  	// * MULTI - Assigns all the availability zones per cluster.
    38  	AzMode pulumi.StringOutput `pulumi:"azMode"`
    39  	// 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.
    40  	CacheStorageConfigurations KxClusterCacheStorageConfigurationArrayOutput `pulumi:"cacheStorageConfigurations"`
    41  	// Structure for the metadata of a cluster. Includes information like the CPUs needed, memory of instances, and number of instances. See capacity_configuration.
    42  	CapacityConfiguration KxClusterCapacityConfigurationPtrOutput `pulumi:"capacityConfiguration"`
    43  	// 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.
    44  	Code KxClusterCodePtrOutput `pulumi:"code"`
    45  	// List of key-value pairs to make available inside the cluster.
    46  	CommandLineArguments pulumi.StringMapOutput `pulumi:"commandLineArguments"`
    47  	// 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.
    48  	CreatedTimestamp pulumi.StringOutput `pulumi:"createdTimestamp"`
    49  	// KX database that will be available for querying. Defined below.
    50  	Databases KxClusterDatabaseArrayOutput `pulumi:"databases"`
    51  	// Description of the cluster.
    52  	Description pulumi.StringPtrOutput `pulumi:"description"`
    53  	// Unique identifier for the KX environment.
    54  	EnvironmentId pulumi.StringOutput `pulumi:"environmentId"`
    55  	// 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.
    56  	ExecutionRole pulumi.StringPtrOutput `pulumi:"executionRole"`
    57  	// 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.
    58  	InitializationScript pulumi.StringPtrOutput `pulumi:"initializationScript"`
    59  	// 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.
    60  	LastModifiedTimestamp pulumi.StringOutput `pulumi:"lastModifiedTimestamp"`
    61  	// Unique name for the cluster that you want to create.
    62  	Name pulumi.StringOutput `pulumi:"name"`
    63  	// Version of FinSpace Managed kdb to run.
    64  	ReleaseLabel pulumi.StringOutput `pulumi:"releaseLabel"`
    65  	// 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.
    66  	SavedownStorageConfiguration KxClusterSavedownStorageConfigurationPtrOutput `pulumi:"savedownStorageConfiguration"`
    67  	// The structure that stores the configuration details of a scaling group.
    68  	ScalingGroupConfiguration KxClusterScalingGroupConfigurationPtrOutput `pulumi:"scalingGroupConfiguration"`
    69  	Status                    pulumi.StringOutput                         `pulumi:"status"`
    70  	StatusReason              pulumi.StringOutput                         `pulumi:"statusReason"`
    71  	// 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.
    72  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    73  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    74  	//
    75  	// Deprecated: Please use `tags` instead.
    76  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    77  	// 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.
    78  	TickerplantLogConfigurations KxClusterTickerplantLogConfigurationArrayOutput `pulumi:"tickerplantLogConfigurations"`
    79  	// Type of KDB database. The following types are available:
    80  	// * HDB - Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed KX databases mounted to the cluster.
    81  	// * 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.
    82  	// * 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.
    83  	// * 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.
    84  	// * 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.
    85  	Type pulumi.StringOutput `pulumi:"type"`
    86  	// Configuration details about the network where the Privatelink endpoint of the cluster resides. See vpc_configuration.
    87  	//
    88  	// The following arguments are optional:
    89  	VpcConfiguration KxClusterVpcConfigurationOutput `pulumi:"vpcConfiguration"`
    90  }
    91  
    92  // NewKxCluster registers a new resource with the given unique name, arguments, and options.
    93  func NewKxCluster(ctx *pulumi.Context,
    94  	name string, args *KxClusterArgs, opts ...pulumi.ResourceOption) (*KxCluster, error) {
    95  	if args == nil {
    96  		return nil, errors.New("missing one or more required arguments")
    97  	}
    98  
    99  	if args.AzMode == nil {
   100  		return nil, errors.New("invalid value for required argument 'AzMode'")
   101  	}
   102  	if args.EnvironmentId == nil {
   103  		return nil, errors.New("invalid value for required argument 'EnvironmentId'")
   104  	}
   105  	if args.ReleaseLabel == nil {
   106  		return nil, errors.New("invalid value for required argument 'ReleaseLabel'")
   107  	}
   108  	if args.Type == nil {
   109  		return nil, errors.New("invalid value for required argument 'Type'")
   110  	}
   111  	if args.VpcConfiguration == nil {
   112  		return nil, errors.New("invalid value for required argument 'VpcConfiguration'")
   113  	}
   114  	opts = internal.PkgResourceDefaultOpts(opts)
   115  	var resource KxCluster
   116  	err := ctx.RegisterResource("aws:finspace/kxCluster:KxCluster", name, args, &resource, opts...)
   117  	if err != nil {
   118  		return nil, err
   119  	}
   120  	return &resource, nil
   121  }
   122  
   123  // GetKxCluster gets an existing KxCluster resource's state with the given name, ID, and optional
   124  // state properties that are used to uniquely qualify the lookup (nil if not required).
   125  func GetKxCluster(ctx *pulumi.Context,
   126  	name string, id pulumi.IDInput, state *KxClusterState, opts ...pulumi.ResourceOption) (*KxCluster, error) {
   127  	var resource KxCluster
   128  	err := ctx.ReadResource("aws:finspace/kxCluster:KxCluster", name, id, state, &resource, opts...)
   129  	if err != nil {
   130  		return nil, err
   131  	}
   132  	return &resource, nil
   133  }
   134  
   135  // Input properties used for looking up and filtering KxCluster resources.
   136  type kxClusterState struct {
   137  	// Amazon Resource Name (ARN) identifier of the KX cluster.
   138  	Arn *string `pulumi:"arn"`
   139  	// Configuration based on which FinSpace will scale in or scale out nodes in your cluster. See auto_scaling_configuration.
   140  	AutoScalingConfiguration *KxClusterAutoScalingConfiguration `pulumi:"autoScalingConfiguration"`
   141  	// The availability zone identifiers for the requested regions. Required when `azMode` is set to SINGLE.
   142  	AvailabilityZoneId *string `pulumi:"availabilityZoneId"`
   143  	// The number of availability zones you want to assign per cluster. This can be one of the following:
   144  	// * SINGLE - Assigns one availability zone per cluster.
   145  	// * MULTI - Assigns all the availability zones per cluster.
   146  	AzMode *string `pulumi:"azMode"`
   147  	// 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.
   148  	CacheStorageConfigurations []KxClusterCacheStorageConfiguration `pulumi:"cacheStorageConfigurations"`
   149  	// Structure for the metadata of a cluster. Includes information like the CPUs needed, memory of instances, and number of instances. See capacity_configuration.
   150  	CapacityConfiguration *KxClusterCapacityConfiguration `pulumi:"capacityConfiguration"`
   151  	// 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.
   152  	Code *KxClusterCode `pulumi:"code"`
   153  	// List of key-value pairs to make available inside the cluster.
   154  	CommandLineArguments map[string]string `pulumi:"commandLineArguments"`
   155  	// 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.
   156  	CreatedTimestamp *string `pulumi:"createdTimestamp"`
   157  	// KX database that will be available for querying. Defined below.
   158  	Databases []KxClusterDatabase `pulumi:"databases"`
   159  	// Description of the cluster.
   160  	Description *string `pulumi:"description"`
   161  	// Unique identifier for the KX environment.
   162  	EnvironmentId *string `pulumi:"environmentId"`
   163  	// 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.
   164  	ExecutionRole *string `pulumi:"executionRole"`
   165  	// 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.
   166  	InitializationScript *string `pulumi:"initializationScript"`
   167  	// 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.
   168  	LastModifiedTimestamp *string `pulumi:"lastModifiedTimestamp"`
   169  	// Unique name for the cluster that you want to create.
   170  	Name *string `pulumi:"name"`
   171  	// Version of FinSpace Managed kdb to run.
   172  	ReleaseLabel *string `pulumi:"releaseLabel"`
   173  	// 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.
   174  	SavedownStorageConfiguration *KxClusterSavedownStorageConfiguration `pulumi:"savedownStorageConfiguration"`
   175  	// The structure that stores the configuration details of a scaling group.
   176  	ScalingGroupConfiguration *KxClusterScalingGroupConfiguration `pulumi:"scalingGroupConfiguration"`
   177  	Status                    *string                             `pulumi:"status"`
   178  	StatusReason              *string                             `pulumi:"statusReason"`
   179  	// 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.
   180  	Tags map[string]string `pulumi:"tags"`
   181  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   182  	//
   183  	// Deprecated: Please use `tags` instead.
   184  	TagsAll map[string]string `pulumi:"tagsAll"`
   185  	// 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.
   186  	TickerplantLogConfigurations []KxClusterTickerplantLogConfiguration `pulumi:"tickerplantLogConfigurations"`
   187  	// Type of KDB database. The following types are available:
   188  	// * HDB - Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed KX databases mounted to the cluster.
   189  	// * 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.
   190  	// * 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.
   191  	// * 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.
   192  	// * 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.
   193  	Type *string `pulumi:"type"`
   194  	// Configuration details about the network where the Privatelink endpoint of the cluster resides. See vpc_configuration.
   195  	//
   196  	// The following arguments are optional:
   197  	VpcConfiguration *KxClusterVpcConfiguration `pulumi:"vpcConfiguration"`
   198  }
   199  
   200  type KxClusterState struct {
   201  	// Amazon Resource Name (ARN) identifier of the KX cluster.
   202  	Arn pulumi.StringPtrInput
   203  	// Configuration based on which FinSpace will scale in or scale out nodes in your cluster. See auto_scaling_configuration.
   204  	AutoScalingConfiguration KxClusterAutoScalingConfigurationPtrInput
   205  	// The availability zone identifiers for the requested regions. Required when `azMode` is set to SINGLE.
   206  	AvailabilityZoneId pulumi.StringPtrInput
   207  	// The number of availability zones you want to assign per cluster. This can be one of the following:
   208  	// * SINGLE - Assigns one availability zone per cluster.
   209  	// * MULTI - Assigns all the availability zones per cluster.
   210  	AzMode pulumi.StringPtrInput
   211  	// 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.
   212  	CacheStorageConfigurations KxClusterCacheStorageConfigurationArrayInput
   213  	// Structure for the metadata of a cluster. Includes information like the CPUs needed, memory of instances, and number of instances. See capacity_configuration.
   214  	CapacityConfiguration KxClusterCapacityConfigurationPtrInput
   215  	// 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.
   216  	Code KxClusterCodePtrInput
   217  	// List of key-value pairs to make available inside the cluster.
   218  	CommandLineArguments pulumi.StringMapInput
   219  	// 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.
   220  	CreatedTimestamp pulumi.StringPtrInput
   221  	// KX database that will be available for querying. Defined below.
   222  	Databases KxClusterDatabaseArrayInput
   223  	// Description of the cluster.
   224  	Description pulumi.StringPtrInput
   225  	// Unique identifier for the KX environment.
   226  	EnvironmentId pulumi.StringPtrInput
   227  	// 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.
   228  	ExecutionRole pulumi.StringPtrInput
   229  	// 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.
   230  	InitializationScript pulumi.StringPtrInput
   231  	// 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.
   232  	LastModifiedTimestamp pulumi.StringPtrInput
   233  	// Unique name for the cluster that you want to create.
   234  	Name pulumi.StringPtrInput
   235  	// Version of FinSpace Managed kdb to run.
   236  	ReleaseLabel pulumi.StringPtrInput
   237  	// 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.
   238  	SavedownStorageConfiguration KxClusterSavedownStorageConfigurationPtrInput
   239  	// The structure that stores the configuration details of a scaling group.
   240  	ScalingGroupConfiguration KxClusterScalingGroupConfigurationPtrInput
   241  	Status                    pulumi.StringPtrInput
   242  	StatusReason              pulumi.StringPtrInput
   243  	// 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.
   244  	Tags pulumi.StringMapInput
   245  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   246  	//
   247  	// Deprecated: Please use `tags` instead.
   248  	TagsAll pulumi.StringMapInput
   249  	// 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.
   250  	TickerplantLogConfigurations KxClusterTickerplantLogConfigurationArrayInput
   251  	// Type of KDB database. The following types are available:
   252  	// * HDB - Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed KX databases mounted to the cluster.
   253  	// * 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.
   254  	// * 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.
   255  	// * 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.
   256  	// * 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.
   257  	Type pulumi.StringPtrInput
   258  	// Configuration details about the network where the Privatelink endpoint of the cluster resides. See vpc_configuration.
   259  	//
   260  	// The following arguments are optional:
   261  	VpcConfiguration KxClusterVpcConfigurationPtrInput
   262  }
   263  
   264  func (KxClusterState) ElementType() reflect.Type {
   265  	return reflect.TypeOf((*kxClusterState)(nil)).Elem()
   266  }
   267  
   268  type kxClusterArgs struct {
   269  	// Configuration based on which FinSpace will scale in or scale out nodes in your cluster. See auto_scaling_configuration.
   270  	AutoScalingConfiguration *KxClusterAutoScalingConfiguration `pulumi:"autoScalingConfiguration"`
   271  	// The availability zone identifiers for the requested regions. Required when `azMode` is set to SINGLE.
   272  	AvailabilityZoneId *string `pulumi:"availabilityZoneId"`
   273  	// The number of availability zones you want to assign per cluster. This can be one of the following:
   274  	// * SINGLE - Assigns one availability zone per cluster.
   275  	// * MULTI - Assigns all the availability zones per cluster.
   276  	AzMode string `pulumi:"azMode"`
   277  	// 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.
   278  	CacheStorageConfigurations []KxClusterCacheStorageConfiguration `pulumi:"cacheStorageConfigurations"`
   279  	// Structure for the metadata of a cluster. Includes information like the CPUs needed, memory of instances, and number of instances. See capacity_configuration.
   280  	CapacityConfiguration *KxClusterCapacityConfiguration `pulumi:"capacityConfiguration"`
   281  	// 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.
   282  	Code *KxClusterCode `pulumi:"code"`
   283  	// List of key-value pairs to make available inside the cluster.
   284  	CommandLineArguments map[string]string `pulumi:"commandLineArguments"`
   285  	// KX database that will be available for querying. Defined below.
   286  	Databases []KxClusterDatabase `pulumi:"databases"`
   287  	// Description of the cluster.
   288  	Description *string `pulumi:"description"`
   289  	// Unique identifier for the KX environment.
   290  	EnvironmentId string `pulumi:"environmentId"`
   291  	// 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.
   292  	ExecutionRole *string `pulumi:"executionRole"`
   293  	// 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.
   294  	InitializationScript *string `pulumi:"initializationScript"`
   295  	// Unique name for the cluster that you want to create.
   296  	Name *string `pulumi:"name"`
   297  	// Version of FinSpace Managed kdb to run.
   298  	ReleaseLabel string `pulumi:"releaseLabel"`
   299  	// 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.
   300  	SavedownStorageConfiguration *KxClusterSavedownStorageConfiguration `pulumi:"savedownStorageConfiguration"`
   301  	// The structure that stores the configuration details of a scaling group.
   302  	ScalingGroupConfiguration *KxClusterScalingGroupConfiguration `pulumi:"scalingGroupConfiguration"`
   303  	// 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.
   304  	Tags map[string]string `pulumi:"tags"`
   305  	// 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.
   306  	TickerplantLogConfigurations []KxClusterTickerplantLogConfiguration `pulumi:"tickerplantLogConfigurations"`
   307  	// Type of KDB database. The following types are available:
   308  	// * HDB - Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed KX databases mounted to the cluster.
   309  	// * 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.
   310  	// * 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.
   311  	// * 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.
   312  	// * 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.
   313  	Type string `pulumi:"type"`
   314  	// Configuration details about the network where the Privatelink endpoint of the cluster resides. See vpc_configuration.
   315  	//
   316  	// The following arguments are optional:
   317  	VpcConfiguration KxClusterVpcConfiguration `pulumi:"vpcConfiguration"`
   318  }
   319  
   320  // The set of arguments for constructing a KxCluster resource.
   321  type KxClusterArgs struct {
   322  	// Configuration based on which FinSpace will scale in or scale out nodes in your cluster. See auto_scaling_configuration.
   323  	AutoScalingConfiguration KxClusterAutoScalingConfigurationPtrInput
   324  	// The availability zone identifiers for the requested regions. Required when `azMode` is set to SINGLE.
   325  	AvailabilityZoneId pulumi.StringPtrInput
   326  	// The number of availability zones you want to assign per cluster. This can be one of the following:
   327  	// * SINGLE - Assigns one availability zone per cluster.
   328  	// * MULTI - Assigns all the availability zones per cluster.
   329  	AzMode pulumi.StringInput
   330  	// 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.
   331  	CacheStorageConfigurations KxClusterCacheStorageConfigurationArrayInput
   332  	// Structure for the metadata of a cluster. Includes information like the CPUs needed, memory of instances, and number of instances. See capacity_configuration.
   333  	CapacityConfiguration KxClusterCapacityConfigurationPtrInput
   334  	// 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.
   335  	Code KxClusterCodePtrInput
   336  	// List of key-value pairs to make available inside the cluster.
   337  	CommandLineArguments pulumi.StringMapInput
   338  	// KX database that will be available for querying. Defined below.
   339  	Databases KxClusterDatabaseArrayInput
   340  	// Description of the cluster.
   341  	Description pulumi.StringPtrInput
   342  	// Unique identifier for the KX environment.
   343  	EnvironmentId pulumi.StringInput
   344  	// 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.
   345  	ExecutionRole pulumi.StringPtrInput
   346  	// 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.
   347  	InitializationScript pulumi.StringPtrInput
   348  	// Unique name for the cluster that you want to create.
   349  	Name pulumi.StringPtrInput
   350  	// Version of FinSpace Managed kdb to run.
   351  	ReleaseLabel pulumi.StringInput
   352  	// 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.
   353  	SavedownStorageConfiguration KxClusterSavedownStorageConfigurationPtrInput
   354  	// The structure that stores the configuration details of a scaling group.
   355  	ScalingGroupConfiguration KxClusterScalingGroupConfigurationPtrInput
   356  	// 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.
   357  	Tags pulumi.StringMapInput
   358  	// 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.
   359  	TickerplantLogConfigurations KxClusterTickerplantLogConfigurationArrayInput
   360  	// Type of KDB database. The following types are available:
   361  	// * HDB - Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed KX databases mounted to the cluster.
   362  	// * 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.
   363  	// * 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.
   364  	// * 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.
   365  	// * 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.
   366  	Type pulumi.StringInput
   367  	// Configuration details about the network where the Privatelink endpoint of the cluster resides. See vpc_configuration.
   368  	//
   369  	// The following arguments are optional:
   370  	VpcConfiguration KxClusterVpcConfigurationInput
   371  }
   372  
   373  func (KxClusterArgs) ElementType() reflect.Type {
   374  	return reflect.TypeOf((*kxClusterArgs)(nil)).Elem()
   375  }
   376  
   377  type KxClusterInput interface {
   378  	pulumi.Input
   379  
   380  	ToKxClusterOutput() KxClusterOutput
   381  	ToKxClusterOutputWithContext(ctx context.Context) KxClusterOutput
   382  }
   383  
   384  func (*KxCluster) ElementType() reflect.Type {
   385  	return reflect.TypeOf((**KxCluster)(nil)).Elem()
   386  }
   387  
   388  func (i *KxCluster) ToKxClusterOutput() KxClusterOutput {
   389  	return i.ToKxClusterOutputWithContext(context.Background())
   390  }
   391  
   392  func (i *KxCluster) ToKxClusterOutputWithContext(ctx context.Context) KxClusterOutput {
   393  	return pulumi.ToOutputWithContext(ctx, i).(KxClusterOutput)
   394  }
   395  
   396  // KxClusterArrayInput is an input type that accepts KxClusterArray and KxClusterArrayOutput values.
   397  // You can construct a concrete instance of `KxClusterArrayInput` via:
   398  //
   399  //	KxClusterArray{ KxClusterArgs{...} }
   400  type KxClusterArrayInput interface {
   401  	pulumi.Input
   402  
   403  	ToKxClusterArrayOutput() KxClusterArrayOutput
   404  	ToKxClusterArrayOutputWithContext(context.Context) KxClusterArrayOutput
   405  }
   406  
   407  type KxClusterArray []KxClusterInput
   408  
   409  func (KxClusterArray) ElementType() reflect.Type {
   410  	return reflect.TypeOf((*[]*KxCluster)(nil)).Elem()
   411  }
   412  
   413  func (i KxClusterArray) ToKxClusterArrayOutput() KxClusterArrayOutput {
   414  	return i.ToKxClusterArrayOutputWithContext(context.Background())
   415  }
   416  
   417  func (i KxClusterArray) ToKxClusterArrayOutputWithContext(ctx context.Context) KxClusterArrayOutput {
   418  	return pulumi.ToOutputWithContext(ctx, i).(KxClusterArrayOutput)
   419  }
   420  
   421  // KxClusterMapInput is an input type that accepts KxClusterMap and KxClusterMapOutput values.
   422  // You can construct a concrete instance of `KxClusterMapInput` via:
   423  //
   424  //	KxClusterMap{ "key": KxClusterArgs{...} }
   425  type KxClusterMapInput interface {
   426  	pulumi.Input
   427  
   428  	ToKxClusterMapOutput() KxClusterMapOutput
   429  	ToKxClusterMapOutputWithContext(context.Context) KxClusterMapOutput
   430  }
   431  
   432  type KxClusterMap map[string]KxClusterInput
   433  
   434  func (KxClusterMap) ElementType() reflect.Type {
   435  	return reflect.TypeOf((*map[string]*KxCluster)(nil)).Elem()
   436  }
   437  
   438  func (i KxClusterMap) ToKxClusterMapOutput() KxClusterMapOutput {
   439  	return i.ToKxClusterMapOutputWithContext(context.Background())
   440  }
   441  
   442  func (i KxClusterMap) ToKxClusterMapOutputWithContext(ctx context.Context) KxClusterMapOutput {
   443  	return pulumi.ToOutputWithContext(ctx, i).(KxClusterMapOutput)
   444  }
   445  
   446  type KxClusterOutput struct{ *pulumi.OutputState }
   447  
   448  func (KxClusterOutput) ElementType() reflect.Type {
   449  	return reflect.TypeOf((**KxCluster)(nil)).Elem()
   450  }
   451  
   452  func (o KxClusterOutput) ToKxClusterOutput() KxClusterOutput {
   453  	return o
   454  }
   455  
   456  func (o KxClusterOutput) ToKxClusterOutputWithContext(ctx context.Context) KxClusterOutput {
   457  	return o
   458  }
   459  
   460  // Amazon Resource Name (ARN) identifier of the KX cluster.
   461  func (o KxClusterOutput) Arn() pulumi.StringOutput {
   462  	return o.ApplyT(func(v *KxCluster) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   463  }
   464  
   465  // Configuration based on which FinSpace will scale in or scale out nodes in your cluster. See auto_scaling_configuration.
   466  func (o KxClusterOutput) AutoScalingConfiguration() KxClusterAutoScalingConfigurationPtrOutput {
   467  	return o.ApplyT(func(v *KxCluster) KxClusterAutoScalingConfigurationPtrOutput { return v.AutoScalingConfiguration }).(KxClusterAutoScalingConfigurationPtrOutput)
   468  }
   469  
   470  // The availability zone identifiers for the requested regions. Required when `azMode` is set to SINGLE.
   471  func (o KxClusterOutput) AvailabilityZoneId() pulumi.StringPtrOutput {
   472  	return o.ApplyT(func(v *KxCluster) pulumi.StringPtrOutput { return v.AvailabilityZoneId }).(pulumi.StringPtrOutput)
   473  }
   474  
   475  // The number of availability zones you want to assign per cluster. This can be one of the following:
   476  // * SINGLE - Assigns one availability zone per cluster.
   477  // * MULTI - Assigns all the availability zones per cluster.
   478  func (o KxClusterOutput) AzMode() pulumi.StringOutput {
   479  	return o.ApplyT(func(v *KxCluster) pulumi.StringOutput { return v.AzMode }).(pulumi.StringOutput)
   480  }
   481  
   482  // 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.
   483  func (o KxClusterOutput) CacheStorageConfigurations() KxClusterCacheStorageConfigurationArrayOutput {
   484  	return o.ApplyT(func(v *KxCluster) KxClusterCacheStorageConfigurationArrayOutput { return v.CacheStorageConfigurations }).(KxClusterCacheStorageConfigurationArrayOutput)
   485  }
   486  
   487  // Structure for the metadata of a cluster. Includes information like the CPUs needed, memory of instances, and number of instances. See capacity_configuration.
   488  func (o KxClusterOutput) CapacityConfiguration() KxClusterCapacityConfigurationPtrOutput {
   489  	return o.ApplyT(func(v *KxCluster) KxClusterCapacityConfigurationPtrOutput { return v.CapacityConfiguration }).(KxClusterCapacityConfigurationPtrOutput)
   490  }
   491  
   492  // 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.
   493  func (o KxClusterOutput) Code() KxClusterCodePtrOutput {
   494  	return o.ApplyT(func(v *KxCluster) KxClusterCodePtrOutput { return v.Code }).(KxClusterCodePtrOutput)
   495  }
   496  
   497  // List of key-value pairs to make available inside the cluster.
   498  func (o KxClusterOutput) CommandLineArguments() pulumi.StringMapOutput {
   499  	return o.ApplyT(func(v *KxCluster) pulumi.StringMapOutput { return v.CommandLineArguments }).(pulumi.StringMapOutput)
   500  }
   501  
   502  // 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.
   503  func (o KxClusterOutput) CreatedTimestamp() pulumi.StringOutput {
   504  	return o.ApplyT(func(v *KxCluster) pulumi.StringOutput { return v.CreatedTimestamp }).(pulumi.StringOutput)
   505  }
   506  
   507  // KX database that will be available for querying. Defined below.
   508  func (o KxClusterOutput) Databases() KxClusterDatabaseArrayOutput {
   509  	return o.ApplyT(func(v *KxCluster) KxClusterDatabaseArrayOutput { return v.Databases }).(KxClusterDatabaseArrayOutput)
   510  }
   511  
   512  // Description of the cluster.
   513  func (o KxClusterOutput) Description() pulumi.StringPtrOutput {
   514  	return o.ApplyT(func(v *KxCluster) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   515  }
   516  
   517  // Unique identifier for the KX environment.
   518  func (o KxClusterOutput) EnvironmentId() pulumi.StringOutput {
   519  	return o.ApplyT(func(v *KxCluster) pulumi.StringOutput { return v.EnvironmentId }).(pulumi.StringOutput)
   520  }
   521  
   522  // 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.
   523  func (o KxClusterOutput) ExecutionRole() pulumi.StringPtrOutput {
   524  	return o.ApplyT(func(v *KxCluster) pulumi.StringPtrOutput { return v.ExecutionRole }).(pulumi.StringPtrOutput)
   525  }
   526  
   527  // 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.
   528  func (o KxClusterOutput) InitializationScript() pulumi.StringPtrOutput {
   529  	return o.ApplyT(func(v *KxCluster) pulumi.StringPtrOutput { return v.InitializationScript }).(pulumi.StringPtrOutput)
   530  }
   531  
   532  // 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.
   533  func (o KxClusterOutput) LastModifiedTimestamp() pulumi.StringOutput {
   534  	return o.ApplyT(func(v *KxCluster) pulumi.StringOutput { return v.LastModifiedTimestamp }).(pulumi.StringOutput)
   535  }
   536  
   537  // Unique name for the cluster that you want to create.
   538  func (o KxClusterOutput) Name() pulumi.StringOutput {
   539  	return o.ApplyT(func(v *KxCluster) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   540  }
   541  
   542  // Version of FinSpace Managed kdb to run.
   543  func (o KxClusterOutput) ReleaseLabel() pulumi.StringOutput {
   544  	return o.ApplyT(func(v *KxCluster) pulumi.StringOutput { return v.ReleaseLabel }).(pulumi.StringOutput)
   545  }
   546  
   547  // 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.
   548  func (o KxClusterOutput) SavedownStorageConfiguration() KxClusterSavedownStorageConfigurationPtrOutput {
   549  	return o.ApplyT(func(v *KxCluster) KxClusterSavedownStorageConfigurationPtrOutput {
   550  		return v.SavedownStorageConfiguration
   551  	}).(KxClusterSavedownStorageConfigurationPtrOutput)
   552  }
   553  
   554  // The structure that stores the configuration details of a scaling group.
   555  func (o KxClusterOutput) ScalingGroupConfiguration() KxClusterScalingGroupConfigurationPtrOutput {
   556  	return o.ApplyT(func(v *KxCluster) KxClusterScalingGroupConfigurationPtrOutput { return v.ScalingGroupConfiguration }).(KxClusterScalingGroupConfigurationPtrOutput)
   557  }
   558  
   559  func (o KxClusterOutput) Status() pulumi.StringOutput {
   560  	return o.ApplyT(func(v *KxCluster) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput)
   561  }
   562  
   563  func (o KxClusterOutput) StatusReason() pulumi.StringOutput {
   564  	return o.ApplyT(func(v *KxCluster) pulumi.StringOutput { return v.StatusReason }).(pulumi.StringOutput)
   565  }
   566  
   567  // 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.
   568  func (o KxClusterOutput) Tags() pulumi.StringMapOutput {
   569  	return o.ApplyT(func(v *KxCluster) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   570  }
   571  
   572  // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   573  //
   574  // Deprecated: Please use `tags` instead.
   575  func (o KxClusterOutput) TagsAll() pulumi.StringMapOutput {
   576  	return o.ApplyT(func(v *KxCluster) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   577  }
   578  
   579  // 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.
   580  func (o KxClusterOutput) TickerplantLogConfigurations() KxClusterTickerplantLogConfigurationArrayOutput {
   581  	return o.ApplyT(func(v *KxCluster) KxClusterTickerplantLogConfigurationArrayOutput {
   582  		return v.TickerplantLogConfigurations
   583  	}).(KxClusterTickerplantLogConfigurationArrayOutput)
   584  }
   585  
   586  // Type of KDB database. The following types are available:
   587  // * HDB - Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed KX databases mounted to the cluster.
   588  // * 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.
   589  // * 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.
   590  // * 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.
   591  // * 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.
   592  func (o KxClusterOutput) Type() pulumi.StringOutput {
   593  	return o.ApplyT(func(v *KxCluster) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput)
   594  }
   595  
   596  // Configuration details about the network where the Privatelink endpoint of the cluster resides. See vpc_configuration.
   597  //
   598  // The following arguments are optional:
   599  func (o KxClusterOutput) VpcConfiguration() KxClusterVpcConfigurationOutput {
   600  	return o.ApplyT(func(v *KxCluster) KxClusterVpcConfigurationOutput { return v.VpcConfiguration }).(KxClusterVpcConfigurationOutput)
   601  }
   602  
   603  type KxClusterArrayOutput struct{ *pulumi.OutputState }
   604  
   605  func (KxClusterArrayOutput) ElementType() reflect.Type {
   606  	return reflect.TypeOf((*[]*KxCluster)(nil)).Elem()
   607  }
   608  
   609  func (o KxClusterArrayOutput) ToKxClusterArrayOutput() KxClusterArrayOutput {
   610  	return o
   611  }
   612  
   613  func (o KxClusterArrayOutput) ToKxClusterArrayOutputWithContext(ctx context.Context) KxClusterArrayOutput {
   614  	return o
   615  }
   616  
   617  func (o KxClusterArrayOutput) Index(i pulumi.IntInput) KxClusterOutput {
   618  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *KxCluster {
   619  		return vs[0].([]*KxCluster)[vs[1].(int)]
   620  	}).(KxClusterOutput)
   621  }
   622  
   623  type KxClusterMapOutput struct{ *pulumi.OutputState }
   624  
   625  func (KxClusterMapOutput) ElementType() reflect.Type {
   626  	return reflect.TypeOf((*map[string]*KxCluster)(nil)).Elem()
   627  }
   628  
   629  func (o KxClusterMapOutput) ToKxClusterMapOutput() KxClusterMapOutput {
   630  	return o
   631  }
   632  
   633  func (o KxClusterMapOutput) ToKxClusterMapOutputWithContext(ctx context.Context) KxClusterMapOutput {
   634  	return o
   635  }
   636  
   637  func (o KxClusterMapOutput) MapIndex(k pulumi.StringInput) KxClusterOutput {
   638  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *KxCluster {
   639  		return vs[0].(map[string]*KxCluster)[vs[1].(string)]
   640  	}).(KxClusterOutput)
   641  }
   642  
   643  func init() {
   644  	pulumi.RegisterInputType(reflect.TypeOf((*KxClusterInput)(nil)).Elem(), &KxCluster{})
   645  	pulumi.RegisterInputType(reflect.TypeOf((*KxClusterArrayInput)(nil)).Elem(), KxClusterArray{})
   646  	pulumi.RegisterInputType(reflect.TypeOf((*KxClusterMapInput)(nil)).Elem(), KxClusterMap{})
   647  	pulumi.RegisterOutputType(KxClusterOutput{})
   648  	pulumi.RegisterOutputType(KxClusterArrayOutput{})
   649  	pulumi.RegisterOutputType(KxClusterMapOutput{})
   650  }