import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 * import * as volcengine from "@volcengine/pulumi";
 *
 * const fooZones = volcengine.ecs.getZones({});
 * // create vpc
 * const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
 *     vpcName: "acc-test-vpc",
 *     cidrBlock: "172.16.0.0/16",
 *     dnsServers: [
 *         "8.8.8.8",
 *         "114.114.114.114",
 *     ],
 *     projectName: "default",
 * });
 * // create subnet
 * const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", {
 *     subnetName: "acc-test-subnet",
 *     cidrBlock: "172.16.0.0/24",
 *     zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
 *     vpcId: fooVpc.id,
 * });
 * // create redis instance
 * const fooInstance = new volcengine.redis.Instance("fooInstance", {
 *     instanceName: "tf-test2",
 *     shardedCluster: 1,
 *     password: "1qaz!QAZ12",
 *     nodeNumber: 4,
 *     shardCapacity: 1024,
 *     shardNumber: 2,
 *     engineVersion: "5.0",
 *     subnetId: fooSubnet.id,
 *     deletionProtection: "disabled",
 *     vpcAuthMode: "close",
 *     chargeType: "PostPaid",
 *     port: 6381,
 *     projectName: "default",
 *     tags: [
 *         {
 *             key: "k1",
 *             value: "v1",
 *         },
 *         {
 *             key: "k3",
 *             value: "v3",
 *         },
 *     ],
 *     paramValues: [
 *         {
 *             name: "active-defrag-cycle-min",
 *             value: "5",
 *         },
 *         {
 *             name: "active-defrag-cycle-max",
 *             value: "28",
 *         },
 *     ],
 *     backupPeriods: [
 *         1,
 *         2,
 *         3,
 *     ],
 *     backupHour: 6,
 *     backupActive: true,
 *     createBackup: false,
 *     applyImmediately: true,
 *     multiAz: "enabled",
 *     configureNodes: [
 *         {
 *             az: "cn-beijing-a",
 *         },
 *         {
 *             az: "cn-beijing-b",
 *         },
 *         {
 *             az: "cn-beijing-c",
 *         },
 *         {
 *             az: "cn-beijing-b",
 *         },
 *     ],
 * });
 * ```
 *
 * ## Import
 *
 * redis instance can be imported using the id, e.g.
 *
 * ```sh
 * $ pulumi import volcengine:redis/instance:Instance default redis-n769ewmjjqyqh5dv
 * ```
 * Adding or removing nodes and migrating availability zones for multiple AZ instances are not supported to be orchestrated simultaneously, but it is possible for single AZ instances.
 */
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;
    /**
     * Modify the single-shard additional bandwidth of the target Redis instance. Set the additional bandwidth of a single shard, that is, the bandwidth that needs to be additionally increased on the basis of the default bandwidth. Unit: MB/s. The value of additional bandwidth needs to meet the following conditions at the same time: It must be greater than or equal to 0. When the value is 0, it means that no additional bandwidth is added, and the bandwidth of a single shard is the default bandwidth. The sum of additional bandwidth and default bandwidth cannot exceed the upper limit of bandwidth that can be modified for the current instance. Different specification nodes have different upper limits of bandwidth that can be modified. For more details, please refer to bandwidth modification range. The upper limits of the total write bandwidth and the total read bandwidth of an instance are both 2048MB/s.
     */
    readonly additionalBandwidth: pulumi.Output<number>;
    /**
     * The type of connection address that requires an address prefix. Use lifecycle and ignoreChanges in import.
     */
    readonly addrType: pulumi.Output<string>;
    /**
     * Whether to apply the instance configuration change operation immediately. The value of this field is false, means that the change operation will be applied within maintenance time.
     */
    readonly applyImmediately: pulumi.Output<boolean | undefined>;
    /**
     * Whether to enable automatic renewal. This field is valid only when `ChargeType` is `PrePaid`, the default value is false.
     * When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
     */
    readonly autoRenew: pulumi.Output<boolean | undefined>;
    /**
     * Whether enable auto backup for redis instance. This field is valid and required when updating the backup plan of primary and secondary instance.
     */
    readonly backupActive: pulumi.Output<boolean>;
    /**
     * The time period to start performing the backup. The valid value range is any integer between 0 and 23, where 0 means that the system will perform the backup in the period of 00:00~01:00, 1 means that the backup will be performed in the period of 01:00~02:00, and so on.
     * This field is valid and required when updating the backup plan of primary and secondary instance.
     */
    readonly backupHour: pulumi.Output<number>;
    /**
     * The backup period. The valid value can be any integer between 1 and 7. Among them, 1 means backup every Monday, 2 means backup every Tuesday, and so on.
     * This field is valid and required when updating the backup plan of primary and secondary instance.
     */
    readonly backupPeriods: pulumi.Output<number[]>;
    /**
     * Set the backup name for the final backup of the instance to be deleted. If the backup name is not set, the backup ID is used as the name by default. Use lifecycle and ignoreChanges in import.
     */
    readonly backupPointName: pulumi.Output<string>;
    /**
     * The charge type of redis instance. Valid value: `PostPaid`, `PrePaid`.
     */
    readonly chargeType: pulumi.Output<string | undefined>;
    /**
     * Set the list of available zones to which the node belongs.
     */
    readonly configureNodes: pulumi.Output<outputs.redis.InstanceConfigureNode[]>;
    /**
     * Whether to create a final backup when modify the instance configuration or destroy the redis instance.
     */
    readonly createBackup: pulumi.Output<boolean | undefined>;
    /**
     * Whether enable deletion protection for redis instance. Valid values: `enabled`, `disabled`(default).
     */
    readonly deletionProtection: pulumi.Output<string | undefined>;
    /**
     * The engine version of redis instance. Valid value: `5.0`, `6.0`, `7.0`.
     */
    readonly engineVersion: pulumi.Output<string>;
    /**
     * The name of the redis instance.
     */
    readonly instanceName: pulumi.Output<string | undefined>;
    /**
     * Maximum number of connections per shard.
     */
    readonly maxConnections: pulumi.Output<number>;
    /**
     * Set the availability zone deployment scheme for the instance. The value range is as follows:
     * disabled: Single availability zone deployment scheme.
     * enabled: Multi-availability zone deployment scheme.
     * Description:
     * When the newly created instance is a single-node instance (that is, when the value of NodeNumber is 1), only the single availability zone deployment scheme is allowed. At this time, the value of MultiAZ must be disabled.
     */
    readonly multiAz: pulumi.Output<string>;
    /**
     * The modified connection address prefix. Use lifecycle and ignoreChanges in import.
     */
    readonly newAddressPrefix: pulumi.Output<string>;
    /**
     * The modified connection address port number. Use lifecycle and ignoreChanges in import.
     */
    readonly newPort: pulumi.Output<number>;
    /**
     * The number of nodes in each shard, the valid value range is `1-6`. When the value is 1, it means creating a single node instance, and this field can not be modified. When the value is greater than 1, it means creating a primary and secondary instance, and this field can be modified.
     */
    readonly nodeNumber: pulumi.Output<number>;
    /**
     * The configuration item information to be modified. This field can only be added or modified. Deleting this field is invalid.
     * When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields, or use the command `pulumi up` to perform a modification operation.
     */
    readonly paramValues: pulumi.Output<outputs.redis.InstanceParamValue[] | undefined>;
    /**
     * The account password. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields. If this parameter is left blank, it means that no password is set for the default account. At this time, the system will automatically generate a password for the default account to ensure instance access security. No account can obtain this random password. Therefore, before connecting to the instance, you need to reset the password of the default account through the ModifyDBAccount interface.You can also set a new account and password through the CreateDBAccount interface according to business needs. If you need to use password-free access function, you need to enable password-free access first through the ModifyDBInstanceVpcAuthMode interface.
     */
    readonly password: pulumi.Output<string | undefined>;
    /**
     * The port of custom define private network address. The valid value range is `1024-65535`. The default value is `6379`.
     */
    readonly port: pulumi.Output<number | undefined>;
    /**
     * The project name to which the redis instance belongs, if this parameter is empty, the new redis instance will be added to the `default` project.
     */
    readonly projectName: pulumi.Output<string>;
    /**
     * The purchase months of redis instance, the unit is month. the valid value range is as fallows: `1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36`. This field is valid and required when `ChargeType` is `Prepaid`.
     * When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
     */
    readonly purchaseMonths: pulumi.Output<number | undefined>;
    /**
     * The memory capacity of each shard, unit is MiB. The valid value range is as fallows: When the value of `ShardedCluster` is 0: 256, 1024, 2048, 4096, 8192, 16384, 32768, 65536. When the value of `ShardedCluster` is 1: 1024, 2048, 4096, 8192, 16384. When the value of `nodeNumber` is 1, the value of this field can not be 256.
     */
    readonly shardCapacity: pulumi.Output<number>;
    /**
     * The number of shards in redis instance, the valid value range is `2-256`. This field is valid and required when the value of `ShardedCluster` is 1.
     */
    readonly shardNumber: pulumi.Output<number>;
    /**
     * Whether enable sharded cluster for the current redis instance. Valid values: 0, 1. 0 means disable, 1 means enable.
     */
    readonly shardedCluster: pulumi.Output<number>;
    /**
     * The subnet id of the redis instance. The specified subnet id must belong to the zone ids.
     */
    readonly subnetId: pulumi.Output<string>;
    /**
     * Tags.
     */
    readonly tags: pulumi.Output<outputs.redis.InstanceTag[] | undefined>;
    /**
     * The maintainable time period of the instance, in the format of HH:mm-HH:mm (UTC+8).
     */
    readonly timeScope: pulumi.Output<string>;
    /**
     * Whether to upgrade the domain suffix of the connection address. Use lifecycle and ignoreChanges in import.
     */
    readonly upgradeRegionDomain: pulumi.Output<boolean>;
    /**
     * Whether to enable password-free access when connecting to an instance through a private network. Valid values: `open`, `close`.
     */
    readonly vpcAuthMode: pulumi.Output<string>;
    /**
     * This field has been deprecated after version-0.0.152. Please use multiAz and configureNodes to specify the availability zone. The list of zone IDs of instance. When creating a single node instance, only one zone id can be specified.
     *
     * @deprecated This field has been deprecated after version-0.0.152. Please use multiAz and configureNodes to specify the availability zone.
     */
    readonly zoneIds: pulumi.Output<string[] | undefined>;
    /**
     * 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 {
    /**
     * Modify the single-shard additional bandwidth of the target Redis instance. Set the additional bandwidth of a single shard, that is, the bandwidth that needs to be additionally increased on the basis of the default bandwidth. Unit: MB/s. The value of additional bandwidth needs to meet the following conditions at the same time: It must be greater than or equal to 0. When the value is 0, it means that no additional bandwidth is added, and the bandwidth of a single shard is the default bandwidth. The sum of additional bandwidth and default bandwidth cannot exceed the upper limit of bandwidth that can be modified for the current instance. Different specification nodes have different upper limits of bandwidth that can be modified. For more details, please refer to bandwidth modification range. The upper limits of the total write bandwidth and the total read bandwidth of an instance are both 2048MB/s.
     */
    additionalBandwidth?: pulumi.Input<number>;
    /**
     * The type of connection address that requires an address prefix. Use lifecycle and ignoreChanges in import.
     */
    addrType?: pulumi.Input<string>;
    /**
     * Whether to apply the instance configuration change operation immediately. The value of this field is false, means that the change operation will be applied within maintenance time.
     */
    applyImmediately?: pulumi.Input<boolean>;
    /**
     * Whether to enable automatic renewal. This field is valid only when `ChargeType` is `PrePaid`, the default value is false.
     * When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
     */
    autoRenew?: pulumi.Input<boolean>;
    /**
     * Whether enable auto backup for redis instance. This field is valid and required when updating the backup plan of primary and secondary instance.
     */
    backupActive?: pulumi.Input<boolean>;
    /**
     * The time period to start performing the backup. The valid value range is any integer between 0 and 23, where 0 means that the system will perform the backup in the period of 00:00~01:00, 1 means that the backup will be performed in the period of 01:00~02:00, and so on.
     * This field is valid and required when updating the backup plan of primary and secondary instance.
     */
    backupHour?: pulumi.Input<number>;
    /**
     * The backup period. The valid value can be any integer between 1 and 7. Among them, 1 means backup every Monday, 2 means backup every Tuesday, and so on.
     * This field is valid and required when updating the backup plan of primary and secondary instance.
     */
    backupPeriods?: pulumi.Input<pulumi.Input<number>[]>;
    /**
     * Set the backup name for the final backup of the instance to be deleted. If the backup name is not set, the backup ID is used as the name by default. Use lifecycle and ignoreChanges in import.
     */
    backupPointName?: pulumi.Input<string>;
    /**
     * The charge type of redis instance. Valid value: `PostPaid`, `PrePaid`.
     */
    chargeType?: pulumi.Input<string>;
    /**
     * Set the list of available zones to which the node belongs.
     */
    configureNodes?: pulumi.Input<pulumi.Input<inputs.redis.InstanceConfigureNode>[]>;
    /**
     * Whether to create a final backup when modify the instance configuration or destroy the redis instance.
     */
    createBackup?: pulumi.Input<boolean>;
    /**
     * Whether enable deletion protection for redis instance. Valid values: `enabled`, `disabled`(default).
     */
    deletionProtection?: pulumi.Input<string>;
    /**
     * The engine version of redis instance. Valid value: `5.0`, `6.0`, `7.0`.
     */
    engineVersion?: pulumi.Input<string>;
    /**
     * The name of the redis instance.
     */
    instanceName?: pulumi.Input<string>;
    /**
     * Maximum number of connections per shard.
     */
    maxConnections?: pulumi.Input<number>;
    /**
     * Set the availability zone deployment scheme for the instance. The value range is as follows:
     * disabled: Single availability zone deployment scheme.
     * enabled: Multi-availability zone deployment scheme.
     * Description:
     * When the newly created instance is a single-node instance (that is, when the value of NodeNumber is 1), only the single availability zone deployment scheme is allowed. At this time, the value of MultiAZ must be disabled.
     */
    multiAz?: pulumi.Input<string>;
    /**
     * The modified connection address prefix. Use lifecycle and ignoreChanges in import.
     */
    newAddressPrefix?: pulumi.Input<string>;
    /**
     * The modified connection address port number. Use lifecycle and ignoreChanges in import.
     */
    newPort?: pulumi.Input<number>;
    /**
     * The number of nodes in each shard, the valid value range is `1-6`. When the value is 1, it means creating a single node instance, and this field can not be modified. When the value is greater than 1, it means creating a primary and secondary instance, and this field can be modified.
     */
    nodeNumber?: pulumi.Input<number>;
    /**
     * The configuration item information to be modified. This field can only be added or modified. Deleting this field is invalid.
     * When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields, or use the command `pulumi up` to perform a modification operation.
     */
    paramValues?: pulumi.Input<pulumi.Input<inputs.redis.InstanceParamValue>[]>;
    /**
     * The account password. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields. If this parameter is left blank, it means that no password is set for the default account. At this time, the system will automatically generate a password for the default account to ensure instance access security. No account can obtain this random password. Therefore, before connecting to the instance, you need to reset the password of the default account through the ModifyDBAccount interface.You can also set a new account and password through the CreateDBAccount interface according to business needs. If you need to use password-free access function, you need to enable password-free access first through the ModifyDBInstanceVpcAuthMode interface.
     */
    password?: pulumi.Input<string>;
    /**
     * The port of custom define private network address. The valid value range is `1024-65535`. The default value is `6379`.
     */
    port?: pulumi.Input<number>;
    /**
     * The project name to which the redis instance belongs, if this parameter is empty, the new redis instance will be added to the `default` project.
     */
    projectName?: pulumi.Input<string>;
    /**
     * The purchase months of redis instance, the unit is month. the valid value range is as fallows: `1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36`. This field is valid and required when `ChargeType` is `Prepaid`.
     * When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
     */
    purchaseMonths?: pulumi.Input<number>;
    /**
     * The memory capacity of each shard, unit is MiB. The valid value range is as fallows: When the value of `ShardedCluster` is 0: 256, 1024, 2048, 4096, 8192, 16384, 32768, 65536. When the value of `ShardedCluster` is 1: 1024, 2048, 4096, 8192, 16384. When the value of `nodeNumber` is 1, the value of this field can not be 256.
     */
    shardCapacity?: pulumi.Input<number>;
    /**
     * The number of shards in redis instance, the valid value range is `2-256`. This field is valid and required when the value of `ShardedCluster` is 1.
     */
    shardNumber?: pulumi.Input<number>;
    /**
     * Whether enable sharded cluster for the current redis instance. Valid values: 0, 1. 0 means disable, 1 means enable.
     */
    shardedCluster?: pulumi.Input<number>;
    /**
     * The subnet id of the redis instance. The specified subnet id must belong to the zone ids.
     */
    subnetId?: pulumi.Input<string>;
    /**
     * Tags.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.redis.InstanceTag>[]>;
    /**
     * The maintainable time period of the instance, in the format of HH:mm-HH:mm (UTC+8).
     */
    timeScope?: pulumi.Input<string>;
    /**
     * Whether to upgrade the domain suffix of the connection address. Use lifecycle and ignoreChanges in import.
     */
    upgradeRegionDomain?: pulumi.Input<boolean>;
    /**
     * Whether to enable password-free access when connecting to an instance through a private network. Valid values: `open`, `close`.
     */
    vpcAuthMode?: pulumi.Input<string>;
    /**
     * This field has been deprecated after version-0.0.152. Please use multiAz and configureNodes to specify the availability zone. The list of zone IDs of instance. When creating a single node instance, only one zone id can be specified.
     *
     * @deprecated This field has been deprecated after version-0.0.152. Please use multiAz and configureNodes to specify the availability zone.
     */
    zoneIds?: pulumi.Input<pulumi.Input<string>[]>;
}
/**
 * The set of arguments for constructing a Instance resource.
 */
export interface InstanceArgs {
    /**
     * Modify the single-shard additional bandwidth of the target Redis instance. Set the additional bandwidth of a single shard, that is, the bandwidth that needs to be additionally increased on the basis of the default bandwidth. Unit: MB/s. The value of additional bandwidth needs to meet the following conditions at the same time: It must be greater than or equal to 0. When the value is 0, it means that no additional bandwidth is added, and the bandwidth of a single shard is the default bandwidth. The sum of additional bandwidth and default bandwidth cannot exceed the upper limit of bandwidth that can be modified for the current instance. Different specification nodes have different upper limits of bandwidth that can be modified. For more details, please refer to bandwidth modification range. The upper limits of the total write bandwidth and the total read bandwidth of an instance are both 2048MB/s.
     */
    additionalBandwidth?: pulumi.Input<number>;
    /**
     * The type of connection address that requires an address prefix. Use lifecycle and ignoreChanges in import.
     */
    addrType?: pulumi.Input<string>;
    /**
     * Whether to apply the instance configuration change operation immediately. The value of this field is false, means that the change operation will be applied within maintenance time.
     */
    applyImmediately?: pulumi.Input<boolean>;
    /**
     * Whether to enable automatic renewal. This field is valid only when `ChargeType` is `PrePaid`, the default value is false.
     * When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
     */
    autoRenew?: pulumi.Input<boolean>;
    /**
     * Whether enable auto backup for redis instance. This field is valid and required when updating the backup plan of primary and secondary instance.
     */
    backupActive?: pulumi.Input<boolean>;
    /**
     * The time period to start performing the backup. The valid value range is any integer between 0 and 23, where 0 means that the system will perform the backup in the period of 00:00~01:00, 1 means that the backup will be performed in the period of 01:00~02:00, and so on.
     * This field is valid and required when updating the backup plan of primary and secondary instance.
     */
    backupHour?: pulumi.Input<number>;
    /**
     * The backup period. The valid value can be any integer between 1 and 7. Among them, 1 means backup every Monday, 2 means backup every Tuesday, and so on.
     * This field is valid and required when updating the backup plan of primary and secondary instance.
     */
    backupPeriods?: pulumi.Input<pulumi.Input<number>[]>;
    /**
     * Set the backup name for the final backup of the instance to be deleted. If the backup name is not set, the backup ID is used as the name by default. Use lifecycle and ignoreChanges in import.
     */
    backupPointName?: pulumi.Input<string>;
    /**
     * The charge type of redis instance. Valid value: `PostPaid`, `PrePaid`.
     */
    chargeType?: pulumi.Input<string>;
    /**
     * Set the list of available zones to which the node belongs.
     */
    configureNodes?: pulumi.Input<pulumi.Input<inputs.redis.InstanceConfigureNode>[]>;
    /**
     * Whether to create a final backup when modify the instance configuration or destroy the redis instance.
     */
    createBackup?: pulumi.Input<boolean>;
    /**
     * Whether enable deletion protection for redis instance. Valid values: `enabled`, `disabled`(default).
     */
    deletionProtection?: pulumi.Input<string>;
    /**
     * The engine version of redis instance. Valid value: `5.0`, `6.0`, `7.0`.
     */
    engineVersion: pulumi.Input<string>;
    /**
     * The name of the redis instance.
     */
    instanceName?: pulumi.Input<string>;
    /**
     * Maximum number of connections per shard.
     */
    maxConnections?: pulumi.Input<number>;
    /**
     * Set the availability zone deployment scheme for the instance. The value range is as follows:
     * disabled: Single availability zone deployment scheme.
     * enabled: Multi-availability zone deployment scheme.
     * Description:
     * When the newly created instance is a single-node instance (that is, when the value of NodeNumber is 1), only the single availability zone deployment scheme is allowed. At this time, the value of MultiAZ must be disabled.
     */
    multiAz?: pulumi.Input<string>;
    /**
     * The modified connection address prefix. Use lifecycle and ignoreChanges in import.
     */
    newAddressPrefix?: pulumi.Input<string>;
    /**
     * The modified connection address port number. Use lifecycle and ignoreChanges in import.
     */
    newPort?: pulumi.Input<number>;
    /**
     * The number of nodes in each shard, the valid value range is `1-6`. When the value is 1, it means creating a single node instance, and this field can not be modified. When the value is greater than 1, it means creating a primary and secondary instance, and this field can be modified.
     */
    nodeNumber: pulumi.Input<number>;
    /**
     * The configuration item information to be modified. This field can only be added or modified. Deleting this field is invalid.
     * When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields, or use the command `pulumi up` to perform a modification operation.
     */
    paramValues?: pulumi.Input<pulumi.Input<inputs.redis.InstanceParamValue>[]>;
    /**
     * The account password. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields. If this parameter is left blank, it means that no password is set for the default account. At this time, the system will automatically generate a password for the default account to ensure instance access security. No account can obtain this random password. Therefore, before connecting to the instance, you need to reset the password of the default account through the ModifyDBAccount interface.You can also set a new account and password through the CreateDBAccount interface according to business needs. If you need to use password-free access function, you need to enable password-free access first through the ModifyDBInstanceVpcAuthMode interface.
     */
    password?: pulumi.Input<string>;
    /**
     * The port of custom define private network address. The valid value range is `1024-65535`. The default value is `6379`.
     */
    port?: pulumi.Input<number>;
    /**
     * The project name to which the redis instance belongs, if this parameter is empty, the new redis instance will be added to the `default` project.
     */
    projectName?: pulumi.Input<string>;
    /**
     * The purchase months of redis instance, the unit is month. the valid value range is as fallows: `1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36`. This field is valid and required when `ChargeType` is `Prepaid`.
     * When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
     */
    purchaseMonths?: pulumi.Input<number>;
    /**
     * The memory capacity of each shard, unit is MiB. The valid value range is as fallows: When the value of `ShardedCluster` is 0: 256, 1024, 2048, 4096, 8192, 16384, 32768, 65536. When the value of `ShardedCluster` is 1: 1024, 2048, 4096, 8192, 16384. When the value of `nodeNumber` is 1, the value of this field can not be 256.
     */
    shardCapacity: pulumi.Input<number>;
    /**
     * The number of shards in redis instance, the valid value range is `2-256`. This field is valid and required when the value of `ShardedCluster` is 1.
     */
    shardNumber?: pulumi.Input<number>;
    /**
     * Whether enable sharded cluster for the current redis instance. Valid values: 0, 1. 0 means disable, 1 means enable.
     */
    shardedCluster: pulumi.Input<number>;
    /**
     * The subnet id of the redis instance. The specified subnet id must belong to the zone ids.
     */
    subnetId: pulumi.Input<string>;
    /**
     * Tags.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.redis.InstanceTag>[]>;
    /**
     * The maintainable time period of the instance, in the format of HH:mm-HH:mm (UTC+8).
     */
    timeScope?: pulumi.Input<string>;
    /**
     * Whether to upgrade the domain suffix of the connection address. Use lifecycle and ignoreChanges in import.
     */
    upgradeRegionDomain?: pulumi.Input<boolean>;
    /**
     * Whether to enable password-free access when connecting to an instance through a private network. Valid values: `open`, `close`.
     */
    vpcAuthMode?: pulumi.Input<string>;
    /**
     * This field has been deprecated after version-0.0.152. Please use multiAz and configureNodes to specify the availability zone. The list of zone IDs of instance. When creating a single node instance, only one zone id can be specified.
     *
     * @deprecated This field has been deprecated after version-0.0.152. Please use multiAz and configureNodes to specify the availability zone.
     */
    zoneIds?: pulumi.Input<pulumi.Input<string>[]>;
}
