code: def profile_settings_args_install_json(self, ij, required):
          
  
          profile_args = {}
          # add App specific args
          for p in ij.get('params') or []:
              # TODO: fix this required logic
              if p.get('required', False) != required and required is not None:
                  continue
              if p.get('type').lower() == 'boolean':
                  profile_args[p.get('name')] = self._to_bool(p.get('default', False))
              elif p.get('type').lower() == 'choice':
                  valid_values = '|'.join(self.expand_valid_values(p.get('validValues', [])))
                  profile_args[p.get('name')] = '[{}]'.format(valid_values)
              elif p.get('type').lower() == 'multichoice':
                  profile_args[p.get('name')] = p.get('validValues', [])
              elif p.get('name') in ['api_access_id', 'api_secret_key']:
                  # leave these parameters set to the value defined in defaults
                  pass
              else:
                  types = '|'.join(p.get('playbookDataType', []))
                  if types:
                      profile_args[p.get('name')] = p.get('default', '<{}>'.format(types))
                  else:
                      profile_args[p.get('name')] = p.get('default', '')
          return profile_args
docs: Return args based on install.json params.
  
          Args:
              ij (dict): The install.json contents.
              required (bool): If True only required args will be returned.
  
          Returns:
              dict: Dictionary of required or optional App args.