Class CloudfunctionsFunction.Builder

    • Method Detail

      • create

        @Stability(Stable)
        public static CloudfunctionsFunction.Builder create​(software.constructs.Construct scope,
                                                            String id)
        Parameters:
        scope - The scope in which to define this construct. This parameter is required.
        id - The scoped construct ID. This parameter is required.
        Returns:
        a new instance of CloudfunctionsFunction.Builder.
      • connection

        @Stability(Experimental)
        public CloudfunctionsFunction.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public CloudfunctionsFunction.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • count

        @Stability(Experimental)
        public CloudfunctionsFunction.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public CloudfunctionsFunction.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Parameters:
        dependsOn - This parameter is required.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public CloudfunctionsFunction.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Parameters:
        forEach - This parameter is required.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public CloudfunctionsFunction.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Parameters:
        lifecycle - This parameter is required.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public CloudfunctionsFunction.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Parameters:
        provider - This parameter is required.
        Returns:
        this
      • provisioners

        @Stability(Experimental)
        public CloudfunctionsFunction.Builder provisioners​(List<? extends Object> provisioners)
        Parameters:
        provisioners - This parameter is required.
        Returns:
        this
      • name

        @Stability(Stable)
        public CloudfunctionsFunction.Builder name​(String name)
        A user-defined name of the function. Function names must be unique globally.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#name CloudfunctionsFunction#name}

        Parameters:
        name - A user-defined name of the function. Function names must be unique globally. This parameter is required.
        Returns:
        this
      • runtime

        @Stability(Stable)
        public CloudfunctionsFunction.Builder runtime​(String runtime)
        The runtime in which the function is going to run. Eg. "nodejs12", "nodejs14", "python37", "go111".

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#runtime CloudfunctionsFunction#runtime}

        Parameters:
        runtime - The runtime in which the function is going to run. Eg. "nodejs12", "nodejs14", "python37", "go111". This parameter is required.
        Returns:
        this
      • availableMemoryMb

        @Stability(Stable)
        public CloudfunctionsFunction.Builder availableMemoryMb​(Number availableMemoryMb)
        Memory (in MB), available to the function. Default value is 256. Possible values include 128, 256, 512, 1024, etc.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#available_memory_mb CloudfunctionsFunction#available_memory_mb}

        Parameters:
        availableMemoryMb - Memory (in MB), available to the function. Default value is 256. Possible values include 128, 256, 512, 1024, etc. This parameter is required.
        Returns:
        this
      • buildEnvironmentVariables

        @Stability(Stable)
        public CloudfunctionsFunction.Builder buildEnvironmentVariables​(Map<String,​String> buildEnvironmentVariables)
        A set of key/value environment variable pairs available during build time.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#build_environment_variables CloudfunctionsFunction#build_environment_variables}

        Parameters:
        buildEnvironmentVariables - A set of key/value environment variable pairs available during build time. This parameter is required.
        Returns:
        this
      • buildServiceAccount

        @Stability(Stable)
        public CloudfunctionsFunction.Builder buildServiceAccount​(String buildServiceAccount)
        The fully-qualified name of the service account to be used for the build step of deploying this function.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#build_service_account CloudfunctionsFunction#build_service_account}

        Parameters:
        buildServiceAccount - The fully-qualified name of the service account to be used for the build step of deploying this function. This parameter is required.
        Returns:
        this
      • buildWorkerPool

        @Stability(Stable)
        public CloudfunctionsFunction.Builder buildWorkerPool​(String buildWorkerPool)
        Name of the Cloud Build Custom Worker Pool that should be used to build the function.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#build_worker_pool CloudfunctionsFunction#build_worker_pool}

        Parameters:
        buildWorkerPool - Name of the Cloud Build Custom Worker Pool that should be used to build the function. This parameter is required.
        Returns:
        this
      • description

        @Stability(Stable)
        public CloudfunctionsFunction.Builder description​(String description)
        Description of the function.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#description CloudfunctionsFunction#description}

        Parameters:
        description - Description of the function. This parameter is required.
        Returns:
        this
      • dockerRegistry

        @Stability(Stable)
        public CloudfunctionsFunction.Builder dockerRegistry​(String dockerRegistry)
        Docker Registry to use for storing the function's Docker images. Allowed values are ARTIFACT_REGISTRY (default) and CONTAINER_REGISTRY.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#docker_registry CloudfunctionsFunction#docker_registry}

        Parameters:
        dockerRegistry - Docker Registry to use for storing the function's Docker images. Allowed values are ARTIFACT_REGISTRY (default) and CONTAINER_REGISTRY. This parameter is required.
        Returns:
        this
      • dockerRepository

        @Stability(Stable)
        public CloudfunctionsFunction.Builder dockerRepository​(String dockerRepository)
        User managed repository created in Artifact Registry optionally with a customer managed encryption key.

        If specified, deployments will use Artifact Registry for storing images built with Cloud Build. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#docker_repository CloudfunctionsFunction#docker_repository}

        Parameters:
        dockerRepository - User managed repository created in Artifact Registry optionally with a customer managed encryption key. This parameter is required.
        Returns:
        this
      • entryPoint

        @Stability(Stable)
        public CloudfunctionsFunction.Builder entryPoint​(String entryPoint)
        Name of the function that will be executed when the Google Cloud Function is triggered.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#entry_point CloudfunctionsFunction#entry_point}

        Parameters:
        entryPoint - Name of the function that will be executed when the Google Cloud Function is triggered. This parameter is required.
        Returns:
        this
      • environmentVariables

        @Stability(Stable)
        public CloudfunctionsFunction.Builder environmentVariables​(Map<String,​String> environmentVariables)
        A set of key/value environment variable pairs to assign to the function.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#environment_variables CloudfunctionsFunction#environment_variables}

        Parameters:
        environmentVariables - A set of key/value environment variable pairs to assign to the function. This parameter is required.
        Returns:
        this
      • eventTrigger

        @Stability(Stable)
        public CloudfunctionsFunction.Builder eventTrigger​(CloudfunctionsFunctionEventTrigger eventTrigger)
        event_trigger block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#event_trigger CloudfunctionsFunction#event_trigger}

        Parameters:
        eventTrigger - event_trigger block. This parameter is required.
        Returns:
        this
      • httpsTriggerSecurityLevel

        @Stability(Stable)
        public CloudfunctionsFunction.Builder httpsTriggerSecurityLevel​(String httpsTriggerSecurityLevel)
        The security level for the function. Defaults to SECURE_OPTIONAL. Valid only if trigger_http is used.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#https_trigger_security_level CloudfunctionsFunction#https_trigger_security_level}

        Parameters:
        httpsTriggerSecurityLevel - The security level for the function. Defaults to SECURE_OPTIONAL. Valid only if trigger_http is used. This parameter is required.
        Returns:
        this
      • httpsTriggerUrl

        @Stability(Stable)
        public CloudfunctionsFunction.Builder httpsTriggerUrl​(String httpsTriggerUrl)
        URL which triggers function execution. Returned only if trigger_http is used.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#https_trigger_url CloudfunctionsFunction#https_trigger_url}

        Parameters:
        httpsTriggerUrl - URL which triggers function execution. Returned only if trigger_http is used. This parameter is required.
        Returns:
        this
      • id

        @Stability(Stable)
        public CloudfunctionsFunction.Builder id​(String id)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#id CloudfunctionsFunction#id}.

        Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

        Parameters:
        id - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#id CloudfunctionsFunction#id}. This parameter is required.
        Returns:
        this
      • ingressSettings

        @Stability(Stable)
        public CloudfunctionsFunction.Builder ingressSettings​(String ingressSettings)
        String value that controls what traffic can reach the function.

        Allowed values are ALLOW_ALL and ALLOW_INTERNAL_ONLY. Changes to this field will recreate the cloud function. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#ingress_settings CloudfunctionsFunction#ingress_settings}

        Parameters:
        ingressSettings - String value that controls what traffic can reach the function. This parameter is required.
        Returns:
        this
      • kmsKeyName

        @Stability(Stable)
        public CloudfunctionsFunction.Builder kmsKeyName​(String kmsKeyName)
        Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#kms_key_name CloudfunctionsFunction#kms_key_name}

        Parameters:
        kmsKeyName - Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. This parameter is required.
        Returns:
        this
      • labels

        @Stability(Stable)
        public CloudfunctionsFunction.Builder labels​(Map<String,​String> labels)
        A set of key/value label pairs to assign to the function. Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements.

        **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#labels CloudfunctionsFunction#labels}

        Parameters:
        labels - A set of key/value label pairs to assign to the function. Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements. This parameter is required.
        Returns:
        this
      • maxInstances

        @Stability(Stable)
        public CloudfunctionsFunction.Builder maxInstances​(Number maxInstances)
        The limit on the maximum number of function instances that may coexist at a given time.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#max_instances CloudfunctionsFunction#max_instances}

        Parameters:
        maxInstances - The limit on the maximum number of function instances that may coexist at a given time. This parameter is required.
        Returns:
        this
      • minInstances

        @Stability(Stable)
        public CloudfunctionsFunction.Builder minInstances​(Number minInstances)
        The limit on the minimum number of function instances that may coexist at a given time.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#min_instances CloudfunctionsFunction#min_instances}

        Parameters:
        minInstances - The limit on the minimum number of function instances that may coexist at a given time. This parameter is required.
        Returns:
        this
      • project

        @Stability(Stable)
        public CloudfunctionsFunction.Builder project​(String project)
        Project of the function. If it is not provided, the provider project is used.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#project CloudfunctionsFunction#project}

        Parameters:
        project - Project of the function. If it is not provided, the provider project is used. This parameter is required.
        Returns:
        this
      • region

        @Stability(Stable)
        public CloudfunctionsFunction.Builder region​(String region)
        Region of function. If it is not provided, the provider region is used.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#region CloudfunctionsFunction#region}

        Parameters:
        region - Region of function. If it is not provided, the provider region is used. This parameter is required.
        Returns:
        this
      • secretEnvironmentVariables

        @Stability(Stable)
        public CloudfunctionsFunction.Builder secretEnvironmentVariables​(com.hashicorp.cdktf.IResolvable secretEnvironmentVariables)
        secret_environment_variables block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#secret_environment_variables CloudfunctionsFunction#secret_environment_variables}

        Parameters:
        secretEnvironmentVariables - secret_environment_variables block. This parameter is required.
        Returns:
        this
      • secretEnvironmentVariables

        @Stability(Stable)
        public CloudfunctionsFunction.Builder secretEnvironmentVariables​(List<? extends CloudfunctionsFunctionSecretEnvironmentVariables> secretEnvironmentVariables)
        secret_environment_variables block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#secret_environment_variables CloudfunctionsFunction#secret_environment_variables}

        Parameters:
        secretEnvironmentVariables - secret_environment_variables block. This parameter is required.
        Returns:
        this
      • secretVolumes

        @Stability(Stable)
        public CloudfunctionsFunction.Builder secretVolumes​(com.hashicorp.cdktf.IResolvable secretVolumes)
        secret_volumes block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#secret_volumes CloudfunctionsFunction#secret_volumes}

        Parameters:
        secretVolumes - secret_volumes block. This parameter is required.
        Returns:
        this
      • secretVolumes

        @Stability(Stable)
        public CloudfunctionsFunction.Builder secretVolumes​(List<? extends CloudfunctionsFunctionSecretVolumes> secretVolumes)
        secret_volumes block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#secret_volumes CloudfunctionsFunction#secret_volumes}

        Parameters:
        secretVolumes - secret_volumes block. This parameter is required.
        Returns:
        this
      • serviceAccountEmail

        @Stability(Stable)
        public CloudfunctionsFunction.Builder serviceAccountEmail​(String serviceAccountEmail)
        If provided, the self-provided service account to run the function with.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#service_account_email CloudfunctionsFunction#service_account_email}

        Parameters:
        serviceAccountEmail - If provided, the self-provided service account to run the function with. This parameter is required.
        Returns:
        this
      • sourceArchiveBucket

        @Stability(Stable)
        public CloudfunctionsFunction.Builder sourceArchiveBucket​(String sourceArchiveBucket)
        The GCS bucket containing the zip archive which contains the function.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#source_archive_bucket CloudfunctionsFunction#source_archive_bucket}

        Parameters:
        sourceArchiveBucket - The GCS bucket containing the zip archive which contains the function. This parameter is required.
        Returns:
        this
      • sourceArchiveObject

        @Stability(Stable)
        public CloudfunctionsFunction.Builder sourceArchiveObject​(String sourceArchiveObject)
        The source archive object (file) in archive bucket.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#source_archive_object CloudfunctionsFunction#source_archive_object}

        Parameters:
        sourceArchiveObject - The source archive object (file) in archive bucket. This parameter is required.
        Returns:
        this
      • sourceRepository

        @Stability(Stable)
        public CloudfunctionsFunction.Builder sourceRepository​(CloudfunctionsFunctionSourceRepository sourceRepository)
        source_repository block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#source_repository CloudfunctionsFunction#source_repository}

        Parameters:
        sourceRepository - source_repository block. This parameter is required.
        Returns:
        this
      • timeout

        @Stability(Stable)
        public CloudfunctionsFunction.Builder timeout​(Number timeout)
        Timeout (in seconds) for the function. Default value is 60 seconds. Cannot be more than 540 seconds.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#timeout CloudfunctionsFunction#timeout}

        Parameters:
        timeout - Timeout (in seconds) for the function. Default value is 60 seconds. Cannot be more than 540 seconds. This parameter is required.
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public CloudfunctionsFunction.Builder timeouts​(CloudfunctionsFunctionTimeouts timeouts)
        timeouts block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#timeouts CloudfunctionsFunction#timeouts}

        Parameters:
        timeouts - timeouts block. This parameter is required.
        Returns:
        this
      • triggerHttp

        @Stability(Stable)
        public CloudfunctionsFunction.Builder triggerHttp​(Boolean triggerHttp)
        Boolean variable.

        Any HTTP request (of a supported type) to the endpoint will trigger function execution. Supported HTTP request types are: POST, PUT, GET, DELETE, and OPTIONS. Endpoint is returned as https_trigger_url. Cannot be used with trigger_bucket and trigger_topic. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#trigger_http CloudfunctionsFunction#trigger_http}

        Parameters:
        triggerHttp - Boolean variable. This parameter is required.
        Returns:
        this
      • triggerHttp

        @Stability(Stable)
        public CloudfunctionsFunction.Builder triggerHttp​(com.hashicorp.cdktf.IResolvable triggerHttp)
        Boolean variable.

        Any HTTP request (of a supported type) to the endpoint will trigger function execution. Supported HTTP request types are: POST, PUT, GET, DELETE, and OPTIONS. Endpoint is returned as https_trigger_url. Cannot be used with trigger_bucket and trigger_topic. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#trigger_http CloudfunctionsFunction#trigger_http}

        Parameters:
        triggerHttp - Boolean variable. This parameter is required.
        Returns:
        this
      • vpcConnector

        @Stability(Stable)
        public CloudfunctionsFunction.Builder vpcConnector​(String vpcConnector)
        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/*. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#vpc_connector CloudfunctionsFunction#vpc_connector} Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.

        Parameters:
        vpcConnector - The VPC Network Connector that this cloud function can connect to. This parameter is required.
        Returns:
        this
      • vpcConnectorEgressSettings

        @Stability(Stable)
        public CloudfunctionsFunction.Builder vpcConnectorEgressSettings​(String vpcConnectorEgressSettings)
        The egress settings for the connector, controlling what traffic is diverted through it.

        Allowed values are ALL_TRAFFIC and PRIVATE_RANGES_ONLY. Defaults to PRIVATE_RANGES_ONLY. If unset, this field preserves the previously set value. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/cloudfunctions_function#vpc_connector_egress_settings CloudfunctionsFunction#vpc_connector_egress_settings}

        Parameters:
        vpcConnectorEgressSettings - The egress settings for the connector, controlling what traffic is diverted through it. This parameter is required.
        Returns:
        this