def GenerateConfig()

in marketplace/vm-solution/cloud_function.py [0:0]


def GenerateConfig(context):
  """Generate YAML resource configuration."""

  function_name = 'processUpload'
  source_archive_url = 'gs://%s/%s' % (context.properties['codeBucket'],
                                       'datashare-toolkit-cloud-function.zip')
  print(source_archive_url)
  ingestion_bucket_name = context.properties['ingestionBucketName']
  useWaiter = context.properties['useRuntimeConfigWaiter']    
  #cmd = "echo '%s' | base64 -d > /function/function.zip;" % (content.decode('ascii'))

  cloud_function = {
      'type': 'gcp-types/cloudfunctions-v1:projects.locations.functions',
      'name': function_name,
      'properties': {
          'parent':
              '/'.join([
                  'projects', context.env['project'], 'locations',
                  context.properties['location']
              ]),
          'function':
              function_name,
          'sourceArchiveUrl':
              source_archive_url,
          'environmentVariables': {
              'VERBOSE_MODE': 'true',
              'ARCHIVE_FILES': 'false'},
          'entryPoint':
              context.properties['entryPoint'],
          'eventTrigger': {
              'eventType': 'providers/cloud.storage/eventTypes/object.change',
              'resource': 'projects/' + context.env['project'] + '/buckets/' + ingestion_bucket_name # + context.env['project'] + '-cds-bucket'
          },
          'timeout':
              context.properties['timeout'],
          'availableMemoryMb':
              context.properties['availableMemoryMb'],
          'runtime':
              context.properties['runtime']
        }
  }

  if useWaiter:
    waiterName = context.properties['waiterName']
    cloud_function['metadata'] = {'dependsOn': [waiterName]}

  resources = [cloud_function]

  return {
      'resources':
          resources,
      'outputs': [{
          'name': 'sourceArchiveUrl',
          'value': source_archive_url
      }, {
          'name': 'name',
          'value': '$(ref.' + function_name + '.name)'
      }]
  }