sample-client/deployment/cloudfunctions/cf.jinja (83 lines of code) (raw):

# Copyright 2019 Google Inc. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. resources: - name: gcs-create-topic type: gcp-types/pubsub-v1:projects.topics properties: topic: {{ env['deployment'] }}-gcs-create-topic - name: gcs-delete-topic type: gcp-types/pubsub-v1:projects.topics properties: topic: {{ env['deployment'] }}-gcs-delete-topic - name: scheduler-topic type: gcp-types/pubsub-v1:projects.topics properties: topic: {{ env['deployment'] }}-scheduler-topic - name: gcs-create-function type: gcp-types/cloudfunctions-v1:projects.locations.functions properties: parent: projects/{{ env['project'] }}/locations/{{ properties['region'] }} function: {{ env['deployment'] }}-gcs-create runtime: python37 availableMemoryMb: 128 sourceArchiveUrl: {{ properties['createFunctionZipPath'] }} entryPoint: {{ properties['entryPoint'] }} #vpcConnector: {{ properties['vpcConnector'] }} environmentVariables: projectId: {{ properties['projectId'] }} rpoPattern: {{ properties['rpoPattern'] }} deleteMarkerPattern: {{ properties['deleteMarkerPattern'] }} successMarkerPattern: {{ properties['successMarkerPattern'] }} endpoint: {{ properties['endpoint'] }} logLevel: {{ properties['logLevel'] }} eventTrigger: resource: $(ref.gcs-create-topic.name) eventType: providers/cloud.pubsub/eventTypes/topic.publish - name: gcs-delete-function type: gcp-types/cloudfunctions-v1:projects.locations.functions properties: parent: projects/{{ env['project'] }}/locations/{{ properties['region'] }} function: {{ env['deployment'] }}-gcs-delete runtime: python37 availableMemoryMb: 128 sourceArchiveUrl: {{ properties['deleteFunctionZipPath'] }} entryPoint: {{ properties['entryPoint'] }} #vpcConnector: {{ properties['vpcConnector'] }} environmentVariables: projectId: {{ properties['projectId'] }} rpoPattern: {{ properties['rpoPattern'] }} deleteMarkerPattern: {{ properties['deleteMarkerPattern'] }} successMarkerPattern: {{ properties['successMarkerPattern'] }} endpoint: {{ properties['endpoint'] }} logLevel: {{ properties['logLevel'] }} eventTrigger: resource: $(ref.gcs-delete-topic.name) eventType: providers/cloud.pubsub/eventTypes/topic.publish - name: scheduler-function type: gcp-types/cloudfunctions-v1:projects.locations.functions properties: parent: projects/{{ env['project'] }}/locations/{{ properties['region'] }} function: {{ env['deployment'] }}-scheduler runtime: python37 availableMemoryMb: 128 sourceArchiveUrl: {{ properties['schedulerFunctionZipPath'] }} entryPoint: {{ properties['entryPoint'] }} #vpcConnector: {{ properties['vpcConnector'] }} environmentVariables: projectId: {{ properties['projectId'] }} endpoint: {{ properties['endpoint'] }} logLevel: {{ properties['logLevel'] }} eventTrigger: resource: $(ref.scheduler-topic.name) eventType: providers/cloud.pubsub/eventTypes/topic.publish