Cloud Functions V1 API - Class Google::Cloud::Functions::V1::CloudFunction (v0.15.0)

Reference documentation and code samples for the Cloud Functions V1 API class Google::Cloud::Functions::V1::CloudFunction.

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

Inherits

  • Object

Extended By

  • Google::Protobuf::MessageExts::ClassMethods

Includes

  • Google::Protobuf::MessageExts

Methods

#automatic_update_policy

def automatic_update_policy() -> ::Google::Cloud::Functions::V1::CloudFunction::AutomaticUpdatePolicy
Returns

#automatic_update_policy=

def automatic_update_policy=(value) -> ::Google::Cloud::Functions::V1::CloudFunction::AutomaticUpdatePolicy
Parameter
Returns

#available_memory_mb

def available_memory_mb() -> ::Integer
Returns
  • (::Integer) — The amount of memory in MB available for a function. Defaults to 256MB.

#available_memory_mb=

def available_memory_mb=(value) -> ::Integer
Parameter
  • value (::Integer) — The amount of memory in MB available for a function. Defaults to 256MB.
Returns
  • (::Integer) — The amount of memory in MB available for a function. Defaults to 256MB.

#build_environment_variables

def build_environment_variables() -> ::Google::Protobuf::Map{::String => ::String}
Returns
  • (::Google::Protobuf::Map{::String => ::String}) — Build environment variables that shall be available during build time.

#build_environment_variables=

def build_environment_variables=(value) -> ::Google::Protobuf::Map{::String => ::String}
Parameter
  • value (::Google::Protobuf::Map{::String => ::String}) — Build environment variables that shall be available during build time.
Returns
  • (::Google::Protobuf::Map{::String => ::String}) — Build environment variables that shall be available during build time.

#build_id

def build_id() -> ::String
Returns
  • (::String) — Output only. The Cloud Build ID of the latest successful deployment of the function.

#build_name

def build_name() -> ::String
Returns
  • (::String) — Output only. The Cloud Build Name of the function deployment. projects/<project-number>/locations/<region>/builds/<build-id>.

#build_worker_pool

def build_worker_pool() -> ::String
Returns
  • (::String) — 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-<project_number>@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.

#build_worker_pool=

def build_worker_pool=(value) -> ::String
Parameter
  • value (::String) — 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-<project_number>@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.

Returns
  • (::String) — 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-<project_number>@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.

#description

def description() -> ::String
Returns
  • (::String) — User-provided description of a function.

#description=

def description=(value) -> ::String
Parameter
  • value (::String) — User-provided description of a function.
Returns
  • (::String) — User-provided description of a function.

#docker_registry

def docker_registry() -> ::Google::Cloud::Functions::V1::CloudFunction::DockerRegistry
Returns

#docker_registry=

def docker_registry=(value) -> ::Google::Cloud::Functions::V1::CloudFunction::DockerRegistry
Parameter
Returns

#docker_repository

def docker_repository() -> ::String
Returns
  • (::String) — 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'.

#docker_repository=

def docker_repository=(value) -> ::String
Parameter
  • value (::String) — 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'.

Returns
  • (::String) — 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'.

#entry_point

def entry_point() -> ::String
Returns
  • (::String) — 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.

#entry_point=

def entry_point=(value) -> ::String
Parameter
  • value (::String) — 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.
Returns
  • (::String) — 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.

#environment_variables

def environment_variables() -> ::Google::Protobuf::Map{::String => ::String}
Returns
  • (::Google::Protobuf::Map{::String => ::String}) — Environment variables that shall be available during function execution.

#environment_variables=

def environment_variables=(value) -> ::Google::Protobuf::Map{::String => ::String}
Parameter
  • value (::Google::Protobuf::Map{::String => ::String}) — Environment variables that shall be available during function execution.
Returns
  • (::Google::Protobuf::Map{::String => ::String}) — Environment variables that shall be available during function execution.

#event_trigger

def event_trigger() -> ::Google::Cloud::Functions::V1::EventTrigger
Returns

#event_trigger=

def event_trigger=(value) -> ::Google::Cloud::Functions::V1::EventTrigger
Parameter
Returns

#https_trigger

def https_trigger() -> ::Google::Cloud::Functions::V1::HttpsTrigger
Returns

#https_trigger=

def https_trigger=(value) -> ::Google::Cloud::Functions::V1::HttpsTrigger
Parameter
Returns

#ingress_settings

def ingress_settings() -> ::Google::Cloud::Functions::V1::CloudFunction::IngressSettings
Returns

#ingress_settings=

def ingress_settings=(value) -> ::Google::Cloud::Functions::V1::CloudFunction::IngressSettings
Parameter
Returns

#kms_key_name

def kms_key_name() -> ::String
Returns
  • (::String) — 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.

#kms_key_name=

def kms_key_name=(value) -> ::String
Parameter
  • value (::String) — 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.

Returns
  • (::String) — 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.

#labels

def labels() -> ::Google::Protobuf::Map{::String => ::String}
Returns
  • (::Google::Protobuf::Map{::String => ::String}) — Labels associated with this Cloud Function.

#labels=

def labels=(value) -> ::Google::Protobuf::Map{::String => ::String}
Parameter
  • value (::Google::Protobuf::Map{::String => ::String}) — Labels associated with this Cloud Function.
Returns
  • (::Google::Protobuf::Map{::String => ::String}) — Labels associated with this Cloud Function.

#max_instances

def max_instances() -> ::Integer
Returns
  • (::Integer) — 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.

#max_instances=

def max_instances=(value) -> ::Integer
Parameter
  • value (::Integer) — 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.

Returns
  • (::Integer) — 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.

#min_instances

def min_instances() -> ::Integer
Returns
  • (::Integer) — A lower bound for the number function instances that may coexist at a given time.

#min_instances=

def min_instances=(value) -> ::Integer
Parameter
  • value (::Integer) — A lower bound for the number function instances that may coexist at a given time.
Returns
  • (::Integer) — A lower bound for the number function instances that may coexist at a given time.

#name

def name() -> ::String
Returns
  • (::String) — A user-defined name of the function. Function names must be unique globally and match pattern projects/*/locations/*/functions/*

#name=

def name=(value) -> ::String
Parameter
  • value (::String) — A user-defined name of the function. Function names must be unique globally and match pattern projects/*/locations/*/functions/*
Returns
  • (::String) — A user-defined name of the function. Function names must be unique globally and match pattern projects/*/locations/*/functions/*

#network

def network() -> ::String
Returns
  • (::String) — Deprecated: use vpc_connector

#network=

def network=(value) -> ::String
Parameter
  • value (::String) — Deprecated: use vpc_connector
Returns
  • (::String) — Deprecated: use vpc_connector

#on_deploy_update_policy

def on_deploy_update_policy() -> ::Google::Cloud::Functions::V1::CloudFunction::OnDeployUpdatePolicy
Returns

#on_deploy_update_policy=

def on_deploy_update_policy=(value) -> ::Google::Cloud::Functions::V1::CloudFunction::OnDeployUpdatePolicy
Parameter
Returns

#runtime

def runtime() -> ::String
Returns
  • (::String) — 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.

#runtime=

def runtime=(value) -> ::String
Parameter
  • value (::String) — 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.
Returns
  • (::String) — 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.

#secret_environment_variables

def secret_environment_variables() -> ::Array<::Google::Cloud::Functions::V1::SecretEnvVar>
Returns

#secret_environment_variables=

def secret_environment_variables=(value) -> ::Array<::Google::Cloud::Functions::V1::SecretEnvVar>
Parameter
Returns

#secret_volumes

def secret_volumes() -> ::Array<::Google::Cloud::Functions::V1::SecretVolume>
Returns

#secret_volumes=

def secret_volumes=(value) -> ::Array<::Google::Cloud::Functions::V1::SecretVolume>
Parameter
Returns

#service_account_email

def service_account_email() -> ::String
Returns
  • (::String) — The email of the function's service account. If empty, defaults to {project_id}@appspot.gserviceaccount.com.

#service_account_email=

def service_account_email=(value) -> ::String
Parameter
  • value (::String) — The email of the function's service account. If empty, defaults to {project_id}@appspot.gserviceaccount.com.
Returns
  • (::String) — The email of the function's service account. If empty, defaults to {project_id}@appspot.gserviceaccount.com.

#source_archive_url

def source_archive_url() -> ::String
Returns
  • (::String) — The Google Cloud Storage URL, starting with gs://, pointing to the zip archive which contains the function.

#source_archive_url=

def source_archive_url=(value) -> ::String
Parameter
  • value (::String) — The Google Cloud Storage URL, starting with gs://, pointing to the zip archive which contains the function.
Returns
  • (::String) — The Google Cloud Storage URL, starting with gs://, pointing to the zip archive which contains the function.

#source_repository

def source_repository() -> ::Google::Cloud::Functions::V1::SourceRepository
Returns

#source_repository=

def source_repository=(value) -> ::Google::Cloud::Functions::V1::SourceRepository
Parameter
Returns

#source_token

def source_token() -> ::String
Returns
  • (::String) — Input only. An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.

#source_token=

def source_token=(value) -> ::String
Parameter
  • value (::String) — Input only. An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.
Returns
  • (::String) — Input only. An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.

#source_upload_url

def source_upload_url() -> ::String
Returns
  • (::String) — 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)

#source_upload_url=

def source_upload_url=(value) -> ::String
Parameter
  • value (::String) — 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)

Returns
  • (::String) — 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)

#status

def status() -> ::Google::Cloud::Functions::V1::CloudFunctionStatus
Returns

#timeout

def timeout() -> ::Google::Protobuf::Duration
Returns
  • (::Google::Protobuf::Duration) — 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.

#timeout=

def timeout=(value) -> ::Google::Protobuf::Duration
Parameter
  • value (::Google::Protobuf::Duration) — 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.
Returns
  • (::Google::Protobuf::Duration) — 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.

#update_time

def update_time() -> ::Google::Protobuf::Timestamp
Returns

#version_id

def version_id() -> ::Integer
Returns
  • (::Integer) — Output only. The version identifier of the Cloud Function. Each deployment attempt results in a new version of a function being created.

#vpc_connector

def vpc_connector() -> ::String
Returns
  • (::String) — 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.

#vpc_connector=

def vpc_connector=(value) -> ::String
Parameter
  • value (::String) — 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.

Returns
  • (::String) — 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.

#vpc_connector_egress_settings

def vpc_connector_egress_settings() -> ::Google::Cloud::Functions::V1::CloudFunction::VpcConnectorEgressSettings
Returns

#vpc_connector_egress_settings=

def vpc_connector_egress_settings=(value) -> ::Google::Cloud::Functions::V1::CloudFunction::VpcConnectorEgressSettings
Parameter
Returns