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
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
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