View Source GoogleApi.CloudFunctions.V1.Model.CloudFunction (google_api_cloud_functions v0.37.0)

Describes a Cloud Function that contains user computation executed in response to an event. It encapsulate function and triggers configurations.

Attributes

  • automaticUpdatePolicy (type: GoogleApi.CloudFunctions.V1.Model.AutomaticUpdatePolicy.t, default: nil) -
  • labels (type: map(), default: nil) - Labels associated with this Cloud Function.
  • name (type: String.t, default: nil) - A user-defined name of the function. Function names must be unique globally and match pattern projects/*/locations/*/functions/*
  • sourceUploadUrl (type: String.t, default: nil) - The Google Cloud Storage signed URL used for source uploading, generated by calling [google.cloud.functions.v1.GenerateUploadUrl]. The signature is validated on write methods (Create, Update) The signature is stripped from the Function object on read methods (Get, List)
  • sourceToken (type: String.t, default: nil) - Input only. An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.
  • eventTrigger (type: GoogleApi.CloudFunctions.V1.Model.EventTrigger.t, default: nil) - A source that fires events in response to a condition in another service.
  • environmentVariables (type: map(), default: nil) - Environment variables that shall be available during function execution.
  • description (type: String.t, default: nil) - User-provided description of a function.
  • vpcConnector (type: String.t, default: nil) - The VPC Network Connector that this cloud function can connect to. It can be either the fully-qualified URI, or the short name of the network connector resource. The format of this field is projects/*/locations/*/connectors/* This field is mutually exclusive with network field and will eventually replace it. See the VPC documentation for more information on connecting Cloud projects.
  • timeout (type: String.t, default: nil) - 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.
  • onDeployUpdatePolicy (type: GoogleApi.CloudFunctions.V1.Model.OnDeployUpdatePolicy.t, default: nil) -
  • maxInstances (type: integer(), default: nil) - The limit on the maximum number of function instances that may coexist at a given time. In some cases, such as rapid traffic surges, Cloud Functions may, for a short period of time, create more instances than the specified max instances limit. If your function cannot tolerate this temporary behavior, you may want to factor in a safety margin and set a lower max instances value than your function can tolerate. See the Max Instances Guide for more details.
  • buildName (type: String.t, default: nil) - Output only. The Cloud Build Name of the function deployment. projects//locations//builds/.
  • secretVolumes (type: list(GoogleApi.CloudFunctions.V1.Model.SecretVolume.t), default: nil) - Secret volumes configuration.
  • sourceRepository (type: GoogleApi.CloudFunctions.V1.Model.SourceRepository.t, default: nil) - Beta Feature The source repository where a function is hosted.
  • buildWorkerPool (type: String.t, default: nil) - Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is projects/{project}/locations/{region}/workerPools/{workerPool} where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.
  • dockerRegistry (type: String.t, default: nil) - Docker Registry to use for this deployment. If unspecified, it defaults to ARTIFACT_REGISTRY. If docker_repository field is specified, this field should either be left unspecified or set to ARTIFACT_REGISTRY.
  • kmsKeyName (type: String.t, default: nil) - Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}. If specified, you must also provide an artifact registry repository using the docker_repository field that was created with the same KMS crypto key. The following service accounts need to be granted the role 'Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the Key/KeyRing/Project/Organization (least access preferred). 1. Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) - Required to protect the function's image. 2. Google Storage service account (service-{project_number}@gs-project-accounts.iam.gserviceaccount.com) - Required to protect the function's source code. If this service account does not exist, deploying a function without a KMS key or retrieving the service agent name provisions it. For more information, see https://cloud.google.com/storage/docs/projects#service-agents and https://cloud.google.com/storage/docs/getting-service-agent#gsutil. Google Cloud Functions delegates access to service agents to protect function resources in internal projects that are not accessible by the end user.
  • availableMemoryMb (type: integer(), default: nil) - The amount of memory in MB available for a function. Defaults to 256MB.
  • runtime (type: String.t, default: nil) - The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function. For a complete list of possible choices, see the gcloud command reference.
  • sourceArchiveUrl (type: String.t, default: nil) - The Google Cloud Storage URL, starting with gs://, pointing to the zip archive which contains the function.
  • vpcConnectorEgressSettings (type: String.t, default: nil) - The egress settings for the connector, controlling what traffic is diverted through it.
  • minInstances (type: integer(), default: nil) - A lower bound for the number function instances that may coexist at a given time.
  • secretEnvironmentVariables (type: list(GoogleApi.CloudFunctions.V1.Model.SecretEnvVar.t), default: nil) - Secret environment variables configuration.
  • network (type: String.t, default: nil) - Deprecated: use vpc_connector
  • buildEnvironmentVariables (type: map(), default: nil) - Build environment variables that shall be available during build time.
  • updateTime (type: DateTime.t, default: nil) - Output only. The last update timestamp of a Cloud Function.
  • ingressSettings (type: String.t, default: nil) - The ingress settings for the function, controlling what traffic can reach it.
  • serviceAccountEmail (type: String.t, default: nil) - The email of the function's service account. If empty, defaults to {project_id}@appspot.gserviceaccount.com.
  • dockerRepository (type: String.t, default: nil) - User managed repository created in Artifact Registry optionally with a customer managed encryption key. If specified, deployments will use Artifact Registry. If unspecified and the deployment is eligible to use Artifact Registry, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. This is the repository to which the function docker image will be pushed after it is built by Cloud Build. It must match the pattern projects/{project}/locations/{location}/repositories/{repository}. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'.
  • httpsTrigger (type: GoogleApi.CloudFunctions.V1.Model.HttpsTrigger.t, default: nil) - An HTTPS endpoint type of source that can be triggered via URL.
  • status (type: String.t, default: nil) - Output only. Status of the function deployment.
  • versionId (type: String.t, default: nil) - Output only. The version identifier of the Cloud Function. Each deployment attempt results in a new version of a function being created.
  • buildId (type: String.t, default: nil) - Output only. The Cloud Build ID of the latest successful deployment of the function.
  • buildServiceAccount (type: String.t, default: nil) - Optional. A service account the user provides for use with Cloud Build.
  • entryPoint (type: String.t, default: nil) - The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix (ID of the function), if not specified.

Summary

Functions

Unwrap a decoded JSON object into its complex fields.

Types

@type t() :: %GoogleApi.CloudFunctions.V1.Model.CloudFunction{
  automaticUpdatePolicy:
    GoogleApi.CloudFunctions.V1.Model.AutomaticUpdatePolicy.t() | nil,
  availableMemoryMb: integer() | nil,
  buildEnvironmentVariables: map() | nil,
  buildId: String.t() | nil,
  buildName: String.t() | nil,
  buildServiceAccount: String.t() | nil,
  buildWorkerPool: String.t() | nil,
  description: String.t() | nil,
  dockerRegistry: String.t() | nil,
  dockerRepository: String.t() | nil,
  entryPoint: String.t() | nil,
  environmentVariables: map() | nil,
  eventTrigger: GoogleApi.CloudFunctions.V1.Model.EventTrigger.t() | nil,
  httpsTrigger: GoogleApi.CloudFunctions.V1.Model.HttpsTrigger.t() | nil,
  ingressSettings: String.t() | nil,
  kmsKeyName: String.t() | nil,
  labels: map() | nil,
  maxInstances: integer() | nil,
  minInstances: integer() | nil,
  name: String.t() | nil,
  network: String.t() | nil,
  onDeployUpdatePolicy:
    GoogleApi.CloudFunctions.V1.Model.OnDeployUpdatePolicy.t() | nil,
  runtime: String.t() | nil,
  secretEnvironmentVariables:
    [GoogleApi.CloudFunctions.V1.Model.SecretEnvVar.t()] | nil,
  secretVolumes: [GoogleApi.CloudFunctions.V1.Model.SecretVolume.t()] | nil,
  serviceAccountEmail: String.t() | nil,
  sourceArchiveUrl: String.t() | nil,
  sourceRepository:
    GoogleApi.CloudFunctions.V1.Model.SourceRepository.t() | nil,
  sourceToken: String.t() | nil,
  sourceUploadUrl: String.t() | nil,
  status: String.t() | nil,
  timeout: String.t() | nil,
  updateTime: DateTime.t() | nil,
  versionId: String.t() | nil,
  vpcConnector: String.t() | nil,
  vpcConnectorEgressSettings: String.t() | nil
}

Functions

@spec decode(struct(), keyword()) :: struct()

Unwrap a decoded JSON object into its complex fields.