import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Provides a resource to manage rocketmq instance
 * ## 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({});
 * const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
 *     vpcName: "acc-test-vpc",
 *     cidrBlock: "172.16.0.0/16",
 * });
 * 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,
 * });
 * const fooRocketMQInstance = new volcengine.rocketmq.RocketMQInstance("fooRocketMQInstance", {
 *     zoneIds: [fooZones.then(fooZones => fooZones.zones?.[0]?.id)],
 *     subnetId: fooSubnet.id,
 *     version: "4.8",
 *     computeSpec: "rocketmq.n1.x2.micro",
 *     storageSpace: 300,
 *     autoScaleQueue: true,
 *     fileReservedTime: 10,
 *     instanceName: "acc-test-rocketmq",
 *     instanceDescription: "acc-test",
 *     projectName: "default",
 *     chargeInfo: {
 *         chargeType: "PostPaid",
 *     },
 *     tags: [{
 *         key: "k1",
 *         value: "v1",
 *     }],
 * });
 * ```
 *
 * ## Import
 *
 * RocketmqInstance can be imported using the id, e.g.
 *
 * ```sh
 * $ pulumi import volcengine:rocketmq/rocketMQInstance:RocketMQInstance default resource_id
 * ```
 */
export declare class RocketMQInstance extends pulumi.CustomResource {
    /**
     * Get an existing RocketMQInstance 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?: RocketMQInstanceState, opts?: pulumi.CustomResourceOptions): RocketMQInstance;
    /**
     * Returns true if the given object is an instance of RocketMQInstance.  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 RocketMQInstance;
    /**
     * The account id of the rocketmq instance.
     */
    readonly accountId: pulumi.Output<string>;
    /**
     * Whether the private dns to public function is enabled for the rocketmq instance.
     */
    readonly applyPrivateDnsToPublic: pulumi.Output<boolean>;
    /**
     * Whether to create queue automatically when the spec of the instance is changed. This field is effective only when modifying `computeField` and `storageSpace`.
     */
    readonly autoScaleQueue: pulumi.Output<boolean | undefined>;
    /**
     * The available queue number of the rocketmq instance.
     */
    readonly availableQueueNumber: pulumi.Output<number>;
    /**
     * The charge information of the rocketmq instance.
     */
    readonly chargeInfo: pulumi.Output<outputs.rocketmq.RocketMQInstanceChargeInfo>;
    /**
     * The compute spec of the rocketmq instance.
     */
    readonly computeSpec: pulumi.Output<string>;
    /**
     * The connection information of the rocketmq.
     */
    readonly connectionInfos: pulumi.Output<outputs.rocketmq.RocketMQInstanceConnectionInfo[]>;
    /**
     * The create time of the rocketmq instance.
     */
    readonly createTime: pulumi.Output<string>;
    /**
     * The eip id of the rocketmq instance.
     */
    readonly eipId: pulumi.Output<string>;
    /**
     * Whether the ssl authentication is enabled for the rocketmq instance.
     */
    readonly enableSsl: pulumi.Output<boolean>;
    /**
     * The reserved time of messages on the RocketMQ server of the message queue. Messages that exceed the reserved time will be cleared after expiration. The unit is in hours. Valid value range is 1~72.
     */
    readonly fileReservedTime: pulumi.Output<number>;
    /**
     * The instance description of the rocketmq instance.
     */
    readonly instanceDescription: pulumi.Output<string | undefined>;
    /**
     * The instance name of the rocketmq instance.
     */
    readonly instanceName: pulumi.Output<string>;
    /**
     * The status of the rocketmq instance.
     */
    readonly instanceStatus: pulumi.Output<string>;
    /**
     * The project name of the rocketmq instance.
     */
    readonly projectName: pulumi.Output<string>;
    /**
     * The region id of the rocketmq instance.
     */
    readonly regionId: pulumi.Output<string>;
    /**
     * The ssl mode of the rocketmq instance.
     */
    readonly sslMode: pulumi.Output<string>;
    /**
     * The storage space of the rocketmq instance.
     */
    readonly storageSpace: pulumi.Output<number>;
    /**
     * The subnet id of the rocketmq instance.
     */
    readonly subnetId: pulumi.Output<string>;
    /**
     * Tags.
     */
    readonly tags: pulumi.Output<outputs.rocketmq.RocketMQInstanceTag[] | undefined>;
    /**
     * The used group number of the rocketmq instance.
     */
    readonly usedGroupNumber: pulumi.Output<number>;
    /**
     * The used queue number of the rocketmq instance.
     */
    readonly usedQueueNumber: pulumi.Output<number>;
    /**
     * The used storage space of the rocketmq instance.
     */
    readonly usedStorageSpace: pulumi.Output<number>;
    /**
     * The used topic number of the rocketmq instance.
     */
    readonly usedTopicNumber: pulumi.Output<number>;
    /**
     * The version of the rocketmq instance. Valid values: `4.8`.
     */
    readonly version: pulumi.Output<string>;
    /**
     * The vpc id of the rocketmq instance.
     */
    readonly vpcId: pulumi.Output<string>;
    /**
     * The zone id of the rocketmq instance. Support specifying multiple availability zones.
     */
    readonly zoneIds: pulumi.Output<string[]>;
    /**
     * Create a RocketMQInstance 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: RocketMQInstanceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering RocketMQInstance resources.
 */
export interface RocketMQInstanceState {
    /**
     * The account id of the rocketmq instance.
     */
    accountId?: pulumi.Input<string>;
    /**
     * Whether the private dns to public function is enabled for the rocketmq instance.
     */
    applyPrivateDnsToPublic?: pulumi.Input<boolean>;
    /**
     * Whether to create queue automatically when the spec of the instance is changed. This field is effective only when modifying `computeField` and `storageSpace`.
     */
    autoScaleQueue?: pulumi.Input<boolean>;
    /**
     * The available queue number of the rocketmq instance.
     */
    availableQueueNumber?: pulumi.Input<number>;
    /**
     * The charge information of the rocketmq instance.
     */
    chargeInfo?: pulumi.Input<inputs.rocketmq.RocketMQInstanceChargeInfo>;
    /**
     * The compute spec of the rocketmq instance.
     */
    computeSpec?: pulumi.Input<string>;
    /**
     * The connection information of the rocketmq.
     */
    connectionInfos?: pulumi.Input<pulumi.Input<inputs.rocketmq.RocketMQInstanceConnectionInfo>[]>;
    /**
     * The create time of the rocketmq instance.
     */
    createTime?: pulumi.Input<string>;
    /**
     * The eip id of the rocketmq instance.
     */
    eipId?: pulumi.Input<string>;
    /**
     * Whether the ssl authentication is enabled for the rocketmq instance.
     */
    enableSsl?: pulumi.Input<boolean>;
    /**
     * The reserved time of messages on the RocketMQ server of the message queue. Messages that exceed the reserved time will be cleared after expiration. The unit is in hours. Valid value range is 1~72.
     */
    fileReservedTime?: pulumi.Input<number>;
    /**
     * The instance description of the rocketmq instance.
     */
    instanceDescription?: pulumi.Input<string>;
    /**
     * The instance name of the rocketmq instance.
     */
    instanceName?: pulumi.Input<string>;
    /**
     * The status of the rocketmq instance.
     */
    instanceStatus?: pulumi.Input<string>;
    /**
     * The project name of the rocketmq instance.
     */
    projectName?: pulumi.Input<string>;
    /**
     * The region id of the rocketmq instance.
     */
    regionId?: pulumi.Input<string>;
    /**
     * The ssl mode of the rocketmq instance.
     */
    sslMode?: pulumi.Input<string>;
    /**
     * The storage space of the rocketmq instance.
     */
    storageSpace?: pulumi.Input<number>;
    /**
     * The subnet id of the rocketmq instance.
     */
    subnetId?: pulumi.Input<string>;
    /**
     * Tags.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.rocketmq.RocketMQInstanceTag>[]>;
    /**
     * The used group number of the rocketmq instance.
     */
    usedGroupNumber?: pulumi.Input<number>;
    /**
     * The used queue number of the rocketmq instance.
     */
    usedQueueNumber?: pulumi.Input<number>;
    /**
     * The used storage space of the rocketmq instance.
     */
    usedStorageSpace?: pulumi.Input<number>;
    /**
     * The used topic number of the rocketmq instance.
     */
    usedTopicNumber?: pulumi.Input<number>;
    /**
     * The version of the rocketmq instance. Valid values: `4.8`.
     */
    version?: pulumi.Input<string>;
    /**
     * The vpc id of the rocketmq instance.
     */
    vpcId?: pulumi.Input<string>;
    /**
     * The zone id of the rocketmq instance. Support specifying multiple availability zones.
     */
    zoneIds?: pulumi.Input<pulumi.Input<string>[]>;
}
/**
 * The set of arguments for constructing a RocketMQInstance resource.
 */
export interface RocketMQInstanceArgs {
    /**
     * Whether to create queue automatically when the spec of the instance is changed. This field is effective only when modifying `computeField` and `storageSpace`.
     */
    autoScaleQueue?: pulumi.Input<boolean>;
    /**
     * The charge information of the rocketmq instance.
     */
    chargeInfo: pulumi.Input<inputs.rocketmq.RocketMQInstanceChargeInfo>;
    /**
     * The compute spec of the rocketmq instance.
     */
    computeSpec: pulumi.Input<string>;
    /**
     * The reserved time of messages on the RocketMQ server of the message queue. Messages that exceed the reserved time will be cleared after expiration. The unit is in hours. Valid value range is 1~72.
     */
    fileReservedTime: pulumi.Input<number>;
    /**
     * The instance description of the rocketmq instance.
     */
    instanceDescription?: pulumi.Input<string>;
    /**
     * The instance name of the rocketmq instance.
     */
    instanceName?: pulumi.Input<string>;
    /**
     * The project name of the rocketmq instance.
     */
    projectName?: pulumi.Input<string>;
    /**
     * The storage space of the rocketmq instance.
     */
    storageSpace: pulumi.Input<number>;
    /**
     * The subnet id of the rocketmq instance.
     */
    subnetId: pulumi.Input<string>;
    /**
     * Tags.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.rocketmq.RocketMQInstanceTag>[]>;
    /**
     * The version of the rocketmq instance. Valid values: `4.8`.
     */
    version: pulumi.Input<string>;
    /**
     * The zone id of the rocketmq instance. Support specifying multiple availability zones.
     */
    zoneIds: pulumi.Input<pulumi.Input<string>[]>;
}
