def Run(self, args): """This is what gets called when the user runs this command. Args: args: an argparse namespace. All the arguments that were provided to this command invocation. Returns: A PullResponse message with the response of the Pull operation. """ msgs = self.context['pubsub_msgs'] pubsub = self.context['pubsub'] pull_req = msgs.PubsubProjectsSubscriptionsPullRequest( pullRequest=msgs.PullRequest(maxMessages=args.max_messages, returnImmediately=True), subscription=util.SubscriptionFormat(args.subscription)) pull_response = pubsub.projects_subscriptions.Pull(pull_req) if args.auto_ack and pull_response.receivedMessages: ack_ids = [ message.ackId for message in pull_response.receivedMessages ] ack_req = msgs.PubsubProjectsSubscriptionsAcknowledgeRequest( acknowledgeRequest=msgs.AcknowledgeRequest(ackIds=ack_ids), subscription=util.SubscriptionFormat(args.subscription)) pubsub.projects_subscriptions.Acknowledge(ack_req) return pull_response.receivedMessages
def Run(self, args): """This is what gets called when the user runs this command. Args: args: an argparse namespace. All the arguments that were provided to this command invocation. Returns: A 2-tuple of lists, one populated with the subscription paths that were successfully deleted, the other one with the list of subscription paths that could not be deleted. """ msgs = self.context['pubsub_msgs'] pubsub = self.context['pubsub'] succeeded = [] failed = [] for subscription_name in args.subscription: delete_req = msgs.PubsubProjectsSubscriptionsDeleteRequest( subscription=util.SubscriptionFormat(subscription_name)) try: pubsub.projects_subscriptions.Delete(delete_req) succeeded.append(delete_req.subscription) except api_ex.HttpError as e: failed.append((delete_req.subscription, json.loads(e.content)['error']['message'])) return succeeded, failed
def Run(self, args): """This is what gets called when the user runs this command. Args: args: an argparse namespace. All the arguments that were provided to this command invocation. Returns: A 2-tuple of lists, one populated with the subscription paths that were successfully created, the other one with the list of subscription names that could not be created. """ msgs = self.context['pubsub_msgs'] pubsub = self.context['pubsub'] succeeded = [] failed = [] for subscription in args.subscription: create_req = msgs.Subscription( name=util.SubscriptionFormat(subscription), topic=util.TopicFormat(args.topic, args.topic_project), ackDeadlineSeconds=args.ack_deadline) if args.push_endpoint: create_req.pushConfig = msgs.PushConfig( pushEndpoint=args.push_endpoint) try: succeeded.append( pubsub.projects_subscriptions.Create(create_req)) except api_ex.HttpError as exc: failed.append((subscription, json.loads(exc.content)['error']['message'])) return succeeded, failed
def Display(self, args, result): """This method is called to print the result of the Run() method. Args: args: The arguments that command was run with. result: The value returned from the Run() method. """ log.out.Print( '{0} message(s) acknowledged for subscription {1}'.format( len(args.ackid), util.SubscriptionFormat(args.subscription)))
def Run(self, args): """This is what gets called when the user runs this command. Args: args: an argparse namespace. All the arguments that were provided to this command invocation. Returns: None """ msgs = self.context['pubsub_msgs'] pubsub = self.context['pubsub'] ack_req = msgs.PubsubProjectsSubscriptionsAcknowledgeRequest( acknowledgeRequest=msgs.AcknowledgeRequest(ackIds=args.ackid), subscription=util.SubscriptionFormat(args.subscription)) pubsub.projects_subscriptions.Acknowledge(ack_req)
def Run(self, args): """This is what gets called when the user runs this command. Args: args: an argparse namespace. All the arguments that were provided to this command invocation. Returns: None """ msgs = self.context['pubsub_msgs'] pubsub = self.context['pubsub'] mod_req = msgs.PubsubProjectsSubscriptionsModifyPushConfigRequest( modifyPushConfigRequest=msgs.ModifyPushConfigRequest( pushConfig=msgs.PushConfig(pushEndpoint=args.push_endpoint)), subscription=util.SubscriptionFormat(args.subscription)) pubsub.projects_subscriptions.ModifyPushConfig(mod_req)