import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Get information about a Google Cloud Function (2nd gen). For more information see:
 *
 * * [API documentation](https://cloud.google.com/functions/docs/reference/rest/v2beta/projects.locations.functions).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_function = gcp.cloudfunctionsv2.getFunction({
 *     name: "function",
 *     location: "us-central1",
 * });
 * ```
 */
export declare function getFunction(args: GetFunctionArgs, opts?: pulumi.InvokeOptions): Promise<GetFunctionResult>;
/**
 * A collection of arguments for invoking getFunction.
 */
export interface GetFunctionArgs {
    /**
     * The location in which the resource belongs.
     *
     * - - -
     */
    location: string;
    /**
     * The name of a Cloud Function (2nd gen).
     */
    name: string;
    /**
     * The project in which the resource belongs. If it
     * is not provided, the provider project is used.
     */
    project?: string;
}
/**
 * A collection of values returned by getFunction.
 */
export interface GetFunctionResult {
    readonly buildConfigs: outputs.cloudfunctionsv2.GetFunctionBuildConfig[];
    readonly description: string;
    readonly effectiveLabels: {
        [key: string]: string;
    };
    readonly environment: string;
    readonly eventTriggers: outputs.cloudfunctionsv2.GetFunctionEventTrigger[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly kmsKeyName: string;
    readonly labels: {
        [key: string]: string;
    };
    readonly location: string;
    readonly name: string;
    readonly project?: string;
    readonly pulumiLabels: {
        [key: string]: string;
    };
    readonly serviceConfigs: outputs.cloudfunctionsv2.GetFunctionServiceConfig[];
    readonly state: string;
    readonly updateTime: string;
    readonly url: string;
}
/**
 * Get information about a Google Cloud Function (2nd gen). For more information see:
 *
 * * [API documentation](https://cloud.google.com/functions/docs/reference/rest/v2beta/projects.locations.functions).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_function = gcp.cloudfunctionsv2.getFunction({
 *     name: "function",
 *     location: "us-central1",
 * });
 * ```
 */
export declare function getFunctionOutput(args: GetFunctionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetFunctionResult>;
/**
 * A collection of arguments for invoking getFunction.
 */
export interface GetFunctionOutputArgs {
    /**
     * The location in which the resource belongs.
     *
     * - - -
     */
    location: pulumi.Input<string>;
    /**
     * The name of a Cloud Function (2nd gen).
     */
    name: pulumi.Input<string>;
    /**
     * The project in which the resource belongs. If it
     * is not provided, the provider project is used.
     */
    project?: pulumi.Input<string>;
}
