import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Get information about a VM instance resource within GCE. For more information see
 * [the official documentation](https://cloud.google.com/compute/docs/instances)
 * and
 * [API](https://cloud.google.com/compute/docs/reference/latest/instances).
 *
 * Get information about VM's guest attrubutes. For more information see [the official documentation](https://cloud.google.com/compute/docs/metadata/manage-guest-attributes)
 * and
 * [API](https://cloud.google.com/compute/docs/reference/rest/v1/instances/getGuestAttributes).
 *
 * ## Example Usage
 *
 * ### Get All Attributes From A Single Namespace
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const appserverGa = gcp.compute.getInstanceGuestAttributes({
 *     name: "primary-application-server",
 *     zone: "us-central1-a",
 *     queryPath: "variables/",
 * });
 * ```
 *
 * ### Get A Specific Variable
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const appserverGa = gcp.compute.getInstanceGuestAttributes({
 *     name: "primary-application-server",
 *     zone: "us-central1-a",
 *     variableKey: "variables/key1",
 * });
 * ```
 */
export declare function getInstanceGuestAttributes(args: GetInstanceGuestAttributesArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceGuestAttributesResult>;
/**
 * A collection of arguments for invoking getInstanceGuestAttributes.
 */
export interface GetInstanceGuestAttributesArgs {
    /**
     * The name or selfLink of the instance.
     */
    name: string;
    /**
     * The ID of the project in which the resource belongs.
     * If `selfLink` is provided, this value is ignored.  If neither `selfLink`
     * nor `project` are provided, the provider project is used.
     */
    project?: string;
    /**
     * Path to query for the guest attributes. Consists of
     * `namespace` name for the attributes followed with a `/`.
     */
    queryPath?: string;
    region?: string;
    /**
     * Key of a variable to get the value of. Consists of
     * `namespace` name and `key` name for the variable separated by a `/`.
     */
    variableKey?: string;
    /**
     * The zone of the instance. If `selfLink` is provided, this
     * value is ignored.  If neither `selfLink` nor `zone` are provided, the
     * provider zone is used.
     */
    zone?: string;
}
/**
 * A collection of values returned by getInstanceGuestAttributes.
 */
export interface GetInstanceGuestAttributesResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly name: string;
    readonly project: string;
    readonly queryPath?: string;
    /**
     * Structure is documented below.
     */
    readonly queryValues: outputs.compute.GetInstanceGuestAttributesQueryValue[];
    readonly region: string;
    readonly variableKey?: string;
    /**
     * Value of the queried guest_attribute.
     */
    readonly variableValue: string;
    readonly zone: string;
}
/**
 * Get information about a VM instance resource within GCE. For more information see
 * [the official documentation](https://cloud.google.com/compute/docs/instances)
 * and
 * [API](https://cloud.google.com/compute/docs/reference/latest/instances).
 *
 * Get information about VM's guest attrubutes. For more information see [the official documentation](https://cloud.google.com/compute/docs/metadata/manage-guest-attributes)
 * and
 * [API](https://cloud.google.com/compute/docs/reference/rest/v1/instances/getGuestAttributes).
 *
 * ## Example Usage
 *
 * ### Get All Attributes From A Single Namespace
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const appserverGa = gcp.compute.getInstanceGuestAttributes({
 *     name: "primary-application-server",
 *     zone: "us-central1-a",
 *     queryPath: "variables/",
 * });
 * ```
 *
 * ### Get A Specific Variable
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const appserverGa = gcp.compute.getInstanceGuestAttributes({
 *     name: "primary-application-server",
 *     zone: "us-central1-a",
 *     variableKey: "variables/key1",
 * });
 * ```
 */
export declare function getInstanceGuestAttributesOutput(args: GetInstanceGuestAttributesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetInstanceGuestAttributesResult>;
/**
 * A collection of arguments for invoking getInstanceGuestAttributes.
 */
export interface GetInstanceGuestAttributesOutputArgs {
    /**
     * The name or selfLink of the instance.
     */
    name: pulumi.Input<string>;
    /**
     * The ID of the project in which the resource belongs.
     * If `selfLink` is provided, this value is ignored.  If neither `selfLink`
     * nor `project` are provided, the provider project is used.
     */
    project?: pulumi.Input<string | undefined>;
    /**
     * Path to query for the guest attributes. Consists of
     * `namespace` name for the attributes followed with a `/`.
     */
    queryPath?: pulumi.Input<string | undefined>;
    region?: pulumi.Input<string | undefined>;
    /**
     * Key of a variable to get the value of. Consists of
     * `namespace` name and `key` name for the variable separated by a `/`.
     */
    variableKey?: pulumi.Input<string | undefined>;
    /**
     * The zone of the instance. If `selfLink` is provided, this
     * value is ignored.  If neither `selfLink` nor `zone` are provided, the
     * provider zone is used.
     */
    zone?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getInstanceGuestAttributes.d.ts.map