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