import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Use this data source to query detailed information of mongodb instances
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const foo = volcengine.mongodb.getInstances({
 *     instanceId: "mongo-replica-xxx",
 * });
 * ```
 */
export declare function getInstances(args?: GetInstancesArgs, opts?: pulumi.InvokeOptions): Promise<GetInstancesResult>;
/**
 * A collection of arguments for invoking getInstances.
 */
export interface GetInstancesArgs {
    /**
     * The end time of creation to query.
     */
    createEndTime?: string;
    /**
     * The start time of creation to query.
     */
    createStartTime?: string;
    /**
     * The db engine to query, valid value contains `MongoDB`.
     */
    dbEngine?: string;
    /**
     * The version of db engine to query, valid value contains `MongoDB_4_0`.
     */
    dbEngineVersion?: string;
    /**
     * The instance ID to query.
     */
    instanceId?: string;
    /**
     * The instance name to query.
     */
    instanceName?: string;
    /**
     * The instance status to query.
     */
    instanceStatus?: string;
    /**
     * The type of instance to query, the valid value contains `ReplicaSet` or `ShardedCluster`.
     */
    instanceType?: string;
    /**
     * A Name Regex of DB instance.
     */
    nameRegex?: string;
    /**
     * File name where to save data source results.
     */
    outputFile?: string;
    /**
     * The project name to query.
     */
    projectName?: string;
    /**
     * Tags.
     */
    tags?: inputs.mongodb.GetInstancesTag[];
    /**
     * The end time of update to query.
     */
    updateEndTime?: string;
    /**
     * The start time of update to query.
     */
    updateStartTime?: string;
    /**
     * The vpc id of instance to query.
     */
    vpcId?: string;
    /**
     * The zone ID to query.
     */
    zoneId?: string;
}
/**
 * A collection of values returned by getInstances.
 */
export interface GetInstancesResult {
    readonly createEndTime?: string;
    readonly createStartTime?: string;
    /**
     * The db engine.
     */
    readonly dbEngine?: string;
    /**
     * The version of database engine.
     */
    readonly dbEngineVersion?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The instance ID.
     */
    readonly instanceId?: string;
    /**
     * The instance name.
     */
    readonly instanceName?: string;
    /**
     * The instance status.
     */
    readonly instanceStatus?: string;
    /**
     * The instance type.
     */
    readonly instanceType?: string;
    /**
     * The collection of mongodb instances query.
     */
    readonly instances: outputs.mongodb.GetInstancesInstance[];
    readonly nameRegex?: string;
    readonly outputFile?: string;
    /**
     * The project name to which the instance belongs.
     */
    readonly projectName?: string;
    /**
     * Tags.
     */
    readonly tags?: outputs.mongodb.GetInstancesTag[];
    /**
     * The total count of mongodb instances query.
     */
    readonly totalCount: number;
    readonly updateEndTime?: string;
    readonly updateStartTime?: string;
    /**
     * The vpc ID.
     */
    readonly vpcId?: string;
    /**
     * The zone ID of instance.
     */
    readonly zoneId?: string;
}
/**
 * Use this data source to query detailed information of mongodb instances
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const foo = volcengine.mongodb.getInstances({
 *     instanceId: "mongo-replica-xxx",
 * });
 * ```
 */
export declare function getInstancesOutput(args?: GetInstancesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetInstancesResult>;
/**
 * A collection of arguments for invoking getInstances.
 */
export interface GetInstancesOutputArgs {
    /**
     * The end time of creation to query.
     */
    createEndTime?: pulumi.Input<string>;
    /**
     * The start time of creation to query.
     */
    createStartTime?: pulumi.Input<string>;
    /**
     * The db engine to query, valid value contains `MongoDB`.
     */
    dbEngine?: pulumi.Input<string>;
    /**
     * The version of db engine to query, valid value contains `MongoDB_4_0`.
     */
    dbEngineVersion?: pulumi.Input<string>;
    /**
     * The instance ID to query.
     */
    instanceId?: pulumi.Input<string>;
    /**
     * The instance name to query.
     */
    instanceName?: pulumi.Input<string>;
    /**
     * The instance status to query.
     */
    instanceStatus?: pulumi.Input<string>;
    /**
     * The type of instance to query, the valid value contains `ReplicaSet` or `ShardedCluster`.
     */
    instanceType?: pulumi.Input<string>;
    /**
     * A Name Regex of DB instance.
     */
    nameRegex?: pulumi.Input<string>;
    /**
     * File name where to save data source results.
     */
    outputFile?: pulumi.Input<string>;
    /**
     * The project name to query.
     */
    projectName?: pulumi.Input<string>;
    /**
     * Tags.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.mongodb.GetInstancesTagArgs>[]>;
    /**
     * The end time of update to query.
     */
    updateEndTime?: pulumi.Input<string>;
    /**
     * The start time of update to query.
     */
    updateStartTime?: pulumi.Input<string>;
    /**
     * The vpc id of instance to query.
     */
    vpcId?: pulumi.Input<string>;
    /**
     * The zone ID to query.
     */
    zoneId?: pulumi.Input<string>;
}
