def _GeneratePages( self, handler_name: str, args: Any, ) -> Iterator[message.Message]: """Generates iterator pages.""" offset = args.offset while True: args_copy = utils.CopyProto(args) args_copy.offset = offset args_copy.count = self.connector.page_size result = self.connector.SendRequest(handler_name, args_copy) if result is None: detail = f"No response returned for '{handler_name}'" raise TypeError(detail) if not hasattr(result, "items"): detail = f"Incorrect result type for '{handler_name}': {type(result)}" raise TypeError(detail) yield result if not result.items: break offset += self.connector.page_size
def _ArgsToBody(self, args, exclude_names): if not args: return None args_copy = utils.CopyProto(args) for name in exclude_names: args_copy.ClearField(name) return json_format.MessageToJson(args_copy)
def _ArgsToBody( self, args: Optional[message.Message], exclude_names: Iterable[str], ) -> Optional[str]: if args is None: return None args_copy = utils.CopyProto(args) for name in exclude_names: args_copy.ClearField(name) return json_format.MessageToJson(args_copy)
def _GeneratePages(self, handler_name, args): offset = args.offset while True: args_copy = utils.CopyProto(args) args_copy.offset = offset args_copy.count = self.connector.page_size result = self.connector.SendRequest(handler_name, args_copy) yield result if not result.items: break offset += self.connector.page_size
def CreateFlowArgs(self, flow_name=None): """Creates flow arguments object for a flow with a given name.""" if not self._flow_descriptors: self._flow_descriptors = {} result = self._context.SendRequest("ListFlowDescriptors", None) for item in result.items: self._flow_descriptors[item.name] = item try: flow_descriptor = self._flow_descriptors[flow_name] except KeyError: raise UnknownFlowName(flow_name) return utils.CopyProto(utils.UnpackAny(flow_descriptor.default_args))
def CreateFlowArgs( self, flow_name: str, ) -> Any: """Creates flow arguments object for a flow with a given name.""" if not self._flow_descriptors: self._flow_descriptors = {} result = self._context.SendRequest("ListFlowDescriptors", None) if not isinstance(result, flow_pb2.ApiListFlowDescriptorsResult): raise TypeError(f"Unexpected response type: {type(result)}") for item in result.items: self._flow_descriptors[item.name] = item try: flow_descriptor = self._flow_descriptors[flow_name] except KeyError: raise UnknownFlowName(flow_name) return utils.CopyProto(utils.UnpackAny(flow_descriptor.default_args))