import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Provides a Ehpc Cluster resource.
 *
 * For information about Ehpc Cluster and how to use it, see [What is Cluster](https://www.alibabacloud.com/help/en/e-hpc/developer-reference/api-ehpc-2018-04-12-createcluster).
 *
 * > **NOTE:** Available since v1.173.0.
 *
 * > **DEPRECATED:** This resource has been deprecated. Please use `alicloud.ehpc.ClusterV2` for new deployments as it provides enhanced functionality and is actively maintained.
 *
 * ## Example Usage
 *
 * Basic Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as alicloud from "@pulumi/alicloud";
 *
 * const config = new pulumi.Config();
 * const name = config.get("name") || "tf-example";
 * const _default = alicloud.getZones({
 *     availableResourceCreation: "VSwitch",
 * });
 * const defaultGetImages = alicloud.ecs.getImages({
 *     nameRegex: "^centos_7_6_x64*",
 *     owners: "system",
 * });
 * const defaultGetInstanceTypes = _default.then(_default => alicloud.ecs.getInstanceTypes({
 *     availabilityZone: _default.zones?.[0]?.id,
 * }));
 * const defaultNetwork = new alicloud.vpc.Network("default", {
 *     vpcName: name,
 *     cidrBlock: "10.0.0.0/8",
 * });
 * const defaultSwitch = new alicloud.vpc.Switch("default", {
 *     vswitchName: name,
 *     cidrBlock: "10.1.0.0/16",
 *     vpcId: defaultNetwork.id,
 *     zoneId: _default.then(_default => _default.zones?.[0]?.id),
 * });
 * const defaultFileSystem = new alicloud.nas.FileSystem("default", {
 *     storageType: "Performance",
 *     protocolType: "NFS",
 * });
 * const defaultMountTarget = new alicloud.nas.MountTarget("default", {
 *     fileSystemId: defaultFileSystem.id,
 *     accessGroupName: "DEFAULT_VPC_GROUP_NAME",
 *     vswitchId: defaultSwitch.id,
 * });
 * const defaultCluster = new alicloud.ehpc.Cluster("default", {
 *     clusterName: name,
 *     deployMode: "Simple",
 *     description: name,
 *     haEnable: false,
 *     imageId: defaultGetImages.then(defaultGetImages => defaultGetImages.images?.[0]?.id),
 *     imageOwnerAlias: "system",
 *     volumeProtocol: "nfs",
 *     volumeId: defaultFileSystem.id,
 *     volumeMountpoint: defaultMountTarget.mountTargetDomain,
 *     computeCount: 1,
 *     computeInstanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes => defaultGetInstanceTypes.instanceTypes?.[0]?.id),
 *     loginCount: 1,
 *     loginInstanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes => defaultGetInstanceTypes.instanceTypes?.[0]?.id),
 *     managerCount: 1,
 *     managerInstanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes => defaultGetInstanceTypes.instanceTypes?.[0]?.id),
 *     osTag: "CentOS_7.6_64",
 *     schedulerType: "pbs",
 *     password: "your-password123",
 *     vswitchId: defaultSwitch.id,
 *     vpcId: defaultNetwork.id,
 *     zoneId: _default.then(_default => _default.zones?.[0]?.id),
 * });
 * ```
 *
 * 📚 Need more examples? VIEW MORE EXAMPLES
 *
 * ## Import
 *
 * Ehpc Cluster can be imported using the id, e.g.
 *
 * ```sh
 * $ pulumi import alicloud:ehpc/cluster:Cluster example <id>
 * ```
 */
export declare class Cluster extends pulumi.CustomResource {
    /**
     * Get an existing Cluster 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<pulumi.ID>, state?: ClusterState, opts?: pulumi.CustomResourceOptions): Cluster;
    /**
     * Returns true if the given object is an instance of Cluster.  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 Cluster;
    /**
     * The type of the domain account service. Valid values: `nis`, `ldap`. Default value: `nis`
     */
    readonly accountType: pulumi.Output<string>;
    /**
     * The additional volumes. See `additionalVolumes` below.
     */
    readonly additionalVolumes: pulumi.Output<outputs.ehpc.ClusterAdditionalVolume[] | undefined>;
    /**
     * The application. See `application` below.
     */
    readonly applications: pulumi.Output<outputs.ehpc.ClusterApplication[]>;
    /**
     * Specifies whether to enable auto-renewal for the subscription. Default value: `false`.
     */
    readonly autoRenew: pulumi.Output<boolean | undefined>;
    /**
     * The auto-renewal period of the subscription compute nodes. The parameter takes effect when AutoRenew is set to true.
     */
    readonly autoRenewPeriod: pulumi.Output<number | undefined>;
    /**
     * The version of the E-HPC client. By default, the parameter is set to the latest version number.
     */
    readonly clientVersion: pulumi.Output<string>;
    /**
     * The name of the cluster. The name must be `2` to `64` characters in length.
     */
    readonly clusterName: pulumi.Output<string>;
    /**
     * The version of the cluster. Default value: `1.0`.
     */
    readonly clusterVersion: pulumi.Output<string>;
    /**
     * The number of the compute nodes. Valid values: `1` to `99`.
     */
    readonly computeCount: pulumi.Output<number>;
    /**
     * Specifies whether the compute nodes support hyper-threading. Default value: `true`.
     */
    readonly computeEnableHt: pulumi.Output<boolean | undefined>;
    /**
     * The instance type of the compute nodes.
     */
    readonly computeInstanceType: pulumi.Output<string>;
    /**
     * The maximum hourly price of the compute nodes. A maximum of three decimal places can be used in the value of the parameter. The parameter is valid only when the ComputeSpotStrategy parameter is set to SpotWithPriceLimit.
     */
    readonly computeSpotPriceLimit: pulumi.Output<string | undefined>;
    /**
     * The bidding method of the compute nodes. Default value: `NoSpot`. Valid values:
     * - `NoSpot`: The compute nodes are pay-as-you-go instances.
     * - `SpotWithPriceLimit`: The compute nodes are preemptible instances that have a user-defined maximum hourly price.
     * - `SpotAsPriceGo`: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.
     */
    readonly computeSpotStrategy: pulumi.Output<string | undefined>;
    /**
     * The mode in which the cluster is deployed. Valid values: `Standard`, `Simple`, `Tiny`. Default value: Standard.
     * - `Standard`: An account node, a scheduling node, a logon node, and multiple compute nodes are separately deployed.
     * - `Simple`: A management node, a logon node, and multiple compute nodes are deployed. The management node consists of an account node and a scheduling node. The logon node and compute nodes are separately deployed.
     * - `Tiny`: A management node and multiple compute nodes are deployed. The management node consists of an account node, a scheduling node, and a logon node. The compute nodes are separately deployed.
     */
    readonly deployMode: pulumi.Output<string>;
    /**
     * The description of the cluster. The description must be `2` to `256` characters in length. It cannot start with `http://` or `https://`.
     */
    readonly description: pulumi.Output<string>;
    /**
     * The domain name of the on-premises cluster. This parameter takes effect only when the AccoutType parameter is set to Idap.
     */
    readonly domain: pulumi.Output<string | undefined>;
    /**
     * The billing method of the nodes.
     */
    readonly ecsChargeType: pulumi.Output<string>;
    /**
     * The version of E-HPC. By default, the parameter is set to the latest version number.
     */
    readonly ehpcVersion: pulumi.Output<string>;
    /**
     * Specifies whether to enable the high availability feature. Default value: `false`.  **Note:** If high availability is enabled, a primary management node and a secondary management node are used.
     */
    readonly haEnable: pulumi.Output<boolean>;
    /**
     * The ID of the image.
     */
    readonly imageId: pulumi.Output<string>;
    /**
     * The type of the image. Valid values: `others`, `self`, `system`, `marketplace`. Default value: `system`.
     */
    readonly imageOwnerAlias: pulumi.Output<string>;
    /**
     * The URL of the job files that are uploaded to an Object Storage Service (OSS) bucket.
     */
    readonly inputFileUrl: pulumi.Output<string | undefined>;
    /**
     * Specifies whether to enable auto scaling. Default value: `false`.
     */
    readonly isComputeEss: pulumi.Output<boolean | undefined>;
    /**
     * The queue to which the compute nodes are added.
     */
    readonly jobQueue: pulumi.Output<string | undefined>;
    /**
     * The name of the AccessKey pair.
     */
    readonly keyPairName: pulumi.Output<string | undefined>;
    /**
     * The number of the logon nodes. Valid values: `1`.
     */
    readonly loginCount: pulumi.Output<number>;
    /**
     * The instance type of the logon nodes.
     */
    readonly loginInstanceType: pulumi.Output<string>;
    /**
     * The number of the management nodes. Valid values: 1 and 2.
     */
    readonly managerCount: pulumi.Output<number>;
    /**
     * The instance type of the management nodes.
     */
    readonly managerInstanceType: pulumi.Output<string>;
    /**
     * The image tag of the operating system.
     */
    readonly osTag: pulumi.Output<string>;
    /**
     * The root password of the logon node. The password must be 8 to 30 characters in length and contain at least three of the following items: uppercase letters, lowercase letters, digits, and special characters. The password can contain the following special characters: `( ) ~ ! @ # $ % ^ & * - + = { } [ ] : ; ‘ < > , . ? /`. You must specify either `password` or `keyPairName`. If both are specified, the Password parameter prevails.
     */
    readonly password: pulumi.Output<string | undefined>;
    /**
     * The duration of the subscription. The unit of the duration is specified by the `periodUnit` parameter. Default value: `1`.
     * * If you set PriceUnit to Year, the valid values of the Period parameter are 1, 2, and 3.
     * * If you set PriceUnit to Month, the valid values of the Period parameter are 1, 2, 3, 4, 5, 6, 7, 8, and 9.
     * * If you set PriceUnit to Hour, the valid value of the Period parameter is 1.
     */
    readonly period: pulumi.Output<number | undefined>;
    /**
     * The unit of the subscription duration. Valid values: `Year`, `Month`, `Hour`. Default value: `Month`.
     */
    readonly periodUnit: pulumi.Output<string | undefined>;
    /**
     * The mode configurations of the plug-in. This parameter takes effect only when the SchedulerType parameter is set to custom. The value must be a JSON string. The parameter contains the following parameters: pluginMod, pluginLocalPath, and pluginOssPath.
     * - pluginMod: the mode of the plug-in. The following modes are supported:
     * - oss: The plug-in is downloaded and decompressed from OSS to a local path. The local path is specified by the pluginLocalPath parameter.
     * - image: By default, the plug-in is stored in a pre-defined local path. The local path is specified by the pluginLocalPath parameter.
     * - pluginLocalPath: the local path where the plug-in is stored. We recommend that you select a shared directory in oss mode and a non-shared directory in image mode.
     * - pluginOssPath: the remote path where the plug-in is stored in OSS. This parameter takes effect only when the pluginMod parameter is set to oss.
     */
    readonly plugin: pulumi.Output<string | undefined>;
    /**
     * The post install script. See `postInstallScript` below.
     */
    readonly postInstallScripts: pulumi.Output<outputs.ehpc.ClusterPostInstallScript[] | undefined>;
    /**
     * The node of the RAM role.
     */
    readonly ramNodeTypes: pulumi.Output<string[] | undefined>;
    /**
     * The name of the Resource Access Management (RAM) role.
     */
    readonly ramRoleName: pulumi.Output<string | undefined>;
    /**
     * The release instance. Valid values: `true`.
     */
    readonly releaseInstance: pulumi.Output<boolean | undefined>;
    /**
     * The remote directory to which the file system is mounted.
     */
    readonly remoteDirectory: pulumi.Output<string>;
    /**
     * Specifies whether to enable Virtual Network Computing (VNC). Default value: `false`.
     */
    readonly remoteVisEnable: pulumi.Output<boolean | undefined>;
    /**
     * The ID of the resource group.
     */
    readonly resourceGroupId: pulumi.Output<string | undefined>;
    /**
     * The ID of the Super Computing Cluster (SCC) instance. If you specify the parameter, the SCC instance is moved to a new SCC cluster.
     */
    readonly sccClusterId: pulumi.Output<string>;
    /**
     * The type of the scheduler. Valid values: `pbs`, `slurm`, `opengridscheduler` and `deadline`. Default value: `pbs`.
     */
    readonly schedulerType: pulumi.Output<string>;
    /**
     * The ID of the security group to which the cluster belongs.
     */
    readonly securityGroupId: pulumi.Output<string>;
    /**
     * If you do not use an existing security group, set the parameter to the name of a new security group. A default policy is applied to the new security group.
     */
    readonly securityGroupName: pulumi.Output<string | undefined>;
    /**
     * The status of the resource.
     */
    readonly status: pulumi.Output<string>;
    /**
     * The performance level of the ESSD that is used as the system disk. Default value: `PL1` For more information, see [ESSDs](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/essds). Valid values:
     * * `PL0`: A single ESSD can deliver up to 10,000 random read/write IOPS.
     * * `PL1`: A single ESSD can deliver up to 50,000 random read/write IOPS.
     * * `PL2`: A single ESSD can deliver up to 100,000 random read/write IOPS.
     * * `PL3`: A single ESSD can deliver up to 1,000,000 random read/write IOPS.
     */
    readonly systemDiskLevel: pulumi.Output<string | undefined>;
    /**
     * The size of the system disk. Unit: `GB`. Valid values: `40` to `500`. Default value: `40`.
     */
    readonly systemDiskSize: pulumi.Output<number | undefined>;
    /**
     * The type of the system disk. Valid values: `cloudEfficiency`, `cloudSsd`, `cloudEssd` or `cloud`. Default value: `cloudSsd`.
     */
    readonly systemDiskType: pulumi.Output<string | undefined>;
    /**
     * The ID of the file system. If you leave the parameter empty, a Performance NAS file system is created by default.
     */
    readonly volumeId: pulumi.Output<string>;
    /**
     * The mount options of the file system.
     */
    readonly volumeMountOption: pulumi.Output<string | undefined>;
    /**
     * The mount target of the file system. Take note of the following information:
     * - If you do not specify the VolumeId parameter, you can leave the VolumeMountpoint parameter empty. A mount target is created by default.
     * - If you specify the VolumeId parameter, the VolumeMountpoint parameter is required.
     */
    readonly volumeMountpoint: pulumi.Output<string>;
    /**
     * The type of the protocol that is used by the file system. Valid values: `NFS`, `SMB`. Default value: `NFS`.
     */
    readonly volumeProtocol: pulumi.Output<string>;
    /**
     * The type of the shared storage. Only Apsara File Storage NAS file systems are supported.
     */
    readonly volumeType: pulumi.Output<string>;
    /**
     * The ID of the virtual private cloud (VPC) to which the cluster belongs.
     */
    readonly vpcId: pulumi.Output<string>;
    /**
     * The ID of the vSwitch. E-HPC supports only VPC networks.
     */
    readonly vswitchId: pulumi.Output<string>;
    /**
     * Specifies whether not to install the agent. Default value: `false`.
     */
    readonly withoutAgent: pulumi.Output<boolean | undefined>;
    /**
     * Specifies whether the logon node uses an elastic IP address (EIP). Default value: `false`.
     */
    readonly withoutElasticIp: pulumi.Output<boolean | undefined>;
    /**
     * The ID of the zone.
     */
    readonly zoneId: pulumi.Output<string>;
    /**
     * Create a Cluster 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: ClusterArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Cluster resources.
 */
export interface ClusterState {
    /**
     * The type of the domain account service. Valid values: `nis`, `ldap`. Default value: `nis`
     */
    accountType?: pulumi.Input<string | undefined>;
    /**
     * The additional volumes. See `additionalVolumes` below.
     */
    additionalVolumes?: pulumi.Input<pulumi.Input<inputs.ehpc.ClusterAdditionalVolume>[] | undefined>;
    /**
     * The application. See `application` below.
     */
    applications?: pulumi.Input<pulumi.Input<inputs.ehpc.ClusterApplication>[] | undefined>;
    /**
     * Specifies whether to enable auto-renewal for the subscription. Default value: `false`.
     */
    autoRenew?: pulumi.Input<boolean | undefined>;
    /**
     * The auto-renewal period of the subscription compute nodes. The parameter takes effect when AutoRenew is set to true.
     */
    autoRenewPeriod?: pulumi.Input<number | undefined>;
    /**
     * The version of the E-HPC client. By default, the parameter is set to the latest version number.
     */
    clientVersion?: pulumi.Input<string | undefined>;
    /**
     * The name of the cluster. The name must be `2` to `64` characters in length.
     */
    clusterName?: pulumi.Input<string | undefined>;
    /**
     * The version of the cluster. Default value: `1.0`.
     */
    clusterVersion?: pulumi.Input<string | undefined>;
    /**
     * The number of the compute nodes. Valid values: `1` to `99`.
     */
    computeCount?: pulumi.Input<number | undefined>;
    /**
     * Specifies whether the compute nodes support hyper-threading. Default value: `true`.
     */
    computeEnableHt?: pulumi.Input<boolean | undefined>;
    /**
     * The instance type of the compute nodes.
     */
    computeInstanceType?: pulumi.Input<string | undefined>;
    /**
     * The maximum hourly price of the compute nodes. A maximum of three decimal places can be used in the value of the parameter. The parameter is valid only when the ComputeSpotStrategy parameter is set to SpotWithPriceLimit.
     */
    computeSpotPriceLimit?: pulumi.Input<string | undefined>;
    /**
     * The bidding method of the compute nodes. Default value: `NoSpot`. Valid values:
     * - `NoSpot`: The compute nodes are pay-as-you-go instances.
     * - `SpotWithPriceLimit`: The compute nodes are preemptible instances that have a user-defined maximum hourly price.
     * - `SpotAsPriceGo`: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.
     */
    computeSpotStrategy?: pulumi.Input<string | undefined>;
    /**
     * The mode in which the cluster is deployed. Valid values: `Standard`, `Simple`, `Tiny`. Default value: Standard.
     * - `Standard`: An account node, a scheduling node, a logon node, and multiple compute nodes are separately deployed.
     * - `Simple`: A management node, a logon node, and multiple compute nodes are deployed. The management node consists of an account node and a scheduling node. The logon node and compute nodes are separately deployed.
     * - `Tiny`: A management node and multiple compute nodes are deployed. The management node consists of an account node, a scheduling node, and a logon node. The compute nodes are separately deployed.
     */
    deployMode?: pulumi.Input<string | undefined>;
    /**
     * The description of the cluster. The description must be `2` to `256` characters in length. It cannot start with `http://` or `https://`.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * The domain name of the on-premises cluster. This parameter takes effect only when the AccoutType parameter is set to Idap.
     */
    domain?: pulumi.Input<string | undefined>;
    /**
     * The billing method of the nodes.
     */
    ecsChargeType?: pulumi.Input<string | undefined>;
    /**
     * The version of E-HPC. By default, the parameter is set to the latest version number.
     */
    ehpcVersion?: pulumi.Input<string | undefined>;
    /**
     * Specifies whether to enable the high availability feature. Default value: `false`.  **Note:** If high availability is enabled, a primary management node and a secondary management node are used.
     */
    haEnable?: pulumi.Input<boolean | undefined>;
    /**
     * The ID of the image.
     */
    imageId?: pulumi.Input<string | undefined>;
    /**
     * The type of the image. Valid values: `others`, `self`, `system`, `marketplace`. Default value: `system`.
     */
    imageOwnerAlias?: pulumi.Input<string | undefined>;
    /**
     * The URL of the job files that are uploaded to an Object Storage Service (OSS) bucket.
     */
    inputFileUrl?: pulumi.Input<string | undefined>;
    /**
     * Specifies whether to enable auto scaling. Default value: `false`.
     */
    isComputeEss?: pulumi.Input<boolean | undefined>;
    /**
     * The queue to which the compute nodes are added.
     */
    jobQueue?: pulumi.Input<string | undefined>;
    /**
     * The name of the AccessKey pair.
     */
    keyPairName?: pulumi.Input<string | undefined>;
    /**
     * The number of the logon nodes. Valid values: `1`.
     */
    loginCount?: pulumi.Input<number | undefined>;
    /**
     * The instance type of the logon nodes.
     */
    loginInstanceType?: pulumi.Input<string | undefined>;
    /**
     * The number of the management nodes. Valid values: 1 and 2.
     */
    managerCount?: pulumi.Input<number | undefined>;
    /**
     * The instance type of the management nodes.
     */
    managerInstanceType?: pulumi.Input<string | undefined>;
    /**
     * The image tag of the operating system.
     */
    osTag?: pulumi.Input<string | undefined>;
    /**
     * The root password of the logon node. The password must be 8 to 30 characters in length and contain at least three of the following items: uppercase letters, lowercase letters, digits, and special characters. The password can contain the following special characters: `( ) ~ ! @ # $ % ^ & * - + = { } [ ] : ; ‘ < > , . ? /`. You must specify either `password` or `keyPairName`. If both are specified, the Password parameter prevails.
     */
    password?: pulumi.Input<string | undefined>;
    /**
     * The duration of the subscription. The unit of the duration is specified by the `periodUnit` parameter. Default value: `1`.
     * * If you set PriceUnit to Year, the valid values of the Period parameter are 1, 2, and 3.
     * * If you set PriceUnit to Month, the valid values of the Period parameter are 1, 2, 3, 4, 5, 6, 7, 8, and 9.
     * * If you set PriceUnit to Hour, the valid value of the Period parameter is 1.
     */
    period?: pulumi.Input<number | undefined>;
    /**
     * The unit of the subscription duration. Valid values: `Year`, `Month`, `Hour`. Default value: `Month`.
     */
    periodUnit?: pulumi.Input<string | undefined>;
    /**
     * The mode configurations of the plug-in. This parameter takes effect only when the SchedulerType parameter is set to custom. The value must be a JSON string. The parameter contains the following parameters: pluginMod, pluginLocalPath, and pluginOssPath.
     * - pluginMod: the mode of the plug-in. The following modes are supported:
     * - oss: The plug-in is downloaded and decompressed from OSS to a local path. The local path is specified by the pluginLocalPath parameter.
     * - image: By default, the plug-in is stored in a pre-defined local path. The local path is specified by the pluginLocalPath parameter.
     * - pluginLocalPath: the local path where the plug-in is stored. We recommend that you select a shared directory in oss mode and a non-shared directory in image mode.
     * - pluginOssPath: the remote path where the plug-in is stored in OSS. This parameter takes effect only when the pluginMod parameter is set to oss.
     */
    plugin?: pulumi.Input<string | undefined>;
    /**
     * The post install script. See `postInstallScript` below.
     */
    postInstallScripts?: pulumi.Input<pulumi.Input<inputs.ehpc.ClusterPostInstallScript>[] | undefined>;
    /**
     * The node of the RAM role.
     */
    ramNodeTypes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The name of the Resource Access Management (RAM) role.
     */
    ramRoleName?: pulumi.Input<string | undefined>;
    /**
     * The release instance. Valid values: `true`.
     */
    releaseInstance?: pulumi.Input<boolean | undefined>;
    /**
     * The remote directory to which the file system is mounted.
     */
    remoteDirectory?: pulumi.Input<string | undefined>;
    /**
     * Specifies whether to enable Virtual Network Computing (VNC). Default value: `false`.
     */
    remoteVisEnable?: pulumi.Input<boolean | undefined>;
    /**
     * The ID of the resource group.
     */
    resourceGroupId?: pulumi.Input<string | undefined>;
    /**
     * The ID of the Super Computing Cluster (SCC) instance. If you specify the parameter, the SCC instance is moved to a new SCC cluster.
     */
    sccClusterId?: pulumi.Input<string | undefined>;
    /**
     * The type of the scheduler. Valid values: `pbs`, `slurm`, `opengridscheduler` and `deadline`. Default value: `pbs`.
     */
    schedulerType?: pulumi.Input<string | undefined>;
    /**
     * The ID of the security group to which the cluster belongs.
     */
    securityGroupId?: pulumi.Input<string | undefined>;
    /**
     * If you do not use an existing security group, set the parameter to the name of a new security group. A default policy is applied to the new security group.
     */
    securityGroupName?: pulumi.Input<string | undefined>;
    /**
     * The status of the resource.
     */
    status?: pulumi.Input<string | undefined>;
    /**
     * The performance level of the ESSD that is used as the system disk. Default value: `PL1` For more information, see [ESSDs](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/essds). Valid values:
     * * `PL0`: A single ESSD can deliver up to 10,000 random read/write IOPS.
     * * `PL1`: A single ESSD can deliver up to 50,000 random read/write IOPS.
     * * `PL2`: A single ESSD can deliver up to 100,000 random read/write IOPS.
     * * `PL3`: A single ESSD can deliver up to 1,000,000 random read/write IOPS.
     */
    systemDiskLevel?: pulumi.Input<string | undefined>;
    /**
     * The size of the system disk. Unit: `GB`. Valid values: `40` to `500`. Default value: `40`.
     */
    systemDiskSize?: pulumi.Input<number | undefined>;
    /**
     * The type of the system disk. Valid values: `cloudEfficiency`, `cloudSsd`, `cloudEssd` or `cloud`. Default value: `cloudSsd`.
     */
    systemDiskType?: pulumi.Input<string | undefined>;
    /**
     * The ID of the file system. If you leave the parameter empty, a Performance NAS file system is created by default.
     */
    volumeId?: pulumi.Input<string | undefined>;
    /**
     * The mount options of the file system.
     */
    volumeMountOption?: pulumi.Input<string | undefined>;
    /**
     * The mount target of the file system. Take note of the following information:
     * - If you do not specify the VolumeId parameter, you can leave the VolumeMountpoint parameter empty. A mount target is created by default.
     * - If you specify the VolumeId parameter, the VolumeMountpoint parameter is required.
     */
    volumeMountpoint?: pulumi.Input<string | undefined>;
    /**
     * The type of the protocol that is used by the file system. Valid values: `NFS`, `SMB`. Default value: `NFS`.
     */
    volumeProtocol?: pulumi.Input<string | undefined>;
    /**
     * The type of the shared storage. Only Apsara File Storage NAS file systems are supported.
     */
    volumeType?: pulumi.Input<string | undefined>;
    /**
     * The ID of the virtual private cloud (VPC) to which the cluster belongs.
     */
    vpcId?: pulumi.Input<string | undefined>;
    /**
     * The ID of the vSwitch. E-HPC supports only VPC networks.
     */
    vswitchId?: pulumi.Input<string | undefined>;
    /**
     * Specifies whether not to install the agent. Default value: `false`.
     */
    withoutAgent?: pulumi.Input<boolean | undefined>;
    /**
     * Specifies whether the logon node uses an elastic IP address (EIP). Default value: `false`.
     */
    withoutElasticIp?: pulumi.Input<boolean | undefined>;
    /**
     * The ID of the zone.
     */
    zoneId?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a Cluster resource.
 */
export interface ClusterArgs {
    /**
     * The type of the domain account service. Valid values: `nis`, `ldap`. Default value: `nis`
     */
    accountType?: pulumi.Input<string | undefined>;
    /**
     * The additional volumes. See `additionalVolumes` below.
     */
    additionalVolumes?: pulumi.Input<pulumi.Input<inputs.ehpc.ClusterAdditionalVolume>[] | undefined>;
    /**
     * The application. See `application` below.
     */
    applications?: pulumi.Input<pulumi.Input<inputs.ehpc.ClusterApplication>[] | undefined>;
    /**
     * Specifies whether to enable auto-renewal for the subscription. Default value: `false`.
     */
    autoRenew?: pulumi.Input<boolean | undefined>;
    /**
     * The auto-renewal period of the subscription compute nodes. The parameter takes effect when AutoRenew is set to true.
     */
    autoRenewPeriod?: pulumi.Input<number | undefined>;
    /**
     * The version of the E-HPC client. By default, the parameter is set to the latest version number.
     */
    clientVersion?: pulumi.Input<string | undefined>;
    /**
     * The name of the cluster. The name must be `2` to `64` characters in length.
     */
    clusterName: pulumi.Input<string>;
    /**
     * The version of the cluster. Default value: `1.0`.
     */
    clusterVersion?: pulumi.Input<string | undefined>;
    /**
     * The number of the compute nodes. Valid values: `1` to `99`.
     */
    computeCount: pulumi.Input<number>;
    /**
     * Specifies whether the compute nodes support hyper-threading. Default value: `true`.
     */
    computeEnableHt?: pulumi.Input<boolean | undefined>;
    /**
     * The instance type of the compute nodes.
     */
    computeInstanceType: pulumi.Input<string>;
    /**
     * The maximum hourly price of the compute nodes. A maximum of three decimal places can be used in the value of the parameter. The parameter is valid only when the ComputeSpotStrategy parameter is set to SpotWithPriceLimit.
     */
    computeSpotPriceLimit?: pulumi.Input<string | undefined>;
    /**
     * The bidding method of the compute nodes. Default value: `NoSpot`. Valid values:
     * - `NoSpot`: The compute nodes are pay-as-you-go instances.
     * - `SpotWithPriceLimit`: The compute nodes are preemptible instances that have a user-defined maximum hourly price.
     * - `SpotAsPriceGo`: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.
     */
    computeSpotStrategy?: pulumi.Input<string | undefined>;
    /**
     * The mode in which the cluster is deployed. Valid values: `Standard`, `Simple`, `Tiny`. Default value: Standard.
     * - `Standard`: An account node, a scheduling node, a logon node, and multiple compute nodes are separately deployed.
     * - `Simple`: A management node, a logon node, and multiple compute nodes are deployed. The management node consists of an account node and a scheduling node. The logon node and compute nodes are separately deployed.
     * - `Tiny`: A management node and multiple compute nodes are deployed. The management node consists of an account node, a scheduling node, and a logon node. The compute nodes are separately deployed.
     */
    deployMode?: pulumi.Input<string | undefined>;
    /**
     * The description of the cluster. The description must be `2` to `256` characters in length. It cannot start with `http://` or `https://`.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * The domain name of the on-premises cluster. This parameter takes effect only when the AccoutType parameter is set to Idap.
     */
    domain?: pulumi.Input<string | undefined>;
    /**
     * The billing method of the nodes.
     */
    ecsChargeType?: pulumi.Input<string | undefined>;
    /**
     * The version of E-HPC. By default, the parameter is set to the latest version number.
     */
    ehpcVersion?: pulumi.Input<string | undefined>;
    /**
     * Specifies whether to enable the high availability feature. Default value: `false`.  **Note:** If high availability is enabled, a primary management node and a secondary management node are used.
     */
    haEnable?: pulumi.Input<boolean | undefined>;
    /**
     * The ID of the image.
     */
    imageId?: pulumi.Input<string | undefined>;
    /**
     * The type of the image. Valid values: `others`, `self`, `system`, `marketplace`. Default value: `system`.
     */
    imageOwnerAlias?: pulumi.Input<string | undefined>;
    /**
     * The URL of the job files that are uploaded to an Object Storage Service (OSS) bucket.
     */
    inputFileUrl?: pulumi.Input<string | undefined>;
    /**
     * Specifies whether to enable auto scaling. Default value: `false`.
     */
    isComputeEss?: pulumi.Input<boolean | undefined>;
    /**
     * The queue to which the compute nodes are added.
     */
    jobQueue?: pulumi.Input<string | undefined>;
    /**
     * The name of the AccessKey pair.
     */
    keyPairName?: pulumi.Input<string | undefined>;
    /**
     * The number of the logon nodes. Valid values: `1`.
     */
    loginCount: pulumi.Input<number>;
    /**
     * The instance type of the logon nodes.
     */
    loginInstanceType: pulumi.Input<string>;
    /**
     * The number of the management nodes. Valid values: 1 and 2.
     */
    managerCount?: pulumi.Input<number | undefined>;
    /**
     * The instance type of the management nodes.
     */
    managerInstanceType: pulumi.Input<string>;
    /**
     * The image tag of the operating system.
     */
    osTag: pulumi.Input<string>;
    /**
     * The root password of the logon node. The password must be 8 to 30 characters in length and contain at least three of the following items: uppercase letters, lowercase letters, digits, and special characters. The password can contain the following special characters: `( ) ~ ! @ # $ % ^ & * - + = { } [ ] : ; ‘ < > , . ? /`. You must specify either `password` or `keyPairName`. If both are specified, the Password parameter prevails.
     */
    password?: pulumi.Input<string | undefined>;
    /**
     * The duration of the subscription. The unit of the duration is specified by the `periodUnit` parameter. Default value: `1`.
     * * If you set PriceUnit to Year, the valid values of the Period parameter are 1, 2, and 3.
     * * If you set PriceUnit to Month, the valid values of the Period parameter are 1, 2, 3, 4, 5, 6, 7, 8, and 9.
     * * If you set PriceUnit to Hour, the valid value of the Period parameter is 1.
     */
    period?: pulumi.Input<number | undefined>;
    /**
     * The unit of the subscription duration. Valid values: `Year`, `Month`, `Hour`. Default value: `Month`.
     */
    periodUnit?: pulumi.Input<string | undefined>;
    /**
     * The mode configurations of the plug-in. This parameter takes effect only when the SchedulerType parameter is set to custom. The value must be a JSON string. The parameter contains the following parameters: pluginMod, pluginLocalPath, and pluginOssPath.
     * - pluginMod: the mode of the plug-in. The following modes are supported:
     * - oss: The plug-in is downloaded and decompressed from OSS to a local path. The local path is specified by the pluginLocalPath parameter.
     * - image: By default, the plug-in is stored in a pre-defined local path. The local path is specified by the pluginLocalPath parameter.
     * - pluginLocalPath: the local path where the plug-in is stored. We recommend that you select a shared directory in oss mode and a non-shared directory in image mode.
     * - pluginOssPath: the remote path where the plug-in is stored in OSS. This parameter takes effect only when the pluginMod parameter is set to oss.
     */
    plugin?: pulumi.Input<string | undefined>;
    /**
     * The post install script. See `postInstallScript` below.
     */
    postInstallScripts?: pulumi.Input<pulumi.Input<inputs.ehpc.ClusterPostInstallScript>[] | undefined>;
    /**
     * The node of the RAM role.
     */
    ramNodeTypes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The name of the Resource Access Management (RAM) role.
     */
    ramRoleName?: pulumi.Input<string | undefined>;
    /**
     * The release instance. Valid values: `true`.
     */
    releaseInstance?: pulumi.Input<boolean | undefined>;
    /**
     * The remote directory to which the file system is mounted.
     */
    remoteDirectory?: pulumi.Input<string | undefined>;
    /**
     * Specifies whether to enable Virtual Network Computing (VNC). Default value: `false`.
     */
    remoteVisEnable?: pulumi.Input<boolean | undefined>;
    /**
     * The ID of the resource group.
     */
    resourceGroupId?: pulumi.Input<string | undefined>;
    /**
     * The ID of the Super Computing Cluster (SCC) instance. If you specify the parameter, the SCC instance is moved to a new SCC cluster.
     */
    sccClusterId?: pulumi.Input<string | undefined>;
    /**
     * The type of the scheduler. Valid values: `pbs`, `slurm`, `opengridscheduler` and `deadline`. Default value: `pbs`.
     */
    schedulerType?: pulumi.Input<string | undefined>;
    /**
     * The ID of the security group to which the cluster belongs.
     */
    securityGroupId?: pulumi.Input<string | undefined>;
    /**
     * If you do not use an existing security group, set the parameter to the name of a new security group. A default policy is applied to the new security group.
     */
    securityGroupName?: pulumi.Input<string | undefined>;
    /**
     * The performance level of the ESSD that is used as the system disk. Default value: `PL1` For more information, see [ESSDs](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/essds). Valid values:
     * * `PL0`: A single ESSD can deliver up to 10,000 random read/write IOPS.
     * * `PL1`: A single ESSD can deliver up to 50,000 random read/write IOPS.
     * * `PL2`: A single ESSD can deliver up to 100,000 random read/write IOPS.
     * * `PL3`: A single ESSD can deliver up to 1,000,000 random read/write IOPS.
     */
    systemDiskLevel?: pulumi.Input<string | undefined>;
    /**
     * The size of the system disk. Unit: `GB`. Valid values: `40` to `500`. Default value: `40`.
     */
    systemDiskSize?: pulumi.Input<number | undefined>;
    /**
     * The type of the system disk. Valid values: `cloudEfficiency`, `cloudSsd`, `cloudEssd` or `cloud`. Default value: `cloudSsd`.
     */
    systemDiskType?: pulumi.Input<string | undefined>;
    /**
     * The ID of the file system. If you leave the parameter empty, a Performance NAS file system is created by default.
     */
    volumeId?: pulumi.Input<string | undefined>;
    /**
     * The mount options of the file system.
     */
    volumeMountOption?: pulumi.Input<string | undefined>;
    /**
     * The mount target of the file system. Take note of the following information:
     * - If you do not specify the VolumeId parameter, you can leave the VolumeMountpoint parameter empty. A mount target is created by default.
     * - If you specify the VolumeId parameter, the VolumeMountpoint parameter is required.
     */
    volumeMountpoint?: pulumi.Input<string | undefined>;
    /**
     * The type of the protocol that is used by the file system. Valid values: `NFS`, `SMB`. Default value: `NFS`.
     */
    volumeProtocol?: pulumi.Input<string | undefined>;
    /**
     * The type of the shared storage. Only Apsara File Storage NAS file systems are supported.
     */
    volumeType?: pulumi.Input<string | undefined>;
    /**
     * The ID of the virtual private cloud (VPC) to which the cluster belongs.
     */
    vpcId?: pulumi.Input<string | undefined>;
    /**
     * The ID of the vSwitch. E-HPC supports only VPC networks.
     */
    vswitchId?: pulumi.Input<string | undefined>;
    /**
     * Specifies whether not to install the agent. Default value: `false`.
     */
    withoutAgent?: pulumi.Input<boolean | undefined>;
    /**
     * Specifies whether the logon node uses an elastic IP address (EIP). Default value: `false`.
     */
    withoutElasticIp?: pulumi.Input<boolean | undefined>;
    /**
     * The ID of the zone.
     */
    zoneId?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=cluster.d.ts.map