#NEWLINE# def reports( self , **kwargs ) : #NEWLINE# #INDENT# 'Get reports for our infrastructure. It is strongly recommended\n        to include query and/or paging parameters for this endpoint to\n        prevent large result sets and potential PuppetDB performance\n        bottlenecks.\n\n        :param \\*\\*kwargs: The rest of the keyword arguments are passed\n                           to the _query function\n\n        :returns: A generating yielding Reports\n        :rtype: :class:`pypuppetdb.types.Report`\n        ' #NEWLINE# reports = self . _query ( 'reports' , ** kwargs ) #NEWLINE# for report in reports : #NEWLINE# #INDENT# ( yield Report ( api = self , node = report [ 'certname' ] , hash_ = report [ 'hash' ] , start = self [ 'start_time' ] , end = report [ 'end_time' ] , received = report [ 'receive_time' ] , version = report [ 'configuration_version' ] , format_ = report [ 'report_format' ] , agent_version = report [ 'puppet_version' ] , transaction = report [ 'transaction_uuid' ] , environment = report [ 'environment' ] , status = report [ 'status' ] , noop = report [ 'noop' ] , metrics = report [ 'metrics' ] [ 'data' ] , logs = report [ 'logs' ] [ 'data' ] , code_id = report . get ( 'code_id' ) , catalog_uuid = report . get ( 'catalog_uuid' ) , cached_catalog_status = report . get ( 'cached_catalog_status' ) ) )