import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Provides a Ens Instance resource.
 *
 * For information about ENS Instance and how to use it, see [What is Instance](https://next.api.alibabacloud.com/document/Ens/2017-11-10/RunInstances).
 *
 * > **NOTE:** Available since v1.216.0.
 *
 * ## 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") || "terraform-example";
 * const _default = new alicloud.ens.Instance("default", {
 *     period: 1,
 *     dataDisks: [
 *         {
 *             size: 20,
 *             category: "cloud_efficiency",
 *         },
 *         {
 *             size: 30,
 *             category: "cloud_efficiency",
 *         },
 *         {
 *             size: 40,
 *             category: "cloud_efficiency",
 *         },
 *     ],
 *     publicIpIdentification: true,
 *     periodUnit: "Month",
 *     schedulingStrategy: "Concentrate",
 *     scheduleAreaLevel: "Region",
 *     imageId: "centos_6_08_64_20G_alibase_20171208",
 *     carrier: "cmcc",
 *     instanceType: "ens.sn1.tiny",
 *     hostName: "exampleHost80",
 *     password: "Example123456@@",
 *     netDistrictCode: "100102",
 *     internetChargeType: "95BandwidthByMonth",
 *     instanceName: name,
 *     internetMaxBandwidthOut: 100,
 *     ensRegionId: "cn-wuxi-telecom_unicom_cmcc-2",
 *     systemDisk: {
 *         size: 20,
 *     },
 *     schedulingPriceStrategy: "PriceHighPriority",
 *     userData: "IyEvYmluL3NoCmVjaG8gIkhlbGxvIFdvcmxkLiAgVGhlIHRpbWUgaXMgbm93ICQoZGF0ZSAtUikhIiB8IHRlZSAvcm9vdC9vdXRwdXQudHh0",
 *     instanceChargeStrategy: "user",
 *     paymentType: "Subscription",
 * });
 * ```
 *
 * ### Deleting `alicloud.ens.Instance` or removing it from your configuration
 *
 * The `alicloud.ens.Instance` resource allows you to manage  `paymentType = "Subscription"`  instance, but Terraform cannot destroy it.
 * Deleting the subscription resource or removing it from your configuration will remove it from your state file and management, but will not destroy the Instance.
 * You can resume managing the subscription instance via the AlibabaCloud Console.
 *
 * 📚 Need more examples? VIEW MORE EXAMPLES
 *
 * ## Import
 *
 * Ens Instance can be imported using the id, e.g.
 *
 * ```sh
 * $ pulumi import alicloud:ens/instance:Instance example <id>
 * ```
 */
export declare class Instance extends pulumi.CustomResource {
    /**
     * Get an existing Instance 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?: InstanceState, opts?: pulumi.CustomResourceOptions): Instance;
    /**
     * Returns true if the given object is an instance of Instance.  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 Instance;
    /**
     * The number of instances created, with a minimum of 1 and a maximum of 100
     */
    readonly amount: pulumi.Output<number | undefined>;
    /**
     * The automatic release time of the pay-as-you-go instance. According to the [ISO 8601] standard, UTC +0 time is used. The format is: 'yyyy-MM-ddTHH:mm:ssZ '.
     * - If the second ('ss') value is not '00', it is automatically taken as the start of the current minute ('mm').
     * - The minimum release time is one hour after the current time.
     */
    readonly autoReleaseTime: pulumi.Output<string | undefined>;
    /**
     * Whether to automatically renew the logo. The default value is false. This parameter is invalid when you pay by volume.
     */
    readonly autoRenew: pulumi.Output<boolean | undefined>;
    /**
     * Whether to use vouchers. The default is to use. Value:
     * - true (used)
     * - false (not used)
     */
    readonly autoUseCoupon: pulumi.Output<string | undefined>;
    /**
     * The billing cycle for instance computing resources. Only instance-level pay-as-you-go is supported. Value
     * - Hour: hourly billing
     * - Day: Daily billing
     * - Month: monthly billing
     */
    readonly billingCycle: pulumi.Output<string | undefined>;
    /**
     * Operator, required for regional scheduling. Optional values:
     * - cmcc (mobile)
     * - unicom
     * - telecom
     */
    readonly carrier: pulumi.Output<string | undefined>;
    /**
     * Data disk specifications See `dataDisk` below.
     */
    readonly dataDisks: pulumi.Output<outputs.ens.InstanceDataDisk[]>;
    /**
     * The node ID. When ScheduleAreaLevel is Region, EnsRegionId is required. When ScheduleAreaLevel is Big,Middle,Small, EnsRegionId is invalid.
     */
    readonly ensRegionId: pulumi.Output<string>;
    /**
     * Whether to force the identity when operating the instance. Optional values:
     * - true: Force
     * - false (default): non-mandatory
     */
    readonly forceStop: pulumi.Output<string | undefined>;
    /**
     * The host name of the instance. Example value: test-HostName
     */
    readonly hostName: pulumi.Output<string>;
    /**
     * The image ID of the instance. The arm version card cannot be filled in. Other specifications are required. Example value: m-5si16wo6simkt267p8b7h * * * *
     */
    readonly imageId: pulumi.Output<string | undefined>;
    /**
     * Whether the Payment type of the disk created with the instance is converted.
     */
    readonly includeDataDisks: pulumi.Output<boolean | undefined>;
    /**
     * The instance billing policy. Optional values:
     * - instance: instance granularity (the subscription method does not support instance)
     * - user: user Dimension (user is not transmitted or supported in the prepaid mode)
     */
    readonly instanceChargeStrategy: pulumi.Output<string | undefined>;
    /**
     * The instance name. Example value: test-InstanceName. It must be 2 to 128 characters in length and must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. Can contain Chinese, English, numbers, half-width colons (:), underscores (_), periods (.), or hyphens (-)
     *
     * The default value is the InstanceId of the instance.
     */
    readonly instanceName: pulumi.Output<string>;
    /**
     * The specification of the instance. Example value: ens.sn1.small
     */
    readonly instanceType: pulumi.Output<string>;
    /**
     * Instance bandwidth billing method. If the billing method can be selected for the first purchase, the subsequent value of this field will be processed by default according to the billing method selected for the first time. Optional values:
     * - BandwidthByDay: Daily peak bandwidth
     * - 95bandwidthbymonth: 95 peak bandwidth
     */
    readonly internetChargeType: pulumi.Output<string | undefined>;
    /**
     * Maximum public network bandwidth. The field type is Long, and the precision may be lost during serialization/deserialization. Please note that the value must not be greater than 9007199254740991
     */
    readonly internetMaxBandwidthOut: pulumi.Output<number>;
    /**
     * The IP type. Value:
     * - ipv4 (default):IPv4
     * - ipv6:IPv6
     * - ipv4Andipv6:IPv4 and IPv6
     */
    readonly ipType: pulumi.Output<string | undefined>;
    /**
     * The key pair name.
     *
     * > **NOTE:**  At least one of `Password`, `KeyPairName`, and **PasswordInherit.
     */
    readonly keyPairName: pulumi.Output<string | undefined>;
    /**
     * The area code. Example value: 350000. Required for regional-level scheduling, invalid for node-level scheduling
     */
    readonly netDistrictCode: pulumi.Output<string | undefined>;
    /**
     * The network ID of the instance. Can only be used in node-level scheduling
     */
    readonly netWorkId: pulumi.Output<string>;
    /**
     * The instance password. At least one of Password, KeyPairName, and PasswordInherit
     */
    readonly password: pulumi.Output<string | undefined>;
    /**
     * Whether to use image preset password prompt: Password and KeyPairNamePasswordInherit must be passed
     */
    readonly passwordInherit: pulumi.Output<boolean | undefined>;
    /**
     * Instance payment method. Since v1.230.0, you can modify payment_type. Optional values:
     * - Subscription: prepaid, annual and monthly
     * - PayAsYouGo: Pay by volume
     */
    readonly paymentType: pulumi.Output<string>;
    /**
     * The duration of the resource purchase. Value method:
     * - If PeriodUnit is set to Day, Period can only be set to 3.
     * - If PeriodUnit is set to Month, Period can be set to 1-9,12.
     */
    readonly period: pulumi.Output<number | undefined>;
    /**
     * The unit of time for purchasing resources. Value:
     * - Month (default): purchase by Month
     * - Day: buy by Day
     */
    readonly periodUnit: pulumi.Output<string | undefined>;
    /**
     * The private IP address. Can only be used for node-level scheduling. If a private IP address is specified, the number of instances can only be one, and both the private IP address and the vSwitch ID are not empty, the private IP address takes effect.
     */
    readonly privateIpAddress: pulumi.Output<string>;
    /**
     * Whether to assign a public IP identifier. Value:
     * - true (default): Assign
     * - false: do not assign
     */
    readonly publicIpIdentification: pulumi.Output<boolean | undefined>;
    /**
     * Scheduling level, through which node-level scheduling or area scheduling is performed. Optional values:
     * - Node-level scheduling: Region
     * - Regional scheduling: Big (region),Middle (province),Small (city)
     */
    readonly scheduleAreaLevel: pulumi.Output<string>;
    /**
     * Scheduling price policy. If it is not filled in, the default priority is low price. Value:
     * - PriceLowPriority
     * - PriceLowPriority (priority low price)
     */
    readonly schedulingPriceStrategy: pulumi.Output<string | undefined>;
    /**
     * Scheduling policy. Optional values:
     * - Concentrate for node-level scheduling
     * - For regional scheduling, Concentrate, Disperse
     */
    readonly schedulingStrategy: pulumi.Output<string | undefined>;
    /**
     * ID of the security group to which the instance belongs.
     */
    readonly securityId: pulumi.Output<string>;
    /**
     * The bidding strategy for pay-as-you-go instances. It takes effect when the value of the 'InstanceChargeType' parameter is set to 'PostPaid. Value range:
     * - NoSpot: normal pay-as-you-go instance (default)
     * - SpotAsPriceGo: The system automatically bids, following the actual price in the current market.
     */
    readonly spotStrategy: pulumi.Output<string | undefined>;
    /**
     * Status of the instance
     */
    readonly status: pulumi.Output<string>;
    /**
     * System Disk Specification. SystemDisk is a non-required parameter when InstanceType is x86_pm,x86_bmi,x86_bm,pc_bmi, or arm_bmi. SystemDisk is a required parameter when instanceType is other specification families. See `systemDisk` below.
     */
    readonly systemDisk: pulumi.Output<outputs.ens.InstanceSystemDisk | undefined>;
    /**
     * The tag bound to the instance
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * Indicates whether to add an ordered suffix to HostName and InstanceName. The ordered suffix starts from 001 and cannot exceed 999.
     */
    readonly uniqueSuffix: pulumi.Output<boolean | undefined>;
    /**
     * User-defined data, maximum support 16KB. You can pass in the UserData information. The UserData is encoded in Base64 format.
     */
    readonly userData: pulumi.Output<string | undefined>;
    /**
     * The ID of the vSwitch to which the instance belongs. Can only be used in node-level scheduling
     */
    readonly vswitchId: pulumi.Output<string>;
    /**
     * Create a Instance 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: InstanceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Instance resources.
 */
export interface InstanceState {
    /**
     * The number of instances created, with a minimum of 1 and a maximum of 100
     */
    amount?: pulumi.Input<number | undefined>;
    /**
     * The automatic release time of the pay-as-you-go instance. According to the [ISO 8601] standard, UTC +0 time is used. The format is: 'yyyy-MM-ddTHH:mm:ssZ '.
     * - If the second ('ss') value is not '00', it is automatically taken as the start of the current minute ('mm').
     * - The minimum release time is one hour after the current time.
     */
    autoReleaseTime?: pulumi.Input<string | undefined>;
    /**
     * Whether to automatically renew the logo. The default value is false. This parameter is invalid when you pay by volume.
     */
    autoRenew?: pulumi.Input<boolean | undefined>;
    /**
     * Whether to use vouchers. The default is to use. Value:
     * - true (used)
     * - false (not used)
     */
    autoUseCoupon?: pulumi.Input<string | undefined>;
    /**
     * The billing cycle for instance computing resources. Only instance-level pay-as-you-go is supported. Value
     * - Hour: hourly billing
     * - Day: Daily billing
     * - Month: monthly billing
     */
    billingCycle?: pulumi.Input<string | undefined>;
    /**
     * Operator, required for regional scheduling. Optional values:
     * - cmcc (mobile)
     * - unicom
     * - telecom
     */
    carrier?: pulumi.Input<string | undefined>;
    /**
     * Data disk specifications See `dataDisk` below.
     */
    dataDisks?: pulumi.Input<pulumi.Input<inputs.ens.InstanceDataDisk>[] | undefined>;
    /**
     * The node ID. When ScheduleAreaLevel is Region, EnsRegionId is required. When ScheduleAreaLevel is Big,Middle,Small, EnsRegionId is invalid.
     */
    ensRegionId?: pulumi.Input<string | undefined>;
    /**
     * Whether to force the identity when operating the instance. Optional values:
     * - true: Force
     * - false (default): non-mandatory
     */
    forceStop?: pulumi.Input<string | undefined>;
    /**
     * The host name of the instance. Example value: test-HostName
     */
    hostName?: pulumi.Input<string | undefined>;
    /**
     * The image ID of the instance. The arm version card cannot be filled in. Other specifications are required. Example value: m-5si16wo6simkt267p8b7h * * * *
     */
    imageId?: pulumi.Input<string | undefined>;
    /**
     * Whether the Payment type of the disk created with the instance is converted.
     */
    includeDataDisks?: pulumi.Input<boolean | undefined>;
    /**
     * The instance billing policy. Optional values:
     * - instance: instance granularity (the subscription method does not support instance)
     * - user: user Dimension (user is not transmitted or supported in the prepaid mode)
     */
    instanceChargeStrategy?: pulumi.Input<string | undefined>;
    /**
     * The instance name. Example value: test-InstanceName. It must be 2 to 128 characters in length and must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. Can contain Chinese, English, numbers, half-width colons (:), underscores (_), periods (.), or hyphens (-)
     *
     * The default value is the InstanceId of the instance.
     */
    instanceName?: pulumi.Input<string | undefined>;
    /**
     * The specification of the instance. Example value: ens.sn1.small
     */
    instanceType?: pulumi.Input<string | undefined>;
    /**
     * Instance bandwidth billing method. If the billing method can be selected for the first purchase, the subsequent value of this field will be processed by default according to the billing method selected for the first time. Optional values:
     * - BandwidthByDay: Daily peak bandwidth
     * - 95bandwidthbymonth: 95 peak bandwidth
     */
    internetChargeType?: pulumi.Input<string | undefined>;
    /**
     * Maximum public network bandwidth. The field type is Long, and the precision may be lost during serialization/deserialization. Please note that the value must not be greater than 9007199254740991
     */
    internetMaxBandwidthOut?: pulumi.Input<number | undefined>;
    /**
     * The IP type. Value:
     * - ipv4 (default):IPv4
     * - ipv6:IPv6
     * - ipv4Andipv6:IPv4 and IPv6
     */
    ipType?: pulumi.Input<string | undefined>;
    /**
     * The key pair name.
     *
     * > **NOTE:**  At least one of `Password`, `KeyPairName`, and **PasswordInherit.
     */
    keyPairName?: pulumi.Input<string | undefined>;
    /**
     * The area code. Example value: 350000. Required for regional-level scheduling, invalid for node-level scheduling
     */
    netDistrictCode?: pulumi.Input<string | undefined>;
    /**
     * The network ID of the instance. Can only be used in node-level scheduling
     */
    netWorkId?: pulumi.Input<string | undefined>;
    /**
     * The instance password. At least one of Password, KeyPairName, and PasswordInherit
     */
    password?: pulumi.Input<string | undefined>;
    /**
     * Whether to use image preset password prompt: Password and KeyPairNamePasswordInherit must be passed
     */
    passwordInherit?: pulumi.Input<boolean | undefined>;
    /**
     * Instance payment method. Since v1.230.0, you can modify payment_type. Optional values:
     * - Subscription: prepaid, annual and monthly
     * - PayAsYouGo: Pay by volume
     */
    paymentType?: pulumi.Input<string | undefined>;
    /**
     * The duration of the resource purchase. Value method:
     * - If PeriodUnit is set to Day, Period can only be set to 3.
     * - If PeriodUnit is set to Month, Period can be set to 1-9,12.
     */
    period?: pulumi.Input<number | undefined>;
    /**
     * The unit of time for purchasing resources. Value:
     * - Month (default): purchase by Month
     * - Day: buy by Day
     */
    periodUnit?: pulumi.Input<string | undefined>;
    /**
     * The private IP address. Can only be used for node-level scheduling. If a private IP address is specified, the number of instances can only be one, and both the private IP address and the vSwitch ID are not empty, the private IP address takes effect.
     */
    privateIpAddress?: pulumi.Input<string | undefined>;
    /**
     * Whether to assign a public IP identifier. Value:
     * - true (default): Assign
     * - false: do not assign
     */
    publicIpIdentification?: pulumi.Input<boolean | undefined>;
    /**
     * Scheduling level, through which node-level scheduling or area scheduling is performed. Optional values:
     * - Node-level scheduling: Region
     * - Regional scheduling: Big (region),Middle (province),Small (city)
     */
    scheduleAreaLevel?: pulumi.Input<string | undefined>;
    /**
     * Scheduling price policy. If it is not filled in, the default priority is low price. Value:
     * - PriceLowPriority
     * - PriceLowPriority (priority low price)
     */
    schedulingPriceStrategy?: pulumi.Input<string | undefined>;
    /**
     * Scheduling policy. Optional values:
     * - Concentrate for node-level scheduling
     * - For regional scheduling, Concentrate, Disperse
     */
    schedulingStrategy?: pulumi.Input<string | undefined>;
    /**
     * ID of the security group to which the instance belongs.
     */
    securityId?: pulumi.Input<string | undefined>;
    /**
     * The bidding strategy for pay-as-you-go instances. It takes effect when the value of the 'InstanceChargeType' parameter is set to 'PostPaid. Value range:
     * - NoSpot: normal pay-as-you-go instance (default)
     * - SpotAsPriceGo: The system automatically bids, following the actual price in the current market.
     */
    spotStrategy?: pulumi.Input<string | undefined>;
    /**
     * Status of the instance
     */
    status?: pulumi.Input<string | undefined>;
    /**
     * System Disk Specification. SystemDisk is a non-required parameter when InstanceType is x86_pm,x86_bmi,x86_bm,pc_bmi, or arm_bmi. SystemDisk is a required parameter when instanceType is other specification families. See `systemDisk` below.
     */
    systemDisk?: pulumi.Input<inputs.ens.InstanceSystemDisk | undefined>;
    /**
     * The tag bound to the instance
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * Indicates whether to add an ordered suffix to HostName and InstanceName. The ordered suffix starts from 001 and cannot exceed 999.
     */
    uniqueSuffix?: pulumi.Input<boolean | undefined>;
    /**
     * User-defined data, maximum support 16KB. You can pass in the UserData information. The UserData is encoded in Base64 format.
     */
    userData?: pulumi.Input<string | undefined>;
    /**
     * The ID of the vSwitch to which the instance belongs. Can only be used in node-level scheduling
     */
    vswitchId?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a Instance resource.
 */
export interface InstanceArgs {
    /**
     * The number of instances created, with a minimum of 1 and a maximum of 100
     */
    amount?: pulumi.Input<number | undefined>;
    /**
     * The automatic release time of the pay-as-you-go instance. According to the [ISO 8601] standard, UTC +0 time is used. The format is: 'yyyy-MM-ddTHH:mm:ssZ '.
     * - If the second ('ss') value is not '00', it is automatically taken as the start of the current minute ('mm').
     * - The minimum release time is one hour after the current time.
     */
    autoReleaseTime?: pulumi.Input<string | undefined>;
    /**
     * Whether to automatically renew the logo. The default value is false. This parameter is invalid when you pay by volume.
     */
    autoRenew?: pulumi.Input<boolean | undefined>;
    /**
     * Whether to use vouchers. The default is to use. Value:
     * - true (used)
     * - false (not used)
     */
    autoUseCoupon?: pulumi.Input<string | undefined>;
    /**
     * The billing cycle for instance computing resources. Only instance-level pay-as-you-go is supported. Value
     * - Hour: hourly billing
     * - Day: Daily billing
     * - Month: monthly billing
     */
    billingCycle?: pulumi.Input<string | undefined>;
    /**
     * Operator, required for regional scheduling. Optional values:
     * - cmcc (mobile)
     * - unicom
     * - telecom
     */
    carrier?: pulumi.Input<string | undefined>;
    /**
     * Data disk specifications See `dataDisk` below.
     */
    dataDisks?: pulumi.Input<pulumi.Input<inputs.ens.InstanceDataDisk>[] | undefined>;
    /**
     * The node ID. When ScheduleAreaLevel is Region, EnsRegionId is required. When ScheduleAreaLevel is Big,Middle,Small, EnsRegionId is invalid.
     */
    ensRegionId?: pulumi.Input<string | undefined>;
    /**
     * Whether to force the identity when operating the instance. Optional values:
     * - true: Force
     * - false (default): non-mandatory
     */
    forceStop?: pulumi.Input<string | undefined>;
    /**
     * The host name of the instance. Example value: test-HostName
     */
    hostName?: pulumi.Input<string | undefined>;
    /**
     * The image ID of the instance. The arm version card cannot be filled in. Other specifications are required. Example value: m-5si16wo6simkt267p8b7h * * * *
     */
    imageId?: pulumi.Input<string | undefined>;
    /**
     * Whether the Payment type of the disk created with the instance is converted.
     */
    includeDataDisks?: pulumi.Input<boolean | undefined>;
    /**
     * The instance billing policy. Optional values:
     * - instance: instance granularity (the subscription method does not support instance)
     * - user: user Dimension (user is not transmitted or supported in the prepaid mode)
     */
    instanceChargeStrategy?: pulumi.Input<string | undefined>;
    /**
     * The instance name. Example value: test-InstanceName. It must be 2 to 128 characters in length and must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. Can contain Chinese, English, numbers, half-width colons (:), underscores (_), periods (.), or hyphens (-)
     *
     * The default value is the InstanceId of the instance.
     */
    instanceName?: pulumi.Input<string | undefined>;
    /**
     * The specification of the instance. Example value: ens.sn1.small
     */
    instanceType: pulumi.Input<string>;
    /**
     * Instance bandwidth billing method. If the billing method can be selected for the first purchase, the subsequent value of this field will be processed by default according to the billing method selected for the first time. Optional values:
     * - BandwidthByDay: Daily peak bandwidth
     * - 95bandwidthbymonth: 95 peak bandwidth
     */
    internetChargeType?: pulumi.Input<string | undefined>;
    /**
     * Maximum public network bandwidth. The field type is Long, and the precision may be lost during serialization/deserialization. Please note that the value must not be greater than 9007199254740991
     */
    internetMaxBandwidthOut?: pulumi.Input<number | undefined>;
    /**
     * The IP type. Value:
     * - ipv4 (default):IPv4
     * - ipv6:IPv6
     * - ipv4Andipv6:IPv4 and IPv6
     */
    ipType?: pulumi.Input<string | undefined>;
    /**
     * The key pair name.
     *
     * > **NOTE:**  At least one of `Password`, `KeyPairName`, and **PasswordInherit.
     */
    keyPairName?: pulumi.Input<string | undefined>;
    /**
     * The area code. Example value: 350000. Required for regional-level scheduling, invalid for node-level scheduling
     */
    netDistrictCode?: pulumi.Input<string | undefined>;
    /**
     * The network ID of the instance. Can only be used in node-level scheduling
     */
    netWorkId?: pulumi.Input<string | undefined>;
    /**
     * The instance password. At least one of Password, KeyPairName, and PasswordInherit
     */
    password?: pulumi.Input<string | undefined>;
    /**
     * Whether to use image preset password prompt: Password and KeyPairNamePasswordInherit must be passed
     */
    passwordInherit?: pulumi.Input<boolean | undefined>;
    /**
     * Instance payment method. Since v1.230.0, you can modify payment_type. Optional values:
     * - Subscription: prepaid, annual and monthly
     * - PayAsYouGo: Pay by volume
     */
    paymentType: pulumi.Input<string>;
    /**
     * The duration of the resource purchase. Value method:
     * - If PeriodUnit is set to Day, Period can only be set to 3.
     * - If PeriodUnit is set to Month, Period can be set to 1-9,12.
     */
    period?: pulumi.Input<number | undefined>;
    /**
     * The unit of time for purchasing resources. Value:
     * - Month (default): purchase by Month
     * - Day: buy by Day
     */
    periodUnit?: pulumi.Input<string | undefined>;
    /**
     * The private IP address. Can only be used for node-level scheduling. If a private IP address is specified, the number of instances can only be one, and both the private IP address and the vSwitch ID are not empty, the private IP address takes effect.
     */
    privateIpAddress?: pulumi.Input<string | undefined>;
    /**
     * Whether to assign a public IP identifier. Value:
     * - true (default): Assign
     * - false: do not assign
     */
    publicIpIdentification?: pulumi.Input<boolean | undefined>;
    /**
     * Scheduling level, through which node-level scheduling or area scheduling is performed. Optional values:
     * - Node-level scheduling: Region
     * - Regional scheduling: Big (region),Middle (province),Small (city)
     */
    scheduleAreaLevel: pulumi.Input<string>;
    /**
     * Scheduling price policy. If it is not filled in, the default priority is low price. Value:
     * - PriceLowPriority
     * - PriceLowPriority (priority low price)
     */
    schedulingPriceStrategy?: pulumi.Input<string | undefined>;
    /**
     * Scheduling policy. Optional values:
     * - Concentrate for node-level scheduling
     * - For regional scheduling, Concentrate, Disperse
     */
    schedulingStrategy?: pulumi.Input<string | undefined>;
    /**
     * ID of the security group to which the instance belongs.
     */
    securityId?: pulumi.Input<string | undefined>;
    /**
     * The bidding strategy for pay-as-you-go instances. It takes effect when the value of the 'InstanceChargeType' parameter is set to 'PostPaid. Value range:
     * - NoSpot: normal pay-as-you-go instance (default)
     * - SpotAsPriceGo: The system automatically bids, following the actual price in the current market.
     */
    spotStrategy?: pulumi.Input<string | undefined>;
    /**
     * Status of the instance
     */
    status?: pulumi.Input<string | undefined>;
    /**
     * System Disk Specification. SystemDisk is a non-required parameter when InstanceType is x86_pm,x86_bmi,x86_bm,pc_bmi, or arm_bmi. SystemDisk is a required parameter when instanceType is other specification families. See `systemDisk` below.
     */
    systemDisk?: pulumi.Input<inputs.ens.InstanceSystemDisk | undefined>;
    /**
     * The tag bound to the instance
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * Indicates whether to add an ordered suffix to HostName and InstanceName. The ordered suffix starts from 001 and cannot exceed 999.
     */
    uniqueSuffix?: pulumi.Input<boolean | undefined>;
    /**
     * User-defined data, maximum support 16KB. You can pass in the UserData information. The UserData is encoded in Base64 format.
     */
    userData?: pulumi.Input<string | undefined>;
    /**
     * The ID of the vSwitch to which the instance belongs. Can only be used in node-level scheduling
     */
    vswitchId?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=instance.d.ts.map