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
#automatic_update_policy=
def automatic_update_policy=(value) -> ::Google::Cloud::Functions::V1::CloudFunction::AutomaticUpdatePolicy
#available_memory_mb
def available_memory_mb() -> ::Integer
- (::Integer) — The amount of memory in MB available for a function. Defaults to 256MB.
#available_memory_mb=
def available_memory_mb=(value) -> ::Integer
- value (::Integer) — The amount of memory in MB available for a function. Defaults to 256MB.
- (::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}
- (::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}
- value (::Google::Protobuf::Map{::String => ::String}) — Build environment variables that shall be available during build time.
- (::Google::Protobuf::Map{::String => ::String}) — Build environment variables that shall be available during build time.
#build_id
def build_id() -> ::String
- (::String) — Output only. The Cloud Build ID of the latest successful deployment of the function.
#build_name
def build_name() -> ::String
-
(::String) — Output only. The Cloud Build Name of the function deployment.
projects/<project-number>/locations/<region>/builds/<build-id>
.
#build_service_account
def build_service_account() -> ::String
-
(::String) — A service account the user provides for use with Cloud Build. The format of
this field is
projects/{projectId}/serviceAccounts/{serviceAccountEmail}
.
#build_service_account=
def build_service_account=(value) -> ::String
-
value (::String) — A service account the user provides for use with Cloud Build. The format of
this field is
projects/{projectId}/serviceAccounts/{serviceAccountEmail}
.
-
(::String) — A service account the user provides for use with Cloud Build. The format of
this field is
projects/{projectId}/serviceAccounts/{serviceAccountEmail}
.
#build_worker_pool
def build_worker_pool() -> ::String
-
(::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
-
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.
-
(::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
- (::String) — User-provided description of a function.
#description=
def description=(value) -> ::String
- value (::String) — User-provided description of a function.
- (::String) — User-provided description of a function.
#docker_registry
def docker_registry() -> ::Google::Cloud::Functions::V1::CloudFunction::DockerRegistry
-
(::Google::Cloud::Functions::V1::CloudFunction::DockerRegistry) — Docker Registry to use for this deployment.
If unspecified, it defaults to
ARTIFACT_REGISTRY
. Ifdocker_repository
field is specified, this field should either be left unspecified or set toARTIFACT_REGISTRY
.
#docker_registry=
def docker_registry=(value) -> ::Google::Cloud::Functions::V1::CloudFunction::DockerRegistry
-
value (::Google::Cloud::Functions::V1::CloudFunction::DockerRegistry) — Docker Registry to use for this deployment.
If unspecified, it defaults to
ARTIFACT_REGISTRY
. Ifdocker_repository
field is specified, this field should either be left unspecified or set toARTIFACT_REGISTRY
.
-
(::Google::Cloud::Functions::V1::CloudFunction::DockerRegistry) — Docker Registry to use for this deployment.
If unspecified, it defaults to
ARTIFACT_REGISTRY
. Ifdocker_repository
field is specified, this field should either be left unspecified or set toARTIFACT_REGISTRY
.
#docker_repository
def docker_repository() -> ::String
-
(::String) — User-managed repository created in Artifact Registry to which the
function's Docker image will be pushed after it is built by Cloud Build.
May optionally be encrypted with a customer-managed encryption key (CMEK).
If unspecified and
docker_registry
is not explicitly set toCONTAINER_REGISTRY
, GCF will create and use a default Artifact Registry repository named 'gcf-artifacts' in the region.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
-
value (::String) — User-managed repository created in Artifact Registry to which the
function's Docker image will be pushed after it is built by Cloud Build.
May optionally be encrypted with a customer-managed encryption key (CMEK).
If unspecified and
docker_registry
is not explicitly set toCONTAINER_REGISTRY
, GCF will create and use a default Artifact Registry repository named 'gcf-artifacts' in the region.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'.
-
(::String) — User-managed repository created in Artifact Registry to which the
function's Docker image will be pushed after it is built by Cloud Build.
May optionally be encrypted with a customer-managed encryption key (CMEK).
If unspecified and
docker_registry
is not explicitly set toCONTAINER_REGISTRY
, GCF will create and use a default Artifact Registry repository named 'gcf-artifacts' in the region.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
- (::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
- 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.
- (::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}
- (::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}
- value (::Google::Protobuf::Map{::String => ::String}) — Environment variables that shall be available during function execution.
- (::Google::Protobuf::Map{::String => ::String}) — Environment variables that shall be available during function execution.
#event_trigger
def event_trigger() -> ::Google::Cloud::Functions::V1::EventTrigger
- (::Google::Cloud::Functions::V1::EventTrigger) — A source that fires events in response to a condition in another service.
#event_trigger=
def event_trigger=(value) -> ::Google::Cloud::Functions::V1::EventTrigger
- value (::Google::Cloud::Functions::V1::EventTrigger) — A source that fires events in response to a condition in another service.
- (::Google::Cloud::Functions::V1::EventTrigger) — A source that fires events in response to a condition in another service.
#https_trigger
def https_trigger() -> ::Google::Cloud::Functions::V1::HttpsTrigger
- (::Google::Cloud::Functions::V1::HttpsTrigger) — An HTTPS endpoint type of source that can be triggered via URL.
#https_trigger=
def https_trigger=(value) -> ::Google::Cloud::Functions::V1::HttpsTrigger
- value (::Google::Cloud::Functions::V1::HttpsTrigger) — An HTTPS endpoint type of source that can be triggered via URL.
- (::Google::Cloud::Functions::V1::HttpsTrigger) — An HTTPS endpoint type of source that can be triggered via URL.
#ingress_settings
def ingress_settings() -> ::Google::Cloud::Functions::V1::CloudFunction::IngressSettings
- (::Google::Cloud::Functions::V1::CloudFunction::IngressSettings) — The ingress settings for the function, controlling what traffic can reach it.
#ingress_settings=
def ingress_settings=(value) -> ::Google::Cloud::Functions::V1::CloudFunction::IngressSettings
- value (::Google::Cloud::Functions::V1::CloudFunction::IngressSettings) — The ingress settings for the function, controlling what traffic can reach it.
- (::Google::Cloud::Functions::V1::CloudFunction::IngressSettings) — The ingress settings for the function, controlling what traffic can reach it.
#kms_key_name
def kms_key_name() -> ::String
-
(::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).
- Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) - Required to protect the function's image.
- 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
-
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).
- Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) - Required to protect the function's image.
- 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.
-
(::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).
- Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) - Required to protect the function's image.
- 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}
- (::Google::Protobuf::Map{::String => ::String}) — Labels associated with this Cloud Function.
#labels=
def labels=(value) -> ::Google::Protobuf::Map{::String => ::String}
- value (::Google::Protobuf::Map{::String => ::String}) — Labels associated with this Cloud Function.
- (::Google::Protobuf::Map{::String => ::String}) — Labels associated with this Cloud Function.
#max_instances
def max_instances() -> ::Integer
-
(::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
-
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.
-
(::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
- (::Integer) — A lower bound for the number function instances that may coexist at a given time.
#min_instances=
def min_instances=(value) -> ::Integer
- value (::Integer) — A lower bound for the number function instances that may coexist at a given time.
- (::Integer) — A lower bound for the number function instances that may coexist at a given time.
#name
def name() -> ::String
-
(::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
-
value (::String) — A user-defined name of the function. Function names must be unique
globally and match pattern
projects/*/locations/*/functions/*
-
(::String) — A user-defined name of the function. Function names must be unique
globally and match pattern
projects/*/locations/*/functions/*
#network
def network() -> ::String
- (::String) — Deprecated: use vpc_connector
#network=
def network=(value) -> ::String
- value (::String) — Deprecated: use vpc_connector
- (::String) — Deprecated: use vpc_connector
#on_deploy_update_policy
def on_deploy_update_policy() -> ::Google::Cloud::Functions::V1::CloudFunction::OnDeployUpdatePolicy
#on_deploy_update_policy=
def on_deploy_update_policy=(value) -> ::Google::Cloud::Functions::V1::CloudFunction::OnDeployUpdatePolicy
#runtime
def runtime() -> ::String
-
(::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
-
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.
-
(::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>
- (::Array<::Google::Cloud::Functions::V1::SecretEnvVar>) — Secret environment variables configuration.
#secret_environment_variables=
def secret_environment_variables=(value) -> ::Array<::Google::Cloud::Functions::V1::SecretEnvVar>
- value (::Array<::Google::Cloud::Functions::V1::SecretEnvVar>) — Secret environment variables configuration.
- (::Array<::Google::Cloud::Functions::V1::SecretEnvVar>) — Secret environment variables configuration.
#secret_volumes
def secret_volumes() -> ::Array<::Google::Cloud::Functions::V1::SecretVolume>
- (::Array<::Google::Cloud::Functions::V1::SecretVolume>) — Secret volumes configuration.
#secret_volumes=
def secret_volumes=(value) -> ::Array<::Google::Cloud::Functions::V1::SecretVolume>
- value (::Array<::Google::Cloud::Functions::V1::SecretVolume>) — Secret volumes configuration.
- (::Array<::Google::Cloud::Functions::V1::SecretVolume>) — Secret volumes configuration.
#service_account_email
def service_account_email() -> ::String
-
(::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
-
value (::String) — The email of the function's service account. If empty, defaults to
{project_id}@appspot.gserviceaccount.com
.
-
(::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
-
(::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
-
value (::String) — The Google Cloud Storage URL, starting with
gs://
, pointing to the zip archive which contains the function.
-
(::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
-
(::Google::Cloud::Functions::V1::SourceRepository) — Beta Feature
The source repository where a function is hosted.
#source_repository=
def source_repository=(value) -> ::Google::Cloud::Functions::V1::SourceRepository
-
value (::Google::Cloud::Functions::V1::SourceRepository) — Beta Feature
The source repository where a function is hosted.
-
(::Google::Cloud::Functions::V1::SourceRepository) — Beta Feature
The source repository where a function is hosted.
#source_token
def source_token() -> ::String
- (::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
- value (::String) — Input only. An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.
- (::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
-
(::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
-
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)
-
(::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
- (::Google::Cloud::Functions::V1::CloudFunctionStatus) — Output only. Status of the function deployment.
#timeout
def timeout() -> ::Google::Protobuf::Duration
- (::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
- 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.
- (::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
- (::Google::Protobuf::Timestamp) — Output only. The last update timestamp of a Cloud Function.
#version_id
def version_id() -> ::Integer
- (::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
-
(::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
-
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.
-
(::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
- (::Google::Cloud::Functions::V1::CloudFunction::VpcConnectorEgressSettings) — The egress settings for the connector, controlling what traffic is diverted through it.
#vpc_connector_egress_settings=
def vpc_connector_egress_settings=(value) -> ::Google::Cloud::Functions::V1::CloudFunction::VpcConnectorEgressSettings
- value (::Google::Cloud::Functions::V1::CloudFunction::VpcConnectorEgressSettings) — The egress settings for the connector, controlling what traffic is diverted through it.
- (::Google::Cloud::Functions::V1::CloudFunction::VpcConnectorEgressSettings) — The egress settings for the connector, controlling what traffic is diverted through it.