import * as pulumi from "@pulumi/pulumi";
/**
 * > **Experimental.** Schema and behavior may change in future releases. Pin the provider version if stability matters.
 *
 * Retrieves Ceph status from Proxmox. Queries the per-node endpoint when `nodeName` is set, otherwise the cluster-wide endpoint.
 *
 * When `nodeName` is set, the data source queries `/nodes/{node}/ceph/status`
 * (the node-local view). When `nodeName` is omitted, it queries
 * `/cluster/ceph/status` (the cluster-wide view). Both endpoints return the
 * same payload shape; only the failure modes differ when Ceph is misconfigured
 * on a specific node.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
 *
 * // Cluster-wide Ceph status (hits GET /cluster/ceph/status).
 * const cluster = proxmoxve.ceph.getStatus({});
 * // Node-scoped Ceph status (hits GET /nodes/{node}/ceph/status).
 * const node = proxmoxve.ceph.getStatus({
 *     nodeName: "pve",
 * });
 * export const cephHealth = cluster.then(cluster => cluster.healthStatus);
 * export const cephFsid = cluster.then(cluster => cluster.fsid);
 * export const cephQuorum = cluster.then(cluster => cluster.quorumNames);
 * ```
 */
export declare function getStatus(args?: GetStatusArgs, opts?: pulumi.InvokeOptions): Promise<GetStatusResult>;
/**
 * A collection of arguments for invoking getStatus.
 */
export interface GetStatusArgs {
    /**
     * Optional node name. When set, the data source queries the per-node endpoint; when omitted, it queries the cluster-wide endpoint.
     */
    nodeName?: string;
}
/**
 * A collection of values returned by getStatus.
 */
export interface GetStatusResult {
    /**
     * Ceph cluster UUID.
     */
    readonly fsid: string;
    /**
     * Overall cluster health: `HEALTH_OK`, `HEALTH_WARN`, or `HEALTH_ERR`.
     */
    readonly healthStatus: string;
    /**
     * The Ceph cluster `fsid`.
     */
    readonly id: string;
    /**
     * Optional node name. When set, the data source queries the per-node endpoint; when omitted, it queries the cluster-wide endpoint.
     */
    readonly nodeName?: string;
    /**
     * Monitor names currently participating in the quorum.
     */
    readonly quorumNames: string[];
}
/**
 * > **Experimental.** Schema and behavior may change in future releases. Pin the provider version if stability matters.
 *
 * Retrieves Ceph status from Proxmox. Queries the per-node endpoint when `nodeName` is set, otherwise the cluster-wide endpoint.
 *
 * When `nodeName` is set, the data source queries `/nodes/{node}/ceph/status`
 * (the node-local view). When `nodeName` is omitted, it queries
 * `/cluster/ceph/status` (the cluster-wide view). Both endpoints return the
 * same payload shape; only the failure modes differ when Ceph is misconfigured
 * on a specific node.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
 *
 * // Cluster-wide Ceph status (hits GET /cluster/ceph/status).
 * const cluster = proxmoxve.ceph.getStatus({});
 * // Node-scoped Ceph status (hits GET /nodes/{node}/ceph/status).
 * const node = proxmoxve.ceph.getStatus({
 *     nodeName: "pve",
 * });
 * export const cephHealth = cluster.then(cluster => cluster.healthStatus);
 * export const cephFsid = cluster.then(cluster => cluster.fsid);
 * export const cephQuorum = cluster.then(cluster => cluster.quorumNames);
 * ```
 */
export declare function getStatusOutput(args?: GetStatusOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetStatusResult>;
/**
 * A collection of arguments for invoking getStatus.
 */
export interface GetStatusOutputArgs {
    /**
     * Optional node name. When set, the data source queries the per-node endpoint; when omitted, it queries the cluster-wide endpoint.
     */
    nodeName?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getStatus.d.ts.map