import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Get information about a Google Cloud Function. For more information see
 * the [official documentation](https://cloud.google.com/functions/docs/)
 * and [API](https://cloud.google.com/functions/docs/apis).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_function = gcp.cloudfunctions.getFunction({
 *     name: "function",
 * });
 * ```
 */
export declare function getFunction(args: GetFunctionArgs, opts?: pulumi.InvokeOptions): Promise<GetFunctionResult>;
/**
 * A collection of arguments for invoking getFunction.
 */
export interface GetFunctionArgs {
    /**
     * The name of a Cloud Function.
     *
     * - - -
     */
    name: string;
    /**
     * The project in which the resource belongs. If it
     * is not provided, the provider project is used.
     */
    project?: string;
    /**
     * The region in which the resource belongs. If it
     * is not provided, the provider region is used.
     */
    region?: string;
}
/**
 * A collection of values returned by getFunction.
 */
export interface GetFunctionResult {
    /**
     * Available memory (in MB) to the function.
     */
    readonly availableMemoryMb: number;
    readonly buildEnvironmentVariables: {
        [key: string]: string;
    };
    readonly buildServiceAccount: string;
    readonly buildWorkerPool: string;
    /**
     * Description of the function.
     */
    readonly description: string;
    readonly dockerRegistry: string;
    readonly dockerRepository: string;
    readonly effectiveLabels: {
        [key: string]: string;
    };
    /**
     * Name of a JavaScript function that will be executed when the Google Cloud Function is triggered.
     */
    readonly entryPoint: string;
    readonly environmentVariables: {
        [key: string]: string;
    };
    /**
     * A source that fires events in response to a condition in another service. Structure is documented below.
     */
    readonly eventTriggers: outputs.cloudfunctions.GetFunctionEventTrigger[];
    readonly httpsTriggerSecurityLevel: string;
    /**
     * If function is triggered by HTTP, trigger URL is set here.
     */
    readonly httpsTriggerUrl: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Controls what traffic can reach the function.
     */
    readonly ingressSettings: string;
    readonly kmsKeyName: string;
    /**
     * All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
     */
    readonly labels: {
        [key: string]: string;
    };
    /**
     * The limit on the maximum number of function instances that may coexist at a given time. If unset or set to `0`, the API default will be used.
     */
    readonly maxInstances: number;
    readonly minInstances: number;
    /**
     * The name of the Cloud Function.
     */
    readonly name: string;
    readonly project?: string;
    readonly pulumiLabels: {
        [key: string]: string;
    };
    readonly region?: string;
    /**
     * The runtime in which the function is running.
     */
    readonly runtime: string;
    readonly secretEnvironmentVariables: outputs.cloudfunctions.GetFunctionSecretEnvironmentVariable[];
    readonly secretVolumes: outputs.cloudfunctions.GetFunctionSecretVolume[];
    /**
     * The service account email to be assumed by the cloud function.
     */
    readonly serviceAccountEmail: string;
    /**
     * The GCS bucket containing the zip archive which contains the function.
     */
    readonly sourceArchiveBucket: string;
    /**
     * The source archive object (file) in archive bucket.
     */
    readonly sourceArchiveObject: string;
    /**
     * The URL of the Cloud Source Repository that the function is deployed from. Structure is documented below.
     */
    readonly sourceRepositories: outputs.cloudfunctions.GetFunctionSourceRepository[];
    readonly status: string;
    /**
     * Function execution timeout (in seconds).
     */
    readonly timeout: number;
    /**
     * If function is triggered by HTTP, this boolean is set.
     */
    readonly triggerHttp: boolean;
    readonly versionId: string;
    /**
     * The VPC Network Connector that this cloud function can connect to.
     */
    readonly vpcConnector: string;
    /**
     * The egress settings for the connector, controlling what traffic is diverted through it.
     */
    readonly vpcConnectorEgressSettings: string;
}
/**
 * Get information about a Google Cloud Function. For more information see
 * the [official documentation](https://cloud.google.com/functions/docs/)
 * and [API](https://cloud.google.com/functions/docs/apis).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_function = gcp.cloudfunctions.getFunction({
 *     name: "function",
 * });
 * ```
 */
export declare function getFunctionOutput(args: GetFunctionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetFunctionResult>;
/**
 * A collection of arguments for invoking getFunction.
 */
export interface GetFunctionOutputArgs {
    /**
     * The name of a Cloud Function.
     *
     * - - -
     */
    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>;
    /**
     * The region in which the resource belongs. If it
     * is not provided, the provider region is used.
     */
    region?: pulumi.Input<string>;
}
