import * as pulumi from "@pulumi/pulumi"; /** * Creates a new reservation. */ export declare class Reservation extends pulumi.CustomResource { /** * Get an existing Reservation resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Reservation; /** * Returns true if the given object is an instance of Reservation. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Reservation; readonly location: pulumi.Output; /** * The name of the reservation. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id} */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * Required. The ID to use for the reservation, which will become the final component of the reservation's name. This value is structured like: `my-reservation-name`. */ readonly reservationId: pulumi.Output; /** * The reserved throughput capacity. Every unit of throughput capacity is equivalent to 1 MiB/s of published messages or 2 MiB/s of subscribed messages. Any topics which are declared as using capacity from a Reservation will consume resources from this reservation instead of being charged individually. */ readonly throughputCapacity: pulumi.Output; /** * Create a Reservation resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ReservationArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Reservation resource. */ export interface ReservationArgs { location?: pulumi.Input; /** * The name of the reservation. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id} */ name?: pulumi.Input; project?: pulumi.Input; /** * Required. The ID to use for the reservation, which will become the final component of the reservation's name. This value is structured like: `my-reservation-name`. */ reservationId: pulumi.Input; /** * The reserved throughput capacity. Every unit of throughput capacity is equivalent to 1 MiB/s of published messages or 2 MiB/s of subscribed messages. Any topics which are declared as using capacity from a Reservation will consume resources from this reservation instead of being charged individually. */ throughputCapacity?: pulumi.Input; }