Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.cloudfunctions.kotlin
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.cloudfunctions.FunctionArgs.builder
import com.pulumi.gcp.cloudfunctions.kotlin.inputs.FunctionEventTriggerArgs
import com.pulumi.gcp.cloudfunctions.kotlin.inputs.FunctionEventTriggerArgsBuilder
import com.pulumi.gcp.cloudfunctions.kotlin.inputs.FunctionSecretEnvironmentVariableArgs
import com.pulumi.gcp.cloudfunctions.kotlin.inputs.FunctionSecretEnvironmentVariableArgsBuilder
import com.pulumi.gcp.cloudfunctions.kotlin.inputs.FunctionSecretVolumeArgs
import com.pulumi.gcp.cloudfunctions.kotlin.inputs.FunctionSecretVolumeArgsBuilder
import com.pulumi.gcp.cloudfunctions.kotlin.inputs.FunctionSourceRepositoryArgs
import com.pulumi.gcp.cloudfunctions.kotlin.inputs.FunctionSourceRepositoryArgsBuilder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Any
import kotlin.Boolean
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Creates a new Cloud Function. For more information see:
* * [API documentation](https://cloud.google.com/functions/docs/reference/rest/v1/projects.locations.functions)
* * How-to Guides
* * [Official Documentation](https://cloud.google.com/functions/docs)
* > **Warning:** As of November 1, 2019, newly created Functions are
* private-by-default and will require [appropriate IAM permissions](https://cloud.google.com/functions/docs/reference/iam/roles)
* to be invoked. See below examples for how to set up the appropriate permissions,
* or view the [Cloud Functions IAM resources](https://www.terraform.io/docs/providers/google/r/cloudfunctions_cloud_function_iam.html)
* for Cloud Functions.
* ## Example Usage
* ### Public Function
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
* const bucket = new gcp.storage.Bucket("bucket", {
* name: "test-bucket",
* location: "US",
* });
* const archive = new gcp.storage.BucketObject("archive", {
* name: "index.zip",
* bucket: bucket.name,
* source: new pulumi.asset.FileAsset("./path/to/zip/file/which/contains/code"),
* });
* const _function = new gcp.cloudfunctions.Function("function", {
* name: "function-test",
* description: "My function",
* runtime: "nodejs16",
* availableMemoryMb: 128,
* sourceArchiveBucket: bucket.name,
* sourceArchiveObject: archive.name,
* triggerHttp: true,
* entryPoint: "helloGET",
* });
* // IAM entry for all users to invoke the function
* const invoker = new gcp.cloudfunctions.FunctionIamMember("invoker", {
* project: _function.project,
* region: _function.region,
* cloudFunction: _function.name,
* role: "roles/cloudfunctions.invoker",
* member: "allUsers",
* });
* ```
* ```python
* import pulumi
* import pulumi_gcp as gcp
* bucket = gcp.storage.Bucket("bucket",
* name="test-bucket",
* location="US")
* archive = gcp.storage.BucketObject("archive",
* name="index.zip",
* bucket=bucket.name,
* source=pulumi.FileAsset("./path/to/zip/file/which/contains/code"))
* function = gcp.cloudfunctions.Function("function",
* name="function-test",
* description="My function",
* runtime="nodejs16",
* available_memory_mb=128,
* source_archive_bucket=bucket.name,
* source_archive_object=archive.name,
* trigger_http=True,
* entry_point="helloGET")
* # IAM entry for all users to invoke the function
* invoker = gcp.cloudfunctions.FunctionIamMember("invoker",
* project=function.project,
* region=function.region,
* cloud_function=function.name,
* role="roles/cloudfunctions.invoker",
* member="allUsers")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Gcp = Pulumi.Gcp;
* return await Deployment.RunAsync(() =>
* {
* var bucket = new Gcp.Storage.Bucket("bucket", new()
* {
* Name = "test-bucket",
* Location = "US",
* });
* var archive = new Gcp.Storage.BucketObject("archive", new()
* {
* Name = "index.zip",
* Bucket = bucket.Name,
* Source = new FileAsset("./path/to/zip/file/which/contains/code"),
* });
* var function = new Gcp.CloudFunctions.Function("function", new()
* {
* Name = "function-test",
* Description = "My function",
* Runtime = "nodejs16",
* AvailableMemoryMb = 128,
* SourceArchiveBucket = bucket.Name,
* SourceArchiveObject = archive.Name,
* TriggerHttp = true,
* EntryPoint = "helloGET",
* });
* // IAM entry for all users to invoke the function
* var invoker = new Gcp.CloudFunctions.FunctionIamMember("invoker", new()
* {
* Project = function.Project,
* Region = function.Region,
* CloudFunction = function.Name,
* Role = "roles/cloudfunctions.invoker",
* Member = "allUsers",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctions"
* "github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/storage"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
* Name: pulumi.String("test-bucket"),
* Location: pulumi.String("US"),
* })
* if err != nil {
* return err
* }
* archive, err := storage.NewBucketObject(ctx, "archive", &storage.BucketObjectArgs{
* Name: pulumi.String("index.zip"),
* Bucket: bucket.Name,
* Source: pulumi.NewFileAsset("./path/to/zip/file/which/contains/code"),
* })
* if err != nil {
* return err
* }
* function, err := cloudfunctions.NewFunction(ctx, "function", &cloudfunctions.FunctionArgs{
* Name: pulumi.String("function-test"),
* Description: pulumi.String("My function"),
* Runtime: pulumi.String("nodejs16"),
* AvailableMemoryMb: pulumi.Int(128),
* SourceArchiveBucket: bucket.Name,
* SourceArchiveObject: archive.Name,
* TriggerHttp: pulumi.Bool(true),
* EntryPoint: pulumi.String("helloGET"),
* })
* if err != nil {
* return err
* }
* // IAM entry for all users to invoke the function
* _, err = cloudfunctions.NewFunctionIamMember(ctx, "invoker", &cloudfunctions.FunctionIamMemberArgs{
* Project: function.Project,
* Region: function.Region,
* CloudFunction: function.Name,
* Role: pulumi.String("roles/cloudfunctions.invoker"),
* Member: pulumi.String("allUsers"),
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.gcp.storage.Bucket;
* import com.pulumi.gcp.storage.BucketArgs;
* import com.pulumi.gcp.storage.BucketObject;
* import com.pulumi.gcp.storage.BucketObjectArgs;
* import com.pulumi.gcp.cloudfunctions.Function;
* import com.pulumi.gcp.cloudfunctions.FunctionArgs;
* import com.pulumi.gcp.cloudfunctions.FunctionIamMember;
* import com.pulumi.gcp.cloudfunctions.FunctionIamMemberArgs;
* import com.pulumi.asset.FileAsset;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
* public static void stack(Context ctx) {
* var bucket = new Bucket("bucket", BucketArgs.builder()
* .name("test-bucket")
* .location("US")
* .build());
* var archive = new BucketObject("archive", BucketObjectArgs.builder()
* .name("index.zip")
* .bucket(bucket.name())
* .source(new FileAsset("./path/to/zip/file/which/contains/code"))
* .build());
* var function = new Function("function", FunctionArgs.builder()
* .name("function-test")
* .description("My function")
* .runtime("nodejs16")
* .availableMemoryMb(128)
* .sourceArchiveBucket(bucket.name())
* .sourceArchiveObject(archive.name())
* .triggerHttp(true)
* .entryPoint("helloGET")
* .build());
* // IAM entry for all users to invoke the function
* var invoker = new FunctionIamMember("invoker", FunctionIamMemberArgs.builder()
* .project(function.project())
* .region(function.region())
* .cloudFunction(function.name())
* .role("roles/cloudfunctions.invoker")
* .member("allUsers")
* .build());
* }
* }
* ```
* ```yaml
* resources:
* bucket:
* type: gcp:storage:Bucket
* properties:
* name: test-bucket
* location: US
* archive:
* type: gcp:storage:BucketObject
* properties:
* name: index.zip
* bucket: ${bucket.name}
* source:
* fn::FileAsset: ./path/to/zip/file/which/contains/code
* function:
* type: gcp:cloudfunctions:Function
* properties:
* name: function-test
* description: My function
* runtime: nodejs16
* availableMemoryMb: 128
* sourceArchiveBucket: ${bucket.name}
* sourceArchiveObject: ${archive.name}
* triggerHttp: true
* entryPoint: helloGET
* # IAM entry for all users to invoke the function
* invoker:
* type: gcp:cloudfunctions:FunctionIamMember
* properties:
* project: ${function.project}
* region: ${function.region}
* cloudFunction: ${function.name}
* role: roles/cloudfunctions.invoker
* member: allUsers
* ```
*
* ### Single User
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
* const bucket = new gcp.storage.Bucket("bucket", {
* name: "test-bucket",
* location: "US",
* });
* const archive = new gcp.storage.BucketObject("archive", {
* name: "index.zip",
* bucket: bucket.name,
* source: new pulumi.asset.FileAsset("./path/to/zip/file/which/contains/code"),
* });
* const _function = new gcp.cloudfunctions.Function("function", {
* name: "function-test",
* description: "My function",
* runtime: "nodejs16",
* availableMemoryMb: 128,
* sourceArchiveBucket: bucket.name,
* sourceArchiveObject: archive.name,
* triggerHttp: true,
* httpsTriggerSecurityLevel: "SECURE_ALWAYS",
* timeout: 60,
* entryPoint: "helloGET",
* labels: {
* "my-label": "my-label-value",
* },
* environmentVariables: {
* MY_ENV_VAR: "my-env-var-value",
* },
* });
* // IAM entry for a single user to invoke the function
* const invoker = new gcp.cloudfunctions.FunctionIamMember("invoker", {
* project: _function.project,
* region: _function.region,
* cloudFunction: _function.name,
* role: "roles/cloudfunctions.invoker",
* member: "user:[email protected]",
* });
* ```
* ```python
* import pulumi
* import pulumi_gcp as gcp
* bucket = gcp.storage.Bucket("bucket",
* name="test-bucket",
* location="US")
* archive = gcp.storage.BucketObject("archive",
* name="index.zip",
* bucket=bucket.name,
* source=pulumi.FileAsset("./path/to/zip/file/which/contains/code"))
* function = gcp.cloudfunctions.Function("function",
* name="function-test",
* description="My function",
* runtime="nodejs16",
* available_memory_mb=128,
* source_archive_bucket=bucket.name,
* source_archive_object=archive.name,
* trigger_http=True,
* https_trigger_security_level="SECURE_ALWAYS",
* timeout=60,
* entry_point="helloGET",
* labels={
* "my-label": "my-label-value",
* },
* environment_variables={
* "MY_ENV_VAR": "my-env-var-value",
* })
* # IAM entry for a single user to invoke the function
* invoker = gcp.cloudfunctions.FunctionIamMember("invoker",
* project=function.project,
* region=function.region,
* cloud_function=function.name,
* role="roles/cloudfunctions.invoker",
* member="user:[email protected]")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Gcp = Pulumi.Gcp;
* return await Deployment.RunAsync(() =>
* {
* var bucket = new Gcp.Storage.Bucket("bucket", new()
* {
* Name = "test-bucket",
* Location = "US",
* });
* var archive = new Gcp.Storage.BucketObject("archive", new()
* {
* Name = "index.zip",
* Bucket = bucket.Name,
* Source = new FileAsset("./path/to/zip/file/which/contains/code"),
* });
* var function = new Gcp.CloudFunctions.Function("function", new()
* {
* Name = "function-test",
* Description = "My function",
* Runtime = "nodejs16",
* AvailableMemoryMb = 128,
* SourceArchiveBucket = bucket.Name,
* SourceArchiveObject = archive.Name,
* TriggerHttp = true,
* HttpsTriggerSecurityLevel = "SECURE_ALWAYS",
* Timeout = 60,
* EntryPoint = "helloGET",
* Labels =
* {
* { "my-label", "my-label-value" },
* },
* EnvironmentVariables =
* {
* { "MY_ENV_VAR", "my-env-var-value" },
* },
* });
* // IAM entry for a single user to invoke the function
* var invoker = new Gcp.CloudFunctions.FunctionIamMember("invoker", new()
* {
* Project = function.Project,
* Region = function.Region,
* CloudFunction = function.Name,
* Role = "roles/cloudfunctions.invoker",
* Member = "user:[email protected]",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctions"
* "github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/storage"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
* Name: pulumi.String("test-bucket"),
* Location: pulumi.String("US"),
* })
* if err != nil {
* return err
* }
* archive, err := storage.NewBucketObject(ctx, "archive", &storage.BucketObjectArgs{
* Name: pulumi.String("index.zip"),
* Bucket: bucket.Name,
* Source: pulumi.NewFileAsset("./path/to/zip/file/which/contains/code"),
* })
* if err != nil {
* return err
* }
* function, err := cloudfunctions.NewFunction(ctx, "function", &cloudfunctions.FunctionArgs{
* Name: pulumi.String("function-test"),
* Description: pulumi.String("My function"),
* Runtime: pulumi.String("nodejs16"),
* AvailableMemoryMb: pulumi.Int(128),
* SourceArchiveBucket: bucket.Name,
* SourceArchiveObject: archive.Name,
* TriggerHttp: pulumi.Bool(true),
* HttpsTriggerSecurityLevel: pulumi.String("SECURE_ALWAYS"),
* Timeout: pulumi.Int(60),
* EntryPoint: pulumi.String("helloGET"),
* Labels: pulumi.Map{
* "my-label": pulumi.Any("my-label-value"),
* },
* EnvironmentVariables: pulumi.Map{
* "MY_ENV_VAR": pulumi.Any("my-env-var-value"),
* },
* })
* if err != nil {
* return err
* }
* // IAM entry for a single user to invoke the function
* _, err = cloudfunctions.NewFunctionIamMember(ctx, "invoker", &cloudfunctions.FunctionIamMemberArgs{
* Project: function.Project,
* Region: function.Region,
* CloudFunction: function.Name,
* Role: pulumi.String("roles/cloudfunctions.invoker"),
* Member: pulumi.String("user:[email protected]"),
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.gcp.storage.Bucket;
* import com.pulumi.gcp.storage.BucketArgs;
* import com.pulumi.gcp.storage.BucketObject;
* import com.pulumi.gcp.storage.BucketObjectArgs;
* import com.pulumi.gcp.cloudfunctions.Function;
* import com.pulumi.gcp.cloudfunctions.FunctionArgs;
* import com.pulumi.gcp.cloudfunctions.FunctionIamMember;
* import com.pulumi.gcp.cloudfunctions.FunctionIamMemberArgs;
* import com.pulumi.asset.FileAsset;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
* public static void stack(Context ctx) {
* var bucket = new Bucket("bucket", BucketArgs.builder()
* .name("test-bucket")
* .location("US")
* .build());
* var archive = new BucketObject("archive", BucketObjectArgs.builder()
* .name("index.zip")
* .bucket(bucket.name())
* .source(new FileAsset("./path/to/zip/file/which/contains/code"))
* .build());
* var function = new Function("function", FunctionArgs.builder()
* .name("function-test")
* .description("My function")
* .runtime("nodejs16")
* .availableMemoryMb(128)
* .sourceArchiveBucket(bucket.name())
* .sourceArchiveObject(archive.name())
* .triggerHttp(true)
* .httpsTriggerSecurityLevel("SECURE_ALWAYS")
* .timeout(60)
* .entryPoint("helloGET")
* .labels(Map.of("my-label", "my-label-value"))
* .environmentVariables(Map.of("MY_ENV_VAR", "my-env-var-value"))
* .build());
* // IAM entry for a single user to invoke the function
* var invoker = new FunctionIamMember("invoker", FunctionIamMemberArgs.builder()
* .project(function.project())
* .region(function.region())
* .cloudFunction(function.name())
* .role("roles/cloudfunctions.invoker")
* .member("user:[email protected]")
* .build());
* }
* }
* ```
* ```yaml
* resources:
* bucket:
* type: gcp:storage:Bucket
* properties:
* name: test-bucket
* location: US
* archive:
* type: gcp:storage:BucketObject
* properties:
* name: index.zip
* bucket: ${bucket.name}
* source:
* fn::FileAsset: ./path/to/zip/file/which/contains/code
* function:
* type: gcp:cloudfunctions:Function
* properties:
* name: function-test
* description: My function
* runtime: nodejs16
* availableMemoryMb: 128
* sourceArchiveBucket: ${bucket.name}
* sourceArchiveObject: ${archive.name}
* triggerHttp: true
* httpsTriggerSecurityLevel: SECURE_ALWAYS
* timeout: 60
* entryPoint: helloGET
* labels:
* my-label: my-label-value
* environmentVariables:
* MY_ENV_VAR: my-env-var-value
* # IAM entry for a single user to invoke the function
* invoker:
* type: gcp:cloudfunctions:FunctionIamMember
* properties:
* project: ${function.project}
* region: ${function.region}
* cloudFunction: ${function.name}
* role: roles/cloudfunctions.invoker
* member: user:[email protected]
* ```
*
* ## Import
* Functions can be imported using the `name` or `{{project}}/{{region}}/name`, e.g.
* * `{{project}}/{{region}}/{{name}}`
* * `{{name}}`
* When using the `pulumi import` command, Functions can be imported using one of the formats above. For example:
* ```sh
* $ pulumi import gcp:cloudfunctions/function:Function default {{project}}/{{region}}/{{name}}
* ```
* ```sh
* $ pulumi import gcp:cloudfunctions/function:Function default {{name}}
* ```
* @property availableMemoryMb Memory (in MB), available to the function. Default value is `256`. Possible values include `128`, `256`, `512`, `1024`, etc.
* @property buildEnvironmentVariables A set of key/value environment variable pairs available during build time.
* @property buildWorkerPool Name of the Cloud Build Custom Worker Pool that should be used to build the function.
* @property description Description of the function.
* @property dockerRegistry Docker Registry to use for storing the function's Docker images. Allowed values are ARTIFACT_REGISTRY (default) and CONTAINER_REGISTRY.
* @property dockerRepository User-managed repository created in Artifact Registry to which the function's Docker image will be pushed after it is built by Cloud Build. May optionally be encrypted with a customer-managed encryption key (CMEK). If unspecified and `docker_registry` is not explicitly set to `CONTAINER_REGISTRY`, GCF will create and use a default Artifact Registry repository named 'gcf-artifacts' in the region.
* @property entryPoint Name of the function that will be executed when the Google Cloud Function is triggered.
* @property environmentVariables A set of key/value environment variable pairs to assign to the function.
* @property eventTrigger A source that fires events in response to a condition in another service. Structure is documented below. Cannot be used with `trigger_http`.
* @property httpsTriggerSecurityLevel The security level for the function. The following options are available:
* * `SECURE_ALWAYS` Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect.
* * `SECURE_OPTIONAL` Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.
* @property httpsTriggerUrl URL which triggers function execution. Returned only if `trigger_http` is used.
* @property ingressSettings String value that controls what traffic can reach the function. Allowed values are `ALLOW_ALL`, `ALLOW_INTERNAL_AND_GCLB` and `ALLOW_INTERNAL_ONLY`. Check [ingress documentation](https://cloud.google.com/functions/docs/networking/network-settings#ingress_settings) to see the impact of each settings value. Changes to this field will recreate the cloud function.
* @property kmsKeyName 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}`.
* If specified, you must also provide an artifact registry repository using the `docker_repository` field that was created with the same KMS crypto key. Before deploying, please complete all pre-requisites described in https://cloud.google.com/functions/docs/securing/cmek#granting_service_accounts_access_to_the_key
* @property labels A set of key/value label pairs to assign to the function. Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements.
* **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
* Please refer to the field 'effective_labels' for all of the labels present on the resource.
* @property maxInstances The limit on the maximum number of function instances that may coexist at a given time.
* @property minInstances The limit on the minimum number of function instances that may coexist at a given time.
* @property name A user-defined name of the function. Function names must be unique globally.
* @property project Project of the function. If it is not provided, the provider project is used.
* @property region Region of function. If it is not provided, the provider region is used.
* @property runtime The runtime in which the function is going to run.
* Eg. `"nodejs16"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
* - - -
* @property secretEnvironmentVariables Secret environment variables configuration. Structure is documented below.
* @property secretVolumes Secret volumes configuration. Structure is documented below.
* @property serviceAccountEmail If provided, the self-provided service account to run the function with.
* @property sourceArchiveBucket The GCS bucket containing the zip archive which contains the function.
* @property sourceArchiveObject The source archive object (file) in archive bucket.
* @property sourceRepository Represents parameters related to source repository where a function is hosted.
* Cannot be set alongside `source_archive_bucket` or `source_archive_object`. Structure is documented below. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`.*
* @property timeout Timeout (in seconds) for the function. Default value is 60 seconds. Cannot be more than 540 seconds.
* @property triggerHttp Boolean variable. Any HTTP request (of a supported type) to the endpoint will trigger function execution. Supported HTTP request types are: POST, PUT, GET, DELETE, and OPTIONS. Endpoint is returned as `https_trigger_url`. Cannot be used with `event_trigger`.
* @property vpcConnector The VPC Network Connector that this cloud function can connect to. It should be set up as fully-qualified URI. The format of this field is `projects/*/locations/*/connectors/*`.
* @property vpcConnectorEgressSettings The egress settings for the connector, controlling what traffic is diverted through it. Allowed values are `ALL_TRAFFIC` and `PRIVATE_RANGES_ONLY`. Defaults to `PRIVATE_RANGES_ONLY`. If unset, this field preserves the previously set value.
* */*/*/
*/
public data class FunctionArgs(
public val availableMemoryMb: Output? = null,
public val buildEnvironmentVariables: Output