@muhlba91/pulumi-proxmoxve
Version:
A Pulumi package for creating and managing Proxmox Virtual Environment cloud resources.
103 lines • 4 kB
TypeScript
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