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; /** * 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; /** * A collection of arguments for invoking getReservationSubBlock. */ export interface GetReservationSubBlockOutputArgs { /** * The name of the reservation sub-block. */ name: pulumi.Input; /** * The project in which the resource belongs. If it * is not provided, the provider project is used. */ project?: pulumi.Input; /** * The name of the parent reservation. */ reservation: pulumi.Input; /** * The name of the parent reservation block. */ reservationBlock: pulumi.Input; /** * The zone where the reservation sub-block resides. * * - - - */ zone?: pulumi.Input; }