import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; import * as enums from "../../types/enums"; /** * Creates a new function. If a function with the given name already exists in the specified project, the long running operation will return `ALREADY_EXISTS` error. */ export declare class Function extends pulumi.CustomResource { /** * Get an existing Function resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Function; /** * Returns true if the given object is an instance of Function. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Function; /** * Describes the Build step of the function that builds a container from the given source. */ readonly buildConfig: pulumi.Output; /** * User-provided description of a function. */ readonly description: pulumi.Output; /** * Describe whether the function is 1st Gen or 2nd Gen. */ readonly environment: pulumi.Output; /** * An Eventarc trigger managed by Google Cloud Functions that fires events in response to a condition in another service. */ readonly eventTrigger: pulumi.Output; /** * The ID to use for the function, which will become the final component of the function's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. */ readonly functionId: pulumi.Output; /** * [Preview] Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. */ readonly kmsKeyName: pulumi.Output; /** * Labels associated with this Cloud Function. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; readonly location: pulumi.Output; /** * A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*` */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * Reserved for future use. */ readonly satisfiesPzs: pulumi.Output; /** * Describes the Service being deployed. Currently deploys services to Cloud Run (fully managed). */ readonly serviceConfig: pulumi.Output; /** * State of the function. */ readonly state: pulumi.Output; /** * State Messages for this Cloud Function. */ readonly stateMessages: pulumi.Output; /** * The last update timestamp of a Cloud Function. */ readonly updateTime: pulumi.Output; /** * The deployed url for the function. */ readonly url: pulumi.Output; /** * Create a Function resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args?: FunctionArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Function resource. */ export interface FunctionArgs { /** * Describes the Build step of the function that builds a container from the given source. */ buildConfig?: pulumi.Input; /** * User-provided description of a function. */ description?: pulumi.Input; /** * Describe whether the function is 1st Gen or 2nd Gen. */ environment?: pulumi.Input; /** * An Eventarc trigger managed by Google Cloud Functions that fires events in response to a condition in another service. */ eventTrigger?: pulumi.Input; /** * The ID to use for the function, which will become the final component of the function's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. */ functionId?: pulumi.Input; /** * [Preview] Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. */ kmsKeyName?: pulumi.Input; /** * Labels associated with this Cloud Function. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; location?: pulumi.Input; /** * A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*` */ name?: pulumi.Input; project?: pulumi.Input; /** * Describes the Service being deployed. Currently deploys services to Cloud Run (fully managed). */ serviceConfig?: pulumi.Input; }