CloudFunctionsServiceClient

CloudFunctionsServiceClient

A service that application uses to manipulate triggers and functions.

Constructor

new CloudFunctionsServiceClient(optionsopt)

Construct an instance of CloudFunctionsServiceClient.

Parameters:
Name Type Attributes Description
options object <optional>

The configuration object. See the subsequent parameters for more details.

Properties
Name Type Attributes Description
credentials object <optional>

Credentials object.

Properties
Name Type Attributes Description
client_email string <optional>
private_key string <optional>
email string <optional>

Account email address. Required when using a .pem or .p12 keyFilename.

keyFilename string <optional>

Full path to the a .json, .pem, or .p12 key downloaded from the Google Developers Console. If you provide a path to a JSON file, the projectId option below is not necessary. NOTE: .pem and .p12 require you to specify options.email as well.

port number <optional>

The port on which to connect to the remote host.

projectId string <optional>

The project ID from the Google Developer's Console, e.g. 'grape-spaceship-123'. We will also check the environment variable GCLOUD_PROJECT for your project ID. If your app is running in an environment which supports Application Default Credentials, your project ID will be detected automatically.

apiEndpoint string <optional>

The domain name of the API remote host.

Members

(static) apiEndpoint

The DNS address for this API service - same as servicePath(), exists for compatibility reasons.

(static) port

The port for this API service.

(static) scopes

The scopes needed to make gRPC calls for every method defined in this service.

(static) servicePath

The DNS address for this API service.

Methods

callFunction(request, optionsopt) → {Promise}

Synchronously invokes a deployed Cloud Function. To be used for testing purposes as very limited traffic is allowed. For more information on the actual limits, refer to Rate Limits.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
name string

Required. The name of the function to be called.

data string

Required. Input to be passed to the function.

options object <optional>

Call options. See CallOptions for more details.

(async) checkCreateFunctionProgress(name) → {Promise}

Check the status of the long running operation returned by the createFunction() method.

Parameters:
Name Type Description
name String

The operation name that will be passed.

(async) checkDeleteFunctionProgress(name) → {Promise}

Check the status of the long running operation returned by the deleteFunction() method.

Parameters:
Name Type Description
name String

The operation name that will be passed.

(async) checkUpdateFunctionProgress(name) → {Promise}

Check the status of the long running operation returned by the updateFunction() method.

Parameters:
Name Type Description
name String

The operation name that will be passed.

close()

Terminate the GRPC channel and close the client.

The client will no longer be usable and all future behavior is undefined.

cloudFunctionPath(project, location, function) → {string}

Return a fully-qualified cloudFunction resource name string.

Parameters:
Name Type Description
project string
location string
function string

createFunction(request, optionsopt) → {Promise}

Creates a new function. If a function with the given name already exists in the specified project, the long running operation will return ALREADY_EXISTS error.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
location string

Required. The project and location in which the function should be created, specified in the format projects/* /locations/*

function google.cloud.functions.v1.CloudFunction

Required. Function to be created.

options object <optional>

Call options. See CallOptions for more details.

deleteFunction(request, optionsopt) → {Promise}

Deletes a function with the given name from the specified project. If the given function is used by some trigger, the trigger will be updated to remove this function.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
name string

Required. The name of the function which should be deleted.

options object <optional>

Call options. See CallOptions for more details.

generateDownloadUrl(request, optionsopt) → {Promise}

Returns a signed URL for downloading deployed function source code. The URL is only valid for a limited period and should be used within minutes after generation. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
name string

The name of function for which source code Google Cloud Storage signed URL should be generated.

versionId number

The optional version of function. If not set, default, current version is used.

options object <optional>

Call options. See CallOptions for more details.

generateUploadUrl(request, optionsopt) → {Promise}

Returns a signed URL for uploading a function source code. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls. Once the function source code upload is complete, the used signed URL should be provided in CreateFunction or UpdateFunction request as a reference to the function source code.

When uploading source code to the generated signed URL, please follow these restrictions:

  • Source file type should be a zip file.
  • Source file size should not exceed 100MB limit.
  • No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL.

When making a HTTP PUT request, these two headers need to be specified:

  • content-type: application/zip
  • x-goog-content-length-range: 0,104857600

And this header SHOULD NOT be specified:

  • Authorization: Bearer YOUR_TOKEN
Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
parent string

The project and location in which the Google Cloud Storage signed URL should be generated, specified in the format projects/* /locations/*.

options object <optional>

Call options. See CallOptions for more details.

getFunction(request, optionsopt) → {Promise}

Returns a function with the given name from the requested project.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
name string

Required. The name of the function which details should be obtained.

options object <optional>

Call options. See CallOptions for more details.

getIamPolicy(request, optionsopt) → {Promise}

Gets the IAM access control policy for a function. Returns an empty policy if the function exists and does not have a policy set.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
resource string

REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.

options google.iam.v1.GetPolicyOptions

OPTIONAL: A GetPolicyOptions object for specifying options to GetIamPolicy. This field is only used by Cloud IAM.

options object <optional>

Call options. See CallOptions for more details.

getProjectId(callback)

Return the project ID used by this class.

Parameters:
Name Type Description
callback function

the callback to be called with the current project Id.

initialize() → {Promise}

Initialize the client. Performs asynchronous operations (such as authentication) and prepares the client. This function will be called automatically when any class method is called for the first time, but if you need to initialize it before calling an actual method, feel free to call initialize() directly.

You can await on this method if you want to make sure the client is initialized.

listFunctions(request, optionsopt) → {Promise}

Returns a list of functions that belong to the requested project.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
parent string

The project and location from which the function should be listed, specified in the format projects/* /locations/* If you want to list functions in all locations, use "-" in place of a location. When listing functions in all locations, if one or more location(s) are unreachable, the response will contain functions from all reachable locations along with the names of any unreachable locations.

pageSize number

Maximum number of functions to return per call.

pageToken string

The value returned by the last ListFunctionsResponse; indicates that this is a continuation of a prior ListFunctions call, and that the system should return the next page of data.

options object <optional>

Call options. See CallOptions for more details.

listFunctionsAsync(request, optionsopt) → {Object}

Equivalent to listFunctions, but returns an iterable object.

for-await-of syntax is used with the iterable to recursively get response element on-demand.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
parent string

The project and location from which the function should be listed, specified in the format projects/* /locations/* If you want to list functions in all locations, use "-" in place of a location. When listing functions in all locations, if one or more location(s) are unreachable, the response will contain functions from all reachable locations along with the names of any unreachable locations.

pageSize number

Maximum number of functions to return per call.

pageToken string

The value returned by the last ListFunctionsResponse; indicates that this is a continuation of a prior ListFunctions call, and that the system should return the next page of data.

options object <optional>

Call options. See CallOptions for more details.

listFunctionsStream(request, optionsopt) → {Stream}

Equivalent to listFunctions, but returns a NodeJS Stream object.

This fetches the paged responses for listFunctions continuously and invokes the callback registered for 'data' event for each element in the responses.

The returned object has 'end' method when no more elements are required.

autoPaginate option will be ignored.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
parent string

The project and location from which the function should be listed, specified in the format projects/* /locations/* If you want to list functions in all locations, use "-" in place of a location. When listing functions in all locations, if one or more location(s) are unreachable, the response will contain functions from all reachable locations along with the names of any unreachable locations.

pageSize number

Maximum number of functions to return per call.

pageToken string

The value returned by the last ListFunctionsResponse; indicates that this is a continuation of a prior ListFunctions call, and that the system should return the next page of data.

options object <optional>

Call options. See CallOptions for more details.

See:

locationPath(project, location) → {string}

Return a fully-qualified location resource name string.

Parameters:
Name Type Description
project string
location string

matchFunctionFromCloudFunctionName(cloudFunctionName) → {string}

Parse the function from CloudFunction resource.

Parameters:
Name Type Description
cloudFunctionName string

A fully-qualified path representing CloudFunction resource.

matchLocationFromCloudFunctionName(cloudFunctionName) → {string}

Parse the location from CloudFunction resource.

Parameters:
Name Type Description
cloudFunctionName string

A fully-qualified path representing CloudFunction resource.

matchLocationFromLocationName(locationName) → {string}

Parse the location from Location resource.

Parameters:
Name Type Description
locationName string

A fully-qualified path representing Location resource.

matchProjectFromCloudFunctionName(cloudFunctionName) → {string}

Parse the project from CloudFunction resource.

Parameters:
Name Type Description
cloudFunctionName string

A fully-qualified path representing CloudFunction resource.

matchProjectFromLocationName(locationName) → {string}

Parse the project from Location resource.

Parameters:
Name Type Description
locationName string

A fully-qualified path representing Location resource.

setIamPolicy(request, optionsopt) → {Promise}

Sets the IAM access control policy on the specified function. Replaces any existing policy.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
resource string

REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.

policy google.iam.v1.Policy

REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.

options object <optional>

Call options. See CallOptions for more details.

testIamPermissions(request, optionsopt) → {Promise}

Tests the specified permissions against the IAM access control policy for a function. If the function does not exist, this will return an empty set of permissions, not a NOT_FOUND error.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
resource string

REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.

permissions Array.<string>

The set of permissions to check for the resource. Permissions with wildcards (such as '' or 'storage.') are not allowed. For more information see IAM Overview.

options object <optional>

Call options. See CallOptions for more details.

updateFunction(request, optionsopt) → {Promise}

Updates existing function.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
function google.cloud.functions.v1.CloudFunction

Required. New version of the function.

updateMask google.protobuf.FieldMask

Required list of fields to be updated in this request.

options object <optional>

Call options. See CallOptions for more details.