import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Get information about a Google Compute Engine Reservation Sub-Block. Reservation sub-blocks are automatically created by Google Cloud within reservation blocks and represent a finer-grained physical grouping of resources.
 *
 * For more information see the [official documentation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
 * and the [API](https://cloud.google.com/compute/docs/reference/rest/v1/reservationSubBlocks).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const subBlock = gcp.compute.getReservationSubBlock({
 *     name: "my-reservation-sub-block",
 *     reservationBlock: "my-reservation-block",
 *     reservation: "my-reservation",
 *     zone: "us-central1-a",
 * });
 * export const subBlockStatus = subBlock.then(subBlock => subBlock.status);
 * export const subBlockHealth = subBlock.then(subBlock => subBlock.healthInfos);
 * ```
 */
export declare function getReservationSubBlock(args: GetReservationSubBlockArgs, opts?: pulumi.InvokeOptions): Promise<GetReservationSubBlockResult>;
/**
 * A collection of arguments for invoking getReservationSubBlock.
 */
export interface GetReservationSubBlockArgs {
    /**
     * The name of the reservation sub-block.
     */
    name: string;
    /**
     * The project in which the resource belongs. If it
     * is not provided, the provider project is used.
     */
    project?: string;
    /**
     * The name of the parent reservation.
     *
     * - - -
     */
    reservation: string;
    /**
     * The name of the parent reservation block.
     */
    reservationBlock: string;
    /**
     * The zone where the reservation sub-block resides.
     */
    zone?: string;
}
/**
 * A collection of values returned by getReservationSubBlock.
 */
export interface GetReservationSubBlockResult {
    /**
     * Creation timestamp in RFC3339 text format.
     */
    readonly creationTimestamp: string;
    /**
     * Health information for the reservation sub-block. Structure is documented below.
     */
    readonly healthInfos: outputs.compute.GetReservationSubBlockHealthInfo[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The number of instances that are currently in use on this reservation sub-block.
     */
    readonly inUseCount: number;
    /**
     * Type of the resource. Always `compute#reservationSubBlock` for reservation sub-blocks.
     */
    readonly kind: string;
    readonly name: string;
    /**
     * The physical topology of the reservation sub-block. Structure is documented below.
     */
    readonly physicalTopologies: outputs.compute.GetReservationSubBlockPhysicalTopology[];
    readonly project: string;
    readonly reservation: string;
    readonly reservationBlock: string;
    /**
     * Maintenance information for this reservation sub-block. Structure is documented below.
     */
    readonly reservationSubBlockMaintenances: outputs.compute.GetReservationSubBlockReservationSubBlockMaintenance[];
    /**
     * The unique identifier for the resource.
     */
    readonly resourceId: string;
    /**
     * Server-defined fully-qualified URL for this resource.
     */
    readonly selfLink: string;
    /**
     * Server-defined URL for this resource with the resource id.
     */
    readonly selfLinkWithId: string;
    /**
     * Status of the reservation sub-block.
     */
    readonly status: string;
    /**
     * The number of hosts that are allocated in this reservation sub-block.
     */
    readonly subBlockCount: number;
    readonly zone?: string;
}
/**
 * Get information about a Google Compute Engine Reservation Sub-Block. Reservation sub-blocks are automatically created by Google Cloud within reservation blocks and represent a finer-grained physical grouping of resources.
 *
 * For more information see the [official documentation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
 * and the [API](https://cloud.google.com/compute/docs/reference/rest/v1/reservationSubBlocks).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const subBlock = gcp.compute.getReservationSubBlock({
 *     name: "my-reservation-sub-block",
 *     reservationBlock: "my-reservation-block",
 *     reservation: "my-reservation",
 *     zone: "us-central1-a",
 * });
 * export const subBlockStatus = subBlock.then(subBlock => subBlock.status);
 * export const subBlockHealth = subBlock.then(subBlock => subBlock.healthInfos);
 * ```
 */
export declare function getReservationSubBlockOutput(args: GetReservationSubBlockOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetReservationSubBlockResult>;
/**
 * A collection of arguments for invoking getReservationSubBlock.
 */
export interface GetReservationSubBlockOutputArgs {
    /**
     * The name of the reservation sub-block.
     */
    name: pulumi.Input<string>;
    /**
     * The project in which the resource belongs. If it
     * is not provided, the provider project is used.
     */
    project?: pulumi.Input<string | undefined>;
    /**
     * The name of the parent reservation.
     *
     * - - -
     */
    reservation: pulumi.Input<string>;
    /**
     * The name of the parent reservation block.
     */
    reservationBlock: pulumi.Input<string>;
    /**
     * The zone where the reservation sub-block resides.
     */
    zone?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getReservationSubBlock.d.ts.map