On this page
google.cloud.gcp_cloudfunctions_cloud_function – Creates a GCP CloudFunction
Note
This plugin is part of the google.cloud collection (version 1.0.2).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install google.cloud.
To use it in a playbook, specify: google.cloud.gcp_cloudfunctions_cloud_function.
Synopsis
- A Cloud Function that contains user computation executed in response to an event.
 
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
 - requests >= 2.18.4
 - google-auth >= 1.3.0
 
Parameters
| Parameter | Choices/Defaults | Comments | |
|---|---|---|---|
| auth_kind
        
        string / required
         | 
      
       
  | 
      
        
        The type of credential used.
         | 
     |
| available_memory_mb
        
        integer
         | 
      
        
        The amount of memory in MB available for a function.
         | 
     ||
| description
        
        string
         | 
      
        
        User-provided description of a function.
         | 
     ||
| entry_point
        
        string
         | 
      
        
        The name of the function (as defined in source code) that will be executed.
        
       
        Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named "function". For Node.js this is name of a function exported by the module specified in source_location.
         | 
     ||
| env_type
        
        string
         | 
      
        
        Specifies which Ansible environment you're running this module within.
        
       
        This should not be set unless you know what you're doing.
        
       
        This only alters the User Agent string for any API requests.
         | 
     ||
| environment_variables
        
        dictionary
         | 
      
        
        Environment variables that shall be available during function execution.
         | 
     ||
| event_trigger
        
        dictionary
         | 
      
        
        An HTTPS endpoint type of source that can be triggered via URL.
         | 
     ||
| event_type
        
        string / required
         | 
      
        
        The type of event to observe. For example: `providers/cloud.storage/eventTypes/object.change` and `providers/cloud.pubsub/eventTypes/topic.publish`.
         | 
     ||
| resource
        
        string / required
         | 
      
        
        The resource(s) from which to observe events, for example, `projects/_/buckets/myBucket.` .
         | 
     ||
| service
        
        string
         | 
      
        
        The hostname of the service that should be observed.
         | 
     ||
| https_trigger
        
        dictionary
         | 
      
        
        An HTTPS endpoint type of source that can be triggered via URL.
         | 
     ||
| labels
        
        dictionary
         | 
      
        
        A set of key/value label pairs associated with this Cloud Function.
         | 
     ||
| location
        
        string / required
         | 
      
        
        The location of this cloud function.
         | 
     ||
| name
        
        string / required
         | 
      
        
        A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`.
         | 
     ||
| project
        
        string
         | 
      
        
        The Google Cloud Platform project to use.
         | 
     ||
| runtime
        
        string
         | 
      
        
        The runtime in which the function is going to run. If empty, defaults to Node.js 6.
         | 
     ||
| scopes
        
        list / elements=string
         | 
      
        
        Array of scopes to be used
         | 
     ||
| service_account_contents
        
        jsonarg
         | 
      
        
        The contents of a Service Account JSON file, either in a dictionary or as a JSON string that represents it.
         | 
     ||
| service_account_email
        
        string
         | 
      
        
        An optional service account email address if machineaccount is selected and the user does not wish to use the default email.
         | 
     ||
| service_account_file
        
        path
         | 
      
        
        The path of a Service Account JSON file if serviceaccount is selected as type.
         | 
     ||
| source_archive_url
        
        string
         | 
      
        
        The Google Cloud Storage URL, starting with gs://, pointing to the zip archive which contains the function.
         | 
     ||
| source_repository
        
        dictionary
         | 
      
        
        The source repository where a function is hosted.
         | 
     ||
| url
        
        string / required
         | 
      
        
        The URL pointing to the hosted repository where the function is defined .
         | 
     ||
| source_upload_url
        
        string
         | 
      
        
        The Google Cloud Storage signed URL used for source uploading.
         | 
     ||
| state
        
        string
         | 
      
       
  | 
      
        
        Whether the given object should exist in GCP
         | 
     |
| timeout
        
        string
         | 
      
        
        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.
         | 
     ||
| trigger_http
        
        boolean
         | 
      
       
  | 
      
        
        Use HTTP to trigger this function.
         | 
     |
Examples
- name: create a cloud function
  google.cloud.gcp_cloudfunctions_cloud_function:
    name: test_object
    location: us-central1
    entry_point: helloGET
    source_archive_url: gs://ansible-cloudfunctions-bucket/function.zip
    trigger_http: 'true'
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | |
|---|---|---|---|
| availableMemoryMb
        
        integer
         | 
      success | 
        
        The amount of memory in MB available for a function.
          | 
     |
| description
        
        string
         | 
      success | 
        
        User-provided description of a function.
          | 
     |
| entryPoint
        
        string
         | 
      success | 
        
        The name of the function (as defined in source code) that will be executed.
        
       
        Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named "function". For Node.js this is name of a function exported by the module specified in source_location.
          | 
     |
| environmentVariables
        
        dictionary
         | 
      success | 
        
        Environment variables that shall be available during function execution.
          | 
     |
| eventTrigger
        
        complex
         | 
      success | 
        
        An HTTPS endpoint type of source that can be triggered via URL.
          | 
     |
| eventType
        
        string
         | 
      success | 
        
        The type of event to observe. For example: `providers/cloud.storage/eventTypes/object.change` and `providers/cloud.pubsub/eventTypes/topic.publish`.
          | 
     |
| resource
        
        string
         | 
      success | 
        
        The resource(s) from which to observe events, for example, `projects/_/buckets/myBucket.` .
          | 
     |
| service
        
        string
         | 
      success | 
        
        The hostname of the service that should be observed.
          | 
     |
| httpsTrigger
        
        complex
         | 
      success | 
        
        An HTTPS endpoint type of source that can be triggered via URL.
          | 
     |
| url
        
        string
         | 
      success | 
        
        The deployed url for the function.
          | 
     |
| labels
        
        dictionary
         | 
      success | 
        
        A set of key/value label pairs associated with this Cloud Function.
          | 
     |
| location
        
        string
         | 
      success | 
        
        The location of this cloud function.
          | 
     |
| name
        
        string
         | 
      success | 
        
        A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`.
          | 
     |
| runtime
        
        string
         | 
      success | 
        
        The runtime in which the function is going to run. If empty, defaults to Node.js 6.
          | 
     |
| serviceAccountEmail
        
        string
         | 
      success | 
        
        The email of the service account for this function.
          | 
     |
| sourceArchiveUrl
        
        string
         | 
      success | 
        
        The Google Cloud Storage URL, starting with gs://, pointing to the zip archive which contains the function.
          | 
     |
| sourceRepository
        
        complex
         | 
      success | 
        
        The source repository where a function is hosted.
          | 
     |
| deployedUrl
        
        string
         | 
      success | 
        
        The URL pointing to the hosted repository where the function were defined at the time of deployment.
          | 
     |
| url
        
        string
         | 
      success | 
        
        The URL pointing to the hosted repository where the function is defined .
          | 
     |
| sourceUploadUrl
        
        string
         | 
      success | 
        
        The Google Cloud Storage signed URL used for source uploading.
          | 
     |
| status
        
        string
         | 
      success | 
        
        Status of the function deployment.
          | 
     |
| timeout
        
        string
         | 
      success | 
        
        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.
          | 
     |
| trigger_http
        
        boolean
         | 
      success | 
        
        Use HTTP to trigger this function.
          | 
     |
| updateTime
        
        string
         | 
      success | 
        
        The last update timestamp of a Cloud Function.
          | 
     |
| versionId
        
        string
         | 
      success | 
        
        The version identifier of the Cloud Function. Each deployment attempt results in a new version of a function being created.
          | 
     |
Authors
- Google Inc. (@googlecloudplatform)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/google/cloud/gcp_cloudfunctions_cloud_function_module.html