import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../../types/output"; /** * Retrieves information about the specified reservation. */ export declare function getReservation(args: GetReservationArgs, opts?: pulumi.InvokeOptions): Promise; export interface GetReservationArgs { project?: string; reservation: string; zone: string; } export interface GetReservationResult { /** * Reservation for aggregated resources, providing shape flexibility. */ readonly aggregateReservation: outputs.compute.beta.AllocationAggregateReservationResponse; /** * Full or partial URL to a parent commitment. This field displays for reservations that are tied to a commitment. */ readonly commitment: string; /** * Creation timestamp in RFC3339 text format. */ readonly creationTimestamp: string; /** * Duration time relative to reservation creation when GCE will automatically delete this resource. */ readonly deleteAfterDuration: outputs.compute.beta.DurationResponse; /** * Absolute time in future when the reservation will be auto-deleted by GCE. Timestamp is represented in RFC3339 text format. */ readonly deleteAtTime: string; /** * An optional description of this resource. Provide this property when you create the resource. */ readonly description: string; /** * Type of the resource. Always compute#reservations for reservations. */ readonly kind: string; /** * The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ readonly name: string; /** * Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation. */ readonly resourcePolicies: { [key: string]: string; }; /** * Status information for Reservation resource. */ readonly resourceStatus: outputs.compute.beta.AllocationResourceStatusResponse; /** * Reserved for future use. */ readonly satisfiesPzs: boolean; /** * Server-defined fully-qualified URL for this resource. */ readonly selfLink: string; /** * Specify share-settings to create a shared reservation. This property is optional. For more information about the syntax and options for this field and its subfields, see the guide for creating a shared reservation. */ readonly shareSettings: outputs.compute.beta.ShareSettingsResponse; /** * Reservation for instances with specific machine shapes. */ readonly specificReservation: outputs.compute.beta.AllocationSpecificSKUReservationResponse; /** * Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation. */ readonly specificReservationRequired: boolean; /** * The status of the reservation. */ readonly status: string; /** * Zone in which the reservation resides. A zone must be provided if the reservation is created within a commitment. */ readonly zone: string; } /** * Retrieves information about the specified reservation. */ export declare function getReservationOutput(args: GetReservationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output; export interface GetReservationOutputArgs { project?: pulumi.Input; reservation: pulumi.Input; zone: pulumi.Input; }