import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Provides access to available Google Compute Reservation Resources for a given project.
 * See more about [Reservations of Compute Engine resources](https://cloud.google.com/compute/docs/instances/reservations-overview) in the upstream docs.
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const reservation = gcp.compute.getReservation({
 *     name: "gce-reservation",
 *     zone: "us-central1-a",
 * });
 * ```
 */
export declare function getReservation(args: GetReservationArgs, opts?: pulumi.InvokeOptions): Promise<GetReservationResult>;
/**
 * A collection of arguments for invoking getReservation.
 */
export interface GetReservationArgs {
    /**
     * The name of the Compute Reservation.
     */
    name: string;
    /**
     * Project from which to list the Compute Reservation. Defaults to project declared in the provider.
     */
    project?: string;
    /**
     * Zone where the Compute Reservation resides.
     */
    zone: string;
}
/**
 * A collection of values returned by getReservation.
 */
export interface GetReservationResult {
    readonly blockNames: string[];
    readonly commitment: string;
    readonly creationTimestamp: string;
    readonly deleteAfterDurations: outputs.compute.GetReservationDeleteAfterDuration[];
    readonly deleteAtTime: string;
    readonly deletionPolicy: string;
    readonly description: string;
    readonly enableEmergentMaintenance: boolean;
    readonly id: string;
    readonly kind: string;
    readonly linkedCommitments: string[];
    readonly name: string;
    readonly project?: string;
    readonly reservationBlockCount: number;
    readonly reservationSharingPolicies: outputs.compute.GetReservationReservationSharingPolicy[];
    readonly resourceStatuses: outputs.compute.GetReservationResourceStatus[];
    readonly satisfiesPzs: boolean;
    readonly selfLink: string;
    readonly shareSettings: outputs.compute.GetReservationShareSetting[];
    readonly specificReservationRequired: boolean;
    readonly specificReservations: outputs.compute.GetReservationSpecificReservation[];
    readonly status: string;
    readonly zone: string;
}
/**
 * Provides access to available Google Compute Reservation Resources for a given project.
 * See more about [Reservations of Compute Engine resources](https://cloud.google.com/compute/docs/instances/reservations-overview) in the upstream docs.
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const reservation = gcp.compute.getReservation({
 *     name: "gce-reservation",
 *     zone: "us-central1-a",
 * });
 * ```
 */
export declare function getReservationOutput(args: GetReservationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetReservationResult>;
/**
 * A collection of arguments for invoking getReservation.
 */
export interface GetReservationOutputArgs {
    /**
     * The name of the Compute Reservation.
     */
    name: pulumi.Input<string>;
    /**
     * Project from which to list the Compute Reservation. Defaults to project declared in the provider.
     */
    project?: pulumi.Input<string | undefined>;
    /**
     * Zone where the Compute Reservation resides.
     */
    zone: pulumi.Input<string>;
}
//# sourceMappingURL=getReservation.d.ts.map