コード例 #1
0
    def _PrepareFunctionWithoutSources(self, name, args, event_trigger_args):
        """Creates a function object without filling in the sources properties.

    Args:
      name: function name
      args: an argparse namespace. All the arguments that were provided to this
        command invocation.
      event_trigger_args: DataFlow arguments deduced form args

    Returns:
      The specified function with its description and configured filter.
    """
        messages = self.context['functions_messages']
        function = messages.CloudFunction()
        # TODO(b/32655988) This functionality is deprecated
        if args.trigger_topic:
            log.warn(
                '--trigger-topic flag is deprecated and will be removed. Use '
                '--trigger-provider cloud.pubsub --trigger-event topic.publish '
                'instead.')
            project = properties.VALUES.core.project.Get(required=True)
            function.pubsubTrigger = 'projects/{0}/topics/{1}'.format(
                project, args.trigger_topic)
        trigger_bucket = args.trigger_bucket or args.trigger_gs_uri
        # TODO(b/32655988) This functionality is deprecated
        if trigger_bucket is not None:
            log.warn(
                '--trigger-bucket is deprecated and will be removed. Use'
                '--trigger-provider cloud.storage --trigger-event object.change '
                'instead.')
            function.gcsTrigger = trigger_bucket
        if args.trigger_http:
            function.httpsTrigger = messages.HTTPSTrigger()
        if event_trigger_args is not None:
            # Initialize EventTrigger
            function.eventTrigger = messages.EventTrigger()
            # TODO(b/32857613)
            event_type_ref = resources.REGISTRY.Parse(
                None,
                params={
                    'triggerProvider': event_trigger_args.trigger_provider,
                    'triggerEvent': event_trigger_args.trigger_event
                },
                collection='cloudfunctions.providers.event_types')
            function.eventTrigger.eventType = event_type_ref.RelativeName()
            function.eventTrigger.path = event_trigger_args.trigger_path
            function.eventTrigger.resource = (
                deploy_util.ConvertTriggerArgsToRelativeName(
                    event_trigger_args.trigger_provider,
                    event_trigger_args.trigger_event,
                    event_trigger_args.trigger_resource))

        function.name = name
        if args.entry_point:
            function.entryPoint = args.entry_point
        if args.timeout:
            function.timeout = str(args.timeout) + 's'
        return function
コード例 #2
0
ファイル: deploy.py プロジェクト: sarahdactyl71/gneiss-rocks
 def _EventTrigger(self, trigger_provider, trigger_event, trigger_resource):
     messages = util.GetApiMessagesModule()
     event_trigger = messages.EventTrigger()
     event_type_ref = resources.REGISTRY.Parse(
         None,
         params={
             'triggerProvider': trigger_provider,
             'triggerEvent': trigger_event
         },
         collection='cloudfunctions.providers.event_types')
     event_trigger.eventType = event_type_ref.RelativeName()
     event_trigger.resource = (deploy_util.ConvertTriggerArgsToRelativeName(
         trigger_provider, trigger_event, trigger_resource))
     return event_trigger
コード例 #3
0
    def _PrepareFunctionWithoutSources(self, name, args, event_trigger_args):
        """Creates a function object without filling in the sources properties.

    Args:
      name: funciton name
      args: an argparse namespace. All the arguments that were provided to this
        command invocation.
      event_trigger_args: DataFlow arguments deduced form args

    Returns:
      The specified function with its description and configured filter.
    """
        messages = self.context['functions_messages']
        function = messages.CloudFunction()
        if args.trigger_http:
            function.httpsTrigger = messages.HTTPSTrigger()
        if event_trigger_args is not None:
            # Initialize EventTrigger
            function.eventTrigger = messages.EventTrigger()
            # TODO(b/32857613)
            event_type_ref = resources.REGISTRY.Parse(
                None,
                params={
                    'triggerProvider': event_trigger_args.trigger_provider,
                    'triggerEvent': event_trigger_args.trigger_event
                },
                collection='cloudfunctions.providers.event_types')
            function.eventTrigger.eventType = event_type_ref.RelativeName()
            function.eventTrigger.path = event_trigger_args.trigger_path
            function.eventTrigger.resource = (
                deploy_util.ConvertTriggerArgsToRelativeName(
                    event_trigger_args.trigger_provider,
                    event_trigger_args.trigger_event,
                    event_trigger_args.trigger_resource))

        function.name = name
        if args.entry_point:
            function.entryPoint = args.entry_point
        if args.timeout:
            function.timeout = str(args.timeout) + 's'
        return function