original_docstring: 
      Retrieves list of assets from QRadar service.
      possible arguments:
      - asset_id: Retrieves details of the specific asset that corresponds to the ID given.
      - range: Range of offenses to return (e.g.: 0-20, 3-5, 3-3).
      - filter: Query filter to filter results returned by QRadar service. see
                https://www.ibm.com/support/knowledgecenter/SS42VS_SHR/com.ibm.qradarapi.doc/c_rest_api_filtering.html
                for more details.
      - fields: If used, will filter all fields except for the specified ones.
                Use this parameter to specify which fields you would like to get back in the
                response. Fields that are not explicitly named are excluded.
      Args:
          client (Client): QRadar client to perform the API call.
          args (Dict): Demisto args.
  
      Returns:
          CommandResults.
      
docstring: Retrieves list of assets from QRadar service.
  possible arguments:
  asset_id: Retrieves details of the specific asset that corresponds to the ID given.
  range: Range of offenses to return .
  filter: Query filter to filter results returned by QRadar service.
docstring_tokens: Retrieves list of assets from QRadar service . possible arguments : asset_id : Retrieves details of the specific asset that corresponds to the ID given . range : Range of offenses to return . filter : Query filter to filter results returned by QRadar service .
code: def qradar_assets_list_command(client: Client, args: Dict) -> CommandResults:
      """
      Retrieves list of assets from QRadar service.
      possible arguments:
      - asset_id: Retrieves details of the specific asset that corresponds to the ID given.
      - range: Range of offenses to return (e.g.: 0-20, 3-5, 3-3).
      - filter: Query filter to filter results returned by QRadar service. see
                https://www.ibm.com/support/knowledgecenter/SS42VS_SHR/com.ibm.qradarapi.doc/c_rest_api_filtering.html
                for more details.
      - fields: If used, will filter all fields except for the specified ones.
                Use this parameter to specify which fields you would like to get back in the
                response. Fields that are not explicitly named are excluded.
      Args:
          client (Client): QRadar client to perform the API call.
          args (Dict): Demisto args.
  
      Returns:
          CommandResults.
      """
      asset_id = args.get('asset_id')
      range_ = f'''items={args.get('range', DEFAULT_RANGE_VALUE)}'''
      filter_ = args.get('filter')
      fields = args.get('fields')
  
      # If asset ID was given, override filter if both filter and asset ID were given.
      if asset_id:
          filter_ = f'id={asset_id}'
  
      full_enrichment = True if asset_id else False
  
      response = client.assets_list(range_, filter_, fields)
      enriched_outputs = enrich_assets_results(client, response, full_enrichment)
      assets_results = dict()
      assets_hr = []
      endpoints = []
      for output in enriched_outputs:
          output['Asset']['hostnames'] = add_iso_entries_to_dict(output.get('Asset', dict()).get('hostnames', []))
          output['Asset']['users'] = add_iso_entries_to_dict(output.get('Asset', dict()).get('users', []))
          output['Asset']['products'] = add_iso_entries_to_dict(output.get('Asset', dict()).get('products', []))
          output['Asset'] = sanitize_outputs(output.get('Asset'), ASSET_OLD_NEW_MAP)[0]
          assets_hr.append(output['Asset'])
          assets_results[f'''QRadar.Asset(val.ID === "{output['Asset']['ID']}")'''] = output['Asset']
          sanitized_endpoint = remove_empty_elements(output.get('Endpoint', dict()))
          if sanitized_endpoint:
              endpoints.append(sanitized_endpoint)
  
      asset_human_readable = tableToMarkdown('Assets List', assets_hr, removeNull=True)
      endpoints_human_readable = tableToMarkdown('Endpoints', endpoints, removeNull=True)
  
      if endpoints:
          assets_results['Endpoint'] = endpoints
  
      return CommandResults(
          readable_output=asset_human_readable + endpoints_human_readable,
          outputs=assets_results,
          raw_response=response
      )
code_tokens: def qradar_assets_list_command ( client : Client , args : Dict ) -> CommandResults : asset_id = args . get ( 'asset_id' ) range_ = f'''items={args.get('range', DEFAULT_RANGE_VALUE)}''' filter_ = args . get ( 'filter' ) fields = args . get ( 'fields' ) if asset_id : filter_ = f'id={asset_id}' full_enrichment = True if asset_id else False response = client . assets_list ( range_ , filter_ , fields ) enriched_outputs = enrich_assets_results ( client , response , full_enrichment ) assets_results = dict ( ) assets_hr = [ ] endpoints = [ ] for output in enriched_outputs : output [ 'Asset' ] [ 'hostnames' ] = add_iso_entries_to_dict ( output . get ( 'Asset' , dict ( ) ) . get ( 'hostnames' , [ ] ) ) output [ 'Asset' ] [ 'users' ] = add_iso_entries_to_dict ( output . get ( 'Asset' , dict ( ) ) . get ( 'users' , [ ] ) ) output [ 'Asset' ] [ 'products' ] = add_iso_entries_to_dict ( output . get ( 'Asset' , dict ( ) ) . get ( 'products' , [ ] ) ) output [ 'Asset' ] = sanitize_outputs ( output . get ( 'Asset' ) , ASSET_OLD_NEW_MAP ) [ 0 ] assets_hr . append ( output [ 'Asset' ] ) assets_results [ f'''QRadar.Asset(val.ID === "{output['Asset']['ID']}")''' ] = output [ 'Asset' ] sanitized_endpoint = remove_empty_elements ( output . get ( 'Endpoint' , dict ( ) ) ) if sanitized_endpoint : endpoints . append ( sanitized_endpoint ) asset_human_readable = tableToMarkdown ( 'Assets List' , assets_hr , removeNull = True ) endpoints_human_readable = tableToMarkdown ( 'Endpoints' , endpoints , removeNull = True ) if endpoints : assets_results [ 'Endpoint' ] = endpoints return CommandResults ( readable_output = asset_human_readable + endpoints_human_readable , outputs = assets_results , raw_response = response )
short_docstring: Retrieves list of assets from QRadar service.
short_docstring_tokens: Retrieves list of assets from QRadar service .
comment: """
      Retrieves list of assets from QRadar service.
      possible arguments:
      - asset_id: Retrieves details of the specific asset that corresponds to the ID given.
      - range: Range of offenses to return (e.g.: 0-20, 3-5, 3-3).
      - filter: Query filter to filter results returned by QRadar service. see
                https://www.ibm.com/support/knowledgecenter/SS42VS_SHR/com.ibm.qradarapi.doc/c_rest_api_filtering.html
                for more details.
      - fields: If used, will filter all fields except for the specified ones.
                Use this parameter to specify which fields you would like to get back in the
                response. Fields that are not explicitly named are excluded.
      Args:
          client (Client): QRadar client to perform the API call.
          args (Dict): Demisto args.
  
      Returns:
          CommandResults.
      """$SEP$# If asset ID was given, override filter if both filter and asset ID were given.