cloudfunctionsv2

package
v7.20.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Function

type Function struct {
	pulumi.CustomResourceState

	// Describes the Build step of the function that builds a container
	// from the given source.
	// Structure is documented below.
	BuildConfig FunctionBuildConfigPtrOutput `pulumi:"buildConfig"`
	// User-provided description of a function.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// The environment the function is hosted on.
	Environment pulumi.StringOutput `pulumi:"environment"`
	// An Eventarc trigger managed by Google Cloud Functions that fires events in
	// response to a condition in another service.
	// Structure is documented below.
	EventTrigger FunctionEventTriggerPtrOutput `pulumi:"eventTrigger"`
	// 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.StringPtrOutput `pulumi:"kmsKeyName"`
	// A set of key/value label pairs associated with this Cloud Function.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The location of this cloud function.
	//
	// ***
	Location pulumi.StringOutput `pulumi:"location"`
	// A user-defined name of the function. Function names must
	// be unique globally and match pattern `projects/*/locations/*/functions/*`.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// Describes the Service being deployed.
	// Structure is documented below.
	ServiceConfig FunctionServiceConfigPtrOutput `pulumi:"serviceConfig"`
	// Describes the current state of the function.
	State pulumi.StringOutput `pulumi:"state"`
	// The last update timestamp of a Cloud Function.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
	// Output only. The deployed url for the function.
	Url pulumi.StringOutput `pulumi:"url"`
}

A Cloud Function that contains user computation executed in response to an event.

To get more information about function, see:

* [API documentation](https://cloud.google.com/functions/docs/reference/rest/v2beta/projects.locations.functions)

## Example Usage

### Cloudfunctions2 Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"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 {
		project := "my-project-name"
		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Name:                     pulumi.String(fmt.Sprintf("%v-gcf-source", project)),
			Location:                 pulumi.String("US"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		object, err := storage.NewBucketObject(ctx, "object", &storage.BucketObjectArgs{
			Name:   pulumi.String("function-source.zip"),
			Bucket: bucket.Name,
			Source: pulumi.NewFileAsset("function-source.zip"),
		})
		if err != nil {
			return err
		}
		function, err := cloudfunctionsv2.NewFunction(ctx, "function", &cloudfunctionsv2.FunctionArgs{
			Name:        pulumi.String("function-v2"),
			Location:    pulumi.String("us-central1"),
			Description: pulumi.String("a new function"),
			BuildConfig: &cloudfunctionsv2.FunctionBuildConfigArgs{
				Runtime:    pulumi.String("nodejs16"),
				EntryPoint: pulumi.String("helloHttp"),
				Source: &cloudfunctionsv2.FunctionBuildConfigSourceArgs{
					StorageSource: &cloudfunctionsv2.FunctionBuildConfigSourceStorageSourceArgs{
						Bucket: bucket.Name,
						Object: object.Name,
					},
				},
			},
			ServiceConfig: &cloudfunctionsv2.FunctionServiceConfigArgs{
				MaxInstanceCount: pulumi.Int(1),
				AvailableMemory:  pulumi.String("256M"),
				TimeoutSeconds:   pulumi.Int(60),
			},
		})
		if err != nil {
			return err
		}
		ctx.Export("functionUri", function.ServiceConfig.ApplyT(func(serviceConfig cloudfunctionsv2.FunctionServiceConfig) (*string, error) {
			return &serviceConfig.Uri, nil
		}).(pulumi.StringPtrOutput))
		return nil
	})
}

``` ### Cloudfunctions2 Full

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/pubsub"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/serviceaccount"
"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 {
		project := "my-project-name"
		account, err := serviceaccount.NewAccount(ctx, "account", &serviceaccount.AccountArgs{
			AccountId:   pulumi.String("gcf-sa"),
			DisplayName: pulumi.String("Test Service Account"),
		})
		if err != nil {
			return err
		}
		topic, err := pubsub.NewTopic(ctx, "topic", &pubsub.TopicArgs{
			Name: pulumi.String("functions2-topic"),
		})
		if err != nil {
			return err
		}
		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Name:                     pulumi.String(fmt.Sprintf("%v-gcf-source", project)),
			Location:                 pulumi.String("US"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		object, err := storage.NewBucketObject(ctx, "object", &storage.BucketObjectArgs{
			Name:   pulumi.String("function-source.zip"),
			Bucket: bucket.Name,
			Source: pulumi.NewFileAsset("function-source.zip"),
		})
		if err != nil {
			return err
		}
		_, err = cloudfunctionsv2.NewFunction(ctx, "function", &cloudfunctionsv2.FunctionArgs{
			Name:        pulumi.String("gcf-function"),
			Location:    pulumi.String("us-central1"),
			Description: pulumi.String("a new function"),
			BuildConfig: &cloudfunctionsv2.FunctionBuildConfigArgs{
				Runtime:    pulumi.String("nodejs16"),
				EntryPoint: pulumi.String("helloPubSub"),
				EnvironmentVariables: pulumi.StringMap{
					"BUILD_CONFIG_TEST": pulumi.String("build_test"),
				},
				Source: &cloudfunctionsv2.FunctionBuildConfigSourceArgs{
					StorageSource: &cloudfunctionsv2.FunctionBuildConfigSourceStorageSourceArgs{
						Bucket: bucket.Name,
						Object: object.Name,
					},
				},
			},
			ServiceConfig: &cloudfunctionsv2.FunctionServiceConfigArgs{
				MaxInstanceCount:              pulumi.Int(3),
				MinInstanceCount:              pulumi.Int(1),
				AvailableMemory:               pulumi.String("4Gi"),
				TimeoutSeconds:                pulumi.Int(60),
				MaxInstanceRequestConcurrency: pulumi.Int(80),
				AvailableCpu:                  pulumi.String("4"),
				EnvironmentVariables: pulumi.StringMap{
					"SERVICE_CONFIG_TEST": pulumi.String("config_test"),
				},
				IngressSettings:            pulumi.String("ALLOW_INTERNAL_ONLY"),
				AllTrafficOnLatestRevision: pulumi.Bool(true),
				ServiceAccountEmail:        account.Email,
			},
			EventTrigger: &cloudfunctionsv2.FunctionEventTriggerArgs{
				TriggerRegion: pulumi.String("us-central1"),
				EventType:     pulumi.String("google.cloud.pubsub.topic.v1.messagePublished"),
				PubsubTopic:   topic.ID(),
				RetryPolicy:   pulumi.String("RETRY_POLICY_RETRY"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Cloudfunctions2 Scheduler Auth

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudrun"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudscheduler"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/serviceaccount"
"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 {
		project := "my-project-name"
		account, err := serviceaccount.NewAccount(ctx, "account", &serviceaccount.AccountArgs{
			AccountId:   pulumi.String("gcf-sa"),
			DisplayName: pulumi.String("Test Service Account"),
		})
		if err != nil {
			return err
		}
		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Name:                     pulumi.String(fmt.Sprintf("%v-gcf-source", project)),
			Location:                 pulumi.String("US"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		object, err := storage.NewBucketObject(ctx, "object", &storage.BucketObjectArgs{
			Name:   pulumi.String("function-source.zip"),
			Bucket: bucket.Name,
			Source: pulumi.NewFileAsset("function-source.zip"),
		})
		if err != nil {
			return err
		}
		function, err := cloudfunctionsv2.NewFunction(ctx, "function", &cloudfunctionsv2.FunctionArgs{
			Name:        pulumi.String("gcf-function"),
			Location:    pulumi.String("us-central1"),
			Description: pulumi.String("a new function"),
			BuildConfig: &cloudfunctionsv2.FunctionBuildConfigArgs{
				Runtime:    pulumi.String("nodejs16"),
				EntryPoint: pulumi.String("helloHttp"),
				Source: &cloudfunctionsv2.FunctionBuildConfigSourceArgs{
					StorageSource: &cloudfunctionsv2.FunctionBuildConfigSourceStorageSourceArgs{
						Bucket: bucket.Name,
						Object: object.Name,
					},
				},
			},
			ServiceConfig: &cloudfunctionsv2.FunctionServiceConfigArgs{
				MinInstanceCount:    pulumi.Int(1),
				AvailableMemory:     pulumi.String("256M"),
				TimeoutSeconds:      pulumi.Int(60),
				ServiceAccountEmail: account.Email,
			},
		})
		if err != nil {
			return err
		}
		_, err = cloudfunctionsv2.NewFunctionIamMember(ctx, "invoker", &cloudfunctionsv2.FunctionIamMemberArgs{
			Project:       function.Project,
			Location:      function.Location,
			CloudFunction: function.Name,
			Role:          pulumi.String("roles/cloudfunctions.invoker"),
			Member: account.Email.ApplyT(func(email string) (string, error) {
				return fmt.Sprintf("serviceAccount:%v", email), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = cloudrun.NewIamMember(ctx, "cloud_run_invoker", &cloudrun.IamMemberArgs{
			Project:  function.Project,
			Location: function.Location,
			Service:  function.Name,
			Role:     pulumi.String("roles/run.invoker"),
			Member: account.Email.ApplyT(func(email string) (string, error) {
				return fmt.Sprintf("serviceAccount:%v", email), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = cloudscheduler.NewJob(ctx, "invoke_cloud_function", &cloudscheduler.JobArgs{
			Name:        pulumi.String("invoke-gcf-function"),
			Description: pulumi.String("Schedule the HTTPS trigger for cloud function"),
			Schedule:    pulumi.String("0 0 * * *"),
			Project:     function.Project,
			Region:      function.Location,
			HttpTarget: &cloudscheduler.JobHttpTargetArgs{
				Uri: function.ServiceConfig.ApplyT(func(serviceConfig cloudfunctionsv2.FunctionServiceConfig) (*string, error) {
					return &serviceConfig.Uri, nil
				}).(pulumi.StringPtrOutput),
				HttpMethod: pulumi.String("POST"),
				OidcToken: &cloudscheduler.JobHttpTargetOidcTokenArgs{
					Audience: function.ServiceConfig.ApplyT(func(serviceConfig cloudfunctionsv2.FunctionServiceConfig) (string, error) {
						return fmt.Sprintf("%v/", serviceConfig.Uri), nil
					}).(pulumi.StringOutput),
					ServiceAccountEmail: account.Email,
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Cloudfunctions2 Basic Gcs

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/projects"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/serviceaccount"
"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 {
		_, err := storage.NewBucket(ctx, "source-bucket", &storage.BucketArgs{
			Name:                     pulumi.String("gcf-source-bucket"),
			Location:                 pulumi.String("US"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		object, err := storage.NewBucketObject(ctx, "object", &storage.BucketObjectArgs{
			Name:   pulumi.String("function-source.zip"),
			Bucket: source_bucket.Name,
			Source: pulumi.NewFileAsset("function-source.zip"),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewBucket(ctx, "trigger-bucket", &storage.BucketArgs{
			Name:                     pulumi.String("gcf-trigger-bucket"),
			Location:                 pulumi.String("us-central1"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		gcsAccount, err := storage.GetProjectServiceAccount(ctx, nil, nil)
		if err != nil {
			return err
		}
		// To use GCS CloudEvent triggers, the GCS service account requires the Pub/Sub Publisher(roles/pubsub.publisher) IAM role in the specified project.
		// (See https://cloud.google.com/eventarc/docs/run/quickstart-storage#before-you-begin)
		_, err = projects.NewIAMMember(ctx, "gcs-pubsub-publishing", &projects.IAMMemberArgs{
			Project: pulumi.String("my-project-name"),
			Role:    pulumi.String("roles/pubsub.publisher"),
			Member:  pulumi.String(fmt.Sprintf("serviceAccount:%v", gcsAccount.EmailAddress)),
		})
		if err != nil {
			return err
		}
		account, err := serviceaccount.NewAccount(ctx, "account", &serviceaccount.AccountArgs{
			AccountId:   pulumi.String("gcf-sa"),
			DisplayName: pulumi.String("Test Service Account - used for both the cloud function and eventarc trigger in the test"),
		})
		if err != nil {
			return err
		}
		// Permissions on the service account used by the function and Eventarc trigger
		_, err = projects.NewIAMMember(ctx, "invoking", &projects.IAMMemberArgs{
			Project: pulumi.String("my-project-name"),
			Role:    pulumi.String("roles/run.invoker"),
			Member: account.Email.ApplyT(func(email string) (string, error) {
				return fmt.Sprintf("serviceAccount:%v", email), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = projects.NewIAMMember(ctx, "event-receiving", &projects.IAMMemberArgs{
			Project: pulumi.String("my-project-name"),
			Role:    pulumi.String("roles/eventarc.eventReceiver"),
			Member: account.Email.ApplyT(func(email string) (string, error) {
				return fmt.Sprintf("serviceAccount:%v", email), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = projects.NewIAMMember(ctx, "artifactregistry-reader", &projects.IAMMemberArgs{
			Project: pulumi.String("my-project-name"),
			Role:    pulumi.String("roles/artifactregistry.reader"),
			Member: account.Email.ApplyT(func(email string) (string, error) {
				return fmt.Sprintf("serviceAccount:%v", email), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = cloudfunctionsv2.NewFunction(ctx, "function", &cloudfunctionsv2.FunctionArgs{
			Name:        pulumi.String("gcf-function"),
			Location:    pulumi.String("us-central1"),
			Description: pulumi.String("a new function"),
			BuildConfig: &cloudfunctionsv2.FunctionBuildConfigArgs{
				Runtime:    pulumi.String("nodejs12"),
				EntryPoint: pulumi.String("entryPoint"),
				EnvironmentVariables: pulumi.StringMap{
					"BUILD_CONFIG_TEST": pulumi.String("build_test"),
				},
				Source: &cloudfunctionsv2.FunctionBuildConfigSourceArgs{
					StorageSource: &cloudfunctionsv2.FunctionBuildConfigSourceStorageSourceArgs{
						Bucket: source_bucket.Name,
						Object: object.Name,
					},
				},
			},
			ServiceConfig: &cloudfunctionsv2.FunctionServiceConfigArgs{
				MaxInstanceCount: pulumi.Int(3),
				MinInstanceCount: pulumi.Int(1),
				AvailableMemory:  pulumi.String("256M"),
				TimeoutSeconds:   pulumi.Int(60),
				EnvironmentVariables: pulumi.StringMap{
					"SERVICE_CONFIG_TEST": pulumi.String("config_test"),
				},
				IngressSettings:            pulumi.String("ALLOW_INTERNAL_ONLY"),
				AllTrafficOnLatestRevision: pulumi.Bool(true),
				ServiceAccountEmail:        account.Email,
			},
			EventTrigger: &cloudfunctionsv2.FunctionEventTriggerArgs{
				EventType:           pulumi.String("google.cloud.storage.object.v1.finalized"),
				RetryPolicy:         pulumi.String("RETRY_POLICY_RETRY"),
				ServiceAccountEmail: account.Email,
				EventFilters: cloudfunctionsv2.FunctionEventTriggerEventFilterArray{
					&cloudfunctionsv2.FunctionEventTriggerEventFilterArgs{
						Attribute: pulumi.String("bucket"),
						Value:     trigger_bucket.Name,
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Cloudfunctions2 Basic Auditlogs

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/projects"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/serviceaccount"
"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 {
		// This example follows the examples shown in this Google Cloud Community blog post
		// https://medium.com/google-cloud/applying-a-path-pattern-when-filtering-in-eventarc-f06b937b4c34
		// and the docs:
		// https://cloud.google.com/eventarc/docs/path-patterns
		_, err := storage.NewBucket(ctx, "source-bucket", &storage.BucketArgs{
			Name:                     pulumi.String("gcf-source-bucket"),
			Location:                 pulumi.String("US"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		object, err := storage.NewBucketObject(ctx, "object", &storage.BucketObjectArgs{
			Name:   pulumi.String("function-source.zip"),
			Bucket: source_bucket.Name,
			Source: pulumi.NewFileAsset("function-source.zip"),
		})
		if err != nil {
			return err
		}
		account, err := serviceaccount.NewAccount(ctx, "account", &serviceaccount.AccountArgs{
			AccountId:   pulumi.String("gcf-sa"),
			DisplayName: pulumi.String("Test Service Account - used for both the cloud function and eventarc trigger in the test"),
		})
		if err != nil {
			return err
		}
		// Note: The right way of listening for Cloud Storage events is to use a Cloud Storage trigger.
		// Here we use Audit Logs to monitor the bucket so path patterns can be used in the example of
		// google_cloudfunctions2_function below (Audit Log events have path pattern support)
		_, err = storage.NewBucket(ctx, "audit-log-bucket", &storage.BucketArgs{
			Name:                     pulumi.String("gcf-auditlog-bucket"),
			Location:                 pulumi.String("us-central1"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		// Permissions on the service account used by the function and Eventarc trigger
		_, err = projects.NewIAMMember(ctx, "invoking", &projects.IAMMemberArgs{
			Project: pulumi.String("my-project-name"),
			Role:    pulumi.String("roles/run.invoker"),
			Member: account.Email.ApplyT(func(email string) (string, error) {
				return fmt.Sprintf("serviceAccount:%v", email), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = projects.NewIAMMember(ctx, "event-receiving", &projects.IAMMemberArgs{
			Project: pulumi.String("my-project-name"),
			Role:    pulumi.String("roles/eventarc.eventReceiver"),
			Member: account.Email.ApplyT(func(email string) (string, error) {
				return fmt.Sprintf("serviceAccount:%v", email), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = projects.NewIAMMember(ctx, "artifactregistry-reader", &projects.IAMMemberArgs{
			Project: pulumi.String("my-project-name"),
			Role:    pulumi.String("roles/artifactregistry.reader"),
			Member: account.Email.ApplyT(func(email string) (string, error) {
				return fmt.Sprintf("serviceAccount:%v", email), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = cloudfunctionsv2.NewFunction(ctx, "function", &cloudfunctionsv2.FunctionArgs{
			Name:        pulumi.String("gcf-function"),
			Location:    pulumi.String("us-central1"),
			Description: pulumi.String("a new function"),
			BuildConfig: &cloudfunctionsv2.FunctionBuildConfigArgs{
				Runtime:    pulumi.String("nodejs12"),
				EntryPoint: pulumi.String("entryPoint"),
				EnvironmentVariables: pulumi.StringMap{
					"BUILD_CONFIG_TEST": pulumi.String("build_test"),
				},
				Source: &cloudfunctionsv2.FunctionBuildConfigSourceArgs{
					StorageSource: &cloudfunctionsv2.FunctionBuildConfigSourceStorageSourceArgs{
						Bucket: source_bucket.Name,
						Object: object.Name,
					},
				},
			},
			ServiceConfig: &cloudfunctionsv2.FunctionServiceConfigArgs{
				MaxInstanceCount: pulumi.Int(3),
				MinInstanceCount: pulumi.Int(1),
				AvailableMemory:  pulumi.String("256M"),
				TimeoutSeconds:   pulumi.Int(60),
				EnvironmentVariables: pulumi.StringMap{
					"SERVICE_CONFIG_TEST": pulumi.String("config_test"),
				},
				IngressSettings:            pulumi.String("ALLOW_INTERNAL_ONLY"),
				AllTrafficOnLatestRevision: pulumi.Bool(true),
				ServiceAccountEmail:        account.Email,
			},
			EventTrigger: &cloudfunctionsv2.FunctionEventTriggerArgs{
				TriggerRegion:       pulumi.String("us-central1"),
				EventType:           pulumi.String("google.cloud.audit.log.v1.written"),
				RetryPolicy:         pulumi.String("RETRY_POLICY_RETRY"),
				ServiceAccountEmail: account.Email,
				EventFilters: cloudfunctionsv2.FunctionEventTriggerEventFilterArray{
					&cloudfunctionsv2.FunctionEventTriggerEventFilterArgs{
						Attribute: pulumi.String("serviceName"),
						Value:     pulumi.String("storage.googleapis.com"),
					},
					&cloudfunctionsv2.FunctionEventTriggerEventFilterArgs{
						Attribute: pulumi.String("methodName"),
						Value:     pulumi.String("storage.objects.create"),
					},
					&cloudfunctionsv2.FunctionEventTriggerEventFilterArgs{
						Attribute: pulumi.String("resourceName"),
						Value: audit_log_bucket.Name.ApplyT(func(name string) (string, error) {
							return fmt.Sprintf("/projects/_/buckets/%v/objects/*.txt", name), nil
						}).(pulumi.StringOutput),
						Operator: pulumi.String("match-path-pattern"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Cloudfunctions2 Basic Builder

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/projects"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/serviceaccount"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/storage"
"github.com/pulumi/pulumi-time/sdk/go/time"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project := "my-project-name"
		account, err := serviceaccount.NewAccount(ctx, "account", &serviceaccount.AccountArgs{
			AccountId:   pulumi.String("gcf-sa"),
			DisplayName: pulumi.String("Test Service Account"),
		})
		if err != nil {
			return err
		}
		_, err = projects.NewIAMMember(ctx, "log_writer", &projects.IAMMemberArgs{
			Project: account.Project,
			Role:    pulumi.String("roles/logging.logWriter"),
			Member: account.Email.ApplyT(func(email string) (string, error) {
				return fmt.Sprintf("serviceAccount:%v", email), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = projects.NewIAMMember(ctx, "artifact_registry_writer", &projects.IAMMemberArgs{
			Project: account.Project,
			Role:    pulumi.String("roles/artifactregistry.writer"),
			Member: account.Email.ApplyT(func(email string) (string, error) {
				return fmt.Sprintf("serviceAccount:%v", email), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = projects.NewIAMMember(ctx, "storage_object_admin", &projects.IAMMemberArgs{
			Project: account.Project,
			Role:    pulumi.String("roles/storage.objectAdmin"),
			Member: account.Email.ApplyT(func(email string) (string, error) {
				return fmt.Sprintf("serviceAccount:%v", email), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Name:                     pulumi.String(fmt.Sprintf("%v-gcf-source", project)),
			Location:                 pulumi.String("US"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		object, err := storage.NewBucketObject(ctx, "object", &storage.BucketObjectArgs{
			Name:   pulumi.String("function-source.zip"),
			Bucket: bucket.Name,
			Source: pulumi.NewFileAsset("function-source.zip"),
		})
		if err != nil {
			return err
		}
		// builder permissions need to stablize before it can pull the source zip
		_, err = time.NewSleep(ctx, "wait_60s", &time.SleepArgs{
			CreateDuration: "60s",
		})
		if err != nil {
			return err
		}
		function, err := cloudfunctionsv2.NewFunction(ctx, "function", &cloudfunctionsv2.FunctionArgs{
			Name:        pulumi.String("function-v2"),
			Location:    pulumi.String("us-central1"),
			Description: pulumi.String("a new function"),
			BuildConfig: &cloudfunctionsv2.FunctionBuildConfigArgs{
				Runtime:    pulumi.String("nodejs16"),
				EntryPoint: pulumi.String("helloHttp"),
				Source: &cloudfunctionsv2.FunctionBuildConfigSourceArgs{
					StorageSource: &cloudfunctionsv2.FunctionBuildConfigSourceStorageSourceArgs{
						Bucket: bucket.Name,
						Object: object.Name,
					},
				},
				ServiceAccount: account.ID(),
			},
			ServiceConfig: &cloudfunctionsv2.FunctionServiceConfigArgs{
				MaxInstanceCount: pulumi.Int(1),
				AvailableMemory:  pulumi.String("256M"),
				TimeoutSeconds:   pulumi.Int(60),
			},
		})
		if err != nil {
			return err
		}
		ctx.Export("functionUri", function.ServiceConfig.ApplyT(func(serviceConfig cloudfunctionsv2.FunctionServiceConfig) (*string, error) {
			return &serviceConfig.Uri, nil
		}).(pulumi.StringPtrOutput))
		return nil
	})
}

``` ### Cloudfunctions2 Secret Env

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/secretmanager"
"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 {
		project := "my-project-name"
		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Name:                     pulumi.String(fmt.Sprintf("%v-gcf-source", project)),
			Location:                 pulumi.String("US"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		object, err := storage.NewBucketObject(ctx, "object", &storage.BucketObjectArgs{
			Name:   pulumi.String("function-source.zip"),
			Bucket: bucket.Name,
			Source: pulumi.NewFileAsset("function-source.zip"),
		})
		if err != nil {
			return err
		}
		secret, err := secretmanager.NewSecret(ctx, "secret", &secretmanager.SecretArgs{
			SecretId: pulumi.String("secret"),
			Replication: &secretmanager.SecretReplicationArgs{
				UserManaged: &secretmanager.SecretReplicationUserManagedArgs{
					Replicas: secretmanager.SecretReplicationUserManagedReplicaArray{
						&secretmanager.SecretReplicationUserManagedReplicaArgs{
							Location: pulumi.String("us-central1"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = cloudfunctionsv2.NewFunction(ctx, "function", &cloudfunctionsv2.FunctionArgs{
			Name:        pulumi.String("function-secret"),
			Location:    pulumi.String("us-central1"),
			Description: pulumi.String("a new function"),
			BuildConfig: &cloudfunctionsv2.FunctionBuildConfigArgs{
				Runtime:    pulumi.String("nodejs16"),
				EntryPoint: pulumi.String("helloHttp"),
				Source: &cloudfunctionsv2.FunctionBuildConfigSourceArgs{
					StorageSource: &cloudfunctionsv2.FunctionBuildConfigSourceStorageSourceArgs{
						Bucket: bucket.Name,
						Object: object.Name,
					},
				},
			},
			ServiceConfig: &cloudfunctionsv2.FunctionServiceConfigArgs{
				MaxInstanceCount: pulumi.Int(1),
				AvailableMemory:  pulumi.String("256M"),
				TimeoutSeconds:   pulumi.Int(60),
				SecretEnvironmentVariables: cloudfunctionsv2.FunctionServiceConfigSecretEnvironmentVariableArray{
					&cloudfunctionsv2.FunctionServiceConfigSecretEnvironmentVariableArgs{
						Key:       pulumi.String("TEST"),
						ProjectId: pulumi.String(project),
						Secret:    secret.SecretId,
						Version:   pulumi.String("latest"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = secretmanager.NewSecretVersion(ctx, "secret", &secretmanager.SecretVersionArgs{
			Secret:     secret.Name,
			SecretData: pulumi.String("secret"),
			Enabled:    pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Cloudfunctions2 Secret Volume

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/secretmanager"
"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 {
		project := "my-project-name"
		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Name:                     pulumi.String(fmt.Sprintf("%v-gcf-source", project)),
			Location:                 pulumi.String("US"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		object, err := storage.NewBucketObject(ctx, "object", &storage.BucketObjectArgs{
			Name:   pulumi.String("function-source.zip"),
			Bucket: bucket.Name,
			Source: pulumi.NewFileAsset("function-source.zip"),
		})
		if err != nil {
			return err
		}
		secret, err := secretmanager.NewSecret(ctx, "secret", &secretmanager.SecretArgs{
			SecretId: pulumi.String("secret"),
			Replication: &secretmanager.SecretReplicationArgs{
				UserManaged: &secretmanager.SecretReplicationUserManagedArgs{
					Replicas: secretmanager.SecretReplicationUserManagedReplicaArray{
						&secretmanager.SecretReplicationUserManagedReplicaArgs{
							Location: pulumi.String("us-central1"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = cloudfunctionsv2.NewFunction(ctx, "function", &cloudfunctionsv2.FunctionArgs{
			Name:        pulumi.String("function-secret"),
			Location:    pulumi.String("us-central1"),
			Description: pulumi.String("a new function"),
			BuildConfig: &cloudfunctionsv2.FunctionBuildConfigArgs{
				Runtime:    pulumi.String("nodejs16"),
				EntryPoint: pulumi.String("helloHttp"),
				Source: &cloudfunctionsv2.FunctionBuildConfigSourceArgs{
					StorageSource: &cloudfunctionsv2.FunctionBuildConfigSourceStorageSourceArgs{
						Bucket: bucket.Name,
						Object: object.Name,
					},
				},
			},
			ServiceConfig: &cloudfunctionsv2.FunctionServiceConfigArgs{
				MaxInstanceCount: pulumi.Int(1),
				AvailableMemory:  pulumi.String("256M"),
				TimeoutSeconds:   pulumi.Int(60),
				SecretVolumes: cloudfunctionsv2.FunctionServiceConfigSecretVolumeArray{
					&cloudfunctionsv2.FunctionServiceConfigSecretVolumeArgs{
						MountPath: pulumi.String("/etc/secrets"),
						ProjectId: pulumi.String(project),
						Secret:    secret.SecretId,
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = secretmanager.NewSecretVersion(ctx, "secret", &secretmanager.SecretVersionArgs{
			Secret:     secret.Name,
			SecretData: pulumi.String("secret"),
			Enabled:    pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Cloudfunctions2 Private Workerpool

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudbuild"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"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 {
		project := "my-project-name"
		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Name:                     pulumi.String(fmt.Sprintf("%v-gcf-source", project)),
			Location:                 pulumi.String("US"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		object, err := storage.NewBucketObject(ctx, "object", &storage.BucketObjectArgs{
			Name:   pulumi.String("function-source.zip"),
			Bucket: bucket.Name,
			Source: pulumi.NewFileAsset("function-source.zip"),
		})
		if err != nil {
			return err
		}
		pool, err := cloudbuild.NewWorkerPool(ctx, "pool", &cloudbuild.WorkerPoolArgs{
			Name:     pulumi.String("workerpool"),
			Location: pulumi.String("us-central1"),
			WorkerConfig: &cloudbuild.WorkerPoolWorkerConfigArgs{
				DiskSizeGb:   pulumi.Int(100),
				MachineType:  pulumi.String("e2-standard-8"),
				NoExternalIp: pulumi.Bool(false),
			},
		})
		if err != nil {
			return err
		}
		_, err = cloudfunctionsv2.NewFunction(ctx, "function", &cloudfunctionsv2.FunctionArgs{
			Name:        pulumi.String("function-workerpool"),
			Location:    pulumi.String("us-central1"),
			Description: pulumi.String("a new function"),
			BuildConfig: &cloudfunctionsv2.FunctionBuildConfigArgs{
				Runtime:    pulumi.String("nodejs16"),
				EntryPoint: pulumi.String("helloHttp"),
				Source: &cloudfunctionsv2.FunctionBuildConfigSourceArgs{
					StorageSource: &cloudfunctionsv2.FunctionBuildConfigSourceStorageSourceArgs{
						Bucket: bucket.Name,
						Object: object.Name,
					},
				},
				WorkerPool: pool.ID(),
			},
			ServiceConfig: &cloudfunctionsv2.FunctionServiceConfigArgs{
				MaxInstanceCount: pulumi.Int(1),
				AvailableMemory:  pulumi.String("256M"),
				TimeoutSeconds:   pulumi.Int(60),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Cloudfunctions2 Cmek Docs

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/artifactregistry"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/kms"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/projects"
"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 {
		project := "my-project-name"
		projectGetProject, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Name:                     pulumi.String(fmt.Sprintf("%v-gcf-source", project)),
			Location:                 pulumi.String("US"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		object, err := storage.NewBucketObject(ctx, "object", &storage.BucketObjectArgs{
			Name:   pulumi.String("function-source.zip"),
			Bucket: bucket.Name,
			Source: pulumi.NewFileAsset("function-source.zip"),
		})
		if err != nil {
			return err
		}
		eaSa, err := projects.NewServiceIdentity(ctx, "ea_sa", &projects.ServiceIdentityArgs{
			Project: pulumi.String(projectGetProject.ProjectId),
			Service: pulumi.String("eventarc.googleapis.com"),
		})
		if err != nil {
			return err
		}
		_, err = artifactregistry.NewRepository(ctx, "unencoded-ar-repo", &artifactregistry.RepositoryArgs{
			RepositoryId: pulumi.String("ar-repo"),
			Location:     pulumi.String("us-central1"),
			Format:       pulumi.String("DOCKER"),
		})
		if err != nil {
			return err
		}
		_, err = artifactregistry.NewRepository(ctx, "encoded-ar-repo", &artifactregistry.RepositoryArgs{
			Location:     pulumi.String("us-central1"),
			RepositoryId: pulumi.String("cmek-repo"),
			Format:       pulumi.String("DOCKER"),
			KmsKeyName:   pulumi.String("cmek-key"),
		})
		if err != nil {
			return err
		}
		_, err = artifactregistry.NewRepositoryIamBinding(ctx, "binding", &artifactregistry.RepositoryIamBindingArgs{
			Location:   encoded_ar_repo.Location,
			Repository: encoded_ar_repo.Name,
			Role:       pulumi.String("roles/artifactregistry.admin"),
			Members: pulumi.StringArray{
				pulumi.String(fmt.Sprintf("serviceAccount:service-%v@gcf-admin-robot.iam.gserviceaccount.com", projectGetProject.Number)),
			},
		})
		if err != nil {
			return err
		}
		_, err = kms.NewCryptoKeyIAMBinding(ctx, "gcf_cmek_keyuser", &kms.CryptoKeyIAMBindingArgs{
			CryptoKeyId: pulumi.String("cmek-key"),
			Role:        pulumi.String("roles/cloudkms.cryptoKeyEncrypterDecrypter"),
			Members: pulumi.StringArray{
				pulumi.String(fmt.Sprintf("serviceAccount:service-%v@gcf-admin-robot.iam.gserviceaccount.com", projectGetProject.Number)),
				pulumi.String(fmt.Sprintf("serviceAccount:service-%v@gcp-sa-artifactregistry.iam.gserviceaccount.com", projectGetProject.Number)),
				pulumi.String(fmt.Sprintf("serviceAccount:service-%v@gs-project-accounts.iam.gserviceaccount.com", projectGetProject.Number)),
				pulumi.String(fmt.Sprintf("serviceAccount:service-%v@serverless-robot-prod.iam.gserviceaccount.com", projectGetProject.Number)),
				eaSa.Email.ApplyT(func(email string) (string, error) {
					return fmt.Sprintf("serviceAccount:%v", email), nil
				}).(pulumi.StringOutput),
			},
		})
		if err != nil {
			return err
		}
		_, err = cloudfunctionsv2.NewFunction(ctx, "function", &cloudfunctionsv2.FunctionArgs{
			Name:        pulumi.String("function-cmek"),
			Location:    pulumi.String("us-central1"),
			Description: pulumi.String("CMEK function"),
			KmsKeyName:  pulumi.String("cmek-key"),
			BuildConfig: &cloudfunctionsv2.FunctionBuildConfigArgs{
				Runtime:          pulumi.String("nodejs16"),
				EntryPoint:       pulumi.String("helloHttp"),
				DockerRepository: encoded_ar_repo.ID(),
				Source: &cloudfunctionsv2.FunctionBuildConfigSourceArgs{
					StorageSource: &cloudfunctionsv2.FunctionBuildConfigSourceStorageSourceArgs{
						Bucket: bucket.Name,
						Object: object.Name,
					},
				},
			},
			ServiceConfig: &cloudfunctionsv2.FunctionServiceConfigArgs{
				MaxInstanceCount: pulumi.Int(1),
				AvailableMemory:  pulumi.String("256M"),
				TimeoutSeconds:   pulumi.Int(60),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

function can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/functions/{{name}}`

* `{{project}}/{{location}}/{{name}}`

* `{{location}}/{{name}}`

When using the `pulumi import` command, function can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:cloudfunctionsv2/function:Function default projects/{{project}}/locations/{{location}}/functions/{{name}} ```

```sh $ pulumi import gcp:cloudfunctionsv2/function:Function default {{project}}/{{location}}/{{name}} ```

```sh $ pulumi import gcp:cloudfunctionsv2/function:Function default {{location}}/{{name}} ```

func GetFunction

func GetFunction(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FunctionState, opts ...pulumi.ResourceOption) (*Function, error)

GetFunction gets an existing Function resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFunction

func NewFunction(ctx *pulumi.Context,
	name string, args *FunctionArgs, opts ...pulumi.ResourceOption) (*Function, error)

NewFunction registers a new resource with the given unique name, arguments, and options.

func (*Function) ElementType

func (*Function) ElementType() reflect.Type

func (*Function) ToFunctionOutput

func (i *Function) ToFunctionOutput() FunctionOutput

func (*Function) ToFunctionOutputWithContext

func (i *Function) ToFunctionOutputWithContext(ctx context.Context) FunctionOutput

type FunctionArgs

type FunctionArgs struct {
	// Describes the Build step of the function that builds a container
	// from the given source.
	// Structure is documented below.
	BuildConfig FunctionBuildConfigPtrInput
	// User-provided description of a function.
	Description pulumi.StringPtrInput
	// An Eventarc trigger managed by Google Cloud Functions that fires events in
	// response to a condition in another service.
	// Structure is documented below.
	EventTrigger FunctionEventTriggerPtrInput
	// 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.StringPtrInput
	// A set of key/value label pairs associated with this Cloud Function.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The location of this cloud function.
	//
	// ***
	Location pulumi.StringInput
	// A user-defined name of the function. Function names must
	// be unique globally and match pattern `projects/*/locations/*/functions/*`.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Describes the Service being deployed.
	// Structure is documented below.
	ServiceConfig FunctionServiceConfigPtrInput
}

The set of arguments for constructing a Function resource.

func (FunctionArgs) ElementType

func (FunctionArgs) ElementType() reflect.Type

type FunctionArray

type FunctionArray []FunctionInput

func (FunctionArray) ElementType

func (FunctionArray) ElementType() reflect.Type

func (FunctionArray) ToFunctionArrayOutput

func (i FunctionArray) ToFunctionArrayOutput() FunctionArrayOutput

func (FunctionArray) ToFunctionArrayOutputWithContext

func (i FunctionArray) ToFunctionArrayOutputWithContext(ctx context.Context) FunctionArrayOutput

type FunctionArrayInput

type FunctionArrayInput interface {
	pulumi.Input

	ToFunctionArrayOutput() FunctionArrayOutput
	ToFunctionArrayOutputWithContext(context.Context) FunctionArrayOutput
}

FunctionArrayInput is an input type that accepts FunctionArray and FunctionArrayOutput values. You can construct a concrete instance of `FunctionArrayInput` via:

FunctionArray{ FunctionArgs{...} }

type FunctionArrayOutput

type FunctionArrayOutput struct{ *pulumi.OutputState }

func (FunctionArrayOutput) ElementType

func (FunctionArrayOutput) ElementType() reflect.Type

func (FunctionArrayOutput) Index

func (FunctionArrayOutput) ToFunctionArrayOutput

func (o FunctionArrayOutput) ToFunctionArrayOutput() FunctionArrayOutput

func (FunctionArrayOutput) ToFunctionArrayOutputWithContext

func (o FunctionArrayOutput) ToFunctionArrayOutputWithContext(ctx context.Context) FunctionArrayOutput

type FunctionBuildConfig

type FunctionBuildConfig struct {
	// (Output)
	// The Cloud Build name of the latest successful
	// deployment of the function.
	Build *string `pulumi:"build"`
	// User managed repository created in Artifact Registry optionally with a customer managed encryption key.
	DockerRepository *string `pulumi:"dockerRepository"`
	// The name of the function (as defined in source code) that will be executed.
	// Defaults to the resource name suffix, if not specified. For backward
	// compatibility, if function with given name is not found, then the system
	// will try to use function named "function". For Node.js this is name of a
	// function exported by the module specified in source_location.
	EntryPoint *string `pulumi:"entryPoint"`
	// User-provided build-time environment variables for the function.
	EnvironmentVariables map[string]string `pulumi:"environmentVariables"`
	// The runtime in which to run the function. Required when deploying a new
	// function, optional when updating an existing function.
	Runtime *string `pulumi:"runtime"`
	// The fully-qualified name of the service account to be used for building the container.
	ServiceAccount *string `pulumi:"serviceAccount"`
	// The location of the function source code.
	// Structure is documented below.
	Source *FunctionBuildConfigSource `pulumi:"source"`
	// Name of the Cloud Build Custom Worker Pool that should be used to build the function.
	WorkerPool *string `pulumi:"workerPool"`
}

type FunctionBuildConfigArgs

type FunctionBuildConfigArgs struct {
	// (Output)
	// The Cloud Build name of the latest successful
	// deployment of the function.
	Build pulumi.StringPtrInput `pulumi:"build"`
	// User managed repository created in Artifact Registry optionally with a customer managed encryption key.
	DockerRepository pulumi.StringPtrInput `pulumi:"dockerRepository"`
	// The name of the function (as defined in source code) that will be executed.
	// Defaults to the resource name suffix, if not specified. For backward
	// compatibility, if function with given name is not found, then the system
	// will try to use function named "function". For Node.js this is name of a
	// function exported by the module specified in source_location.
	EntryPoint pulumi.StringPtrInput `pulumi:"entryPoint"`
	// User-provided build-time environment variables for the function.
	EnvironmentVariables pulumi.StringMapInput `pulumi:"environmentVariables"`
	// The runtime in which to run the function. Required when deploying a new
	// function, optional when updating an existing function.
	Runtime pulumi.StringPtrInput `pulumi:"runtime"`
	// The fully-qualified name of the service account to be used for building the container.
	ServiceAccount pulumi.StringPtrInput `pulumi:"serviceAccount"`
	// The location of the function source code.
	// Structure is documented below.
	Source FunctionBuildConfigSourcePtrInput `pulumi:"source"`
	// Name of the Cloud Build Custom Worker Pool that should be used to build the function.
	WorkerPool pulumi.StringPtrInput `pulumi:"workerPool"`
}

func (FunctionBuildConfigArgs) ElementType

func (FunctionBuildConfigArgs) ElementType() reflect.Type

func (FunctionBuildConfigArgs) ToFunctionBuildConfigOutput

func (i FunctionBuildConfigArgs) ToFunctionBuildConfigOutput() FunctionBuildConfigOutput

func (FunctionBuildConfigArgs) ToFunctionBuildConfigOutputWithContext

func (i FunctionBuildConfigArgs) ToFunctionBuildConfigOutputWithContext(ctx context.Context) FunctionBuildConfigOutput

func (FunctionBuildConfigArgs) ToFunctionBuildConfigPtrOutput

func (i FunctionBuildConfigArgs) ToFunctionBuildConfigPtrOutput() FunctionBuildConfigPtrOutput

func (FunctionBuildConfigArgs) ToFunctionBuildConfigPtrOutputWithContext

func (i FunctionBuildConfigArgs) ToFunctionBuildConfigPtrOutputWithContext(ctx context.Context) FunctionBuildConfigPtrOutput

type FunctionBuildConfigInput

type FunctionBuildConfigInput interface {
	pulumi.Input

	ToFunctionBuildConfigOutput() FunctionBuildConfigOutput
	ToFunctionBuildConfigOutputWithContext(context.Context) FunctionBuildConfigOutput
}

FunctionBuildConfigInput is an input type that accepts FunctionBuildConfigArgs and FunctionBuildConfigOutput values. You can construct a concrete instance of `FunctionBuildConfigInput` via:

FunctionBuildConfigArgs{...}

type FunctionBuildConfigOutput

type FunctionBuildConfigOutput struct{ *pulumi.OutputState }

func (FunctionBuildConfigOutput) Build

(Output) The Cloud Build name of the latest successful deployment of the function.

func (FunctionBuildConfigOutput) DockerRepository

func (o FunctionBuildConfigOutput) DockerRepository() pulumi.StringPtrOutput

User managed repository created in Artifact Registry optionally with a customer managed encryption key.

func (FunctionBuildConfigOutput) ElementType

func (FunctionBuildConfigOutput) ElementType() reflect.Type

func (FunctionBuildConfigOutput) EntryPoint

The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named "function". For Node.js this is name of a function exported by the module specified in source_location.

func (FunctionBuildConfigOutput) EnvironmentVariables

func (o FunctionBuildConfigOutput) EnvironmentVariables() pulumi.StringMapOutput

User-provided build-time environment variables for the function.

func (FunctionBuildConfigOutput) Runtime

The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function.

func (FunctionBuildConfigOutput) ServiceAccount added in v7.20.0

The fully-qualified name of the service account to be used for building the container.

func (FunctionBuildConfigOutput) Source

The location of the function source code. Structure is documented below.

func (FunctionBuildConfigOutput) ToFunctionBuildConfigOutput

func (o FunctionBuildConfigOutput) ToFunctionBuildConfigOutput() FunctionBuildConfigOutput

func (FunctionBuildConfigOutput) ToFunctionBuildConfigOutputWithContext

func (o FunctionBuildConfigOutput) ToFunctionBuildConfigOutputWithContext(ctx context.Context) FunctionBuildConfigOutput

func (FunctionBuildConfigOutput) ToFunctionBuildConfigPtrOutput

func (o FunctionBuildConfigOutput) ToFunctionBuildConfigPtrOutput() FunctionBuildConfigPtrOutput

func (FunctionBuildConfigOutput) ToFunctionBuildConfigPtrOutputWithContext

func (o FunctionBuildConfigOutput) ToFunctionBuildConfigPtrOutputWithContext(ctx context.Context) FunctionBuildConfigPtrOutput

func (FunctionBuildConfigOutput) WorkerPool

Name of the Cloud Build Custom Worker Pool that should be used to build the function.

type FunctionBuildConfigPtrInput

type FunctionBuildConfigPtrInput interface {
	pulumi.Input

	ToFunctionBuildConfigPtrOutput() FunctionBuildConfigPtrOutput
	ToFunctionBuildConfigPtrOutputWithContext(context.Context) FunctionBuildConfigPtrOutput
}

FunctionBuildConfigPtrInput is an input type that accepts FunctionBuildConfigArgs, FunctionBuildConfigPtr and FunctionBuildConfigPtrOutput values. You can construct a concrete instance of `FunctionBuildConfigPtrInput` via:

        FunctionBuildConfigArgs{...}

or:

        nil

type FunctionBuildConfigPtrOutput

type FunctionBuildConfigPtrOutput struct{ *pulumi.OutputState }

func (FunctionBuildConfigPtrOutput) Build

(Output) The Cloud Build name of the latest successful deployment of the function.

func (FunctionBuildConfigPtrOutput) DockerRepository

User managed repository created in Artifact Registry optionally with a customer managed encryption key.

func (FunctionBuildConfigPtrOutput) Elem

func (FunctionBuildConfigPtrOutput) ElementType

func (FunctionBuildConfigPtrOutput) EntryPoint

The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named "function". For Node.js this is name of a function exported by the module specified in source_location.

func (FunctionBuildConfigPtrOutput) EnvironmentVariables

func (o FunctionBuildConfigPtrOutput) EnvironmentVariables() pulumi.StringMapOutput

User-provided build-time environment variables for the function.

func (FunctionBuildConfigPtrOutput) Runtime

The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function.

func (FunctionBuildConfigPtrOutput) ServiceAccount added in v7.20.0

The fully-qualified name of the service account to be used for building the container.

func (FunctionBuildConfigPtrOutput) Source

The location of the function source code. Structure is documented below.

func (FunctionBuildConfigPtrOutput) ToFunctionBuildConfigPtrOutput

func (o FunctionBuildConfigPtrOutput) ToFunctionBuildConfigPtrOutput() FunctionBuildConfigPtrOutput

func (FunctionBuildConfigPtrOutput) ToFunctionBuildConfigPtrOutputWithContext

func (o FunctionBuildConfigPtrOutput) ToFunctionBuildConfigPtrOutputWithContext(ctx context.Context) FunctionBuildConfigPtrOutput

func (FunctionBuildConfigPtrOutput) WorkerPool

Name of the Cloud Build Custom Worker Pool that should be used to build the function.

type FunctionBuildConfigSource

type FunctionBuildConfigSource struct {
	// If provided, get the source from this location in a Cloud Source Repository.
	// Structure is documented below.
	RepoSource *FunctionBuildConfigSourceRepoSource `pulumi:"repoSource"`
	// If provided, get the source from this location in Google Cloud Storage.
	// Structure is documented below.
	StorageSource *FunctionBuildConfigSourceStorageSource `pulumi:"storageSource"`
}

type FunctionBuildConfigSourceArgs

type FunctionBuildConfigSourceArgs struct {
	// If provided, get the source from this location in a Cloud Source Repository.
	// Structure is documented below.
	RepoSource FunctionBuildConfigSourceRepoSourcePtrInput `pulumi:"repoSource"`
	// If provided, get the source from this location in Google Cloud Storage.
	// Structure is documented below.
	StorageSource FunctionBuildConfigSourceStorageSourcePtrInput `pulumi:"storageSource"`
}

func (FunctionBuildConfigSourceArgs) ElementType

func (FunctionBuildConfigSourceArgs) ToFunctionBuildConfigSourceOutput

func (i FunctionBuildConfigSourceArgs) ToFunctionBuildConfigSourceOutput() FunctionBuildConfigSourceOutput

func (FunctionBuildConfigSourceArgs) ToFunctionBuildConfigSourceOutputWithContext

func (i FunctionBuildConfigSourceArgs) ToFunctionBuildConfigSourceOutputWithContext(ctx context.Context) FunctionBuildConfigSourceOutput

func (FunctionBuildConfigSourceArgs) ToFunctionBuildConfigSourcePtrOutput

func (i FunctionBuildConfigSourceArgs) ToFunctionBuildConfigSourcePtrOutput() FunctionBuildConfigSourcePtrOutput

func (FunctionBuildConfigSourceArgs) ToFunctionBuildConfigSourcePtrOutputWithContext

func (i FunctionBuildConfigSourceArgs) ToFunctionBuildConfigSourcePtrOutputWithContext(ctx context.Context) FunctionBuildConfigSourcePtrOutput

type FunctionBuildConfigSourceInput

type FunctionBuildConfigSourceInput interface {
	pulumi.Input

	ToFunctionBuildConfigSourceOutput() FunctionBuildConfigSourceOutput
	ToFunctionBuildConfigSourceOutputWithContext(context.Context) FunctionBuildConfigSourceOutput
}

FunctionBuildConfigSourceInput is an input type that accepts FunctionBuildConfigSourceArgs and FunctionBuildConfigSourceOutput values. You can construct a concrete instance of `FunctionBuildConfigSourceInput` via:

FunctionBuildConfigSourceArgs{...}

type FunctionBuildConfigSourceOutput

type FunctionBuildConfigSourceOutput struct{ *pulumi.OutputState }

func (FunctionBuildConfigSourceOutput) ElementType

func (FunctionBuildConfigSourceOutput) RepoSource

If provided, get the source from this location in a Cloud Source Repository. Structure is documented below.

func (FunctionBuildConfigSourceOutput) StorageSource

If provided, get the source from this location in Google Cloud Storage. Structure is documented below.

func (FunctionBuildConfigSourceOutput) ToFunctionBuildConfigSourceOutput

func (o FunctionBuildConfigSourceOutput) ToFunctionBuildConfigSourceOutput() FunctionBuildConfigSourceOutput

func (FunctionBuildConfigSourceOutput) ToFunctionBuildConfigSourceOutputWithContext

func (o FunctionBuildConfigSourceOutput) ToFunctionBuildConfigSourceOutputWithContext(ctx context.Context) FunctionBuildConfigSourceOutput

func (FunctionBuildConfigSourceOutput) ToFunctionBuildConfigSourcePtrOutput

func (o FunctionBuildConfigSourceOutput) ToFunctionBuildConfigSourcePtrOutput() FunctionBuildConfigSourcePtrOutput

func (FunctionBuildConfigSourceOutput) ToFunctionBuildConfigSourcePtrOutputWithContext

func (o FunctionBuildConfigSourceOutput) ToFunctionBuildConfigSourcePtrOutputWithContext(ctx context.Context) FunctionBuildConfigSourcePtrOutput

type FunctionBuildConfigSourcePtrInput

type FunctionBuildConfigSourcePtrInput interface {
	pulumi.Input

	ToFunctionBuildConfigSourcePtrOutput() FunctionBuildConfigSourcePtrOutput
	ToFunctionBuildConfigSourcePtrOutputWithContext(context.Context) FunctionBuildConfigSourcePtrOutput
}

FunctionBuildConfigSourcePtrInput is an input type that accepts FunctionBuildConfigSourceArgs, FunctionBuildConfigSourcePtr and FunctionBuildConfigSourcePtrOutput values. You can construct a concrete instance of `FunctionBuildConfigSourcePtrInput` via:

        FunctionBuildConfigSourceArgs{...}

or:

        nil

type FunctionBuildConfigSourcePtrOutput

type FunctionBuildConfigSourcePtrOutput struct{ *pulumi.OutputState }

func (FunctionBuildConfigSourcePtrOutput) Elem

func (FunctionBuildConfigSourcePtrOutput) ElementType

func (FunctionBuildConfigSourcePtrOutput) RepoSource

If provided, get the source from this location in a Cloud Source Repository. Structure is documented below.

func (FunctionBuildConfigSourcePtrOutput) StorageSource

If provided, get the source from this location in Google Cloud Storage. Structure is documented below.

func (FunctionBuildConfigSourcePtrOutput) ToFunctionBuildConfigSourcePtrOutput

func (o FunctionBuildConfigSourcePtrOutput) ToFunctionBuildConfigSourcePtrOutput() FunctionBuildConfigSourcePtrOutput

func (FunctionBuildConfigSourcePtrOutput) ToFunctionBuildConfigSourcePtrOutputWithContext

func (o FunctionBuildConfigSourcePtrOutput) ToFunctionBuildConfigSourcePtrOutputWithContext(ctx context.Context) FunctionBuildConfigSourcePtrOutput

type FunctionBuildConfigSourceRepoSource

type FunctionBuildConfigSourceRepoSource struct {
	// Regex matching branches to build.
	BranchName *string `pulumi:"branchName"`
	// Regex matching tags to build.
	CommitSha *string `pulumi:"commitSha"`
	// Directory, relative to the source root, in which to run the build.
	Dir *string `pulumi:"dir"`
	// Only trigger a build if the revision regex does
	// NOT match the revision regex.
	InvertRegex *bool `pulumi:"invertRegex"`
	// ID of the project that owns the Cloud Source Repository. If omitted, the
	// project ID requesting the build is assumed.
	ProjectId *string `pulumi:"projectId"`
	// Name of the Cloud Source Repository.
	RepoName *string `pulumi:"repoName"`
	// Regex matching tags to build.
	TagName *string `pulumi:"tagName"`
}

type FunctionBuildConfigSourceRepoSourceArgs

type FunctionBuildConfigSourceRepoSourceArgs struct {
	// Regex matching branches to build.
	BranchName pulumi.StringPtrInput `pulumi:"branchName"`
	// Regex matching tags to build.
	CommitSha pulumi.StringPtrInput `pulumi:"commitSha"`
	// Directory, relative to the source root, in which to run the build.
	Dir pulumi.StringPtrInput `pulumi:"dir"`
	// Only trigger a build if the revision regex does
	// NOT match the revision regex.
	InvertRegex pulumi.BoolPtrInput `pulumi:"invertRegex"`
	// ID of the project that owns the Cloud Source Repository. If omitted, the
	// project ID requesting the build is assumed.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// Name of the Cloud Source Repository.
	RepoName pulumi.StringPtrInput `pulumi:"repoName"`
	// Regex matching tags to build.
	TagName pulumi.StringPtrInput `pulumi:"tagName"`
}

func (FunctionBuildConfigSourceRepoSourceArgs) ElementType

func (FunctionBuildConfigSourceRepoSourceArgs) ToFunctionBuildConfigSourceRepoSourceOutput

func (i FunctionBuildConfigSourceRepoSourceArgs) ToFunctionBuildConfigSourceRepoSourceOutput() FunctionBuildConfigSourceRepoSourceOutput

func (FunctionBuildConfigSourceRepoSourceArgs) ToFunctionBuildConfigSourceRepoSourceOutputWithContext

func (i FunctionBuildConfigSourceRepoSourceArgs) ToFunctionBuildConfigSourceRepoSourceOutputWithContext(ctx context.Context) FunctionBuildConfigSourceRepoSourceOutput

func (FunctionBuildConfigSourceRepoSourceArgs) ToFunctionBuildConfigSourceRepoSourcePtrOutput

func (i FunctionBuildConfigSourceRepoSourceArgs) ToFunctionBuildConfigSourceRepoSourcePtrOutput() FunctionBuildConfigSourceRepoSourcePtrOutput

func (FunctionBuildConfigSourceRepoSourceArgs) ToFunctionBuildConfigSourceRepoSourcePtrOutputWithContext

func (i FunctionBuildConfigSourceRepoSourceArgs) ToFunctionBuildConfigSourceRepoSourcePtrOutputWithContext(ctx context.Context) FunctionBuildConfigSourceRepoSourcePtrOutput

type FunctionBuildConfigSourceRepoSourceInput

type FunctionBuildConfigSourceRepoSourceInput interface {
	pulumi.Input

	ToFunctionBuildConfigSourceRepoSourceOutput() FunctionBuildConfigSourceRepoSourceOutput
	ToFunctionBuildConfigSourceRepoSourceOutputWithContext(context.Context) FunctionBuildConfigSourceRepoSourceOutput
}

FunctionBuildConfigSourceRepoSourceInput is an input type that accepts FunctionBuildConfigSourceRepoSourceArgs and FunctionBuildConfigSourceRepoSourceOutput values. You can construct a concrete instance of `FunctionBuildConfigSourceRepoSourceInput` via:

FunctionBuildConfigSourceRepoSourceArgs{...}

type FunctionBuildConfigSourceRepoSourceOutput

type FunctionBuildConfigSourceRepoSourceOutput struct{ *pulumi.OutputState }

func (FunctionBuildConfigSourceRepoSourceOutput) BranchName

Regex matching branches to build.

func (FunctionBuildConfigSourceRepoSourceOutput) CommitSha

Regex matching tags to build.

func (FunctionBuildConfigSourceRepoSourceOutput) Dir

Directory, relative to the source root, in which to run the build.

func (FunctionBuildConfigSourceRepoSourceOutput) ElementType

func (FunctionBuildConfigSourceRepoSourceOutput) InvertRegex

Only trigger a build if the revision regex does NOT match the revision regex.

func (FunctionBuildConfigSourceRepoSourceOutput) ProjectId

ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.

func (FunctionBuildConfigSourceRepoSourceOutput) RepoName

Name of the Cloud Source Repository.

func (FunctionBuildConfigSourceRepoSourceOutput) TagName

Regex matching tags to build.

func (FunctionBuildConfigSourceRepoSourceOutput) ToFunctionBuildConfigSourceRepoSourceOutput

func (o FunctionBuildConfigSourceRepoSourceOutput) ToFunctionBuildConfigSourceRepoSourceOutput() FunctionBuildConfigSourceRepoSourceOutput

func (FunctionBuildConfigSourceRepoSourceOutput) ToFunctionBuildConfigSourceRepoSourceOutputWithContext

func (o FunctionBuildConfigSourceRepoSourceOutput) ToFunctionBuildConfigSourceRepoSourceOutputWithContext(ctx context.Context) FunctionBuildConfigSourceRepoSourceOutput

func (FunctionBuildConfigSourceRepoSourceOutput) ToFunctionBuildConfigSourceRepoSourcePtrOutput

func (o FunctionBuildConfigSourceRepoSourceOutput) ToFunctionBuildConfigSourceRepoSourcePtrOutput() FunctionBuildConfigSourceRepoSourcePtrOutput

func (FunctionBuildConfigSourceRepoSourceOutput) ToFunctionBuildConfigSourceRepoSourcePtrOutputWithContext

func (o FunctionBuildConfigSourceRepoSourceOutput) ToFunctionBuildConfigSourceRepoSourcePtrOutputWithContext(ctx context.Context) FunctionBuildConfigSourceRepoSourcePtrOutput

type FunctionBuildConfigSourceRepoSourcePtrInput

type FunctionBuildConfigSourceRepoSourcePtrInput interface {
	pulumi.Input

	ToFunctionBuildConfigSourceRepoSourcePtrOutput() FunctionBuildConfigSourceRepoSourcePtrOutput
	ToFunctionBuildConfigSourceRepoSourcePtrOutputWithContext(context.Context) FunctionBuildConfigSourceRepoSourcePtrOutput
}

FunctionBuildConfigSourceRepoSourcePtrInput is an input type that accepts FunctionBuildConfigSourceRepoSourceArgs, FunctionBuildConfigSourceRepoSourcePtr and FunctionBuildConfigSourceRepoSourcePtrOutput values. You can construct a concrete instance of `FunctionBuildConfigSourceRepoSourcePtrInput` via:

        FunctionBuildConfigSourceRepoSourceArgs{...}

or:

        nil

type FunctionBuildConfigSourceRepoSourcePtrOutput

type FunctionBuildConfigSourceRepoSourcePtrOutput struct{ *pulumi.OutputState }

func (FunctionBuildConfigSourceRepoSourcePtrOutput) BranchName

Regex matching branches to build.

func (FunctionBuildConfigSourceRepoSourcePtrOutput) CommitSha

Regex matching tags to build.

func (FunctionBuildConfigSourceRepoSourcePtrOutput) Dir

Directory, relative to the source root, in which to run the build.

func (FunctionBuildConfigSourceRepoSourcePtrOutput) Elem

func (FunctionBuildConfigSourceRepoSourcePtrOutput) ElementType

func (FunctionBuildConfigSourceRepoSourcePtrOutput) InvertRegex

Only trigger a build if the revision regex does NOT match the revision regex.

func (FunctionBuildConfigSourceRepoSourcePtrOutput) ProjectId

ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.

func (FunctionBuildConfigSourceRepoSourcePtrOutput) RepoName

Name of the Cloud Source Repository.

func (FunctionBuildConfigSourceRepoSourcePtrOutput) TagName

Regex matching tags to build.

func (FunctionBuildConfigSourceRepoSourcePtrOutput) ToFunctionBuildConfigSourceRepoSourcePtrOutput

func (o FunctionBuildConfigSourceRepoSourcePtrOutput) ToFunctionBuildConfigSourceRepoSourcePtrOutput() FunctionBuildConfigSourceRepoSourcePtrOutput

func (FunctionBuildConfigSourceRepoSourcePtrOutput) ToFunctionBuildConfigSourceRepoSourcePtrOutputWithContext

func (o FunctionBuildConfigSourceRepoSourcePtrOutput) ToFunctionBuildConfigSourceRepoSourcePtrOutputWithContext(ctx context.Context) FunctionBuildConfigSourceRepoSourcePtrOutput

type FunctionBuildConfigSourceStorageSource

type FunctionBuildConfigSourceStorageSource struct {
	// Google Cloud Storage bucket containing the source
	Bucket *string `pulumi:"bucket"`
	// Google Cloud Storage generation for the object. If the generation
	// is omitted, the latest generation will be used.
	Generation *int `pulumi:"generation"`
	// Google Cloud Storage object containing the source.
	Object *string `pulumi:"object"`
}

type FunctionBuildConfigSourceStorageSourceArgs

type FunctionBuildConfigSourceStorageSourceArgs struct {
	// Google Cloud Storage bucket containing the source
	Bucket pulumi.StringPtrInput `pulumi:"bucket"`
	// Google Cloud Storage generation for the object. If the generation
	// is omitted, the latest generation will be used.
	Generation pulumi.IntPtrInput `pulumi:"generation"`
	// Google Cloud Storage object containing the source.
	Object pulumi.StringPtrInput `pulumi:"object"`
}

func (FunctionBuildConfigSourceStorageSourceArgs) ElementType

func (FunctionBuildConfigSourceStorageSourceArgs) ToFunctionBuildConfigSourceStorageSourceOutput

func (i FunctionBuildConfigSourceStorageSourceArgs) ToFunctionBuildConfigSourceStorageSourceOutput() FunctionBuildConfigSourceStorageSourceOutput

func (FunctionBuildConfigSourceStorageSourceArgs) ToFunctionBuildConfigSourceStorageSourceOutputWithContext

func (i FunctionBuildConfigSourceStorageSourceArgs) ToFunctionBuildConfigSourceStorageSourceOutputWithContext(ctx context.Context) FunctionBuildConfigSourceStorageSourceOutput

func (FunctionBuildConfigSourceStorageSourceArgs) ToFunctionBuildConfigSourceStorageSourcePtrOutput

func (i FunctionBuildConfigSourceStorageSourceArgs) ToFunctionBuildConfigSourceStorageSourcePtrOutput() FunctionBuildConfigSourceStorageSourcePtrOutput

func (FunctionBuildConfigSourceStorageSourceArgs) ToFunctionBuildConfigSourceStorageSourcePtrOutputWithContext

func (i FunctionBuildConfigSourceStorageSourceArgs) ToFunctionBuildConfigSourceStorageSourcePtrOutputWithContext(ctx context.Context) FunctionBuildConfigSourceStorageSourcePtrOutput

type FunctionBuildConfigSourceStorageSourceInput

type FunctionBuildConfigSourceStorageSourceInput interface {
	pulumi.Input

	ToFunctionBuildConfigSourceStorageSourceOutput() FunctionBuildConfigSourceStorageSourceOutput
	ToFunctionBuildConfigSourceStorageSourceOutputWithContext(context.Context) FunctionBuildConfigSourceStorageSourceOutput
}

FunctionBuildConfigSourceStorageSourceInput is an input type that accepts FunctionBuildConfigSourceStorageSourceArgs and FunctionBuildConfigSourceStorageSourceOutput values. You can construct a concrete instance of `FunctionBuildConfigSourceStorageSourceInput` via:

FunctionBuildConfigSourceStorageSourceArgs{...}

type FunctionBuildConfigSourceStorageSourceOutput

type FunctionBuildConfigSourceStorageSourceOutput struct{ *pulumi.OutputState }

func (FunctionBuildConfigSourceStorageSourceOutput) Bucket

Google Cloud Storage bucket containing the source

func (FunctionBuildConfigSourceStorageSourceOutput) ElementType

func (FunctionBuildConfigSourceStorageSourceOutput) Generation

Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.

func (FunctionBuildConfigSourceStorageSourceOutput) Object

Google Cloud Storage object containing the source.

func (FunctionBuildConfigSourceStorageSourceOutput) ToFunctionBuildConfigSourceStorageSourceOutput

func (o FunctionBuildConfigSourceStorageSourceOutput) ToFunctionBuildConfigSourceStorageSourceOutput() FunctionBuildConfigSourceStorageSourceOutput

func (FunctionBuildConfigSourceStorageSourceOutput) ToFunctionBuildConfigSourceStorageSourceOutputWithContext

func (o FunctionBuildConfigSourceStorageSourceOutput) ToFunctionBuildConfigSourceStorageSourceOutputWithContext(ctx context.Context) FunctionBuildConfigSourceStorageSourceOutput

func (FunctionBuildConfigSourceStorageSourceOutput) ToFunctionBuildConfigSourceStorageSourcePtrOutput

func (o FunctionBuildConfigSourceStorageSourceOutput) ToFunctionBuildConfigSourceStorageSourcePtrOutput() FunctionBuildConfigSourceStorageSourcePtrOutput

func (FunctionBuildConfigSourceStorageSourceOutput) ToFunctionBuildConfigSourceStorageSourcePtrOutputWithContext

func (o FunctionBuildConfigSourceStorageSourceOutput) ToFunctionBuildConfigSourceStorageSourcePtrOutputWithContext(ctx context.Context) FunctionBuildConfigSourceStorageSourcePtrOutput

type FunctionBuildConfigSourceStorageSourcePtrInput

type FunctionBuildConfigSourceStorageSourcePtrInput interface {
	pulumi.Input

	ToFunctionBuildConfigSourceStorageSourcePtrOutput() FunctionBuildConfigSourceStorageSourcePtrOutput
	ToFunctionBuildConfigSourceStorageSourcePtrOutputWithContext(context.Context) FunctionBuildConfigSourceStorageSourcePtrOutput
}

FunctionBuildConfigSourceStorageSourcePtrInput is an input type that accepts FunctionBuildConfigSourceStorageSourceArgs, FunctionBuildConfigSourceStorageSourcePtr and FunctionBuildConfigSourceStorageSourcePtrOutput values. You can construct a concrete instance of `FunctionBuildConfigSourceStorageSourcePtrInput` via:

        FunctionBuildConfigSourceStorageSourceArgs{...}

or:

        nil

type FunctionBuildConfigSourceStorageSourcePtrOutput

type FunctionBuildConfigSourceStorageSourcePtrOutput struct{ *pulumi.OutputState }

func (FunctionBuildConfigSourceStorageSourcePtrOutput) Bucket

Google Cloud Storage bucket containing the source

func (FunctionBuildConfigSourceStorageSourcePtrOutput) Elem

func (FunctionBuildConfigSourceStorageSourcePtrOutput) ElementType

func (FunctionBuildConfigSourceStorageSourcePtrOutput) Generation

Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.

func (FunctionBuildConfigSourceStorageSourcePtrOutput) Object

Google Cloud Storage object containing the source.

func (FunctionBuildConfigSourceStorageSourcePtrOutput) ToFunctionBuildConfigSourceStorageSourcePtrOutput

func (o FunctionBuildConfigSourceStorageSourcePtrOutput) ToFunctionBuildConfigSourceStorageSourcePtrOutput() FunctionBuildConfigSourceStorageSourcePtrOutput

func (FunctionBuildConfigSourceStorageSourcePtrOutput) ToFunctionBuildConfigSourceStorageSourcePtrOutputWithContext

func (o FunctionBuildConfigSourceStorageSourcePtrOutput) ToFunctionBuildConfigSourceStorageSourcePtrOutputWithContext(ctx context.Context) FunctionBuildConfigSourceStorageSourcePtrOutput

type FunctionEventTrigger

type FunctionEventTrigger struct {
	// Criteria used to filter events.
	// Structure is documented below.
	EventFilters []FunctionEventTriggerEventFilter `pulumi:"eventFilters"`
	// Required. The type of event to observe.
	EventType *string `pulumi:"eventType"`
	// The name of a Pub/Sub topic in the same project that will be used
	// as the transport topic for the event delivery.
	PubsubTopic *string `pulumi:"pubsubTopic"`
	// Describes the retry policy in case of function's execution failure.
	// Retried execution is charged as any other execution.
	// Possible values are: `RETRY_POLICY_UNSPECIFIED`, `RETRY_POLICY_DO_NOT_RETRY`, `RETRY_POLICY_RETRY`.
	RetryPolicy *string `pulumi:"retryPolicy"`
	// Optional. The email of the trigger's service account. The service account
	// must have permission to invoke Cloud Run services. If empty, defaults to the
	// Compute Engine default service account: {project_number}-compute@developer.gserviceaccount.com.
	ServiceAccountEmail *string `pulumi:"serviceAccountEmail"`
	// (Output)
	// Output only. The resource name of the Eventarc trigger.
	Trigger *string `pulumi:"trigger"`
	// The region that the trigger will be in. The trigger will only receive
	// events originating in this region. It can be the same
	// region as the function, a different region or multi-region, or the global
	// region. If not provided, defaults to the same region as the function.
	TriggerRegion *string `pulumi:"triggerRegion"`
}

type FunctionEventTriggerArgs

type FunctionEventTriggerArgs struct {
	// Criteria used to filter events.
	// Structure is documented below.
	EventFilters FunctionEventTriggerEventFilterArrayInput `pulumi:"eventFilters"`
	// Required. The type of event to observe.
	EventType pulumi.StringPtrInput `pulumi:"eventType"`
	// The name of a Pub/Sub topic in the same project that will be used
	// as the transport topic for the event delivery.
	PubsubTopic pulumi.StringPtrInput `pulumi:"pubsubTopic"`
	// Describes the retry policy in case of function's execution failure.
	// Retried execution is charged as any other execution.
	// Possible values are: `RETRY_POLICY_UNSPECIFIED`, `RETRY_POLICY_DO_NOT_RETRY`, `RETRY_POLICY_RETRY`.
	RetryPolicy pulumi.StringPtrInput `pulumi:"retryPolicy"`
	// Optional. The email of the trigger's service account. The service account
	// must have permission to invoke Cloud Run services. If empty, defaults to the
	// Compute Engine default service account: {project_number}-compute@developer.gserviceaccount.com.
	ServiceAccountEmail pulumi.StringPtrInput `pulumi:"serviceAccountEmail"`
	// (Output)
	// Output only. The resource name of the Eventarc trigger.
	Trigger pulumi.StringPtrInput `pulumi:"trigger"`
	// The region that the trigger will be in. The trigger will only receive
	// events originating in this region. It can be the same
	// region as the function, a different region or multi-region, or the global
	// region. If not provided, defaults to the same region as the function.
	TriggerRegion pulumi.StringPtrInput `pulumi:"triggerRegion"`
}

func (FunctionEventTriggerArgs) ElementType

func (FunctionEventTriggerArgs) ElementType() reflect.Type

func (FunctionEventTriggerArgs) ToFunctionEventTriggerOutput

func (i FunctionEventTriggerArgs) ToFunctionEventTriggerOutput() FunctionEventTriggerOutput

func (FunctionEventTriggerArgs) ToFunctionEventTriggerOutputWithContext

func (i FunctionEventTriggerArgs) ToFunctionEventTriggerOutputWithContext(ctx context.Context) FunctionEventTriggerOutput

func (FunctionEventTriggerArgs) ToFunctionEventTriggerPtrOutput

func (i FunctionEventTriggerArgs) ToFunctionEventTriggerPtrOutput() FunctionEventTriggerPtrOutput

func (FunctionEventTriggerArgs) ToFunctionEventTriggerPtrOutputWithContext

func (i FunctionEventTriggerArgs) ToFunctionEventTriggerPtrOutputWithContext(ctx context.Context) FunctionEventTriggerPtrOutput

type FunctionEventTriggerEventFilter

type FunctionEventTriggerEventFilter struct {
	// 'Required. The name of a CloudEvents attribute.
	// Currently, only a subset of attributes are supported for filtering. Use the `gcloud eventarc providers describe` command to learn more about events and their attributes.
	// Do not filter for the 'type' attribute here, as this is already achieved by the resource's `eventType` attribute.
	Attribute string `pulumi:"attribute"`
	// Optional. The operator used for matching the events with the value of
	// the filter. If not specified, only events that have an exact key-value
	// pair specified in the filter are matched.
	// The only allowed value is `match-path-pattern`.
	// [See documentation on path patterns here](https://cloud.google.com/eventarc/docs/path-patterns)'
	Operator *string `pulumi:"operator"`
	// Required. The value for the attribute.
	// If the operator field is set as `match-path-pattern`, this value can be a path pattern instead of an exact value.
	Value string `pulumi:"value"`
}

type FunctionEventTriggerEventFilterArgs

type FunctionEventTriggerEventFilterArgs struct {
	// 'Required. The name of a CloudEvents attribute.
	// Currently, only a subset of attributes are supported for filtering. Use the `gcloud eventarc providers describe` command to learn more about events and their attributes.
	// Do not filter for the 'type' attribute here, as this is already achieved by the resource's `eventType` attribute.
	Attribute pulumi.StringInput `pulumi:"attribute"`
	// Optional. The operator used for matching the events with the value of
	// the filter. If not specified, only events that have an exact key-value
	// pair specified in the filter are matched.
	// The only allowed value is `match-path-pattern`.
	// [See documentation on path patterns here](https://cloud.google.com/eventarc/docs/path-patterns)'
	Operator pulumi.StringPtrInput `pulumi:"operator"`
	// Required. The value for the attribute.
	// If the operator field is set as `match-path-pattern`, this value can be a path pattern instead of an exact value.
	Value pulumi.StringInput `pulumi:"value"`
}

func (FunctionEventTriggerEventFilterArgs) ElementType

func (FunctionEventTriggerEventFilterArgs) ToFunctionEventTriggerEventFilterOutput

func (i FunctionEventTriggerEventFilterArgs) ToFunctionEventTriggerEventFilterOutput() FunctionEventTriggerEventFilterOutput

func (FunctionEventTriggerEventFilterArgs) ToFunctionEventTriggerEventFilterOutputWithContext

func (i FunctionEventTriggerEventFilterArgs) ToFunctionEventTriggerEventFilterOutputWithContext(ctx context.Context) FunctionEventTriggerEventFilterOutput

type FunctionEventTriggerEventFilterArray

type FunctionEventTriggerEventFilterArray []FunctionEventTriggerEventFilterInput

func (FunctionEventTriggerEventFilterArray) ElementType

func (FunctionEventTriggerEventFilterArray) ToFunctionEventTriggerEventFilterArrayOutput

func (i FunctionEventTriggerEventFilterArray) ToFunctionEventTriggerEventFilterArrayOutput() FunctionEventTriggerEventFilterArrayOutput

func (FunctionEventTriggerEventFilterArray) ToFunctionEventTriggerEventFilterArrayOutputWithContext

func (i FunctionEventTriggerEventFilterArray) ToFunctionEventTriggerEventFilterArrayOutputWithContext(ctx context.Context) FunctionEventTriggerEventFilterArrayOutput

type FunctionEventTriggerEventFilterArrayInput

type FunctionEventTriggerEventFilterArrayInput interface {
	pulumi.Input

	ToFunctionEventTriggerEventFilterArrayOutput() FunctionEventTriggerEventFilterArrayOutput
	ToFunctionEventTriggerEventFilterArrayOutputWithContext(context.Context) FunctionEventTriggerEventFilterArrayOutput
}

FunctionEventTriggerEventFilterArrayInput is an input type that accepts FunctionEventTriggerEventFilterArray and FunctionEventTriggerEventFilterArrayOutput values. You can construct a concrete instance of `FunctionEventTriggerEventFilterArrayInput` via:

FunctionEventTriggerEventFilterArray{ FunctionEventTriggerEventFilterArgs{...} }

type FunctionEventTriggerEventFilterArrayOutput

type FunctionEventTriggerEventFilterArrayOutput struct{ *pulumi.OutputState }

func (FunctionEventTriggerEventFilterArrayOutput) ElementType

func (FunctionEventTriggerEventFilterArrayOutput) Index

func (FunctionEventTriggerEventFilterArrayOutput) ToFunctionEventTriggerEventFilterArrayOutput

func (o FunctionEventTriggerEventFilterArrayOutput) ToFunctionEventTriggerEventFilterArrayOutput() FunctionEventTriggerEventFilterArrayOutput

func (FunctionEventTriggerEventFilterArrayOutput) ToFunctionEventTriggerEventFilterArrayOutputWithContext

func (o FunctionEventTriggerEventFilterArrayOutput) ToFunctionEventTriggerEventFilterArrayOutputWithContext(ctx context.Context) FunctionEventTriggerEventFilterArrayOutput

type FunctionEventTriggerEventFilterInput

type FunctionEventTriggerEventFilterInput interface {
	pulumi.Input

	ToFunctionEventTriggerEventFilterOutput() FunctionEventTriggerEventFilterOutput
	ToFunctionEventTriggerEventFilterOutputWithContext(context.Context) FunctionEventTriggerEventFilterOutput
}

FunctionEventTriggerEventFilterInput is an input type that accepts FunctionEventTriggerEventFilterArgs and FunctionEventTriggerEventFilterOutput values. You can construct a concrete instance of `FunctionEventTriggerEventFilterInput` via:

FunctionEventTriggerEventFilterArgs{...}

type FunctionEventTriggerEventFilterOutput

type FunctionEventTriggerEventFilterOutput struct{ *pulumi.OutputState }

func (FunctionEventTriggerEventFilterOutput) Attribute

'Required. The name of a CloudEvents attribute. Currently, only a subset of attributes are supported for filtering. Use the `gcloud eventarc providers describe` command to learn more about events and their attributes. Do not filter for the 'type' attribute here, as this is already achieved by the resource's `eventType` attribute.

func (FunctionEventTriggerEventFilterOutput) ElementType

func (FunctionEventTriggerEventFilterOutput) Operator

Optional. The operator used for matching the events with the value of the filter. If not specified, only events that have an exact key-value pair specified in the filter are matched. The only allowed value is `match-path-pattern`. [See documentation on path patterns here](https://cloud.google.com/eventarc/docs/path-patterns)'

func (FunctionEventTriggerEventFilterOutput) ToFunctionEventTriggerEventFilterOutput

func (o FunctionEventTriggerEventFilterOutput) ToFunctionEventTriggerEventFilterOutput() FunctionEventTriggerEventFilterOutput

func (FunctionEventTriggerEventFilterOutput) ToFunctionEventTriggerEventFilterOutputWithContext

func (o FunctionEventTriggerEventFilterOutput) ToFunctionEventTriggerEventFilterOutputWithContext(ctx context.Context) FunctionEventTriggerEventFilterOutput

func (FunctionEventTriggerEventFilterOutput) Value

Required. The value for the attribute. If the operator field is set as `match-path-pattern`, this value can be a path pattern instead of an exact value.

type FunctionEventTriggerInput

type FunctionEventTriggerInput interface {
	pulumi.Input

	ToFunctionEventTriggerOutput() FunctionEventTriggerOutput
	ToFunctionEventTriggerOutputWithContext(context.Context) FunctionEventTriggerOutput
}

FunctionEventTriggerInput is an input type that accepts FunctionEventTriggerArgs and FunctionEventTriggerOutput values. You can construct a concrete instance of `FunctionEventTriggerInput` via:

FunctionEventTriggerArgs{...}

type FunctionEventTriggerOutput

type FunctionEventTriggerOutput struct{ *pulumi.OutputState }

func (FunctionEventTriggerOutput) ElementType

func (FunctionEventTriggerOutput) ElementType() reflect.Type

func (FunctionEventTriggerOutput) EventFilters

Criteria used to filter events. Structure is documented below.

func (FunctionEventTriggerOutput) EventType

Required. The type of event to observe.

func (FunctionEventTriggerOutput) PubsubTopic

The name of a Pub/Sub topic in the same project that will be used as the transport topic for the event delivery.

func (FunctionEventTriggerOutput) RetryPolicy

Describes the retry policy in case of function's execution failure. Retried execution is charged as any other execution. Possible values are: `RETRY_POLICY_UNSPECIFIED`, `RETRY_POLICY_DO_NOT_RETRY`, `RETRY_POLICY_RETRY`.

func (FunctionEventTriggerOutput) ServiceAccountEmail

func (o FunctionEventTriggerOutput) ServiceAccountEmail() pulumi.StringPtrOutput

Optional. The email of the trigger's service account. The service account must have permission to invoke Cloud Run services. If empty, defaults to the Compute Engine default service account: {project_number}-compute@developer.gserviceaccount.com.

func (FunctionEventTriggerOutput) ToFunctionEventTriggerOutput

func (o FunctionEventTriggerOutput) ToFunctionEventTriggerOutput() FunctionEventTriggerOutput

func (FunctionEventTriggerOutput) ToFunctionEventTriggerOutputWithContext

func (o FunctionEventTriggerOutput) ToFunctionEventTriggerOutputWithContext(ctx context.Context) FunctionEventTriggerOutput

func (FunctionEventTriggerOutput) ToFunctionEventTriggerPtrOutput

func (o FunctionEventTriggerOutput) ToFunctionEventTriggerPtrOutput() FunctionEventTriggerPtrOutput

func (FunctionEventTriggerOutput) ToFunctionEventTriggerPtrOutputWithContext

func (o FunctionEventTriggerOutput) ToFunctionEventTriggerPtrOutputWithContext(ctx context.Context) FunctionEventTriggerPtrOutput

func (FunctionEventTriggerOutput) Trigger

(Output) Output only. The resource name of the Eventarc trigger.

func (FunctionEventTriggerOutput) TriggerRegion

The region that the trigger will be in. The trigger will only receive events originating in this region. It can be the same region as the function, a different region or multi-region, or the global region. If not provided, defaults to the same region as the function.

type FunctionEventTriggerPtrInput

type FunctionEventTriggerPtrInput interface {
	pulumi.Input

	ToFunctionEventTriggerPtrOutput() FunctionEventTriggerPtrOutput
	ToFunctionEventTriggerPtrOutputWithContext(context.Context) FunctionEventTriggerPtrOutput
}

FunctionEventTriggerPtrInput is an input type that accepts FunctionEventTriggerArgs, FunctionEventTriggerPtr and FunctionEventTriggerPtrOutput values. You can construct a concrete instance of `FunctionEventTriggerPtrInput` via:

        FunctionEventTriggerArgs{...}

or:

        nil

type FunctionEventTriggerPtrOutput

type FunctionEventTriggerPtrOutput struct{ *pulumi.OutputState }

func (FunctionEventTriggerPtrOutput) Elem

func (FunctionEventTriggerPtrOutput) ElementType

func (FunctionEventTriggerPtrOutput) EventFilters

Criteria used to filter events. Structure is documented below.

func (FunctionEventTriggerPtrOutput) EventType

Required. The type of event to observe.

func (FunctionEventTriggerPtrOutput) PubsubTopic

The name of a Pub/Sub topic in the same project that will be used as the transport topic for the event delivery.

func (FunctionEventTriggerPtrOutput) RetryPolicy

Describes the retry policy in case of function's execution failure. Retried execution is charged as any other execution. Possible values are: `RETRY_POLICY_UNSPECIFIED`, `RETRY_POLICY_DO_NOT_RETRY`, `RETRY_POLICY_RETRY`.

func (FunctionEventTriggerPtrOutput) ServiceAccountEmail

func (o FunctionEventTriggerPtrOutput) ServiceAccountEmail() pulumi.StringPtrOutput

Optional. The email of the trigger's service account. The service account must have permission to invoke Cloud Run services. If empty, defaults to the Compute Engine default service account: {project_number}-compute@developer.gserviceaccount.com.

func (FunctionEventTriggerPtrOutput) ToFunctionEventTriggerPtrOutput

func (o FunctionEventTriggerPtrOutput) ToFunctionEventTriggerPtrOutput() FunctionEventTriggerPtrOutput

func (FunctionEventTriggerPtrOutput) ToFunctionEventTriggerPtrOutputWithContext

func (o FunctionEventTriggerPtrOutput) ToFunctionEventTriggerPtrOutputWithContext(ctx context.Context) FunctionEventTriggerPtrOutput

func (FunctionEventTriggerPtrOutput) Trigger

(Output) Output only. The resource name of the Eventarc trigger.

func (FunctionEventTriggerPtrOutput) TriggerRegion

The region that the trigger will be in. The trigger will only receive events originating in this region. It can be the same region as the function, a different region or multi-region, or the global region. If not provided, defaults to the same region as the function.

type FunctionIamBinding

type FunctionIamBinding struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	CloudFunction pulumi.StringOutput                  `pulumi:"cloudFunction"`
	Condition     FunctionIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location of this cloud function. Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `cloudfunctionsv2.FunctionIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Cloud Functions (2nd gen) function. Each of these resources serves a different use case:

* `cloudfunctionsv2.FunctionIamPolicy`: Authoritative. Sets the IAM policy for the function and replaces any existing policy already attached. * `cloudfunctionsv2.FunctionIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the function are preserved. * `cloudfunctionsv2.FunctionIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the function are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `cloudfunctionsv2.FunctionIamPolicy`: Retrieves the IAM policy for the function

> **Note:** `cloudfunctionsv2.FunctionIamPolicy` **cannot** be used in conjunction with `cloudfunctionsv2.FunctionIamBinding` and `cloudfunctionsv2.FunctionIamMember` or they will fight over what your policy should be.

> **Note:** `cloudfunctionsv2.FunctionIamBinding` resources **can be** used in conjunction with `cloudfunctionsv2.FunctionIamMember` resources **only if** they do not grant privilege to the same role.

## google\_cloudfunctions2\_function\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudfunctionsv2.NewFunctionIamPolicy(ctx, "policy", &cloudfunctionsv2.FunctionIamPolicyArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			PolicyData:    pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfunctionsv2.NewFunctionIamBinding(ctx, "binding", &cloudfunctionsv2.FunctionIamBindingArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			Role:          pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfunctionsv2.NewFunctionIamMember(ctx, "member", &cloudfunctionsv2.FunctionIamMemberArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			Role:          pulumi.String("roles/viewer"),
			Member:        pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudfunctionsv2.NewFunctionIamPolicy(ctx, "policy", &cloudfunctionsv2.FunctionIamPolicyArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			PolicyData:    pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfunctionsv2.NewFunctionIamBinding(ctx, "binding", &cloudfunctionsv2.FunctionIamBindingArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			Role:          pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfunctionsv2.NewFunctionIamMember(ctx, "member", &cloudfunctionsv2.FunctionIamMemberArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			Role:          pulumi.String("roles/viewer"),
			Member:        pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* projects/{{project}}/locations/{{location}}/functions/{{cloud_function}}

* {{project}}/{{location}}/{{cloud_function}}

* {{location}}/{{cloud_function}}

* {{cloud_function}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Functions (2nd gen) function IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:cloudfunctionsv2/functionIamBinding:FunctionIamBinding editor "projects/{{project}}/locations/{{location}}/functions/{{cloud_function}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:cloudfunctionsv2/functionIamBinding:FunctionIamBinding editor "projects/{{project}}/locations/{{location}}/functions/{{cloud_function}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:cloudfunctionsv2/functionIamBinding:FunctionIamBinding editor projects/{{project}}/locations/{{location}}/functions/{{cloud_function}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetFunctionIamBinding

func GetFunctionIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FunctionIamBindingState, opts ...pulumi.ResourceOption) (*FunctionIamBinding, error)

GetFunctionIamBinding gets an existing FunctionIamBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFunctionIamBinding

func NewFunctionIamBinding(ctx *pulumi.Context,
	name string, args *FunctionIamBindingArgs, opts ...pulumi.ResourceOption) (*FunctionIamBinding, error)

NewFunctionIamBinding registers a new resource with the given unique name, arguments, and options.

func (*FunctionIamBinding) ElementType

func (*FunctionIamBinding) ElementType() reflect.Type

func (*FunctionIamBinding) ToFunctionIamBindingOutput

func (i *FunctionIamBinding) ToFunctionIamBindingOutput() FunctionIamBindingOutput

func (*FunctionIamBinding) ToFunctionIamBindingOutputWithContext

func (i *FunctionIamBinding) ToFunctionIamBindingOutputWithContext(ctx context.Context) FunctionIamBindingOutput

type FunctionIamBindingArgs

type FunctionIamBindingArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	CloudFunction pulumi.StringInput
	Condition     FunctionIamBindingConditionPtrInput
	// The location of this cloud function. Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `cloudfunctionsv2.FunctionIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a FunctionIamBinding resource.

func (FunctionIamBindingArgs) ElementType

func (FunctionIamBindingArgs) ElementType() reflect.Type

type FunctionIamBindingArray

type FunctionIamBindingArray []FunctionIamBindingInput

func (FunctionIamBindingArray) ElementType

func (FunctionIamBindingArray) ElementType() reflect.Type

func (FunctionIamBindingArray) ToFunctionIamBindingArrayOutput

func (i FunctionIamBindingArray) ToFunctionIamBindingArrayOutput() FunctionIamBindingArrayOutput

func (FunctionIamBindingArray) ToFunctionIamBindingArrayOutputWithContext

func (i FunctionIamBindingArray) ToFunctionIamBindingArrayOutputWithContext(ctx context.Context) FunctionIamBindingArrayOutput

type FunctionIamBindingArrayInput

type FunctionIamBindingArrayInput interface {
	pulumi.Input

	ToFunctionIamBindingArrayOutput() FunctionIamBindingArrayOutput
	ToFunctionIamBindingArrayOutputWithContext(context.Context) FunctionIamBindingArrayOutput
}

FunctionIamBindingArrayInput is an input type that accepts FunctionIamBindingArray and FunctionIamBindingArrayOutput values. You can construct a concrete instance of `FunctionIamBindingArrayInput` via:

FunctionIamBindingArray{ FunctionIamBindingArgs{...} }

type FunctionIamBindingArrayOutput

type FunctionIamBindingArrayOutput struct{ *pulumi.OutputState }

func (FunctionIamBindingArrayOutput) ElementType

func (FunctionIamBindingArrayOutput) Index

func (FunctionIamBindingArrayOutput) ToFunctionIamBindingArrayOutput

func (o FunctionIamBindingArrayOutput) ToFunctionIamBindingArrayOutput() FunctionIamBindingArrayOutput

func (FunctionIamBindingArrayOutput) ToFunctionIamBindingArrayOutputWithContext

func (o FunctionIamBindingArrayOutput) ToFunctionIamBindingArrayOutputWithContext(ctx context.Context) FunctionIamBindingArrayOutput

type FunctionIamBindingCondition

type FunctionIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type FunctionIamBindingConditionArgs

type FunctionIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (FunctionIamBindingConditionArgs) ElementType

func (FunctionIamBindingConditionArgs) ToFunctionIamBindingConditionOutput

func (i FunctionIamBindingConditionArgs) ToFunctionIamBindingConditionOutput() FunctionIamBindingConditionOutput

func (FunctionIamBindingConditionArgs) ToFunctionIamBindingConditionOutputWithContext

func (i FunctionIamBindingConditionArgs) ToFunctionIamBindingConditionOutputWithContext(ctx context.Context) FunctionIamBindingConditionOutput

func (FunctionIamBindingConditionArgs) ToFunctionIamBindingConditionPtrOutput

func (i FunctionIamBindingConditionArgs) ToFunctionIamBindingConditionPtrOutput() FunctionIamBindingConditionPtrOutput

func (FunctionIamBindingConditionArgs) ToFunctionIamBindingConditionPtrOutputWithContext

func (i FunctionIamBindingConditionArgs) ToFunctionIamBindingConditionPtrOutputWithContext(ctx context.Context) FunctionIamBindingConditionPtrOutput

type FunctionIamBindingConditionInput

type FunctionIamBindingConditionInput interface {
	pulumi.Input

	ToFunctionIamBindingConditionOutput() FunctionIamBindingConditionOutput
	ToFunctionIamBindingConditionOutputWithContext(context.Context) FunctionIamBindingConditionOutput
}

FunctionIamBindingConditionInput is an input type that accepts FunctionIamBindingConditionArgs and FunctionIamBindingConditionOutput values. You can construct a concrete instance of `FunctionIamBindingConditionInput` via:

FunctionIamBindingConditionArgs{...}

type FunctionIamBindingConditionOutput

type FunctionIamBindingConditionOutput struct{ *pulumi.OutputState }

func (FunctionIamBindingConditionOutput) Description

func (FunctionIamBindingConditionOutput) ElementType

func (FunctionIamBindingConditionOutput) Expression

func (FunctionIamBindingConditionOutput) Title

func (FunctionIamBindingConditionOutput) ToFunctionIamBindingConditionOutput

func (o FunctionIamBindingConditionOutput) ToFunctionIamBindingConditionOutput() FunctionIamBindingConditionOutput

func (FunctionIamBindingConditionOutput) ToFunctionIamBindingConditionOutputWithContext

func (o FunctionIamBindingConditionOutput) ToFunctionIamBindingConditionOutputWithContext(ctx context.Context) FunctionIamBindingConditionOutput

func (FunctionIamBindingConditionOutput) ToFunctionIamBindingConditionPtrOutput

func (o FunctionIamBindingConditionOutput) ToFunctionIamBindingConditionPtrOutput() FunctionIamBindingConditionPtrOutput

func (FunctionIamBindingConditionOutput) ToFunctionIamBindingConditionPtrOutputWithContext

func (o FunctionIamBindingConditionOutput) ToFunctionIamBindingConditionPtrOutputWithContext(ctx context.Context) FunctionIamBindingConditionPtrOutput

type FunctionIamBindingConditionPtrInput

type FunctionIamBindingConditionPtrInput interface {
	pulumi.Input

	ToFunctionIamBindingConditionPtrOutput() FunctionIamBindingConditionPtrOutput
	ToFunctionIamBindingConditionPtrOutputWithContext(context.Context) FunctionIamBindingConditionPtrOutput
}

FunctionIamBindingConditionPtrInput is an input type that accepts FunctionIamBindingConditionArgs, FunctionIamBindingConditionPtr and FunctionIamBindingConditionPtrOutput values. You can construct a concrete instance of `FunctionIamBindingConditionPtrInput` via:

        FunctionIamBindingConditionArgs{...}

or:

        nil

type FunctionIamBindingConditionPtrOutput

type FunctionIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (FunctionIamBindingConditionPtrOutput) Description

func (FunctionIamBindingConditionPtrOutput) Elem

func (FunctionIamBindingConditionPtrOutput) ElementType

func (FunctionIamBindingConditionPtrOutput) Expression

func (FunctionIamBindingConditionPtrOutput) Title

func (FunctionIamBindingConditionPtrOutput) ToFunctionIamBindingConditionPtrOutput

func (o FunctionIamBindingConditionPtrOutput) ToFunctionIamBindingConditionPtrOutput() FunctionIamBindingConditionPtrOutput

func (FunctionIamBindingConditionPtrOutput) ToFunctionIamBindingConditionPtrOutputWithContext

func (o FunctionIamBindingConditionPtrOutput) ToFunctionIamBindingConditionPtrOutputWithContext(ctx context.Context) FunctionIamBindingConditionPtrOutput

type FunctionIamBindingInput

type FunctionIamBindingInput interface {
	pulumi.Input

	ToFunctionIamBindingOutput() FunctionIamBindingOutput
	ToFunctionIamBindingOutputWithContext(ctx context.Context) FunctionIamBindingOutput
}

type FunctionIamBindingMap

type FunctionIamBindingMap map[string]FunctionIamBindingInput

func (FunctionIamBindingMap) ElementType

func (FunctionIamBindingMap) ElementType() reflect.Type

func (FunctionIamBindingMap) ToFunctionIamBindingMapOutput

func (i FunctionIamBindingMap) ToFunctionIamBindingMapOutput() FunctionIamBindingMapOutput

func (FunctionIamBindingMap) ToFunctionIamBindingMapOutputWithContext

func (i FunctionIamBindingMap) ToFunctionIamBindingMapOutputWithContext(ctx context.Context) FunctionIamBindingMapOutput

type FunctionIamBindingMapInput

type FunctionIamBindingMapInput interface {
	pulumi.Input

	ToFunctionIamBindingMapOutput() FunctionIamBindingMapOutput
	ToFunctionIamBindingMapOutputWithContext(context.Context) FunctionIamBindingMapOutput
}

FunctionIamBindingMapInput is an input type that accepts FunctionIamBindingMap and FunctionIamBindingMapOutput values. You can construct a concrete instance of `FunctionIamBindingMapInput` via:

FunctionIamBindingMap{ "key": FunctionIamBindingArgs{...} }

type FunctionIamBindingMapOutput

type FunctionIamBindingMapOutput struct{ *pulumi.OutputState }

func (FunctionIamBindingMapOutput) ElementType

func (FunctionIamBindingMapOutput) MapIndex

func (FunctionIamBindingMapOutput) ToFunctionIamBindingMapOutput

func (o FunctionIamBindingMapOutput) ToFunctionIamBindingMapOutput() FunctionIamBindingMapOutput

func (FunctionIamBindingMapOutput) ToFunctionIamBindingMapOutputWithContext

func (o FunctionIamBindingMapOutput) ToFunctionIamBindingMapOutputWithContext(ctx context.Context) FunctionIamBindingMapOutput

type FunctionIamBindingOutput

type FunctionIamBindingOutput struct{ *pulumi.OutputState }

func (FunctionIamBindingOutput) CloudFunction

func (o FunctionIamBindingOutput) CloudFunction() pulumi.StringOutput

Used to find the parent resource to bind the IAM policy to

func (FunctionIamBindingOutput) Condition

func (FunctionIamBindingOutput) ElementType

func (FunctionIamBindingOutput) ElementType() reflect.Type

func (FunctionIamBindingOutput) Etag

(Computed) The etag of the IAM policy.

func (FunctionIamBindingOutput) Location

The location of this cloud function. Used to find the parent resource to bind the IAM policy to

func (FunctionIamBindingOutput) Members

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (FunctionIamBindingOutput) Project

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (FunctionIamBindingOutput) Role

The role that should be applied. Only one `cloudfunctionsv2.FunctionIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (FunctionIamBindingOutput) ToFunctionIamBindingOutput

func (o FunctionIamBindingOutput) ToFunctionIamBindingOutput() FunctionIamBindingOutput

func (FunctionIamBindingOutput) ToFunctionIamBindingOutputWithContext

func (o FunctionIamBindingOutput) ToFunctionIamBindingOutputWithContext(ctx context.Context) FunctionIamBindingOutput

type FunctionIamBindingState

type FunctionIamBindingState struct {
	// Used to find the parent resource to bind the IAM policy to
	CloudFunction pulumi.StringPtrInput
	Condition     FunctionIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location of this cloud function. Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `cloudfunctionsv2.FunctionIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (FunctionIamBindingState) ElementType

func (FunctionIamBindingState) ElementType() reflect.Type

type FunctionIamMember

type FunctionIamMember struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	CloudFunction pulumi.StringOutput                 `pulumi:"cloudFunction"`
	Condition     FunctionIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location of this cloud function. Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringOutput `pulumi:"member"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `cloudfunctionsv2.FunctionIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Cloud Functions (2nd gen) function. Each of these resources serves a different use case:

* `cloudfunctionsv2.FunctionIamPolicy`: Authoritative. Sets the IAM policy for the function and replaces any existing policy already attached. * `cloudfunctionsv2.FunctionIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the function are preserved. * `cloudfunctionsv2.FunctionIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the function are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `cloudfunctionsv2.FunctionIamPolicy`: Retrieves the IAM policy for the function

> **Note:** `cloudfunctionsv2.FunctionIamPolicy` **cannot** be used in conjunction with `cloudfunctionsv2.FunctionIamBinding` and `cloudfunctionsv2.FunctionIamMember` or they will fight over what your policy should be.

> **Note:** `cloudfunctionsv2.FunctionIamBinding` resources **can be** used in conjunction with `cloudfunctionsv2.FunctionIamMember` resources **only if** they do not grant privilege to the same role.

## google\_cloudfunctions2\_function\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudfunctionsv2.NewFunctionIamPolicy(ctx, "policy", &cloudfunctionsv2.FunctionIamPolicyArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			PolicyData:    pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfunctionsv2.NewFunctionIamBinding(ctx, "binding", &cloudfunctionsv2.FunctionIamBindingArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			Role:          pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfunctionsv2.NewFunctionIamMember(ctx, "member", &cloudfunctionsv2.FunctionIamMemberArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			Role:          pulumi.String("roles/viewer"),
			Member:        pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudfunctionsv2.NewFunctionIamPolicy(ctx, "policy", &cloudfunctionsv2.FunctionIamPolicyArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			PolicyData:    pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfunctionsv2.NewFunctionIamBinding(ctx, "binding", &cloudfunctionsv2.FunctionIamBindingArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			Role:          pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfunctionsv2.NewFunctionIamMember(ctx, "member", &cloudfunctionsv2.FunctionIamMemberArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			Role:          pulumi.String("roles/viewer"),
			Member:        pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* projects/{{project}}/locations/{{location}}/functions/{{cloud_function}}

* {{project}}/{{location}}/{{cloud_function}}

* {{location}}/{{cloud_function}}

* {{cloud_function}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Functions (2nd gen) function IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:cloudfunctionsv2/functionIamMember:FunctionIamMember editor "projects/{{project}}/locations/{{location}}/functions/{{cloud_function}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:cloudfunctionsv2/functionIamMember:FunctionIamMember editor "projects/{{project}}/locations/{{location}}/functions/{{cloud_function}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:cloudfunctionsv2/functionIamMember:FunctionIamMember editor projects/{{project}}/locations/{{location}}/functions/{{cloud_function}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetFunctionIamMember

func GetFunctionIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FunctionIamMemberState, opts ...pulumi.ResourceOption) (*FunctionIamMember, error)

GetFunctionIamMember gets an existing FunctionIamMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFunctionIamMember

func NewFunctionIamMember(ctx *pulumi.Context,
	name string, args *FunctionIamMemberArgs, opts ...pulumi.ResourceOption) (*FunctionIamMember, error)

NewFunctionIamMember registers a new resource with the given unique name, arguments, and options.

func (*FunctionIamMember) ElementType

func (*FunctionIamMember) ElementType() reflect.Type

func (*FunctionIamMember) ToFunctionIamMemberOutput

func (i *FunctionIamMember) ToFunctionIamMemberOutput() FunctionIamMemberOutput

func (*FunctionIamMember) ToFunctionIamMemberOutputWithContext

func (i *FunctionIamMember) ToFunctionIamMemberOutputWithContext(ctx context.Context) FunctionIamMemberOutput

type FunctionIamMemberArgs

type FunctionIamMemberArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	CloudFunction pulumi.StringInput
	Condition     FunctionIamMemberConditionPtrInput
	// The location of this cloud function. Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `cloudfunctionsv2.FunctionIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a FunctionIamMember resource.

func (FunctionIamMemberArgs) ElementType

func (FunctionIamMemberArgs) ElementType() reflect.Type

type FunctionIamMemberArray

type FunctionIamMemberArray []FunctionIamMemberInput

func (FunctionIamMemberArray) ElementType

func (FunctionIamMemberArray) ElementType() reflect.Type

func (FunctionIamMemberArray) ToFunctionIamMemberArrayOutput

func (i FunctionIamMemberArray) ToFunctionIamMemberArrayOutput() FunctionIamMemberArrayOutput

func (FunctionIamMemberArray) ToFunctionIamMemberArrayOutputWithContext

func (i FunctionIamMemberArray) ToFunctionIamMemberArrayOutputWithContext(ctx context.Context) FunctionIamMemberArrayOutput

type FunctionIamMemberArrayInput

type FunctionIamMemberArrayInput interface {
	pulumi.Input

	ToFunctionIamMemberArrayOutput() FunctionIamMemberArrayOutput
	ToFunctionIamMemberArrayOutputWithContext(context.Context) FunctionIamMemberArrayOutput
}

FunctionIamMemberArrayInput is an input type that accepts FunctionIamMemberArray and FunctionIamMemberArrayOutput values. You can construct a concrete instance of `FunctionIamMemberArrayInput` via:

FunctionIamMemberArray{ FunctionIamMemberArgs{...} }

type FunctionIamMemberArrayOutput

type FunctionIamMemberArrayOutput struct{ *pulumi.OutputState }

func (FunctionIamMemberArrayOutput) ElementType

func (FunctionIamMemberArrayOutput) Index

func (FunctionIamMemberArrayOutput) ToFunctionIamMemberArrayOutput

func (o FunctionIamMemberArrayOutput) ToFunctionIamMemberArrayOutput() FunctionIamMemberArrayOutput

func (FunctionIamMemberArrayOutput) ToFunctionIamMemberArrayOutputWithContext

func (o FunctionIamMemberArrayOutput) ToFunctionIamMemberArrayOutputWithContext(ctx context.Context) FunctionIamMemberArrayOutput

type FunctionIamMemberCondition

type FunctionIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type FunctionIamMemberConditionArgs

type FunctionIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (FunctionIamMemberConditionArgs) ElementType

func (FunctionIamMemberConditionArgs) ToFunctionIamMemberConditionOutput

func (i FunctionIamMemberConditionArgs) ToFunctionIamMemberConditionOutput() FunctionIamMemberConditionOutput

func (FunctionIamMemberConditionArgs) ToFunctionIamMemberConditionOutputWithContext

func (i FunctionIamMemberConditionArgs) ToFunctionIamMemberConditionOutputWithContext(ctx context.Context) FunctionIamMemberConditionOutput

func (FunctionIamMemberConditionArgs) ToFunctionIamMemberConditionPtrOutput

func (i FunctionIamMemberConditionArgs) ToFunctionIamMemberConditionPtrOutput() FunctionIamMemberConditionPtrOutput

func (FunctionIamMemberConditionArgs) ToFunctionIamMemberConditionPtrOutputWithContext

func (i FunctionIamMemberConditionArgs) ToFunctionIamMemberConditionPtrOutputWithContext(ctx context.Context) FunctionIamMemberConditionPtrOutput

type FunctionIamMemberConditionInput

type FunctionIamMemberConditionInput interface {
	pulumi.Input

	ToFunctionIamMemberConditionOutput() FunctionIamMemberConditionOutput
	ToFunctionIamMemberConditionOutputWithContext(context.Context) FunctionIamMemberConditionOutput
}

FunctionIamMemberConditionInput is an input type that accepts FunctionIamMemberConditionArgs and FunctionIamMemberConditionOutput values. You can construct a concrete instance of `FunctionIamMemberConditionInput` via:

FunctionIamMemberConditionArgs{...}

type FunctionIamMemberConditionOutput

type FunctionIamMemberConditionOutput struct{ *pulumi.OutputState }

func (FunctionIamMemberConditionOutput) Description

func (FunctionIamMemberConditionOutput) ElementType

func (FunctionIamMemberConditionOutput) Expression

func (FunctionIamMemberConditionOutput) Title

func (FunctionIamMemberConditionOutput) ToFunctionIamMemberConditionOutput

func (o FunctionIamMemberConditionOutput) ToFunctionIamMemberConditionOutput() FunctionIamMemberConditionOutput

func (FunctionIamMemberConditionOutput) ToFunctionIamMemberConditionOutputWithContext

func (o FunctionIamMemberConditionOutput) ToFunctionIamMemberConditionOutputWithContext(ctx context.Context) FunctionIamMemberConditionOutput

func (FunctionIamMemberConditionOutput) ToFunctionIamMemberConditionPtrOutput

func (o FunctionIamMemberConditionOutput) ToFunctionIamMemberConditionPtrOutput() FunctionIamMemberConditionPtrOutput

func (FunctionIamMemberConditionOutput) ToFunctionIamMemberConditionPtrOutputWithContext

func (o FunctionIamMemberConditionOutput) ToFunctionIamMemberConditionPtrOutputWithContext(ctx context.Context) FunctionIamMemberConditionPtrOutput

type FunctionIamMemberConditionPtrInput

type FunctionIamMemberConditionPtrInput interface {
	pulumi.Input

	ToFunctionIamMemberConditionPtrOutput() FunctionIamMemberConditionPtrOutput
	ToFunctionIamMemberConditionPtrOutputWithContext(context.Context) FunctionIamMemberConditionPtrOutput
}

FunctionIamMemberConditionPtrInput is an input type that accepts FunctionIamMemberConditionArgs, FunctionIamMemberConditionPtr and FunctionIamMemberConditionPtrOutput values. You can construct a concrete instance of `FunctionIamMemberConditionPtrInput` via:

        FunctionIamMemberConditionArgs{...}

or:

        nil

type FunctionIamMemberConditionPtrOutput

type FunctionIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (FunctionIamMemberConditionPtrOutput) Description

func (FunctionIamMemberConditionPtrOutput) Elem

func (FunctionIamMemberConditionPtrOutput) ElementType

func (FunctionIamMemberConditionPtrOutput) Expression

func (FunctionIamMemberConditionPtrOutput) Title

func (FunctionIamMemberConditionPtrOutput) ToFunctionIamMemberConditionPtrOutput

func (o FunctionIamMemberConditionPtrOutput) ToFunctionIamMemberConditionPtrOutput() FunctionIamMemberConditionPtrOutput

func (FunctionIamMemberConditionPtrOutput) ToFunctionIamMemberConditionPtrOutputWithContext

func (o FunctionIamMemberConditionPtrOutput) ToFunctionIamMemberConditionPtrOutputWithContext(ctx context.Context) FunctionIamMemberConditionPtrOutput

type FunctionIamMemberInput

type FunctionIamMemberInput interface {
	pulumi.Input

	ToFunctionIamMemberOutput() FunctionIamMemberOutput
	ToFunctionIamMemberOutputWithContext(ctx context.Context) FunctionIamMemberOutput
}

type FunctionIamMemberMap

type FunctionIamMemberMap map[string]FunctionIamMemberInput

func (FunctionIamMemberMap) ElementType

func (FunctionIamMemberMap) ElementType() reflect.Type

func (FunctionIamMemberMap) ToFunctionIamMemberMapOutput

func (i FunctionIamMemberMap) ToFunctionIamMemberMapOutput() FunctionIamMemberMapOutput

func (FunctionIamMemberMap) ToFunctionIamMemberMapOutputWithContext

func (i FunctionIamMemberMap) ToFunctionIamMemberMapOutputWithContext(ctx context.Context) FunctionIamMemberMapOutput

type FunctionIamMemberMapInput

type FunctionIamMemberMapInput interface {
	pulumi.Input

	ToFunctionIamMemberMapOutput() FunctionIamMemberMapOutput
	ToFunctionIamMemberMapOutputWithContext(context.Context) FunctionIamMemberMapOutput
}

FunctionIamMemberMapInput is an input type that accepts FunctionIamMemberMap and FunctionIamMemberMapOutput values. You can construct a concrete instance of `FunctionIamMemberMapInput` via:

FunctionIamMemberMap{ "key": FunctionIamMemberArgs{...} }

type FunctionIamMemberMapOutput

type FunctionIamMemberMapOutput struct{ *pulumi.OutputState }

func (FunctionIamMemberMapOutput) ElementType

func (FunctionIamMemberMapOutput) ElementType() reflect.Type

func (FunctionIamMemberMapOutput) MapIndex

func (FunctionIamMemberMapOutput) ToFunctionIamMemberMapOutput

func (o FunctionIamMemberMapOutput) ToFunctionIamMemberMapOutput() FunctionIamMemberMapOutput

func (FunctionIamMemberMapOutput) ToFunctionIamMemberMapOutputWithContext

func (o FunctionIamMemberMapOutput) ToFunctionIamMemberMapOutputWithContext(ctx context.Context) FunctionIamMemberMapOutput

type FunctionIamMemberOutput

type FunctionIamMemberOutput struct{ *pulumi.OutputState }

func (FunctionIamMemberOutput) CloudFunction

func (o FunctionIamMemberOutput) CloudFunction() pulumi.StringOutput

Used to find the parent resource to bind the IAM policy to

func (FunctionIamMemberOutput) Condition

func (FunctionIamMemberOutput) ElementType

func (FunctionIamMemberOutput) ElementType() reflect.Type

func (FunctionIamMemberOutput) Etag

(Computed) The etag of the IAM policy.

func (FunctionIamMemberOutput) Location

The location of this cloud function. Used to find the parent resource to bind the IAM policy to

func (FunctionIamMemberOutput) Member

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (FunctionIamMemberOutput) Project

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (FunctionIamMemberOutput) Role

The role that should be applied. Only one `cloudfunctionsv2.FunctionIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (FunctionIamMemberOutput) ToFunctionIamMemberOutput

func (o FunctionIamMemberOutput) ToFunctionIamMemberOutput() FunctionIamMemberOutput

func (FunctionIamMemberOutput) ToFunctionIamMemberOutputWithContext

func (o FunctionIamMemberOutput) ToFunctionIamMemberOutputWithContext(ctx context.Context) FunctionIamMemberOutput

type FunctionIamMemberState

type FunctionIamMemberState struct {
	// Used to find the parent resource to bind the IAM policy to
	CloudFunction pulumi.StringPtrInput
	Condition     FunctionIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location of this cloud function. Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `cloudfunctionsv2.FunctionIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (FunctionIamMemberState) ElementType

func (FunctionIamMemberState) ElementType() reflect.Type

type FunctionIamPolicy

type FunctionIamPolicy struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	CloudFunction pulumi.StringOutput `pulumi:"cloudFunction"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location of this cloud function. Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
}

Three different resources help you manage your IAM policy for Cloud Functions (2nd gen) function. Each of these resources serves a different use case:

* `cloudfunctionsv2.FunctionIamPolicy`: Authoritative. Sets the IAM policy for the function and replaces any existing policy already attached. * `cloudfunctionsv2.FunctionIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the function are preserved. * `cloudfunctionsv2.FunctionIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the function are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `cloudfunctionsv2.FunctionIamPolicy`: Retrieves the IAM policy for the function

> **Note:** `cloudfunctionsv2.FunctionIamPolicy` **cannot** be used in conjunction with `cloudfunctionsv2.FunctionIamBinding` and `cloudfunctionsv2.FunctionIamMember` or they will fight over what your policy should be.

> **Note:** `cloudfunctionsv2.FunctionIamBinding` resources **can be** used in conjunction with `cloudfunctionsv2.FunctionIamMember` resources **only if** they do not grant privilege to the same role.

## google\_cloudfunctions2\_function\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudfunctionsv2.NewFunctionIamPolicy(ctx, "policy", &cloudfunctionsv2.FunctionIamPolicyArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			PolicyData:    pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfunctionsv2.NewFunctionIamBinding(ctx, "binding", &cloudfunctionsv2.FunctionIamBindingArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			Role:          pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfunctionsv2.NewFunctionIamMember(ctx, "member", &cloudfunctionsv2.FunctionIamMemberArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			Role:          pulumi.String("roles/viewer"),
			Member:        pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudfunctionsv2.NewFunctionIamPolicy(ctx, "policy", &cloudfunctionsv2.FunctionIamPolicyArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			PolicyData:    pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfunctionsv2.NewFunctionIamBinding(ctx, "binding", &cloudfunctionsv2.FunctionIamBindingArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			Role:          pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudfunctions2\_function\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfunctionsv2.NewFunctionIamMember(ctx, "member", &cloudfunctionsv2.FunctionIamMemberArgs{
			Project:       pulumi.Any(function.Project),
			Location:      pulumi.Any(function.Location),
			CloudFunction: pulumi.Any(function.Name),
			Role:          pulumi.String("roles/viewer"),
			Member:        pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* projects/{{project}}/locations/{{location}}/functions/{{cloud_function}}

* {{project}}/{{location}}/{{cloud_function}}

* {{location}}/{{cloud_function}}

* {{cloud_function}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Functions (2nd gen) function IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:cloudfunctionsv2/functionIamPolicy:FunctionIamPolicy editor "projects/{{project}}/locations/{{location}}/functions/{{cloud_function}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:cloudfunctionsv2/functionIamPolicy:FunctionIamPolicy editor "projects/{{project}}/locations/{{location}}/functions/{{cloud_function}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:cloudfunctionsv2/functionIamPolicy:FunctionIamPolicy editor projects/{{project}}/locations/{{location}}/functions/{{cloud_function}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetFunctionIamPolicy

func GetFunctionIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FunctionIamPolicyState, opts ...pulumi.ResourceOption) (*FunctionIamPolicy, error)

GetFunctionIamPolicy gets an existing FunctionIamPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFunctionIamPolicy

func NewFunctionIamPolicy(ctx *pulumi.Context,
	name string, args *FunctionIamPolicyArgs, opts ...pulumi.ResourceOption) (*FunctionIamPolicy, error)

NewFunctionIamPolicy registers a new resource with the given unique name, arguments, and options.

func (*FunctionIamPolicy) ElementType

func (*FunctionIamPolicy) ElementType() reflect.Type

func (*FunctionIamPolicy) ToFunctionIamPolicyOutput

func (i *FunctionIamPolicy) ToFunctionIamPolicyOutput() FunctionIamPolicyOutput

func (*FunctionIamPolicy) ToFunctionIamPolicyOutputWithContext

func (i *FunctionIamPolicy) ToFunctionIamPolicyOutputWithContext(ctx context.Context) FunctionIamPolicyOutput

type FunctionIamPolicyArgs

type FunctionIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	CloudFunction pulumi.StringInput
	// The location of this cloud function. Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a FunctionIamPolicy resource.

func (FunctionIamPolicyArgs) ElementType

func (FunctionIamPolicyArgs) ElementType() reflect.Type

type FunctionIamPolicyArray

type FunctionIamPolicyArray []FunctionIamPolicyInput

func (FunctionIamPolicyArray) ElementType

func (FunctionIamPolicyArray) ElementType() reflect.Type

func (FunctionIamPolicyArray) ToFunctionIamPolicyArrayOutput

func (i FunctionIamPolicyArray) ToFunctionIamPolicyArrayOutput() FunctionIamPolicyArrayOutput

func (FunctionIamPolicyArray) ToFunctionIamPolicyArrayOutputWithContext

func (i FunctionIamPolicyArray) ToFunctionIamPolicyArrayOutputWithContext(ctx context.Context) FunctionIamPolicyArrayOutput

type FunctionIamPolicyArrayInput

type FunctionIamPolicyArrayInput interface {
	pulumi.Input

	ToFunctionIamPolicyArrayOutput() FunctionIamPolicyArrayOutput
	ToFunctionIamPolicyArrayOutputWithContext(context.Context) FunctionIamPolicyArrayOutput
}

FunctionIamPolicyArrayInput is an input type that accepts FunctionIamPolicyArray and FunctionIamPolicyArrayOutput values. You can construct a concrete instance of `FunctionIamPolicyArrayInput` via:

FunctionIamPolicyArray{ FunctionIamPolicyArgs{...} }

type FunctionIamPolicyArrayOutput

type FunctionIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (FunctionIamPolicyArrayOutput) ElementType

func (FunctionIamPolicyArrayOutput) Index

func (FunctionIamPolicyArrayOutput) ToFunctionIamPolicyArrayOutput

func (o FunctionIamPolicyArrayOutput) ToFunctionIamPolicyArrayOutput() FunctionIamPolicyArrayOutput

func (FunctionIamPolicyArrayOutput) ToFunctionIamPolicyArrayOutputWithContext

func (o FunctionIamPolicyArrayOutput) ToFunctionIamPolicyArrayOutputWithContext(ctx context.Context) FunctionIamPolicyArrayOutput

type FunctionIamPolicyInput

type FunctionIamPolicyInput interface {
	pulumi.Input

	ToFunctionIamPolicyOutput() FunctionIamPolicyOutput
	ToFunctionIamPolicyOutputWithContext(ctx context.Context) FunctionIamPolicyOutput
}

type FunctionIamPolicyMap

type FunctionIamPolicyMap map[string]FunctionIamPolicyInput

func (FunctionIamPolicyMap) ElementType

func (FunctionIamPolicyMap) ElementType() reflect.Type

func (FunctionIamPolicyMap) ToFunctionIamPolicyMapOutput

func (i FunctionIamPolicyMap) ToFunctionIamPolicyMapOutput() FunctionIamPolicyMapOutput

func (FunctionIamPolicyMap) ToFunctionIamPolicyMapOutputWithContext

func (i FunctionIamPolicyMap) ToFunctionIamPolicyMapOutputWithContext(ctx context.Context) FunctionIamPolicyMapOutput

type FunctionIamPolicyMapInput

type FunctionIamPolicyMapInput interface {
	pulumi.Input

	ToFunctionIamPolicyMapOutput() FunctionIamPolicyMapOutput
	ToFunctionIamPolicyMapOutputWithContext(context.Context) FunctionIamPolicyMapOutput
}

FunctionIamPolicyMapInput is an input type that accepts FunctionIamPolicyMap and FunctionIamPolicyMapOutput values. You can construct a concrete instance of `FunctionIamPolicyMapInput` via:

FunctionIamPolicyMap{ "key": FunctionIamPolicyArgs{...} }

type FunctionIamPolicyMapOutput

type FunctionIamPolicyMapOutput struct{ *pulumi.OutputState }

func (FunctionIamPolicyMapOutput) ElementType

func (FunctionIamPolicyMapOutput) ElementType() reflect.Type

func (FunctionIamPolicyMapOutput) MapIndex

func (FunctionIamPolicyMapOutput) ToFunctionIamPolicyMapOutput

func (o FunctionIamPolicyMapOutput) ToFunctionIamPolicyMapOutput() FunctionIamPolicyMapOutput

func (FunctionIamPolicyMapOutput) ToFunctionIamPolicyMapOutputWithContext

func (o FunctionIamPolicyMapOutput) ToFunctionIamPolicyMapOutputWithContext(ctx context.Context) FunctionIamPolicyMapOutput

type FunctionIamPolicyOutput

type FunctionIamPolicyOutput struct{ *pulumi.OutputState }

func (FunctionIamPolicyOutput) CloudFunction

func (o FunctionIamPolicyOutput) CloudFunction() pulumi.StringOutput

Used to find the parent resource to bind the IAM policy to

func (FunctionIamPolicyOutput) ElementType

func (FunctionIamPolicyOutput) ElementType() reflect.Type

func (FunctionIamPolicyOutput) Etag

(Computed) The etag of the IAM policy.

func (FunctionIamPolicyOutput) Location

The location of this cloud function. Used to find the parent resource to bind the IAM policy to

func (FunctionIamPolicyOutput) PolicyData

The policy data generated by a `organizations.getIAMPolicy` data source.

func (FunctionIamPolicyOutput) Project

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (FunctionIamPolicyOutput) ToFunctionIamPolicyOutput

func (o FunctionIamPolicyOutput) ToFunctionIamPolicyOutput() FunctionIamPolicyOutput

func (FunctionIamPolicyOutput) ToFunctionIamPolicyOutputWithContext

func (o FunctionIamPolicyOutput) ToFunctionIamPolicyOutputWithContext(ctx context.Context) FunctionIamPolicyOutput

type FunctionIamPolicyState

type FunctionIamPolicyState struct {
	// Used to find the parent resource to bind the IAM policy to
	CloudFunction pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location of this cloud function. Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
}

func (FunctionIamPolicyState) ElementType

func (FunctionIamPolicyState) ElementType() reflect.Type

type FunctionInput

type FunctionInput interface {
	pulumi.Input

	ToFunctionOutput() FunctionOutput
	ToFunctionOutputWithContext(ctx context.Context) FunctionOutput
}

type FunctionMap

type FunctionMap map[string]FunctionInput

func (FunctionMap) ElementType

func (FunctionMap) ElementType() reflect.Type

func (FunctionMap) ToFunctionMapOutput

func (i FunctionMap) ToFunctionMapOutput() FunctionMapOutput

func (FunctionMap) ToFunctionMapOutputWithContext

func (i FunctionMap) ToFunctionMapOutputWithContext(ctx context.Context) FunctionMapOutput

type FunctionMapInput

type FunctionMapInput interface {
	pulumi.Input

	ToFunctionMapOutput() FunctionMapOutput
	ToFunctionMapOutputWithContext(context.Context) FunctionMapOutput
}

FunctionMapInput is an input type that accepts FunctionMap and FunctionMapOutput values. You can construct a concrete instance of `FunctionMapInput` via:

FunctionMap{ "key": FunctionArgs{...} }

type FunctionMapOutput

type FunctionMapOutput struct{ *pulumi.OutputState }

func (FunctionMapOutput) ElementType

func (FunctionMapOutput) ElementType() reflect.Type

func (FunctionMapOutput) MapIndex

func (FunctionMapOutput) ToFunctionMapOutput

func (o FunctionMapOutput) ToFunctionMapOutput() FunctionMapOutput

func (FunctionMapOutput) ToFunctionMapOutputWithContext

func (o FunctionMapOutput) ToFunctionMapOutputWithContext(ctx context.Context) FunctionMapOutput

type FunctionOutput

type FunctionOutput struct{ *pulumi.OutputState }

func (FunctionOutput) BuildConfig

Describes the Build step of the function that builds a container from the given source. Structure is documented below.

func (FunctionOutput) Description

func (o FunctionOutput) Description() pulumi.StringPtrOutput

User-provided description of a function.

func (FunctionOutput) EffectiveLabels

func (o FunctionOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (FunctionOutput) ElementType

func (FunctionOutput) ElementType() reflect.Type

func (FunctionOutput) Environment

func (o FunctionOutput) Environment() pulumi.StringOutput

The environment the function is hosted on.

func (FunctionOutput) EventTrigger

An Eventarc trigger managed by Google Cloud Functions that fires events in response to a condition in another service. Structure is documented below.

func (FunctionOutput) KmsKeyName

func (o FunctionOutput) KmsKeyName() pulumi.StringPtrOutput

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}.

func (FunctionOutput) Labels

A set of key/value label pairs associated with this Cloud Function.

**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field `effectiveLabels` for all of the labels present on the resource.

func (FunctionOutput) Location

func (o FunctionOutput) Location() pulumi.StringOutput

The location of this cloud function.

***

func (FunctionOutput) Name

A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`.

func (FunctionOutput) Project

func (o FunctionOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (FunctionOutput) PulumiLabels

func (o FunctionOutput) PulumiLabels() pulumi.StringMapOutput

The combination of labels configured directly on the resource and default labels configured on the provider.

func (FunctionOutput) ServiceConfig

Describes the Service being deployed. Structure is documented below.

func (FunctionOutput) State

Describes the current state of the function.

func (FunctionOutput) ToFunctionOutput

func (o FunctionOutput) ToFunctionOutput() FunctionOutput

func (FunctionOutput) ToFunctionOutputWithContext

func (o FunctionOutput) ToFunctionOutputWithContext(ctx context.Context) FunctionOutput

func (FunctionOutput) UpdateTime

func (o FunctionOutput) UpdateTime() pulumi.StringOutput

The last update timestamp of a Cloud Function.

func (FunctionOutput) Url

Output only. The deployed url for the function.

type FunctionServiceConfig

type FunctionServiceConfig struct {
	// Whether 100% of traffic is routed to the latest revision. Defaults to true.
	AllTrafficOnLatestRevision *bool `pulumi:"allTrafficOnLatestRevision"`
	// The number of CPUs used in a single container instance. Default value is calculated from available memory.
	AvailableCpu *string `pulumi:"availableCpu"`
	// The amount of memory available for a function.
	// Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is
	// supplied the value is interpreted as bytes.
	AvailableMemory *string `pulumi:"availableMemory"`
	// Environment variables that shall be available during function execution.
	EnvironmentVariables map[string]string `pulumi:"environmentVariables"`
	// (Output)
	// URIs of the Service deployed
	GcfUri *string `pulumi:"gcfUri"`
	// Available ingress settings. Defaults to "ALLOW_ALL" if unspecified.
	// Default value is `ALLOW_ALL`.
	// Possible values are: `ALLOW_ALL`, `ALLOW_INTERNAL_ONLY`, `ALLOW_INTERNAL_AND_GCLB`.
	IngressSettings *string `pulumi:"ingressSettings"`
	// The limit on the maximum number of function instances that may coexist at a
	// given time.
	MaxInstanceCount *int `pulumi:"maxInstanceCount"`
	// Sets the maximum number of concurrent requests that each instance can receive. Defaults to 1.
	MaxInstanceRequestConcurrency *int `pulumi:"maxInstanceRequestConcurrency"`
	// The limit on the minimum number of function instances that may coexist at a
	// given time.
	MinInstanceCount *int `pulumi:"minInstanceCount"`
	// Secret environment variables configuration.
	// Structure is documented below.
	SecretEnvironmentVariables []FunctionServiceConfigSecretEnvironmentVariable `pulumi:"secretEnvironmentVariables"`
	// Secret volumes configuration.
	// Structure is documented below.
	SecretVolumes []FunctionServiceConfigSecretVolume `pulumi:"secretVolumes"`
	// Name of the service associated with a Function.
	Service *string `pulumi:"service"`
	// The email of the service account for this function.
	ServiceAccountEmail *string `pulumi:"serviceAccountEmail"`
	// The function execution timeout. Execution is considered failed and
	// can be terminated if the function is not completed at the end of the
	// timeout period. Defaults to 60 seconds.
	TimeoutSeconds *int `pulumi:"timeoutSeconds"`
	// (Output)
	// URI of the Service deployed.
	Uri *string `pulumi:"uri"`
	// The Serverless VPC Access connector that this cloud function can connect to.
	VpcConnector *string `pulumi:"vpcConnector"`
	// Available egress settings.
	// Possible values are: `VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED`, `PRIVATE_RANGES_ONLY`, `ALL_TRAFFIC`.
	VpcConnectorEgressSettings *string `pulumi:"vpcConnectorEgressSettings"`
}

type FunctionServiceConfigArgs

type FunctionServiceConfigArgs struct {
	// Whether 100% of traffic is routed to the latest revision. Defaults to true.
	AllTrafficOnLatestRevision pulumi.BoolPtrInput `pulumi:"allTrafficOnLatestRevision"`
	// The number of CPUs used in a single container instance. Default value is calculated from available memory.
	AvailableCpu pulumi.StringPtrInput `pulumi:"availableCpu"`
	// The amount of memory available for a function.
	// Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is
	// supplied the value is interpreted as bytes.
	AvailableMemory pulumi.StringPtrInput `pulumi:"availableMemory"`
	// Environment variables that shall be available during function execution.
	EnvironmentVariables pulumi.StringMapInput `pulumi:"environmentVariables"`
	// (Output)
	// URIs of the Service deployed
	GcfUri pulumi.StringPtrInput `pulumi:"gcfUri"`
	// Available ingress settings. Defaults to "ALLOW_ALL" if unspecified.
	// Default value is `ALLOW_ALL`.
	// Possible values are: `ALLOW_ALL`, `ALLOW_INTERNAL_ONLY`, `ALLOW_INTERNAL_AND_GCLB`.
	IngressSettings pulumi.StringPtrInput `pulumi:"ingressSettings"`
	// The limit on the maximum number of function instances that may coexist at a
	// given time.
	MaxInstanceCount pulumi.IntPtrInput `pulumi:"maxInstanceCount"`
	// Sets the maximum number of concurrent requests that each instance can receive. Defaults to 1.
	MaxInstanceRequestConcurrency pulumi.IntPtrInput `pulumi:"maxInstanceRequestConcurrency"`
	// The limit on the minimum number of function instances that may coexist at a
	// given time.
	MinInstanceCount pulumi.IntPtrInput `pulumi:"minInstanceCount"`
	// Secret environment variables configuration.
	// Structure is documented below.
	SecretEnvironmentVariables FunctionServiceConfigSecretEnvironmentVariableArrayInput `pulumi:"secretEnvironmentVariables"`
	// Secret volumes configuration.
	// Structure is documented below.
	SecretVolumes FunctionServiceConfigSecretVolumeArrayInput `pulumi:"secretVolumes"`
	// Name of the service associated with a Function.
	Service pulumi.StringPtrInput `pulumi:"service"`
	// The email of the service account for this function.
	ServiceAccountEmail pulumi.StringPtrInput `pulumi:"serviceAccountEmail"`
	// The function execution timeout. Execution is considered failed and
	// can be terminated if the function is not completed at the end of the
	// timeout period. Defaults to 60 seconds.
	TimeoutSeconds pulumi.IntPtrInput `pulumi:"timeoutSeconds"`
	// (Output)
	// URI of the Service deployed.
	Uri pulumi.StringPtrInput `pulumi:"uri"`
	// The Serverless VPC Access connector that this cloud function can connect to.
	VpcConnector pulumi.StringPtrInput `pulumi:"vpcConnector"`
	// Available egress settings.
	// Possible values are: `VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED`, `PRIVATE_RANGES_ONLY`, `ALL_TRAFFIC`.
	VpcConnectorEgressSettings pulumi.StringPtrInput `pulumi:"vpcConnectorEgressSettings"`
}

func (FunctionServiceConfigArgs) ElementType

func (FunctionServiceConfigArgs) ElementType() reflect.Type

func (FunctionServiceConfigArgs) ToFunctionServiceConfigOutput

func (i FunctionServiceConfigArgs) ToFunctionServiceConfigOutput() FunctionServiceConfigOutput

func (FunctionServiceConfigArgs) ToFunctionServiceConfigOutputWithContext

func (i FunctionServiceConfigArgs) ToFunctionServiceConfigOutputWithContext(ctx context.Context) FunctionServiceConfigOutput

func (FunctionServiceConfigArgs) ToFunctionServiceConfigPtrOutput

func (i FunctionServiceConfigArgs) ToFunctionServiceConfigPtrOutput() FunctionServiceConfigPtrOutput

func (FunctionServiceConfigArgs) ToFunctionServiceConfigPtrOutputWithContext

func (i FunctionServiceConfigArgs) ToFunctionServiceConfigPtrOutputWithContext(ctx context.Context) FunctionServiceConfigPtrOutput

type FunctionServiceConfigInput

type FunctionServiceConfigInput interface {
	pulumi.Input

	ToFunctionServiceConfigOutput() FunctionServiceConfigOutput
	ToFunctionServiceConfigOutputWithContext(context.Context) FunctionServiceConfigOutput
}

FunctionServiceConfigInput is an input type that accepts FunctionServiceConfigArgs and FunctionServiceConfigOutput values. You can construct a concrete instance of `FunctionServiceConfigInput` via:

FunctionServiceConfigArgs{...}

type FunctionServiceConfigOutput

type FunctionServiceConfigOutput struct{ *pulumi.OutputState }

func (FunctionServiceConfigOutput) AllTrafficOnLatestRevision

func (o FunctionServiceConfigOutput) AllTrafficOnLatestRevision() pulumi.BoolPtrOutput

Whether 100% of traffic is routed to the latest revision. Defaults to true.

func (FunctionServiceConfigOutput) AvailableCpu

The number of CPUs used in a single container instance. Default value is calculated from available memory.

func (FunctionServiceConfigOutput) AvailableMemory

The amount of memory available for a function. Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is supplied the value is interpreted as bytes.

func (FunctionServiceConfigOutput) ElementType

func (FunctionServiceConfigOutput) EnvironmentVariables

func (o FunctionServiceConfigOutput) EnvironmentVariables() pulumi.StringMapOutput

Environment variables that shall be available during function execution.

func (FunctionServiceConfigOutput) GcfUri

(Output) URIs of the Service deployed

func (FunctionServiceConfigOutput) IngressSettings

Available ingress settings. Defaults to "ALLOW_ALL" if unspecified. Default value is `ALLOW_ALL`. Possible values are: `ALLOW_ALL`, `ALLOW_INTERNAL_ONLY`, `ALLOW_INTERNAL_AND_GCLB`.

func (FunctionServiceConfigOutput) MaxInstanceCount

func (o FunctionServiceConfigOutput) MaxInstanceCount() pulumi.IntPtrOutput

The limit on the maximum number of function instances that may coexist at a given time.

func (FunctionServiceConfigOutput) MaxInstanceRequestConcurrency

func (o FunctionServiceConfigOutput) MaxInstanceRequestConcurrency() pulumi.IntPtrOutput

Sets the maximum number of concurrent requests that each instance can receive. Defaults to 1.

func (FunctionServiceConfigOutput) MinInstanceCount

func (o FunctionServiceConfigOutput) MinInstanceCount() pulumi.IntPtrOutput

The limit on the minimum number of function instances that may coexist at a given time.

func (FunctionServiceConfigOutput) SecretEnvironmentVariables

Secret environment variables configuration. Structure is documented below.

func (FunctionServiceConfigOutput) SecretVolumes

Secret volumes configuration. Structure is documented below.

func (FunctionServiceConfigOutput) Service

Name of the service associated with a Function.

func (FunctionServiceConfigOutput) ServiceAccountEmail

func (o FunctionServiceConfigOutput) ServiceAccountEmail() pulumi.StringPtrOutput

The email of the service account for this function.

func (FunctionServiceConfigOutput) TimeoutSeconds

func (o FunctionServiceConfigOutput) TimeoutSeconds() pulumi.IntPtrOutput

The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.

func (FunctionServiceConfigOutput) ToFunctionServiceConfigOutput

func (o FunctionServiceConfigOutput) ToFunctionServiceConfigOutput() FunctionServiceConfigOutput

func (FunctionServiceConfigOutput) ToFunctionServiceConfigOutputWithContext

func (o FunctionServiceConfigOutput) ToFunctionServiceConfigOutputWithContext(ctx context.Context) FunctionServiceConfigOutput

func (FunctionServiceConfigOutput) ToFunctionServiceConfigPtrOutput

func (o FunctionServiceConfigOutput) ToFunctionServiceConfigPtrOutput() FunctionServiceConfigPtrOutput

func (FunctionServiceConfigOutput) ToFunctionServiceConfigPtrOutputWithContext

func (o FunctionServiceConfigOutput) ToFunctionServiceConfigPtrOutputWithContext(ctx context.Context) FunctionServiceConfigPtrOutput

func (FunctionServiceConfigOutput) Uri

(Output) URI of the Service deployed.

func (FunctionServiceConfigOutput) VpcConnector

The Serverless VPC Access connector that this cloud function can connect to.

func (FunctionServiceConfigOutput) VpcConnectorEgressSettings

func (o FunctionServiceConfigOutput) VpcConnectorEgressSettings() pulumi.StringPtrOutput

Available egress settings. Possible values are: `VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED`, `PRIVATE_RANGES_ONLY`, `ALL_TRAFFIC`.

type FunctionServiceConfigPtrInput

type FunctionServiceConfigPtrInput interface {
	pulumi.Input

	ToFunctionServiceConfigPtrOutput() FunctionServiceConfigPtrOutput
	ToFunctionServiceConfigPtrOutputWithContext(context.Context) FunctionServiceConfigPtrOutput
}

FunctionServiceConfigPtrInput is an input type that accepts FunctionServiceConfigArgs, FunctionServiceConfigPtr and FunctionServiceConfigPtrOutput values. You can construct a concrete instance of `FunctionServiceConfigPtrInput` via:

        FunctionServiceConfigArgs{...}

or:

        nil

type FunctionServiceConfigPtrOutput

type FunctionServiceConfigPtrOutput struct{ *pulumi.OutputState }

func (FunctionServiceConfigPtrOutput) AllTrafficOnLatestRevision

func (o FunctionServiceConfigPtrOutput) AllTrafficOnLatestRevision() pulumi.BoolPtrOutput

Whether 100% of traffic is routed to the latest revision. Defaults to true.

func (FunctionServiceConfigPtrOutput) AvailableCpu

The number of CPUs used in a single container instance. Default value is calculated from available memory.

func (FunctionServiceConfigPtrOutput) AvailableMemory

The amount of memory available for a function. Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is supplied the value is interpreted as bytes.

func (FunctionServiceConfigPtrOutput) Elem

func (FunctionServiceConfigPtrOutput) ElementType

func (FunctionServiceConfigPtrOutput) EnvironmentVariables

func (o FunctionServiceConfigPtrOutput) EnvironmentVariables() pulumi.StringMapOutput

Environment variables that shall be available during function execution.

func (FunctionServiceConfigPtrOutput) GcfUri

(Output) URIs of the Service deployed

func (FunctionServiceConfigPtrOutput) IngressSettings

Available ingress settings. Defaults to "ALLOW_ALL" if unspecified. Default value is `ALLOW_ALL`. Possible values are: `ALLOW_ALL`, `ALLOW_INTERNAL_ONLY`, `ALLOW_INTERNAL_AND_GCLB`.

func (FunctionServiceConfigPtrOutput) MaxInstanceCount

func (o FunctionServiceConfigPtrOutput) MaxInstanceCount() pulumi.IntPtrOutput

The limit on the maximum number of function instances that may coexist at a given time.

func (FunctionServiceConfigPtrOutput) MaxInstanceRequestConcurrency

func (o FunctionServiceConfigPtrOutput) MaxInstanceRequestConcurrency() pulumi.IntPtrOutput

Sets the maximum number of concurrent requests that each instance can receive. Defaults to 1.

func (FunctionServiceConfigPtrOutput) MinInstanceCount

func (o FunctionServiceConfigPtrOutput) MinInstanceCount() pulumi.IntPtrOutput

The limit on the minimum number of function instances that may coexist at a given time.

func (FunctionServiceConfigPtrOutput) SecretEnvironmentVariables

Secret environment variables configuration. Structure is documented below.

func (FunctionServiceConfigPtrOutput) SecretVolumes

Secret volumes configuration. Structure is documented below.

func (FunctionServiceConfigPtrOutput) Service

Name of the service associated with a Function.

func (FunctionServiceConfigPtrOutput) ServiceAccountEmail

func (o FunctionServiceConfigPtrOutput) ServiceAccountEmail() pulumi.StringPtrOutput

The email of the service account for this function.

func (FunctionServiceConfigPtrOutput) TimeoutSeconds

The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.

func (FunctionServiceConfigPtrOutput) ToFunctionServiceConfigPtrOutput

func (o FunctionServiceConfigPtrOutput) ToFunctionServiceConfigPtrOutput() FunctionServiceConfigPtrOutput

func (FunctionServiceConfigPtrOutput) ToFunctionServiceConfigPtrOutputWithContext

func (o FunctionServiceConfigPtrOutput) ToFunctionServiceConfigPtrOutputWithContext(ctx context.Context) FunctionServiceConfigPtrOutput

func (FunctionServiceConfigPtrOutput) Uri

(Output) URI of the Service deployed.

func (FunctionServiceConfigPtrOutput) VpcConnector

The Serverless VPC Access connector that this cloud function can connect to.

func (FunctionServiceConfigPtrOutput) VpcConnectorEgressSettings

func (o FunctionServiceConfigPtrOutput) VpcConnectorEgressSettings() pulumi.StringPtrOutput

Available egress settings. Possible values are: `VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED`, `PRIVATE_RANGES_ONLY`, `ALL_TRAFFIC`.

type FunctionServiceConfigSecretEnvironmentVariable

type FunctionServiceConfigSecretEnvironmentVariable struct {
	// Name of the environment variable.
	Key string `pulumi:"key"`
	// Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.
	ProjectId string `pulumi:"projectId"`
	// Name of the secret in secret manager (not the full resource name).
	Secret string `pulumi:"secret"`
	// Version of the secret (version number or the string 'latest'). It is recommended to use a numeric version for secret environment variables as any updates to the secret value is not reflected until new instances start.
	Version string `pulumi:"version"`
}

type FunctionServiceConfigSecretEnvironmentVariableArgs

type FunctionServiceConfigSecretEnvironmentVariableArgs struct {
	// Name of the environment variable.
	Key pulumi.StringInput `pulumi:"key"`
	// Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.
	ProjectId pulumi.StringInput `pulumi:"projectId"`
	// Name of the secret in secret manager (not the full resource name).
	Secret pulumi.StringInput `pulumi:"secret"`
	// Version of the secret (version number or the string 'latest'). It is recommended to use a numeric version for secret environment variables as any updates to the secret value is not reflected until new instances start.
	Version pulumi.StringInput `pulumi:"version"`
}

func (FunctionServiceConfigSecretEnvironmentVariableArgs) ElementType

func (FunctionServiceConfigSecretEnvironmentVariableArgs) ToFunctionServiceConfigSecretEnvironmentVariableOutput

func (i FunctionServiceConfigSecretEnvironmentVariableArgs) ToFunctionServiceConfigSecretEnvironmentVariableOutput() FunctionServiceConfigSecretEnvironmentVariableOutput

func (FunctionServiceConfigSecretEnvironmentVariableArgs) ToFunctionServiceConfigSecretEnvironmentVariableOutputWithContext

func (i FunctionServiceConfigSecretEnvironmentVariableArgs) ToFunctionServiceConfigSecretEnvironmentVariableOutputWithContext(ctx context.Context) FunctionServiceConfigSecretEnvironmentVariableOutput

type FunctionServiceConfigSecretEnvironmentVariableArray

type FunctionServiceConfigSecretEnvironmentVariableArray []FunctionServiceConfigSecretEnvironmentVariableInput

func (FunctionServiceConfigSecretEnvironmentVariableArray) ElementType

func (FunctionServiceConfigSecretEnvironmentVariableArray) ToFunctionServiceConfigSecretEnvironmentVariableArrayOutput

func (i FunctionServiceConfigSecretEnvironmentVariableArray) ToFunctionServiceConfigSecretEnvironmentVariableArrayOutput() FunctionServiceConfigSecretEnvironmentVariableArrayOutput

func (FunctionServiceConfigSecretEnvironmentVariableArray) ToFunctionServiceConfigSecretEnvironmentVariableArrayOutputWithContext

func (i FunctionServiceConfigSecretEnvironmentVariableArray) ToFunctionServiceConfigSecretEnvironmentVariableArrayOutputWithContext(ctx context.Context) FunctionServiceConfigSecretEnvironmentVariableArrayOutput

type FunctionServiceConfigSecretEnvironmentVariableArrayInput

type FunctionServiceConfigSecretEnvironmentVariableArrayInput interface {
	pulumi.Input

	ToFunctionServiceConfigSecretEnvironmentVariableArrayOutput() FunctionServiceConfigSecretEnvironmentVariableArrayOutput
	ToFunctionServiceConfigSecretEnvironmentVariableArrayOutputWithContext(context.Context) FunctionServiceConfigSecretEnvironmentVariableArrayOutput
}

FunctionServiceConfigSecretEnvironmentVariableArrayInput is an input type that accepts FunctionServiceConfigSecretEnvironmentVariableArray and FunctionServiceConfigSecretEnvironmentVariableArrayOutput values. You can construct a concrete instance of `FunctionServiceConfigSecretEnvironmentVariableArrayInput` via:

FunctionServiceConfigSecretEnvironmentVariableArray{ FunctionServiceConfigSecretEnvironmentVariableArgs{...} }

type FunctionServiceConfigSecretEnvironmentVariableArrayOutput

type FunctionServiceConfigSecretEnvironmentVariableArrayOutput struct{ *pulumi.OutputState }

func (FunctionServiceConfigSecretEnvironmentVariableArrayOutput) ElementType

func (FunctionServiceConfigSecretEnvironmentVariableArrayOutput) Index

func (FunctionServiceConfigSecretEnvironmentVariableArrayOutput) ToFunctionServiceConfigSecretEnvironmentVariableArrayOutput

func (FunctionServiceConfigSecretEnvironmentVariableArrayOutput) ToFunctionServiceConfigSecretEnvironmentVariableArrayOutputWithContext

func (o FunctionServiceConfigSecretEnvironmentVariableArrayOutput) ToFunctionServiceConfigSecretEnvironmentVariableArrayOutputWithContext(ctx context.Context) FunctionServiceConfigSecretEnvironmentVariableArrayOutput

type FunctionServiceConfigSecretEnvironmentVariableInput

type FunctionServiceConfigSecretEnvironmentVariableInput interface {
	pulumi.Input

	ToFunctionServiceConfigSecretEnvironmentVariableOutput() FunctionServiceConfigSecretEnvironmentVariableOutput
	ToFunctionServiceConfigSecretEnvironmentVariableOutputWithContext(context.Context) FunctionServiceConfigSecretEnvironmentVariableOutput
}

FunctionServiceConfigSecretEnvironmentVariableInput is an input type that accepts FunctionServiceConfigSecretEnvironmentVariableArgs and FunctionServiceConfigSecretEnvironmentVariableOutput values. You can construct a concrete instance of `FunctionServiceConfigSecretEnvironmentVariableInput` via:

FunctionServiceConfigSecretEnvironmentVariableArgs{...}

type FunctionServiceConfigSecretEnvironmentVariableOutput

type FunctionServiceConfigSecretEnvironmentVariableOutput struct{ *pulumi.OutputState }

func (FunctionServiceConfigSecretEnvironmentVariableOutput) ElementType

func (FunctionServiceConfigSecretEnvironmentVariableOutput) Key

Name of the environment variable.

func (FunctionServiceConfigSecretEnvironmentVariableOutput) ProjectId

Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.

func (FunctionServiceConfigSecretEnvironmentVariableOutput) Secret

Name of the secret in secret manager (not the full resource name).

func (FunctionServiceConfigSecretEnvironmentVariableOutput) ToFunctionServiceConfigSecretEnvironmentVariableOutput

func (FunctionServiceConfigSecretEnvironmentVariableOutput) ToFunctionServiceConfigSecretEnvironmentVariableOutputWithContext

func (o FunctionServiceConfigSecretEnvironmentVariableOutput) ToFunctionServiceConfigSecretEnvironmentVariableOutputWithContext(ctx context.Context) FunctionServiceConfigSecretEnvironmentVariableOutput

func (FunctionServiceConfigSecretEnvironmentVariableOutput) Version

Version of the secret (version number or the string 'latest'). It is recommended to use a numeric version for secret environment variables as any updates to the secret value is not reflected until new instances start.

type FunctionServiceConfigSecretVolume

type FunctionServiceConfigSecretVolume struct {
	// The path within the container to mount the secret volume. For example, setting the mountPath as /etc/secrets would mount the secret value files under the /etc/secrets directory. This directory will also be completely shadowed and unavailable to mount any other secrets. Recommended mount path: /etc/secrets
	MountPath string `pulumi:"mountPath"`
	// Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.
	ProjectId string `pulumi:"projectId"`
	// Name of the secret in secret manager (not the full resource name).
	Secret string `pulumi:"secret"`
	// List of secret versions to mount for this secret. If empty, the latest version of the secret will be made available in a file named after the secret under the mount point.'
	// Structure is documented below.
	Versions []FunctionServiceConfigSecretVolumeVersion `pulumi:"versions"`
}

type FunctionServiceConfigSecretVolumeArgs

type FunctionServiceConfigSecretVolumeArgs struct {
	// The path within the container to mount the secret volume. For example, setting the mountPath as /etc/secrets would mount the secret value files under the /etc/secrets directory. This directory will also be completely shadowed and unavailable to mount any other secrets. Recommended mount path: /etc/secrets
	MountPath pulumi.StringInput `pulumi:"mountPath"`
	// Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.
	ProjectId pulumi.StringInput `pulumi:"projectId"`
	// Name of the secret in secret manager (not the full resource name).
	Secret pulumi.StringInput `pulumi:"secret"`
	// List of secret versions to mount for this secret. If empty, the latest version of the secret will be made available in a file named after the secret under the mount point.'
	// Structure is documented below.
	Versions FunctionServiceConfigSecretVolumeVersionArrayInput `pulumi:"versions"`
}

func (FunctionServiceConfigSecretVolumeArgs) ElementType

func (FunctionServiceConfigSecretVolumeArgs) ToFunctionServiceConfigSecretVolumeOutput

func (i FunctionServiceConfigSecretVolumeArgs) ToFunctionServiceConfigSecretVolumeOutput() FunctionServiceConfigSecretVolumeOutput

func (FunctionServiceConfigSecretVolumeArgs) ToFunctionServiceConfigSecretVolumeOutputWithContext

func (i FunctionServiceConfigSecretVolumeArgs) ToFunctionServiceConfigSecretVolumeOutputWithContext(ctx context.Context) FunctionServiceConfigSecretVolumeOutput

type FunctionServiceConfigSecretVolumeArray

type FunctionServiceConfigSecretVolumeArray []FunctionServiceConfigSecretVolumeInput

func (FunctionServiceConfigSecretVolumeArray) ElementType

func (FunctionServiceConfigSecretVolumeArray) ToFunctionServiceConfigSecretVolumeArrayOutput

func (i FunctionServiceConfigSecretVolumeArray) ToFunctionServiceConfigSecretVolumeArrayOutput() FunctionServiceConfigSecretVolumeArrayOutput

func (FunctionServiceConfigSecretVolumeArray) ToFunctionServiceConfigSecretVolumeArrayOutputWithContext

func (i FunctionServiceConfigSecretVolumeArray) ToFunctionServiceConfigSecretVolumeArrayOutputWithContext(ctx context.Context) FunctionServiceConfigSecretVolumeArrayOutput

type FunctionServiceConfigSecretVolumeArrayInput

type FunctionServiceConfigSecretVolumeArrayInput interface {
	pulumi.Input

	ToFunctionServiceConfigSecretVolumeArrayOutput() FunctionServiceConfigSecretVolumeArrayOutput
	ToFunctionServiceConfigSecretVolumeArrayOutputWithContext(context.Context) FunctionServiceConfigSecretVolumeArrayOutput
}

FunctionServiceConfigSecretVolumeArrayInput is an input type that accepts FunctionServiceConfigSecretVolumeArray and FunctionServiceConfigSecretVolumeArrayOutput values. You can construct a concrete instance of `FunctionServiceConfigSecretVolumeArrayInput` via:

FunctionServiceConfigSecretVolumeArray{ FunctionServiceConfigSecretVolumeArgs{...} }

type FunctionServiceConfigSecretVolumeArrayOutput

type FunctionServiceConfigSecretVolumeArrayOutput struct{ *pulumi.OutputState }

func (FunctionServiceConfigSecretVolumeArrayOutput) ElementType

func (FunctionServiceConfigSecretVolumeArrayOutput) Index

func (FunctionServiceConfigSecretVolumeArrayOutput) ToFunctionServiceConfigSecretVolumeArrayOutput

func (o FunctionServiceConfigSecretVolumeArrayOutput) ToFunctionServiceConfigSecretVolumeArrayOutput() FunctionServiceConfigSecretVolumeArrayOutput

func (FunctionServiceConfigSecretVolumeArrayOutput) ToFunctionServiceConfigSecretVolumeArrayOutputWithContext

func (o FunctionServiceConfigSecretVolumeArrayOutput) ToFunctionServiceConfigSecretVolumeArrayOutputWithContext(ctx context.Context) FunctionServiceConfigSecretVolumeArrayOutput

type FunctionServiceConfigSecretVolumeInput

type FunctionServiceConfigSecretVolumeInput interface {
	pulumi.Input

	ToFunctionServiceConfigSecretVolumeOutput() FunctionServiceConfigSecretVolumeOutput
	ToFunctionServiceConfigSecretVolumeOutputWithContext(context.Context) FunctionServiceConfigSecretVolumeOutput
}

FunctionServiceConfigSecretVolumeInput is an input type that accepts FunctionServiceConfigSecretVolumeArgs and FunctionServiceConfigSecretVolumeOutput values. You can construct a concrete instance of `FunctionServiceConfigSecretVolumeInput` via:

FunctionServiceConfigSecretVolumeArgs{...}

type FunctionServiceConfigSecretVolumeOutput

type FunctionServiceConfigSecretVolumeOutput struct{ *pulumi.OutputState }

func (FunctionServiceConfigSecretVolumeOutput) ElementType

func (FunctionServiceConfigSecretVolumeOutput) MountPath

The path within the container to mount the secret volume. For example, setting the mountPath as /etc/secrets would mount the secret value files under the /etc/secrets directory. This directory will also be completely shadowed and unavailable to mount any other secrets. Recommended mount path: /etc/secrets

func (FunctionServiceConfigSecretVolumeOutput) ProjectId

Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.

func (FunctionServiceConfigSecretVolumeOutput) Secret

Name of the secret in secret manager (not the full resource name).

func (FunctionServiceConfigSecretVolumeOutput) ToFunctionServiceConfigSecretVolumeOutput

func (o FunctionServiceConfigSecretVolumeOutput) ToFunctionServiceConfigSecretVolumeOutput() FunctionServiceConfigSecretVolumeOutput

func (FunctionServiceConfigSecretVolumeOutput) ToFunctionServiceConfigSecretVolumeOutputWithContext

func (o FunctionServiceConfigSecretVolumeOutput) ToFunctionServiceConfigSecretVolumeOutputWithContext(ctx context.Context) FunctionServiceConfigSecretVolumeOutput

func (FunctionServiceConfigSecretVolumeOutput) Versions

List of secret versions to mount for this secret. If empty, the latest version of the secret will be made available in a file named after the secret under the mount point.' Structure is documented below.

type FunctionServiceConfigSecretVolumeVersion

type FunctionServiceConfigSecretVolumeVersion struct {
	// Relative path of the file under the mount path where the secret value for this version will be fetched and made available. For example, setting the mountPath as '/etc/secrets' and path as secretFoo would mount the secret value file at /etc/secrets/secret_foo.
	Path string `pulumi:"path"`
	// Version of the secret (version number or the string 'latest'). It is preferable to use latest version with secret volumes as secret value changes are reflected immediately.
	Version string `pulumi:"version"`
}

type FunctionServiceConfigSecretVolumeVersionArgs

type FunctionServiceConfigSecretVolumeVersionArgs struct {
	// Relative path of the file under the mount path where the secret value for this version will be fetched and made available. For example, setting the mountPath as '/etc/secrets' and path as secretFoo would mount the secret value file at /etc/secrets/secret_foo.
	Path pulumi.StringInput `pulumi:"path"`
	// Version of the secret (version number or the string 'latest'). It is preferable to use latest version with secret volumes as secret value changes are reflected immediately.
	Version pulumi.StringInput `pulumi:"version"`
}

func (FunctionServiceConfigSecretVolumeVersionArgs) ElementType

func (FunctionServiceConfigSecretVolumeVersionArgs) ToFunctionServiceConfigSecretVolumeVersionOutput

func (i FunctionServiceConfigSecretVolumeVersionArgs) ToFunctionServiceConfigSecretVolumeVersionOutput() FunctionServiceConfigSecretVolumeVersionOutput

func (FunctionServiceConfigSecretVolumeVersionArgs) ToFunctionServiceConfigSecretVolumeVersionOutputWithContext

func (i FunctionServiceConfigSecretVolumeVersionArgs) ToFunctionServiceConfigSecretVolumeVersionOutputWithContext(ctx context.Context) FunctionServiceConfigSecretVolumeVersionOutput

type FunctionServiceConfigSecretVolumeVersionArray

type FunctionServiceConfigSecretVolumeVersionArray []FunctionServiceConfigSecretVolumeVersionInput

func (FunctionServiceConfigSecretVolumeVersionArray) ElementType

func (FunctionServiceConfigSecretVolumeVersionArray) ToFunctionServiceConfigSecretVolumeVersionArrayOutput

func (i FunctionServiceConfigSecretVolumeVersionArray) ToFunctionServiceConfigSecretVolumeVersionArrayOutput() FunctionServiceConfigSecretVolumeVersionArrayOutput

func (FunctionServiceConfigSecretVolumeVersionArray) ToFunctionServiceConfigSecretVolumeVersionArrayOutputWithContext

func (i FunctionServiceConfigSecretVolumeVersionArray) ToFunctionServiceConfigSecretVolumeVersionArrayOutputWithContext(ctx context.Context) FunctionServiceConfigSecretVolumeVersionArrayOutput

type FunctionServiceConfigSecretVolumeVersionArrayInput

type FunctionServiceConfigSecretVolumeVersionArrayInput interface {
	pulumi.Input

	ToFunctionServiceConfigSecretVolumeVersionArrayOutput() FunctionServiceConfigSecretVolumeVersionArrayOutput
	ToFunctionServiceConfigSecretVolumeVersionArrayOutputWithContext(context.Context) FunctionServiceConfigSecretVolumeVersionArrayOutput
}

FunctionServiceConfigSecretVolumeVersionArrayInput is an input type that accepts FunctionServiceConfigSecretVolumeVersionArray and FunctionServiceConfigSecretVolumeVersionArrayOutput values. You can construct a concrete instance of `FunctionServiceConfigSecretVolumeVersionArrayInput` via:

FunctionServiceConfigSecretVolumeVersionArray{ FunctionServiceConfigSecretVolumeVersionArgs{...} }

type FunctionServiceConfigSecretVolumeVersionArrayOutput

type FunctionServiceConfigSecretVolumeVersionArrayOutput struct{ *pulumi.OutputState }

func (FunctionServiceConfigSecretVolumeVersionArrayOutput) ElementType

func (FunctionServiceConfigSecretVolumeVersionArrayOutput) Index

func (FunctionServiceConfigSecretVolumeVersionArrayOutput) ToFunctionServiceConfigSecretVolumeVersionArrayOutput

func (o FunctionServiceConfigSecretVolumeVersionArrayOutput) ToFunctionServiceConfigSecretVolumeVersionArrayOutput() FunctionServiceConfigSecretVolumeVersionArrayOutput

func (FunctionServiceConfigSecretVolumeVersionArrayOutput) ToFunctionServiceConfigSecretVolumeVersionArrayOutputWithContext

func (o FunctionServiceConfigSecretVolumeVersionArrayOutput) ToFunctionServiceConfigSecretVolumeVersionArrayOutputWithContext(ctx context.Context) FunctionServiceConfigSecretVolumeVersionArrayOutput

type FunctionServiceConfigSecretVolumeVersionInput

type FunctionServiceConfigSecretVolumeVersionInput interface {
	pulumi.Input

	ToFunctionServiceConfigSecretVolumeVersionOutput() FunctionServiceConfigSecretVolumeVersionOutput
	ToFunctionServiceConfigSecretVolumeVersionOutputWithContext(context.Context) FunctionServiceConfigSecretVolumeVersionOutput
}

FunctionServiceConfigSecretVolumeVersionInput is an input type that accepts FunctionServiceConfigSecretVolumeVersionArgs and FunctionServiceConfigSecretVolumeVersionOutput values. You can construct a concrete instance of `FunctionServiceConfigSecretVolumeVersionInput` via:

FunctionServiceConfigSecretVolumeVersionArgs{...}

type FunctionServiceConfigSecretVolumeVersionOutput

type FunctionServiceConfigSecretVolumeVersionOutput struct{ *pulumi.OutputState }

func (FunctionServiceConfigSecretVolumeVersionOutput) ElementType

func (FunctionServiceConfigSecretVolumeVersionOutput) Path

Relative path of the file under the mount path where the secret value for this version will be fetched and made available. For example, setting the mountPath as '/etc/secrets' and path as secretFoo would mount the secret value file at /etc/secrets/secret_foo.

func (FunctionServiceConfigSecretVolumeVersionOutput) ToFunctionServiceConfigSecretVolumeVersionOutput

func (o FunctionServiceConfigSecretVolumeVersionOutput) ToFunctionServiceConfigSecretVolumeVersionOutput() FunctionServiceConfigSecretVolumeVersionOutput

func (FunctionServiceConfigSecretVolumeVersionOutput) ToFunctionServiceConfigSecretVolumeVersionOutputWithContext

func (o FunctionServiceConfigSecretVolumeVersionOutput) ToFunctionServiceConfigSecretVolumeVersionOutputWithContext(ctx context.Context) FunctionServiceConfigSecretVolumeVersionOutput

func (FunctionServiceConfigSecretVolumeVersionOutput) Version

Version of the secret (version number or the string 'latest'). It is preferable to use latest version with secret volumes as secret value changes are reflected immediately.

type FunctionState

type FunctionState struct {
	// Describes the Build step of the function that builds a container
	// from the given source.
	// Structure is documented below.
	BuildConfig FunctionBuildConfigPtrInput
	// User-provided description of a function.
	Description pulumi.StringPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// The environment the function is hosted on.
	Environment pulumi.StringPtrInput
	// An Eventarc trigger managed by Google Cloud Functions that fires events in
	// response to a condition in another service.
	// Structure is documented below.
	EventTrigger FunctionEventTriggerPtrInput
	// 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.StringPtrInput
	// A set of key/value label pairs associated with this Cloud Function.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The location of this cloud function.
	//
	// ***
	Location pulumi.StringPtrInput
	// A user-defined name of the function. Function names must
	// be unique globally and match pattern `projects/*/locations/*/functions/*`.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// Describes the Service being deployed.
	// Structure is documented below.
	ServiceConfig FunctionServiceConfigPtrInput
	// Describes the current state of the function.
	State pulumi.StringPtrInput
	// The last update timestamp of a Cloud Function.
	UpdateTime pulumi.StringPtrInput
	// Output only. The deployed url for the function.
	Url pulumi.StringPtrInput
}

func (FunctionState) ElementType

func (FunctionState) ElementType() reflect.Type

type GetFunctionBuildConfig

type GetFunctionBuildConfig struct {
	// The Cloud Build name of the latest successful
	// deployment of the function.
	Build string `pulumi:"build"`
	// User managed repository created in Artifact Registry optionally with a customer managed encryption key.
	DockerRepository string `pulumi:"dockerRepository"`
	// The name of the function (as defined in source code) that will be executed.
	// Defaults to the resource name suffix, if not specified. For backward
	// compatibility, if function with given name is not found, then the system
	// will try to use function named "function". For Node.js this is name of a
	// function exported by the module specified in source_location.
	EntryPoint string `pulumi:"entryPoint"`
	// User-provided build-time environment variables for the function.
	EnvironmentVariables map[string]string `pulumi:"environmentVariables"`
	// The runtime in which to run the function. Required when deploying a new
	// function, optional when updating an existing function.
	Runtime string `pulumi:"runtime"`
	// The fully-qualified name of the service account to be used for building the container.
	ServiceAccount string `pulumi:"serviceAccount"`
	// The location of the function source code.
	Sources []GetFunctionBuildConfigSource `pulumi:"sources"`
	// Name of the Cloud Build Custom Worker Pool that should be used to build the function.
	WorkerPool string `pulumi:"workerPool"`
}

type GetFunctionBuildConfigArgs

type GetFunctionBuildConfigArgs struct {
	// The Cloud Build name of the latest successful
	// deployment of the function.
	Build pulumi.StringInput `pulumi:"build"`
	// User managed repository created in Artifact Registry optionally with a customer managed encryption key.
	DockerRepository pulumi.StringInput `pulumi:"dockerRepository"`
	// The name of the function (as defined in source code) that will be executed.
	// Defaults to the resource name suffix, if not specified. For backward
	// compatibility, if function with given name is not found, then the system
	// will try to use function named "function". For Node.js this is name of a
	// function exported by the module specified in source_location.
	EntryPoint pulumi.StringInput `pulumi:"entryPoint"`
	// User-provided build-time environment variables for the function.
	EnvironmentVariables pulumi.StringMapInput `pulumi:"environmentVariables"`
	// The runtime in which to run the function. Required when deploying a new
	// function, optional when updating an existing function.
	Runtime pulumi.StringInput `pulumi:"runtime"`
	// The fully-qualified name of the service account to be used for building the container.
	ServiceAccount pulumi.StringInput `pulumi:"serviceAccount"`
	// The location of the function source code.
	Sources GetFunctionBuildConfigSourceArrayInput `pulumi:"sources"`
	// Name of the Cloud Build Custom Worker Pool that should be used to build the function.
	WorkerPool pulumi.StringInput `pulumi:"workerPool"`
}

func (GetFunctionBuildConfigArgs) ElementType

func (GetFunctionBuildConfigArgs) ElementType() reflect.Type

func (GetFunctionBuildConfigArgs) ToGetFunctionBuildConfigOutput

func (i GetFunctionBuildConfigArgs) ToGetFunctionBuildConfigOutput() GetFunctionBuildConfigOutput

func (GetFunctionBuildConfigArgs) ToGetFunctionBuildConfigOutputWithContext

func (i GetFunctionBuildConfigArgs) ToGetFunctionBuildConfigOutputWithContext(ctx context.Context) GetFunctionBuildConfigOutput

type GetFunctionBuildConfigArray

type GetFunctionBuildConfigArray []GetFunctionBuildConfigInput

func (GetFunctionBuildConfigArray) ElementType

func (GetFunctionBuildConfigArray) ToGetFunctionBuildConfigArrayOutput

func (i GetFunctionBuildConfigArray) ToGetFunctionBuildConfigArrayOutput() GetFunctionBuildConfigArrayOutput

func (GetFunctionBuildConfigArray) ToGetFunctionBuildConfigArrayOutputWithContext

func (i GetFunctionBuildConfigArray) ToGetFunctionBuildConfigArrayOutputWithContext(ctx context.Context) GetFunctionBuildConfigArrayOutput

type GetFunctionBuildConfigArrayInput

type GetFunctionBuildConfigArrayInput interface {
	pulumi.Input

	ToGetFunctionBuildConfigArrayOutput() GetFunctionBuildConfigArrayOutput
	ToGetFunctionBuildConfigArrayOutputWithContext(context.Context) GetFunctionBuildConfigArrayOutput
}

GetFunctionBuildConfigArrayInput is an input type that accepts GetFunctionBuildConfigArray and GetFunctionBuildConfigArrayOutput values. You can construct a concrete instance of `GetFunctionBuildConfigArrayInput` via:

GetFunctionBuildConfigArray{ GetFunctionBuildConfigArgs{...} }

type GetFunctionBuildConfigArrayOutput

type GetFunctionBuildConfigArrayOutput struct{ *pulumi.OutputState }

func (GetFunctionBuildConfigArrayOutput) ElementType

func (GetFunctionBuildConfigArrayOutput) Index

func (GetFunctionBuildConfigArrayOutput) ToGetFunctionBuildConfigArrayOutput

func (o GetFunctionBuildConfigArrayOutput) ToGetFunctionBuildConfigArrayOutput() GetFunctionBuildConfigArrayOutput

func (GetFunctionBuildConfigArrayOutput) ToGetFunctionBuildConfigArrayOutputWithContext

func (o GetFunctionBuildConfigArrayOutput) ToGetFunctionBuildConfigArrayOutputWithContext(ctx context.Context) GetFunctionBuildConfigArrayOutput

type GetFunctionBuildConfigInput

type GetFunctionBuildConfigInput interface {
	pulumi.Input

	ToGetFunctionBuildConfigOutput() GetFunctionBuildConfigOutput
	ToGetFunctionBuildConfigOutputWithContext(context.Context) GetFunctionBuildConfigOutput
}

GetFunctionBuildConfigInput is an input type that accepts GetFunctionBuildConfigArgs and GetFunctionBuildConfigOutput values. You can construct a concrete instance of `GetFunctionBuildConfigInput` via:

GetFunctionBuildConfigArgs{...}

type GetFunctionBuildConfigOutput

type GetFunctionBuildConfigOutput struct{ *pulumi.OutputState }

func (GetFunctionBuildConfigOutput) Build

The Cloud Build name of the latest successful deployment of the function.

func (GetFunctionBuildConfigOutput) DockerRepository

func (o GetFunctionBuildConfigOutput) DockerRepository() pulumi.StringOutput

User managed repository created in Artifact Registry optionally with a customer managed encryption key.

func (GetFunctionBuildConfigOutput) ElementType

func (GetFunctionBuildConfigOutput) EntryPoint

The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named "function". For Node.js this is name of a function exported by the module specified in source_location.

func (GetFunctionBuildConfigOutput) EnvironmentVariables

func (o GetFunctionBuildConfigOutput) EnvironmentVariables() pulumi.StringMapOutput

User-provided build-time environment variables for the function.

func (GetFunctionBuildConfigOutput) Runtime

The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function.

func (GetFunctionBuildConfigOutput) ServiceAccount added in v7.20.0

The fully-qualified name of the service account to be used for building the container.

func (GetFunctionBuildConfigOutput) Sources

The location of the function source code.

func (GetFunctionBuildConfigOutput) ToGetFunctionBuildConfigOutput

func (o GetFunctionBuildConfigOutput) ToGetFunctionBuildConfigOutput() GetFunctionBuildConfigOutput

func (GetFunctionBuildConfigOutput) ToGetFunctionBuildConfigOutputWithContext

func (o GetFunctionBuildConfigOutput) ToGetFunctionBuildConfigOutputWithContext(ctx context.Context) GetFunctionBuildConfigOutput

func (GetFunctionBuildConfigOutput) WorkerPool

Name of the Cloud Build Custom Worker Pool that should be used to build the function.

type GetFunctionBuildConfigSource

type GetFunctionBuildConfigSource struct {
	// If provided, get the source from this location in a Cloud Source Repository.
	RepoSources []GetFunctionBuildConfigSourceRepoSource `pulumi:"repoSources"`
	// If provided, get the source from this location in Google Cloud Storage.
	StorageSources []GetFunctionBuildConfigSourceStorageSource `pulumi:"storageSources"`
}

type GetFunctionBuildConfigSourceArgs

type GetFunctionBuildConfigSourceArgs struct {
	// If provided, get the source from this location in a Cloud Source Repository.
	RepoSources GetFunctionBuildConfigSourceRepoSourceArrayInput `pulumi:"repoSources"`
	// If provided, get the source from this location in Google Cloud Storage.
	StorageSources GetFunctionBuildConfigSourceStorageSourceArrayInput `pulumi:"storageSources"`
}

func (GetFunctionBuildConfigSourceArgs) ElementType

func (GetFunctionBuildConfigSourceArgs) ToGetFunctionBuildConfigSourceOutput

func (i GetFunctionBuildConfigSourceArgs) ToGetFunctionBuildConfigSourceOutput() GetFunctionBuildConfigSourceOutput

func (GetFunctionBuildConfigSourceArgs) ToGetFunctionBuildConfigSourceOutputWithContext

func (i GetFunctionBuildConfigSourceArgs) ToGetFunctionBuildConfigSourceOutputWithContext(ctx context.Context) GetFunctionBuildConfigSourceOutput

type GetFunctionBuildConfigSourceArray

type GetFunctionBuildConfigSourceArray []GetFunctionBuildConfigSourceInput

func (GetFunctionBuildConfigSourceArray) ElementType

func (GetFunctionBuildConfigSourceArray) ToGetFunctionBuildConfigSourceArrayOutput

func (i GetFunctionBuildConfigSourceArray) ToGetFunctionBuildConfigSourceArrayOutput() GetFunctionBuildConfigSourceArrayOutput

func (GetFunctionBuildConfigSourceArray) ToGetFunctionBuildConfigSourceArrayOutputWithContext

func (i GetFunctionBuildConfigSourceArray) ToGetFunctionBuildConfigSourceArrayOutputWithContext(ctx context.Context) GetFunctionBuildConfigSourceArrayOutput

type GetFunctionBuildConfigSourceArrayInput

type GetFunctionBuildConfigSourceArrayInput interface {
	pulumi.Input

	ToGetFunctionBuildConfigSourceArrayOutput() GetFunctionBuildConfigSourceArrayOutput
	ToGetFunctionBuildConfigSourceArrayOutputWithContext(context.Context) GetFunctionBuildConfigSourceArrayOutput
}

GetFunctionBuildConfigSourceArrayInput is an input type that accepts GetFunctionBuildConfigSourceArray and GetFunctionBuildConfigSourceArrayOutput values. You can construct a concrete instance of `GetFunctionBuildConfigSourceArrayInput` via:

GetFunctionBuildConfigSourceArray{ GetFunctionBuildConfigSourceArgs{...} }

type GetFunctionBuildConfigSourceArrayOutput

type GetFunctionBuildConfigSourceArrayOutput struct{ *pulumi.OutputState }

func (GetFunctionBuildConfigSourceArrayOutput) ElementType

func (GetFunctionBuildConfigSourceArrayOutput) Index

func (GetFunctionBuildConfigSourceArrayOutput) ToGetFunctionBuildConfigSourceArrayOutput

func (o GetFunctionBuildConfigSourceArrayOutput) ToGetFunctionBuildConfigSourceArrayOutput() GetFunctionBuildConfigSourceArrayOutput

func (GetFunctionBuildConfigSourceArrayOutput) ToGetFunctionBuildConfigSourceArrayOutputWithContext

func (o GetFunctionBuildConfigSourceArrayOutput) ToGetFunctionBuildConfigSourceArrayOutputWithContext(ctx context.Context) GetFunctionBuildConfigSourceArrayOutput

type GetFunctionBuildConfigSourceInput

type GetFunctionBuildConfigSourceInput interface {
	pulumi.Input

	ToGetFunctionBuildConfigSourceOutput() GetFunctionBuildConfigSourceOutput
	ToGetFunctionBuildConfigSourceOutputWithContext(context.Context) GetFunctionBuildConfigSourceOutput
}

GetFunctionBuildConfigSourceInput is an input type that accepts GetFunctionBuildConfigSourceArgs and GetFunctionBuildConfigSourceOutput values. You can construct a concrete instance of `GetFunctionBuildConfigSourceInput` via:

GetFunctionBuildConfigSourceArgs{...}

type GetFunctionBuildConfigSourceOutput

type GetFunctionBuildConfigSourceOutput struct{ *pulumi.OutputState }

func (GetFunctionBuildConfigSourceOutput) ElementType

func (GetFunctionBuildConfigSourceOutput) RepoSources

If provided, get the source from this location in a Cloud Source Repository.

func (GetFunctionBuildConfigSourceOutput) StorageSources

If provided, get the source from this location in Google Cloud Storage.

func (GetFunctionBuildConfigSourceOutput) ToGetFunctionBuildConfigSourceOutput

func (o GetFunctionBuildConfigSourceOutput) ToGetFunctionBuildConfigSourceOutput() GetFunctionBuildConfigSourceOutput

func (GetFunctionBuildConfigSourceOutput) ToGetFunctionBuildConfigSourceOutputWithContext

func (o GetFunctionBuildConfigSourceOutput) ToGetFunctionBuildConfigSourceOutputWithContext(ctx context.Context) GetFunctionBuildConfigSourceOutput

type GetFunctionBuildConfigSourceRepoSource

type GetFunctionBuildConfigSourceRepoSource struct {
	// Regex matching branches to build.
	BranchName string `pulumi:"branchName"`
	// Regex matching tags to build.
	CommitSha string `pulumi:"commitSha"`
	// Directory, relative to the source root, in which to run the build.
	Dir string `pulumi:"dir"`
	// Only trigger a build if the revision regex does
	// NOT match the revision regex.
	InvertRegex bool `pulumi:"invertRegex"`
	// ID of the project that owns the Cloud Source Repository. If omitted, the
	// project ID requesting the build is assumed.
	ProjectId string `pulumi:"projectId"`
	// Name of the Cloud Source Repository.
	RepoName string `pulumi:"repoName"`
	// Regex matching tags to build.
	TagName string `pulumi:"tagName"`
}

type GetFunctionBuildConfigSourceRepoSourceArgs

type GetFunctionBuildConfigSourceRepoSourceArgs struct {
	// Regex matching branches to build.
	BranchName pulumi.StringInput `pulumi:"branchName"`
	// Regex matching tags to build.
	CommitSha pulumi.StringInput `pulumi:"commitSha"`
	// Directory, relative to the source root, in which to run the build.
	Dir pulumi.StringInput `pulumi:"dir"`
	// Only trigger a build if the revision regex does
	// NOT match the revision regex.
	InvertRegex pulumi.BoolInput `pulumi:"invertRegex"`
	// ID of the project that owns the Cloud Source Repository. If omitted, the
	// project ID requesting the build is assumed.
	ProjectId pulumi.StringInput `pulumi:"projectId"`
	// Name of the Cloud Source Repository.
	RepoName pulumi.StringInput `pulumi:"repoName"`
	// Regex matching tags to build.
	TagName pulumi.StringInput `pulumi:"tagName"`
}

func (GetFunctionBuildConfigSourceRepoSourceArgs) ElementType

func (GetFunctionBuildConfigSourceRepoSourceArgs) ToGetFunctionBuildConfigSourceRepoSourceOutput

func (i GetFunctionBuildConfigSourceRepoSourceArgs) ToGetFunctionBuildConfigSourceRepoSourceOutput() GetFunctionBuildConfigSourceRepoSourceOutput

func (GetFunctionBuildConfigSourceRepoSourceArgs) ToGetFunctionBuildConfigSourceRepoSourceOutputWithContext

func (i GetFunctionBuildConfigSourceRepoSourceArgs) ToGetFunctionBuildConfigSourceRepoSourceOutputWithContext(ctx context.Context) GetFunctionBuildConfigSourceRepoSourceOutput

type GetFunctionBuildConfigSourceRepoSourceArray

type GetFunctionBuildConfigSourceRepoSourceArray []GetFunctionBuildConfigSourceRepoSourceInput

func (GetFunctionBuildConfigSourceRepoSourceArray) ElementType

func (GetFunctionBuildConfigSourceRepoSourceArray) ToGetFunctionBuildConfigSourceRepoSourceArrayOutput

func (i GetFunctionBuildConfigSourceRepoSourceArray) ToGetFunctionBuildConfigSourceRepoSourceArrayOutput() GetFunctionBuildConfigSourceRepoSourceArrayOutput

func (GetFunctionBuildConfigSourceRepoSourceArray) ToGetFunctionBuildConfigSourceRepoSourceArrayOutputWithContext

func (i GetFunctionBuildConfigSourceRepoSourceArray) ToGetFunctionBuildConfigSourceRepoSourceArrayOutputWithContext(ctx context.Context) GetFunctionBuildConfigSourceRepoSourceArrayOutput

type GetFunctionBuildConfigSourceRepoSourceArrayInput

type GetFunctionBuildConfigSourceRepoSourceArrayInput interface {
	pulumi.Input

	ToGetFunctionBuildConfigSourceRepoSourceArrayOutput() GetFunctionBuildConfigSourceRepoSourceArrayOutput
	ToGetFunctionBuildConfigSourceRepoSourceArrayOutputWithContext(context.Context) GetFunctionBuildConfigSourceRepoSourceArrayOutput
}

GetFunctionBuildConfigSourceRepoSourceArrayInput is an input type that accepts GetFunctionBuildConfigSourceRepoSourceArray and GetFunctionBuildConfigSourceRepoSourceArrayOutput values. You can construct a concrete instance of `GetFunctionBuildConfigSourceRepoSourceArrayInput` via:

GetFunctionBuildConfigSourceRepoSourceArray{ GetFunctionBuildConfigSourceRepoSourceArgs{...} }

type GetFunctionBuildConfigSourceRepoSourceArrayOutput

type GetFunctionBuildConfigSourceRepoSourceArrayOutput struct{ *pulumi.OutputState }

func (GetFunctionBuildConfigSourceRepoSourceArrayOutput) ElementType

func (GetFunctionBuildConfigSourceRepoSourceArrayOutput) Index

func (GetFunctionBuildConfigSourceRepoSourceArrayOutput) ToGetFunctionBuildConfigSourceRepoSourceArrayOutput

func (o GetFunctionBuildConfigSourceRepoSourceArrayOutput) ToGetFunctionBuildConfigSourceRepoSourceArrayOutput() GetFunctionBuildConfigSourceRepoSourceArrayOutput

func (GetFunctionBuildConfigSourceRepoSourceArrayOutput) ToGetFunctionBuildConfigSourceRepoSourceArrayOutputWithContext

func (o GetFunctionBuildConfigSourceRepoSourceArrayOutput) ToGetFunctionBuildConfigSourceRepoSourceArrayOutputWithContext(ctx context.Context) GetFunctionBuildConfigSourceRepoSourceArrayOutput

type GetFunctionBuildConfigSourceRepoSourceInput

type GetFunctionBuildConfigSourceRepoSourceInput interface {
	pulumi.Input

	ToGetFunctionBuildConfigSourceRepoSourceOutput() GetFunctionBuildConfigSourceRepoSourceOutput
	ToGetFunctionBuildConfigSourceRepoSourceOutputWithContext(context.Context) GetFunctionBuildConfigSourceRepoSourceOutput
}

GetFunctionBuildConfigSourceRepoSourceInput is an input type that accepts GetFunctionBuildConfigSourceRepoSourceArgs and GetFunctionBuildConfigSourceRepoSourceOutput values. You can construct a concrete instance of `GetFunctionBuildConfigSourceRepoSourceInput` via:

GetFunctionBuildConfigSourceRepoSourceArgs{...}

type GetFunctionBuildConfigSourceRepoSourceOutput

type GetFunctionBuildConfigSourceRepoSourceOutput struct{ *pulumi.OutputState }

func (GetFunctionBuildConfigSourceRepoSourceOutput) BranchName

Regex matching branches to build.

func (GetFunctionBuildConfigSourceRepoSourceOutput) CommitSha

Regex matching tags to build.

func (GetFunctionBuildConfigSourceRepoSourceOutput) Dir

Directory, relative to the source root, in which to run the build.

func (GetFunctionBuildConfigSourceRepoSourceOutput) ElementType

func (GetFunctionBuildConfigSourceRepoSourceOutput) InvertRegex

Only trigger a build if the revision regex does NOT match the revision regex.

func (GetFunctionBuildConfigSourceRepoSourceOutput) ProjectId

ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.

func (GetFunctionBuildConfigSourceRepoSourceOutput) RepoName

Name of the Cloud Source Repository.

func (GetFunctionBuildConfigSourceRepoSourceOutput) TagName

Regex matching tags to build.

func (GetFunctionBuildConfigSourceRepoSourceOutput) ToGetFunctionBuildConfigSourceRepoSourceOutput

func (o GetFunctionBuildConfigSourceRepoSourceOutput) ToGetFunctionBuildConfigSourceRepoSourceOutput() GetFunctionBuildConfigSourceRepoSourceOutput

func (GetFunctionBuildConfigSourceRepoSourceOutput) ToGetFunctionBuildConfigSourceRepoSourceOutputWithContext

func (o GetFunctionBuildConfigSourceRepoSourceOutput) ToGetFunctionBuildConfigSourceRepoSourceOutputWithContext(ctx context.Context) GetFunctionBuildConfigSourceRepoSourceOutput

type GetFunctionBuildConfigSourceStorageSource

type GetFunctionBuildConfigSourceStorageSource struct {
	// Google Cloud Storage bucket containing the source
	Bucket string `pulumi:"bucket"`
	// Google Cloud Storage generation for the object. If the generation
	// is omitted, the latest generation will be used.
	Generation int `pulumi:"generation"`
	// Google Cloud Storage object containing the source.
	Object string `pulumi:"object"`
}

type GetFunctionBuildConfigSourceStorageSourceArgs

type GetFunctionBuildConfigSourceStorageSourceArgs struct {
	// Google Cloud Storage bucket containing the source
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// Google Cloud Storage generation for the object. If the generation
	// is omitted, the latest generation will be used.
	Generation pulumi.IntInput `pulumi:"generation"`
	// Google Cloud Storage object containing the source.
	Object pulumi.StringInput `pulumi:"object"`
}

func (GetFunctionBuildConfigSourceStorageSourceArgs) ElementType

func (GetFunctionBuildConfigSourceStorageSourceArgs) ToGetFunctionBuildConfigSourceStorageSourceOutput

func (i GetFunctionBuildConfigSourceStorageSourceArgs) ToGetFunctionBuildConfigSourceStorageSourceOutput() GetFunctionBuildConfigSourceStorageSourceOutput

func (GetFunctionBuildConfigSourceStorageSourceArgs) ToGetFunctionBuildConfigSourceStorageSourceOutputWithContext

func (i GetFunctionBuildConfigSourceStorageSourceArgs) ToGetFunctionBuildConfigSourceStorageSourceOutputWithContext(ctx context.Context) GetFunctionBuildConfigSourceStorageSourceOutput

type GetFunctionBuildConfigSourceStorageSourceArray

type GetFunctionBuildConfigSourceStorageSourceArray []GetFunctionBuildConfigSourceStorageSourceInput

func (GetFunctionBuildConfigSourceStorageSourceArray) ElementType

func (GetFunctionBuildConfigSourceStorageSourceArray) ToGetFunctionBuildConfigSourceStorageSourceArrayOutput

func (i GetFunctionBuildConfigSourceStorageSourceArray) ToGetFunctionBuildConfigSourceStorageSourceArrayOutput() GetFunctionBuildConfigSourceStorageSourceArrayOutput

func (GetFunctionBuildConfigSourceStorageSourceArray) ToGetFunctionBuildConfigSourceStorageSourceArrayOutputWithContext

func (i GetFunctionBuildConfigSourceStorageSourceArray) ToGetFunctionBuildConfigSourceStorageSourceArrayOutputWithContext(ctx context.Context) GetFunctionBuildConfigSourceStorageSourceArrayOutput

type GetFunctionBuildConfigSourceStorageSourceArrayInput

type GetFunctionBuildConfigSourceStorageSourceArrayInput interface {
	pulumi.Input

	ToGetFunctionBuildConfigSourceStorageSourceArrayOutput() GetFunctionBuildConfigSourceStorageSourceArrayOutput
	ToGetFunctionBuildConfigSourceStorageSourceArrayOutputWithContext(context.Context) GetFunctionBuildConfigSourceStorageSourceArrayOutput
}

GetFunctionBuildConfigSourceStorageSourceArrayInput is an input type that accepts GetFunctionBuildConfigSourceStorageSourceArray and GetFunctionBuildConfigSourceStorageSourceArrayOutput values. You can construct a concrete instance of `GetFunctionBuildConfigSourceStorageSourceArrayInput` via:

GetFunctionBuildConfigSourceStorageSourceArray{ GetFunctionBuildConfigSourceStorageSourceArgs{...} }

type GetFunctionBuildConfigSourceStorageSourceArrayOutput

type GetFunctionBuildConfigSourceStorageSourceArrayOutput struct{ *pulumi.OutputState }

func (GetFunctionBuildConfigSourceStorageSourceArrayOutput) ElementType

func (GetFunctionBuildConfigSourceStorageSourceArrayOutput) Index

func (GetFunctionBuildConfigSourceStorageSourceArrayOutput) ToGetFunctionBuildConfigSourceStorageSourceArrayOutput

func (GetFunctionBuildConfigSourceStorageSourceArrayOutput) ToGetFunctionBuildConfigSourceStorageSourceArrayOutputWithContext

func (o GetFunctionBuildConfigSourceStorageSourceArrayOutput) ToGetFunctionBuildConfigSourceStorageSourceArrayOutputWithContext(ctx context.Context) GetFunctionBuildConfigSourceStorageSourceArrayOutput

type GetFunctionBuildConfigSourceStorageSourceInput

type GetFunctionBuildConfigSourceStorageSourceInput interface {
	pulumi.Input

	ToGetFunctionBuildConfigSourceStorageSourceOutput() GetFunctionBuildConfigSourceStorageSourceOutput
	ToGetFunctionBuildConfigSourceStorageSourceOutputWithContext(context.Context) GetFunctionBuildConfigSourceStorageSourceOutput
}

GetFunctionBuildConfigSourceStorageSourceInput is an input type that accepts GetFunctionBuildConfigSourceStorageSourceArgs and GetFunctionBuildConfigSourceStorageSourceOutput values. You can construct a concrete instance of `GetFunctionBuildConfigSourceStorageSourceInput` via:

GetFunctionBuildConfigSourceStorageSourceArgs{...}

type GetFunctionBuildConfigSourceStorageSourceOutput

type GetFunctionBuildConfigSourceStorageSourceOutput struct{ *pulumi.OutputState }

func (GetFunctionBuildConfigSourceStorageSourceOutput) Bucket

Google Cloud Storage bucket containing the source

func (GetFunctionBuildConfigSourceStorageSourceOutput) ElementType

func (GetFunctionBuildConfigSourceStorageSourceOutput) Generation

Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.

func (GetFunctionBuildConfigSourceStorageSourceOutput) Object

Google Cloud Storage object containing the source.

func (GetFunctionBuildConfigSourceStorageSourceOutput) ToGetFunctionBuildConfigSourceStorageSourceOutput

func (o GetFunctionBuildConfigSourceStorageSourceOutput) ToGetFunctionBuildConfigSourceStorageSourceOutput() GetFunctionBuildConfigSourceStorageSourceOutput

func (GetFunctionBuildConfigSourceStorageSourceOutput) ToGetFunctionBuildConfigSourceStorageSourceOutputWithContext

func (o GetFunctionBuildConfigSourceStorageSourceOutput) ToGetFunctionBuildConfigSourceStorageSourceOutputWithContext(ctx context.Context) GetFunctionBuildConfigSourceStorageSourceOutput

type GetFunctionEventTrigger

type GetFunctionEventTrigger struct {
	// Criteria used to filter events.
	EventFilters []GetFunctionEventTriggerEventFilter `pulumi:"eventFilters"`
	// Required. The type of event to observe.
	EventType string `pulumi:"eventType"`
	// The name of a Pub/Sub topic in the same project that will be used
	// as the transport topic for the event delivery.
	PubsubTopic string `pulumi:"pubsubTopic"`
	// Describes the retry policy in case of function's execution failure.
	// Retried execution is charged as any other execution. Possible values: ["RETRY_POLICY_UNSPECIFIED", "RETRY_POLICY_DO_NOT_RETRY", "RETRY_POLICY_RETRY"]
	RetryPolicy string `pulumi:"retryPolicy"`
	// Optional. The email of the trigger's service account. The service account
	// must have permission to invoke Cloud Run services. If empty, defaults to the
	// Compute Engine default service account: {project_number}-compute@developer.gserviceaccount.com.
	ServiceAccountEmail string `pulumi:"serviceAccountEmail"`
	// Output only. The resource name of the Eventarc trigger.
	Trigger string `pulumi:"trigger"`
	// The region that the trigger will be in. The trigger will only receive
	// events originating in this region. It can be the same
	// region as the function, a different region or multi-region, or the global
	// region. If not provided, defaults to the same region as the function.
	TriggerRegion string `pulumi:"triggerRegion"`
}

type GetFunctionEventTriggerArgs

type GetFunctionEventTriggerArgs struct {
	// Criteria used to filter events.
	EventFilters GetFunctionEventTriggerEventFilterArrayInput `pulumi:"eventFilters"`
	// Required. The type of event to observe.
	EventType pulumi.StringInput `pulumi:"eventType"`
	// The name of a Pub/Sub topic in the same project that will be used
	// as the transport topic for the event delivery.
	PubsubTopic pulumi.StringInput `pulumi:"pubsubTopic"`
	// Describes the retry policy in case of function's execution failure.
	// Retried execution is charged as any other execution. Possible values: ["RETRY_POLICY_UNSPECIFIED", "RETRY_POLICY_DO_NOT_RETRY", "RETRY_POLICY_RETRY"]
	RetryPolicy pulumi.StringInput `pulumi:"retryPolicy"`
	// Optional. The email of the trigger's service account. The service account
	// must have permission to invoke Cloud Run services. If empty, defaults to the
	// Compute Engine default service account: {project_number}-compute@developer.gserviceaccount.com.
	ServiceAccountEmail pulumi.StringInput `pulumi:"serviceAccountEmail"`
	// Output only. The resource name of the Eventarc trigger.
	Trigger pulumi.StringInput `pulumi:"trigger"`
	// The region that the trigger will be in. The trigger will only receive
	// events originating in this region. It can be the same
	// region as the function, a different region or multi-region, or the global
	// region. If not provided, defaults to the same region as the function.
	TriggerRegion pulumi.StringInput `pulumi:"triggerRegion"`
}

func (GetFunctionEventTriggerArgs) ElementType

func (GetFunctionEventTriggerArgs) ToGetFunctionEventTriggerOutput

func (i GetFunctionEventTriggerArgs) ToGetFunctionEventTriggerOutput() GetFunctionEventTriggerOutput

func (GetFunctionEventTriggerArgs) ToGetFunctionEventTriggerOutputWithContext

func (i GetFunctionEventTriggerArgs) ToGetFunctionEventTriggerOutputWithContext(ctx context.Context) GetFunctionEventTriggerOutput

type GetFunctionEventTriggerArray

type GetFunctionEventTriggerArray []GetFunctionEventTriggerInput

func (GetFunctionEventTriggerArray) ElementType

func (GetFunctionEventTriggerArray) ToGetFunctionEventTriggerArrayOutput

func (i GetFunctionEventTriggerArray) ToGetFunctionEventTriggerArrayOutput() GetFunctionEventTriggerArrayOutput

func (GetFunctionEventTriggerArray) ToGetFunctionEventTriggerArrayOutputWithContext

func (i GetFunctionEventTriggerArray) ToGetFunctionEventTriggerArrayOutputWithContext(ctx context.Context) GetFunctionEventTriggerArrayOutput

type GetFunctionEventTriggerArrayInput

type GetFunctionEventTriggerArrayInput interface {
	pulumi.Input

	ToGetFunctionEventTriggerArrayOutput() GetFunctionEventTriggerArrayOutput
	ToGetFunctionEventTriggerArrayOutputWithContext(context.Context) GetFunctionEventTriggerArrayOutput
}

GetFunctionEventTriggerArrayInput is an input type that accepts GetFunctionEventTriggerArray and GetFunctionEventTriggerArrayOutput values. You can construct a concrete instance of `GetFunctionEventTriggerArrayInput` via:

GetFunctionEventTriggerArray{ GetFunctionEventTriggerArgs{...} }

type GetFunctionEventTriggerArrayOutput

type GetFunctionEventTriggerArrayOutput struct{ *pulumi.OutputState }

func (GetFunctionEventTriggerArrayOutput) ElementType

func (GetFunctionEventTriggerArrayOutput) Index

func (GetFunctionEventTriggerArrayOutput) ToGetFunctionEventTriggerArrayOutput

func (o GetFunctionEventTriggerArrayOutput) ToGetFunctionEventTriggerArrayOutput() GetFunctionEventTriggerArrayOutput

func (GetFunctionEventTriggerArrayOutput) ToGetFunctionEventTriggerArrayOutputWithContext

func (o GetFunctionEventTriggerArrayOutput) ToGetFunctionEventTriggerArrayOutputWithContext(ctx context.Context) GetFunctionEventTriggerArrayOutput

type GetFunctionEventTriggerEventFilter

type GetFunctionEventTriggerEventFilter struct {
	// 'Required. The name of a CloudEvents attribute.
	// Currently, only a subset of attributes are supported for filtering. Use the 'gcloud eventarc providers describe' command to learn more about events and their attributes.
	// Do not filter for the 'type' attribute here, as this is already achieved by the resource's 'event_type' attribute.
	Attribute string `pulumi:"attribute"`
	// Optional. The operator used for matching the events with the value of
	// the filter. If not specified, only events that have an exact key-value
	// pair specified in the filter are matched.
	// The only allowed value is 'match-path-pattern'.
	// [See documentation on path patterns here](https://cloud.google.com/eventarc/docs/path-patterns)'
	Operator string `pulumi:"operator"`
	// Required. The value for the attribute.
	// If the operator field is set as 'match-path-pattern', this value can be a path pattern instead of an exact value.
	Value string `pulumi:"value"`
}

type GetFunctionEventTriggerEventFilterArgs

type GetFunctionEventTriggerEventFilterArgs struct {
	// 'Required. The name of a CloudEvents attribute.
	// Currently, only a subset of attributes are supported for filtering. Use the 'gcloud eventarc providers describe' command to learn more about events and their attributes.
	// Do not filter for the 'type' attribute here, as this is already achieved by the resource's 'event_type' attribute.
	Attribute pulumi.StringInput `pulumi:"attribute"`
	// Optional. The operator used for matching the events with the value of
	// the filter. If not specified, only events that have an exact key-value
	// pair specified in the filter are matched.
	// The only allowed value is 'match-path-pattern'.
	// [See documentation on path patterns here](https://cloud.google.com/eventarc/docs/path-patterns)'
	Operator pulumi.StringInput `pulumi:"operator"`
	// Required. The value for the attribute.
	// If the operator field is set as 'match-path-pattern', this value can be a path pattern instead of an exact value.
	Value pulumi.StringInput `pulumi:"value"`
}

func (GetFunctionEventTriggerEventFilterArgs) ElementType

func (GetFunctionEventTriggerEventFilterArgs) ToGetFunctionEventTriggerEventFilterOutput

func (i GetFunctionEventTriggerEventFilterArgs) ToGetFunctionEventTriggerEventFilterOutput() GetFunctionEventTriggerEventFilterOutput

func (GetFunctionEventTriggerEventFilterArgs) ToGetFunctionEventTriggerEventFilterOutputWithContext

func (i GetFunctionEventTriggerEventFilterArgs) ToGetFunctionEventTriggerEventFilterOutputWithContext(ctx context.Context) GetFunctionEventTriggerEventFilterOutput

type GetFunctionEventTriggerEventFilterArray

type GetFunctionEventTriggerEventFilterArray []GetFunctionEventTriggerEventFilterInput

func (GetFunctionEventTriggerEventFilterArray) ElementType

func (GetFunctionEventTriggerEventFilterArray) ToGetFunctionEventTriggerEventFilterArrayOutput

func (i GetFunctionEventTriggerEventFilterArray) ToGetFunctionEventTriggerEventFilterArrayOutput() GetFunctionEventTriggerEventFilterArrayOutput

func (GetFunctionEventTriggerEventFilterArray) ToGetFunctionEventTriggerEventFilterArrayOutputWithContext

func (i GetFunctionEventTriggerEventFilterArray) ToGetFunctionEventTriggerEventFilterArrayOutputWithContext(ctx context.Context) GetFunctionEventTriggerEventFilterArrayOutput

type GetFunctionEventTriggerEventFilterArrayInput

type GetFunctionEventTriggerEventFilterArrayInput interface {
	pulumi.Input

	ToGetFunctionEventTriggerEventFilterArrayOutput() GetFunctionEventTriggerEventFilterArrayOutput
	ToGetFunctionEventTriggerEventFilterArrayOutputWithContext(context.Context) GetFunctionEventTriggerEventFilterArrayOutput
}

GetFunctionEventTriggerEventFilterArrayInput is an input type that accepts GetFunctionEventTriggerEventFilterArray and GetFunctionEventTriggerEventFilterArrayOutput values. You can construct a concrete instance of `GetFunctionEventTriggerEventFilterArrayInput` via:

GetFunctionEventTriggerEventFilterArray{ GetFunctionEventTriggerEventFilterArgs{...} }

type GetFunctionEventTriggerEventFilterArrayOutput

type GetFunctionEventTriggerEventFilterArrayOutput struct{ *pulumi.OutputState }

func (GetFunctionEventTriggerEventFilterArrayOutput) ElementType

func (GetFunctionEventTriggerEventFilterArrayOutput) Index

func (GetFunctionEventTriggerEventFilterArrayOutput) ToGetFunctionEventTriggerEventFilterArrayOutput

func (o GetFunctionEventTriggerEventFilterArrayOutput) ToGetFunctionEventTriggerEventFilterArrayOutput() GetFunctionEventTriggerEventFilterArrayOutput

func (GetFunctionEventTriggerEventFilterArrayOutput) ToGetFunctionEventTriggerEventFilterArrayOutputWithContext

func (o GetFunctionEventTriggerEventFilterArrayOutput) ToGetFunctionEventTriggerEventFilterArrayOutputWithContext(ctx context.Context) GetFunctionEventTriggerEventFilterArrayOutput

type GetFunctionEventTriggerEventFilterInput

type GetFunctionEventTriggerEventFilterInput interface {
	pulumi.Input

	ToGetFunctionEventTriggerEventFilterOutput() GetFunctionEventTriggerEventFilterOutput
	ToGetFunctionEventTriggerEventFilterOutputWithContext(context.Context) GetFunctionEventTriggerEventFilterOutput
}

GetFunctionEventTriggerEventFilterInput is an input type that accepts GetFunctionEventTriggerEventFilterArgs and GetFunctionEventTriggerEventFilterOutput values. You can construct a concrete instance of `GetFunctionEventTriggerEventFilterInput` via:

GetFunctionEventTriggerEventFilterArgs{...}

type GetFunctionEventTriggerEventFilterOutput

type GetFunctionEventTriggerEventFilterOutput struct{ *pulumi.OutputState }

func (GetFunctionEventTriggerEventFilterOutput) Attribute

'Required. The name of a CloudEvents attribute. Currently, only a subset of attributes are supported for filtering. Use the 'gcloud eventarc providers describe' command to learn more about events and their attributes. Do not filter for the 'type' attribute here, as this is already achieved by the resource's 'event_type' attribute.

func (GetFunctionEventTriggerEventFilterOutput) ElementType

func (GetFunctionEventTriggerEventFilterOutput) Operator

Optional. The operator used for matching the events with the value of the filter. If not specified, only events that have an exact key-value pair specified in the filter are matched. The only allowed value is 'match-path-pattern'. [See documentation on path patterns here](https://cloud.google.com/eventarc/docs/path-patterns)'

func (GetFunctionEventTriggerEventFilterOutput) ToGetFunctionEventTriggerEventFilterOutput

func (o GetFunctionEventTriggerEventFilterOutput) ToGetFunctionEventTriggerEventFilterOutput() GetFunctionEventTriggerEventFilterOutput

func (GetFunctionEventTriggerEventFilterOutput) ToGetFunctionEventTriggerEventFilterOutputWithContext

func (o GetFunctionEventTriggerEventFilterOutput) ToGetFunctionEventTriggerEventFilterOutputWithContext(ctx context.Context) GetFunctionEventTriggerEventFilterOutput

func (GetFunctionEventTriggerEventFilterOutput) Value

Required. The value for the attribute. If the operator field is set as 'match-path-pattern', this value can be a path pattern instead of an exact value.

type GetFunctionEventTriggerInput

type GetFunctionEventTriggerInput interface {
	pulumi.Input

	ToGetFunctionEventTriggerOutput() GetFunctionEventTriggerOutput
	ToGetFunctionEventTriggerOutputWithContext(context.Context) GetFunctionEventTriggerOutput
}

GetFunctionEventTriggerInput is an input type that accepts GetFunctionEventTriggerArgs and GetFunctionEventTriggerOutput values. You can construct a concrete instance of `GetFunctionEventTriggerInput` via:

GetFunctionEventTriggerArgs{...}

type GetFunctionEventTriggerOutput

type GetFunctionEventTriggerOutput struct{ *pulumi.OutputState }

func (GetFunctionEventTriggerOutput) ElementType

func (GetFunctionEventTriggerOutput) EventFilters

Criteria used to filter events.

func (GetFunctionEventTriggerOutput) EventType

Required. The type of event to observe.

func (GetFunctionEventTriggerOutput) PubsubTopic

The name of a Pub/Sub topic in the same project that will be used as the transport topic for the event delivery.

func (GetFunctionEventTriggerOutput) RetryPolicy

Describes the retry policy in case of function's execution failure. Retried execution is charged as any other execution. Possible values: ["RETRY_POLICY_UNSPECIFIED", "RETRY_POLICY_DO_NOT_RETRY", "RETRY_POLICY_RETRY"]

func (GetFunctionEventTriggerOutput) ServiceAccountEmail

func (o GetFunctionEventTriggerOutput) ServiceAccountEmail() pulumi.StringOutput

Optional. The email of the trigger's service account. The service account must have permission to invoke Cloud Run services. If empty, defaults to the Compute Engine default service account: {project_number}-compute@developer.gserviceaccount.com.

func (GetFunctionEventTriggerOutput) ToGetFunctionEventTriggerOutput

func (o GetFunctionEventTriggerOutput) ToGetFunctionEventTriggerOutput() GetFunctionEventTriggerOutput

func (GetFunctionEventTriggerOutput) ToGetFunctionEventTriggerOutputWithContext

func (o GetFunctionEventTriggerOutput) ToGetFunctionEventTriggerOutputWithContext(ctx context.Context) GetFunctionEventTriggerOutput

func (GetFunctionEventTriggerOutput) Trigger

Output only. The resource name of the Eventarc trigger.

func (GetFunctionEventTriggerOutput) TriggerRegion

The region that the trigger will be in. The trigger will only receive events originating in this region. It can be the same region as the function, a different region or multi-region, or the global region. If not provided, defaults to the same region as the function.

type GetFunctionServiceConfig

type GetFunctionServiceConfig struct {
	// Whether 100% of traffic is routed to the latest revision. Defaults to true.
	AllTrafficOnLatestRevision bool `pulumi:"allTrafficOnLatestRevision"`
	// The number of CPUs used in a single container instance. Default value is calculated from available memory.
	AvailableCpu string `pulumi:"availableCpu"`
	// The amount of memory available for a function.
	// Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is
	// supplied the value is interpreted as bytes.
	AvailableMemory string `pulumi:"availableMemory"`
	// Environment variables that shall be available during function execution.
	EnvironmentVariables map[string]string `pulumi:"environmentVariables"`
	// URIs of the Service deployed
	GcfUri string `pulumi:"gcfUri"`
	// Available ingress settings. Defaults to "ALLOW_ALL" if unspecified. Default value: "ALLOW_ALL" Possible values: ["ALLOW_ALL", "ALLOW_INTERNAL_ONLY", "ALLOW_INTERNAL_AND_GCLB"]
	IngressSettings string `pulumi:"ingressSettings"`
	// The limit on the maximum number of function instances that may coexist at a
	// given time.
	MaxInstanceCount int `pulumi:"maxInstanceCount"`
	// Sets the maximum number of concurrent requests that each instance can receive. Defaults to 1.
	MaxInstanceRequestConcurrency int `pulumi:"maxInstanceRequestConcurrency"`
	// The limit on the minimum number of function instances that may coexist at a
	// given time.
	MinInstanceCount int `pulumi:"minInstanceCount"`
	// Secret environment variables configuration.
	SecretEnvironmentVariables []GetFunctionServiceConfigSecretEnvironmentVariable `pulumi:"secretEnvironmentVariables"`
	// Secret volumes configuration.
	SecretVolumes []GetFunctionServiceConfigSecretVolume `pulumi:"secretVolumes"`
	// Name of the service associated with a Function.
	Service string `pulumi:"service"`
	// The email of the service account for this function.
	ServiceAccountEmail string `pulumi:"serviceAccountEmail"`
	// The function execution timeout. Execution is considered failed and
	// can be terminated if the function is not completed at the end of the
	// timeout period. Defaults to 60 seconds.
	TimeoutSeconds int `pulumi:"timeoutSeconds"`
	// URI of the Service deployed.
	Uri string `pulumi:"uri"`
	// The Serverless VPC Access connector that this cloud function can connect to.
	VpcConnector string `pulumi:"vpcConnector"`
	// Available egress settings. Possible values: ["VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED", "PRIVATE_RANGES_ONLY", "ALL_TRAFFIC"]
	VpcConnectorEgressSettings string `pulumi:"vpcConnectorEgressSettings"`
}

type GetFunctionServiceConfigArgs

type GetFunctionServiceConfigArgs struct {
	// Whether 100% of traffic is routed to the latest revision. Defaults to true.
	AllTrafficOnLatestRevision pulumi.BoolInput `pulumi:"allTrafficOnLatestRevision"`
	// The number of CPUs used in a single container instance. Default value is calculated from available memory.
	AvailableCpu pulumi.StringInput `pulumi:"availableCpu"`
	// The amount of memory available for a function.
	// Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is
	// supplied the value is interpreted as bytes.
	AvailableMemory pulumi.StringInput `pulumi:"availableMemory"`
	// Environment variables that shall be available during function execution.
	EnvironmentVariables pulumi.StringMapInput `pulumi:"environmentVariables"`
	// URIs of the Service deployed
	GcfUri pulumi.StringInput `pulumi:"gcfUri"`
	// Available ingress settings. Defaults to "ALLOW_ALL" if unspecified. Default value: "ALLOW_ALL" Possible values: ["ALLOW_ALL", "ALLOW_INTERNAL_ONLY", "ALLOW_INTERNAL_AND_GCLB"]
	IngressSettings pulumi.StringInput `pulumi:"ingressSettings"`
	// The limit on the maximum number of function instances that may coexist at a
	// given time.
	MaxInstanceCount pulumi.IntInput `pulumi:"maxInstanceCount"`
	// Sets the maximum number of concurrent requests that each instance can receive. Defaults to 1.
	MaxInstanceRequestConcurrency pulumi.IntInput `pulumi:"maxInstanceRequestConcurrency"`
	// The limit on the minimum number of function instances that may coexist at a
	// given time.
	MinInstanceCount pulumi.IntInput `pulumi:"minInstanceCount"`
	// Secret environment variables configuration.
	SecretEnvironmentVariables GetFunctionServiceConfigSecretEnvironmentVariableArrayInput `pulumi:"secretEnvironmentVariables"`
	// Secret volumes configuration.
	SecretVolumes GetFunctionServiceConfigSecretVolumeArrayInput `pulumi:"secretVolumes"`
	// Name of the service associated with a Function.
	Service pulumi.StringInput `pulumi:"service"`
	// The email of the service account for this function.
	ServiceAccountEmail pulumi.StringInput `pulumi:"serviceAccountEmail"`
	// The function execution timeout. Execution is considered failed and
	// can be terminated if the function is not completed at the end of the
	// timeout period. Defaults to 60 seconds.
	TimeoutSeconds pulumi.IntInput `pulumi:"timeoutSeconds"`
	// URI of the Service deployed.
	Uri pulumi.StringInput `pulumi:"uri"`
	// The Serverless VPC Access connector that this cloud function can connect to.
	VpcConnector pulumi.StringInput `pulumi:"vpcConnector"`
	// Available egress settings. Possible values: ["VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED", "PRIVATE_RANGES_ONLY", "ALL_TRAFFIC"]
	VpcConnectorEgressSettings pulumi.StringInput `pulumi:"vpcConnectorEgressSettings"`
}

func (GetFunctionServiceConfigArgs) ElementType

func (GetFunctionServiceConfigArgs) ToGetFunctionServiceConfigOutput

func (i GetFunctionServiceConfigArgs) ToGetFunctionServiceConfigOutput() GetFunctionServiceConfigOutput

func (GetFunctionServiceConfigArgs) ToGetFunctionServiceConfigOutputWithContext

func (i GetFunctionServiceConfigArgs) ToGetFunctionServiceConfigOutputWithContext(ctx context.Context) GetFunctionServiceConfigOutput

type GetFunctionServiceConfigArray

type GetFunctionServiceConfigArray []GetFunctionServiceConfigInput

func (GetFunctionServiceConfigArray) ElementType

func (GetFunctionServiceConfigArray) ToGetFunctionServiceConfigArrayOutput

func (i GetFunctionServiceConfigArray) ToGetFunctionServiceConfigArrayOutput() GetFunctionServiceConfigArrayOutput

func (GetFunctionServiceConfigArray) ToGetFunctionServiceConfigArrayOutputWithContext

func (i GetFunctionServiceConfigArray) ToGetFunctionServiceConfigArrayOutputWithContext(ctx context.Context) GetFunctionServiceConfigArrayOutput

type GetFunctionServiceConfigArrayInput

type GetFunctionServiceConfigArrayInput interface {
	pulumi.Input

	ToGetFunctionServiceConfigArrayOutput() GetFunctionServiceConfigArrayOutput
	ToGetFunctionServiceConfigArrayOutputWithContext(context.Context) GetFunctionServiceConfigArrayOutput
}

GetFunctionServiceConfigArrayInput is an input type that accepts GetFunctionServiceConfigArray and GetFunctionServiceConfigArrayOutput values. You can construct a concrete instance of `GetFunctionServiceConfigArrayInput` via:

GetFunctionServiceConfigArray{ GetFunctionServiceConfigArgs{...} }

type GetFunctionServiceConfigArrayOutput

type GetFunctionServiceConfigArrayOutput struct{ *pulumi.OutputState }

func (GetFunctionServiceConfigArrayOutput) ElementType

func (GetFunctionServiceConfigArrayOutput) Index

func (GetFunctionServiceConfigArrayOutput) ToGetFunctionServiceConfigArrayOutput

func (o GetFunctionServiceConfigArrayOutput) ToGetFunctionServiceConfigArrayOutput() GetFunctionServiceConfigArrayOutput

func (GetFunctionServiceConfigArrayOutput) ToGetFunctionServiceConfigArrayOutputWithContext

func (o GetFunctionServiceConfigArrayOutput) ToGetFunctionServiceConfigArrayOutputWithContext(ctx context.Context) GetFunctionServiceConfigArrayOutput

type GetFunctionServiceConfigInput

type GetFunctionServiceConfigInput interface {
	pulumi.Input

	ToGetFunctionServiceConfigOutput() GetFunctionServiceConfigOutput
	ToGetFunctionServiceConfigOutputWithContext(context.Context) GetFunctionServiceConfigOutput
}

GetFunctionServiceConfigInput is an input type that accepts GetFunctionServiceConfigArgs and GetFunctionServiceConfigOutput values. You can construct a concrete instance of `GetFunctionServiceConfigInput` via:

GetFunctionServiceConfigArgs{...}

type GetFunctionServiceConfigOutput

type GetFunctionServiceConfigOutput struct{ *pulumi.OutputState }

func (GetFunctionServiceConfigOutput) AllTrafficOnLatestRevision

func (o GetFunctionServiceConfigOutput) AllTrafficOnLatestRevision() pulumi.BoolOutput

Whether 100% of traffic is routed to the latest revision. Defaults to true.

func (GetFunctionServiceConfigOutput) AvailableCpu

The number of CPUs used in a single container instance. Default value is calculated from available memory.

func (GetFunctionServiceConfigOutput) AvailableMemory

The amount of memory available for a function. Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is supplied the value is interpreted as bytes.

func (GetFunctionServiceConfigOutput) ElementType

func (GetFunctionServiceConfigOutput) EnvironmentVariables

func (o GetFunctionServiceConfigOutput) EnvironmentVariables() pulumi.StringMapOutput

Environment variables that shall be available during function execution.

func (GetFunctionServiceConfigOutput) GcfUri

URIs of the Service deployed

func (GetFunctionServiceConfigOutput) IngressSettings

Available ingress settings. Defaults to "ALLOW_ALL" if unspecified. Default value: "ALLOW_ALL" Possible values: ["ALLOW_ALL", "ALLOW_INTERNAL_ONLY", "ALLOW_INTERNAL_AND_GCLB"]

func (GetFunctionServiceConfigOutput) MaxInstanceCount

func (o GetFunctionServiceConfigOutput) MaxInstanceCount() pulumi.IntOutput

The limit on the maximum number of function instances that may coexist at a given time.

func (GetFunctionServiceConfigOutput) MaxInstanceRequestConcurrency

func (o GetFunctionServiceConfigOutput) MaxInstanceRequestConcurrency() pulumi.IntOutput

Sets the maximum number of concurrent requests that each instance can receive. Defaults to 1.

func (GetFunctionServiceConfigOutput) MinInstanceCount

func (o GetFunctionServiceConfigOutput) MinInstanceCount() pulumi.IntOutput

The limit on the minimum number of function instances that may coexist at a given time.

func (GetFunctionServiceConfigOutput) SecretEnvironmentVariables

Secret environment variables configuration.

func (GetFunctionServiceConfigOutput) SecretVolumes

Secret volumes configuration.

func (GetFunctionServiceConfigOutput) Service

Name of the service associated with a Function.

func (GetFunctionServiceConfigOutput) ServiceAccountEmail

func (o GetFunctionServiceConfigOutput) ServiceAccountEmail() pulumi.StringOutput

The email of the service account for this function.

func (GetFunctionServiceConfigOutput) TimeoutSeconds

func (o GetFunctionServiceConfigOutput) TimeoutSeconds() pulumi.IntOutput

The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.

func (GetFunctionServiceConfigOutput) ToGetFunctionServiceConfigOutput

func (o GetFunctionServiceConfigOutput) ToGetFunctionServiceConfigOutput() GetFunctionServiceConfigOutput

func (GetFunctionServiceConfigOutput) ToGetFunctionServiceConfigOutputWithContext

func (o GetFunctionServiceConfigOutput) ToGetFunctionServiceConfigOutputWithContext(ctx context.Context) GetFunctionServiceConfigOutput

func (GetFunctionServiceConfigOutput) Uri

URI of the Service deployed.

func (GetFunctionServiceConfigOutput) VpcConnector

The Serverless VPC Access connector that this cloud function can connect to.

func (GetFunctionServiceConfigOutput) VpcConnectorEgressSettings

func (o GetFunctionServiceConfigOutput) VpcConnectorEgressSettings() pulumi.StringOutput

Available egress settings. Possible values: ["VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED", "PRIVATE_RANGES_ONLY", "ALL_TRAFFIC"]

type GetFunctionServiceConfigSecretEnvironmentVariable

type GetFunctionServiceConfigSecretEnvironmentVariable struct {
	// Name of the environment variable.
	Key string `pulumi:"key"`
	// Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.
	ProjectId string `pulumi:"projectId"`
	// Name of the secret in secret manager (not the full resource name).
	Secret string `pulumi:"secret"`
	// Version of the secret (version number or the string 'latest'). It is recommended to use a numeric version for secret environment variables as any updates to the secret value is not reflected until new instances start.
	Version string `pulumi:"version"`
}

type GetFunctionServiceConfigSecretEnvironmentVariableArgs

type GetFunctionServiceConfigSecretEnvironmentVariableArgs struct {
	// Name of the environment variable.
	Key pulumi.StringInput `pulumi:"key"`
	// Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.
	ProjectId pulumi.StringInput `pulumi:"projectId"`
	// Name of the secret in secret manager (not the full resource name).
	Secret pulumi.StringInput `pulumi:"secret"`
	// Version of the secret (version number or the string 'latest'). It is recommended to use a numeric version for secret environment variables as any updates to the secret value is not reflected until new instances start.
	Version pulumi.StringInput `pulumi:"version"`
}

func (GetFunctionServiceConfigSecretEnvironmentVariableArgs) ElementType

func (GetFunctionServiceConfigSecretEnvironmentVariableArgs) ToGetFunctionServiceConfigSecretEnvironmentVariableOutput

func (i GetFunctionServiceConfigSecretEnvironmentVariableArgs) ToGetFunctionServiceConfigSecretEnvironmentVariableOutput() GetFunctionServiceConfigSecretEnvironmentVariableOutput

func (GetFunctionServiceConfigSecretEnvironmentVariableArgs) ToGetFunctionServiceConfigSecretEnvironmentVariableOutputWithContext

func (i GetFunctionServiceConfigSecretEnvironmentVariableArgs) ToGetFunctionServiceConfigSecretEnvironmentVariableOutputWithContext(ctx context.Context) GetFunctionServiceConfigSecretEnvironmentVariableOutput

type GetFunctionServiceConfigSecretEnvironmentVariableArray

type GetFunctionServiceConfigSecretEnvironmentVariableArray []GetFunctionServiceConfigSecretEnvironmentVariableInput

func (GetFunctionServiceConfigSecretEnvironmentVariableArray) ElementType

func (GetFunctionServiceConfigSecretEnvironmentVariableArray) ToGetFunctionServiceConfigSecretEnvironmentVariableArrayOutput

func (i GetFunctionServiceConfigSecretEnvironmentVariableArray) ToGetFunctionServiceConfigSecretEnvironmentVariableArrayOutput() GetFunctionServiceConfigSecretEnvironmentVariableArrayOutput

func (GetFunctionServiceConfigSecretEnvironmentVariableArray) ToGetFunctionServiceConfigSecretEnvironmentVariableArrayOutputWithContext

func (i GetFunctionServiceConfigSecretEnvironmentVariableArray) ToGetFunctionServiceConfigSecretEnvironmentVariableArrayOutputWithContext(ctx context.Context) GetFunctionServiceConfigSecretEnvironmentVariableArrayOutput

type GetFunctionServiceConfigSecretEnvironmentVariableArrayInput

type GetFunctionServiceConfigSecretEnvironmentVariableArrayInput interface {
	pulumi.Input

	ToGetFunctionServiceConfigSecretEnvironmentVariableArrayOutput() GetFunctionServiceConfigSecretEnvironmentVariableArrayOutput
	ToGetFunctionServiceConfigSecretEnvironmentVariableArrayOutputWithContext(context.Context) GetFunctionServiceConfigSecretEnvironmentVariableArrayOutput
}

GetFunctionServiceConfigSecretEnvironmentVariableArrayInput is an input type that accepts GetFunctionServiceConfigSecretEnvironmentVariableArray and GetFunctionServiceConfigSecretEnvironmentVariableArrayOutput values. You can construct a concrete instance of `GetFunctionServiceConfigSecretEnvironmentVariableArrayInput` via:

GetFunctionServiceConfigSecretEnvironmentVariableArray{ GetFunctionServiceConfigSecretEnvironmentVariableArgs{...} }

type GetFunctionServiceConfigSecretEnvironmentVariableArrayOutput

type GetFunctionServiceConfigSecretEnvironmentVariableArrayOutput struct{ *pulumi.OutputState }

func (GetFunctionServiceConfigSecretEnvironmentVariableArrayOutput) ElementType

func (GetFunctionServiceConfigSecretEnvironmentVariableArrayOutput) Index

func (GetFunctionServiceConfigSecretEnvironmentVariableArrayOutput) ToGetFunctionServiceConfigSecretEnvironmentVariableArrayOutput

func (GetFunctionServiceConfigSecretEnvironmentVariableArrayOutput) ToGetFunctionServiceConfigSecretEnvironmentVariableArrayOutputWithContext

func (o GetFunctionServiceConfigSecretEnvironmentVariableArrayOutput) ToGetFunctionServiceConfigSecretEnvironmentVariableArrayOutputWithContext(ctx context.Context) GetFunctionServiceConfigSecretEnvironmentVariableArrayOutput

type GetFunctionServiceConfigSecretEnvironmentVariableInput

type GetFunctionServiceConfigSecretEnvironmentVariableInput interface {
	pulumi.Input

	ToGetFunctionServiceConfigSecretEnvironmentVariableOutput() GetFunctionServiceConfigSecretEnvironmentVariableOutput
	ToGetFunctionServiceConfigSecretEnvironmentVariableOutputWithContext(context.Context) GetFunctionServiceConfigSecretEnvironmentVariableOutput
}

GetFunctionServiceConfigSecretEnvironmentVariableInput is an input type that accepts GetFunctionServiceConfigSecretEnvironmentVariableArgs and GetFunctionServiceConfigSecretEnvironmentVariableOutput values. You can construct a concrete instance of `GetFunctionServiceConfigSecretEnvironmentVariableInput` via:

GetFunctionServiceConfigSecretEnvironmentVariableArgs{...}

type GetFunctionServiceConfigSecretEnvironmentVariableOutput

type GetFunctionServiceConfigSecretEnvironmentVariableOutput struct{ *pulumi.OutputState }

func (GetFunctionServiceConfigSecretEnvironmentVariableOutput) ElementType

func (GetFunctionServiceConfigSecretEnvironmentVariableOutput) Key

Name of the environment variable.

func (GetFunctionServiceConfigSecretEnvironmentVariableOutput) ProjectId

Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.

func (GetFunctionServiceConfigSecretEnvironmentVariableOutput) Secret

Name of the secret in secret manager (not the full resource name).

func (GetFunctionServiceConfigSecretEnvironmentVariableOutput) ToGetFunctionServiceConfigSecretEnvironmentVariableOutput

func (GetFunctionServiceConfigSecretEnvironmentVariableOutput) ToGetFunctionServiceConfigSecretEnvironmentVariableOutputWithContext

func (o GetFunctionServiceConfigSecretEnvironmentVariableOutput) ToGetFunctionServiceConfigSecretEnvironmentVariableOutputWithContext(ctx context.Context) GetFunctionServiceConfigSecretEnvironmentVariableOutput

func (GetFunctionServiceConfigSecretEnvironmentVariableOutput) Version

Version of the secret (version number or the string 'latest'). It is recommended to use a numeric version for secret environment variables as any updates to the secret value is not reflected until new instances start.

type GetFunctionServiceConfigSecretVolume

type GetFunctionServiceConfigSecretVolume struct {
	// The path within the container to mount the secret volume. For example, setting the mountPath as /etc/secrets would mount the secret value files under the /etc/secrets directory. This directory will also be completely shadowed and unavailable to mount any other secrets. Recommended mount path: /etc/secrets
	MountPath string `pulumi:"mountPath"`
	// Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.
	ProjectId string `pulumi:"projectId"`
	// Name of the secret in secret manager (not the full resource name).
	Secret string `pulumi:"secret"`
	// List of secret versions to mount for this secret. If empty, the latest version of the secret will be made available in a file named after the secret under the mount point.'
	Versions []GetFunctionServiceConfigSecretVolumeVersion `pulumi:"versions"`
}

type GetFunctionServiceConfigSecretVolumeArgs

type GetFunctionServiceConfigSecretVolumeArgs struct {
	// The path within the container to mount the secret volume. For example, setting the mountPath as /etc/secrets would mount the secret value files under the /etc/secrets directory. This directory will also be completely shadowed and unavailable to mount any other secrets. Recommended mount path: /etc/secrets
	MountPath pulumi.StringInput `pulumi:"mountPath"`
	// Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.
	ProjectId pulumi.StringInput `pulumi:"projectId"`
	// Name of the secret in secret manager (not the full resource name).
	Secret pulumi.StringInput `pulumi:"secret"`
	// List of secret versions to mount for this secret. If empty, the latest version of the secret will be made available in a file named after the secret under the mount point.'
	Versions GetFunctionServiceConfigSecretVolumeVersionArrayInput `pulumi:"versions"`
}

func (GetFunctionServiceConfigSecretVolumeArgs) ElementType

func (GetFunctionServiceConfigSecretVolumeArgs) ToGetFunctionServiceConfigSecretVolumeOutput

func (i GetFunctionServiceConfigSecretVolumeArgs) ToGetFunctionServiceConfigSecretVolumeOutput() GetFunctionServiceConfigSecretVolumeOutput

func (GetFunctionServiceConfigSecretVolumeArgs) ToGetFunctionServiceConfigSecretVolumeOutputWithContext

func (i GetFunctionServiceConfigSecretVolumeArgs) ToGetFunctionServiceConfigSecretVolumeOutputWithContext(ctx context.Context) GetFunctionServiceConfigSecretVolumeOutput

type GetFunctionServiceConfigSecretVolumeArray

type GetFunctionServiceConfigSecretVolumeArray []GetFunctionServiceConfigSecretVolumeInput

func (GetFunctionServiceConfigSecretVolumeArray) ElementType

func (GetFunctionServiceConfigSecretVolumeArray) ToGetFunctionServiceConfigSecretVolumeArrayOutput

func (i GetFunctionServiceConfigSecretVolumeArray) ToGetFunctionServiceConfigSecretVolumeArrayOutput() GetFunctionServiceConfigSecretVolumeArrayOutput

func (GetFunctionServiceConfigSecretVolumeArray) ToGetFunctionServiceConfigSecretVolumeArrayOutputWithContext

func (i GetFunctionServiceConfigSecretVolumeArray) ToGetFunctionServiceConfigSecretVolumeArrayOutputWithContext(ctx context.Context) GetFunctionServiceConfigSecretVolumeArrayOutput

type GetFunctionServiceConfigSecretVolumeArrayInput

type GetFunctionServiceConfigSecretVolumeArrayInput interface {
	pulumi.Input

	ToGetFunctionServiceConfigSecretVolumeArrayOutput() GetFunctionServiceConfigSecretVolumeArrayOutput
	ToGetFunctionServiceConfigSecretVolumeArrayOutputWithContext(context.Context) GetFunctionServiceConfigSecretVolumeArrayOutput
}

GetFunctionServiceConfigSecretVolumeArrayInput is an input type that accepts GetFunctionServiceConfigSecretVolumeArray and GetFunctionServiceConfigSecretVolumeArrayOutput values. You can construct a concrete instance of `GetFunctionServiceConfigSecretVolumeArrayInput` via:

GetFunctionServiceConfigSecretVolumeArray{ GetFunctionServiceConfigSecretVolumeArgs{...} }

type GetFunctionServiceConfigSecretVolumeArrayOutput

type GetFunctionServiceConfigSecretVolumeArrayOutput struct{ *pulumi.OutputState }

func (GetFunctionServiceConfigSecretVolumeArrayOutput) ElementType

func (GetFunctionServiceConfigSecretVolumeArrayOutput) Index

func (GetFunctionServiceConfigSecretVolumeArrayOutput) ToGetFunctionServiceConfigSecretVolumeArrayOutput

func (o GetFunctionServiceConfigSecretVolumeArrayOutput) ToGetFunctionServiceConfigSecretVolumeArrayOutput() GetFunctionServiceConfigSecretVolumeArrayOutput

func (GetFunctionServiceConfigSecretVolumeArrayOutput) ToGetFunctionServiceConfigSecretVolumeArrayOutputWithContext

func (o GetFunctionServiceConfigSecretVolumeArrayOutput) ToGetFunctionServiceConfigSecretVolumeArrayOutputWithContext(ctx context.Context) GetFunctionServiceConfigSecretVolumeArrayOutput

type GetFunctionServiceConfigSecretVolumeInput

type GetFunctionServiceConfigSecretVolumeInput interface {
	pulumi.Input

	ToGetFunctionServiceConfigSecretVolumeOutput() GetFunctionServiceConfigSecretVolumeOutput
	ToGetFunctionServiceConfigSecretVolumeOutputWithContext(context.Context) GetFunctionServiceConfigSecretVolumeOutput
}

GetFunctionServiceConfigSecretVolumeInput is an input type that accepts GetFunctionServiceConfigSecretVolumeArgs and GetFunctionServiceConfigSecretVolumeOutput values. You can construct a concrete instance of `GetFunctionServiceConfigSecretVolumeInput` via:

GetFunctionServiceConfigSecretVolumeArgs{...}

type GetFunctionServiceConfigSecretVolumeOutput

type GetFunctionServiceConfigSecretVolumeOutput struct{ *pulumi.OutputState }

func (GetFunctionServiceConfigSecretVolumeOutput) ElementType

func (GetFunctionServiceConfigSecretVolumeOutput) MountPath

The path within the container to mount the secret volume. For example, setting the mountPath as /etc/secrets would mount the secret value files under the /etc/secrets directory. This directory will also be completely shadowed and unavailable to mount any other secrets. Recommended mount path: /etc/secrets

func (GetFunctionServiceConfigSecretVolumeOutput) ProjectId

Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.

func (GetFunctionServiceConfigSecretVolumeOutput) Secret

Name of the secret in secret manager (not the full resource name).

func (GetFunctionServiceConfigSecretVolumeOutput) ToGetFunctionServiceConfigSecretVolumeOutput

func (o GetFunctionServiceConfigSecretVolumeOutput) ToGetFunctionServiceConfigSecretVolumeOutput() GetFunctionServiceConfigSecretVolumeOutput

func (GetFunctionServiceConfigSecretVolumeOutput) ToGetFunctionServiceConfigSecretVolumeOutputWithContext

func (o GetFunctionServiceConfigSecretVolumeOutput) ToGetFunctionServiceConfigSecretVolumeOutputWithContext(ctx context.Context) GetFunctionServiceConfigSecretVolumeOutput

func (GetFunctionServiceConfigSecretVolumeOutput) Versions

List of secret versions to mount for this secret. If empty, the latest version of the secret will be made available in a file named after the secret under the mount point.'

type GetFunctionServiceConfigSecretVolumeVersion

type GetFunctionServiceConfigSecretVolumeVersion struct {
	// Relative path of the file under the mount path where the secret value for this version will be fetched and made available. For example, setting the mountPath as '/etc/secrets' and path as secretFoo would mount the secret value file at /etc/secrets/secret_foo.
	Path string `pulumi:"path"`
	// Version of the secret (version number or the string 'latest'). It is preferable to use latest version with secret volumes as secret value changes are reflected immediately.
	Version string `pulumi:"version"`
}

type GetFunctionServiceConfigSecretVolumeVersionArgs

type GetFunctionServiceConfigSecretVolumeVersionArgs struct {
	// Relative path of the file under the mount path where the secret value for this version will be fetched and made available. For example, setting the mountPath as '/etc/secrets' and path as secretFoo would mount the secret value file at /etc/secrets/secret_foo.
	Path pulumi.StringInput `pulumi:"path"`
	// Version of the secret (version number or the string 'latest'). It is preferable to use latest version with secret volumes as secret value changes are reflected immediately.
	Version pulumi.StringInput `pulumi:"version"`
}

func (GetFunctionServiceConfigSecretVolumeVersionArgs) ElementType

func (GetFunctionServiceConfigSecretVolumeVersionArgs) ToGetFunctionServiceConfigSecretVolumeVersionOutput

func (i GetFunctionServiceConfigSecretVolumeVersionArgs) ToGetFunctionServiceConfigSecretVolumeVersionOutput() GetFunctionServiceConfigSecretVolumeVersionOutput

func (GetFunctionServiceConfigSecretVolumeVersionArgs) ToGetFunctionServiceConfigSecretVolumeVersionOutputWithContext

func (i GetFunctionServiceConfigSecretVolumeVersionArgs) ToGetFunctionServiceConfigSecretVolumeVersionOutputWithContext(ctx context.Context) GetFunctionServiceConfigSecretVolumeVersionOutput

type GetFunctionServiceConfigSecretVolumeVersionArray

type GetFunctionServiceConfigSecretVolumeVersionArray []GetFunctionServiceConfigSecretVolumeVersionInput

func (GetFunctionServiceConfigSecretVolumeVersionArray) ElementType

func (GetFunctionServiceConfigSecretVolumeVersionArray) ToGetFunctionServiceConfigSecretVolumeVersionArrayOutput

func (i GetFunctionServiceConfigSecretVolumeVersionArray) ToGetFunctionServiceConfigSecretVolumeVersionArrayOutput() GetFunctionServiceConfigSecretVolumeVersionArrayOutput

func (GetFunctionServiceConfigSecretVolumeVersionArray) ToGetFunctionServiceConfigSecretVolumeVersionArrayOutputWithContext

func (i GetFunctionServiceConfigSecretVolumeVersionArray) ToGetFunctionServiceConfigSecretVolumeVersionArrayOutputWithContext(ctx context.Context) GetFunctionServiceConfigSecretVolumeVersionArrayOutput

type GetFunctionServiceConfigSecretVolumeVersionArrayInput

type GetFunctionServiceConfigSecretVolumeVersionArrayInput interface {
	pulumi.Input

	ToGetFunctionServiceConfigSecretVolumeVersionArrayOutput() GetFunctionServiceConfigSecretVolumeVersionArrayOutput
	ToGetFunctionServiceConfigSecretVolumeVersionArrayOutputWithContext(context.Context) GetFunctionServiceConfigSecretVolumeVersionArrayOutput
}

GetFunctionServiceConfigSecretVolumeVersionArrayInput is an input type that accepts GetFunctionServiceConfigSecretVolumeVersionArray and GetFunctionServiceConfigSecretVolumeVersionArrayOutput values. You can construct a concrete instance of `GetFunctionServiceConfigSecretVolumeVersionArrayInput` via:

GetFunctionServiceConfigSecretVolumeVersionArray{ GetFunctionServiceConfigSecretVolumeVersionArgs{...} }

type GetFunctionServiceConfigSecretVolumeVersionArrayOutput

type GetFunctionServiceConfigSecretVolumeVersionArrayOutput struct{ *pulumi.OutputState }

func (GetFunctionServiceConfigSecretVolumeVersionArrayOutput) ElementType

func (GetFunctionServiceConfigSecretVolumeVersionArrayOutput) Index

func (GetFunctionServiceConfigSecretVolumeVersionArrayOutput) ToGetFunctionServiceConfigSecretVolumeVersionArrayOutput

func (GetFunctionServiceConfigSecretVolumeVersionArrayOutput) ToGetFunctionServiceConfigSecretVolumeVersionArrayOutputWithContext

func (o GetFunctionServiceConfigSecretVolumeVersionArrayOutput) ToGetFunctionServiceConfigSecretVolumeVersionArrayOutputWithContext(ctx context.Context) GetFunctionServiceConfigSecretVolumeVersionArrayOutput

type GetFunctionServiceConfigSecretVolumeVersionInput

type GetFunctionServiceConfigSecretVolumeVersionInput interface {
	pulumi.Input

	ToGetFunctionServiceConfigSecretVolumeVersionOutput() GetFunctionServiceConfigSecretVolumeVersionOutput
	ToGetFunctionServiceConfigSecretVolumeVersionOutputWithContext(context.Context) GetFunctionServiceConfigSecretVolumeVersionOutput
}

GetFunctionServiceConfigSecretVolumeVersionInput is an input type that accepts GetFunctionServiceConfigSecretVolumeVersionArgs and GetFunctionServiceConfigSecretVolumeVersionOutput values. You can construct a concrete instance of `GetFunctionServiceConfigSecretVolumeVersionInput` via:

GetFunctionServiceConfigSecretVolumeVersionArgs{...}

type GetFunctionServiceConfigSecretVolumeVersionOutput

type GetFunctionServiceConfigSecretVolumeVersionOutput struct{ *pulumi.OutputState }

func (GetFunctionServiceConfigSecretVolumeVersionOutput) ElementType

func (GetFunctionServiceConfigSecretVolumeVersionOutput) Path

Relative path of the file under the mount path where the secret value for this version will be fetched and made available. For example, setting the mountPath as '/etc/secrets' and path as secretFoo would mount the secret value file at /etc/secrets/secret_foo.

func (GetFunctionServiceConfigSecretVolumeVersionOutput) ToGetFunctionServiceConfigSecretVolumeVersionOutput

func (o GetFunctionServiceConfigSecretVolumeVersionOutput) ToGetFunctionServiceConfigSecretVolumeVersionOutput() GetFunctionServiceConfigSecretVolumeVersionOutput

func (GetFunctionServiceConfigSecretVolumeVersionOutput) ToGetFunctionServiceConfigSecretVolumeVersionOutputWithContext

func (o GetFunctionServiceConfigSecretVolumeVersionOutput) ToGetFunctionServiceConfigSecretVolumeVersionOutputWithContext(ctx context.Context) GetFunctionServiceConfigSecretVolumeVersionOutput

func (GetFunctionServiceConfigSecretVolumeVersionOutput) Version

Version of the secret (version number or the string 'latest'). It is preferable to use latest version with secret volumes as secret value changes are reflected immediately.

type LookupFunctionArgs

type LookupFunctionArgs struct {
	// The location in which the resource belongs.
	//
	// ***
	Location string `pulumi:"location"`
	// The name of a Cloud Function (2nd gen).
	Name string `pulumi:"name"`
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project *string `pulumi:"project"`
}

A collection of arguments for invoking getFunction.

type LookupFunctionIamPolicyArgs

type LookupFunctionIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	CloudFunction string `pulumi:"cloudFunction"`
	// The location of this cloud function. Used to find the parent resource to bind the IAM policy to
	Location *string `pulumi:"location"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project *string `pulumi:"project"`
}

A collection of arguments for invoking getFunctionIamPolicy.

type LookupFunctionIamPolicyOutputArgs

type LookupFunctionIamPolicyOutputArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	CloudFunction pulumi.StringInput `pulumi:"cloudFunction"`
	// The location of this cloud function. Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput `pulumi:"location"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput `pulumi:"project"`
}

A collection of arguments for invoking getFunctionIamPolicy.

func (LookupFunctionIamPolicyOutputArgs) ElementType

type LookupFunctionIamPolicyResult

type LookupFunctionIamPolicyResult struct {
	CloudFunction string `pulumi:"cloudFunction"`
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id       string `pulumi:"id"`
	Location string `pulumi:"location"`
	// (Required only by `cloudfunctionsv2.FunctionIamPolicy`) The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData string `pulumi:"policyData"`
	Project    string `pulumi:"project"`
}

A collection of values returned by getFunctionIamPolicy.

func LookupFunctionIamPolicy

func LookupFunctionIamPolicy(ctx *pulumi.Context, args *LookupFunctionIamPolicyArgs, opts ...pulumi.InvokeOption) (*LookupFunctionIamPolicyResult, error)

Retrieves the current IAM policy data for function

## example

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfunctionsv2.LookupFunctionIamPolicy(ctx, &cloudfunctionsv2.LookupFunctionIamPolicyArgs{
			Project:       pulumi.StringRef(function.Project),
			Location:      pulumi.StringRef(function.Location),
			CloudFunction: function.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupFunctionIamPolicyResultOutput

type LookupFunctionIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFunctionIamPolicy.

func (LookupFunctionIamPolicyResultOutput) CloudFunction

func (LookupFunctionIamPolicyResultOutput) ElementType

func (LookupFunctionIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (LookupFunctionIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupFunctionIamPolicyResultOutput) Location

func (LookupFunctionIamPolicyResultOutput) PolicyData

(Required only by `cloudfunctionsv2.FunctionIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.

func (LookupFunctionIamPolicyResultOutput) Project

func (LookupFunctionIamPolicyResultOutput) ToLookupFunctionIamPolicyResultOutput

func (o LookupFunctionIamPolicyResultOutput) ToLookupFunctionIamPolicyResultOutput() LookupFunctionIamPolicyResultOutput

func (LookupFunctionIamPolicyResultOutput) ToLookupFunctionIamPolicyResultOutputWithContext

func (o LookupFunctionIamPolicyResultOutput) ToLookupFunctionIamPolicyResultOutputWithContext(ctx context.Context) LookupFunctionIamPolicyResultOutput

type LookupFunctionOutputArgs

type LookupFunctionOutputArgs struct {
	// The location in which the resource belongs.
	//
	// ***
	Location pulumi.StringInput `pulumi:"location"`
	// The name of a Cloud Function (2nd gen).
	Name pulumi.StringInput `pulumi:"name"`
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringPtrInput `pulumi:"project"`
}

A collection of arguments for invoking getFunction.

func (LookupFunctionOutputArgs) ElementType

func (LookupFunctionOutputArgs) ElementType() reflect.Type

type LookupFunctionResult

type LookupFunctionResult struct {
	BuildConfigs    []GetFunctionBuildConfig  `pulumi:"buildConfigs"`
	Description     string                    `pulumi:"description"`
	EffectiveLabels map[string]string         `pulumi:"effectiveLabels"`
	Environment     string                    `pulumi:"environment"`
	EventTriggers   []GetFunctionEventTrigger `pulumi:"eventTriggers"`
	// The provider-assigned unique ID for this managed resource.
	Id             string                     `pulumi:"id"`
	KmsKeyName     string                     `pulumi:"kmsKeyName"`
	Labels         map[string]string          `pulumi:"labels"`
	Location       string                     `pulumi:"location"`
	Name           string                     `pulumi:"name"`
	Project        *string                    `pulumi:"project"`
	PulumiLabels   map[string]string          `pulumi:"pulumiLabels"`
	ServiceConfigs []GetFunctionServiceConfig `pulumi:"serviceConfigs"`
	State          string                     `pulumi:"state"`
	UpdateTime     string                     `pulumi:"updateTime"`
	Url            string                     `pulumi:"url"`
}

A collection of values returned by getFunction.

func LookupFunction

func LookupFunction(ctx *pulumi.Context, args *LookupFunctionArgs, opts ...pulumi.InvokeOption) (*LookupFunctionResult, error)

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

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudfunctionsv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfunctionsv2.LookupFunction(ctx, &cloudfunctionsv2.LookupFunctionArgs{
			Name:     "function",
			Location: "us-central1",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupFunctionResultOutput

type LookupFunctionResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFunction.

func (LookupFunctionResultOutput) BuildConfigs

func (LookupFunctionResultOutput) Description

func (LookupFunctionResultOutput) EffectiveLabels

func (LookupFunctionResultOutput) ElementType

func (LookupFunctionResultOutput) ElementType() reflect.Type

func (LookupFunctionResultOutput) Environment

func (LookupFunctionResultOutput) EventTriggers

func (LookupFunctionResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupFunctionResultOutput) KmsKeyName

func (LookupFunctionResultOutput) Labels

func (LookupFunctionResultOutput) Location

func (LookupFunctionResultOutput) Name

func (LookupFunctionResultOutput) Project

func (LookupFunctionResultOutput) PulumiLabels

func (LookupFunctionResultOutput) ServiceConfigs

func (LookupFunctionResultOutput) State

func (LookupFunctionResultOutput) ToLookupFunctionResultOutput

func (o LookupFunctionResultOutput) ToLookupFunctionResultOutput() LookupFunctionResultOutput

func (LookupFunctionResultOutput) ToLookupFunctionResultOutputWithContext

func (o LookupFunctionResultOutput) ToLookupFunctionResultOutputWithContext(ctx context.Context) LookupFunctionResultOutput

func (LookupFunctionResultOutput) UpdateTime

func (LookupFunctionResultOutput) Url

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL