code: def process_injection_file(self, client):
          
          configuration = ipa_utils.get_yaml_config(self.inject)
  
          if configuration.get('inject_packages'):
              inject_packages = configuration['inject_packages']
  
              if not isinstance(inject_packages, list):
                  inject_packages = [inject_packages]
  
              for package in inject_packages:
                  package_path = self.put_file(client, package)
                  self.install_package(client, package_path)
  
          if configuration.get('inject_archives'):
              inject_archives = configuration['inject_archives']
  
              if not isinstance(inject_archives, list):
                  inject_archives = [inject_archives]
  
              for archive in inject_archives:
                  archive_path = self.put_file(client, archive)
                  self.extract_archive(client, archive_path)
  
          if configuration.get('inject_files'):
              inject_files = configuration['inject_files']
  
              if not isinstance(inject_files, list):
                  inject_files = [inject_files]
  
              for file_path in inject_files:
                  self.put_file(client, file_path)
  
          if configuration.get('execute'):
              execute = configuration['execute']
  
              if not isinstance(execute, list):
                  execute = [execute]
  
              for command in execute:
                  self.execute_ssh_command(client, command)
  
          if configuration.get('install'):
              install = configuration['install']
  
              if not isinstance(install, list):
                  install = [install]
  
              for package in install:
                  self.install_package(client, package)
docs: Load yaml file and process injection configuration.
  
          There are 5 injection options:
  
          :inject_packages: an rpm path or list of rpm paths which will be
                            copied and installed on the test instance.
          :inject_archives: an archive or list of archives which will
                            be copied and extracted on the test instance.
          :inject_files: a file path or list of file paths which
                         will be copied to the test instance.
          :execute: a command or list of commands to run on the test instance.
          :install: a package name or list of package names to
                   install from an existing repo on the test instance.
  
          The order of processing is as follows: inject_packages,
          inject_archives, inject_files, execute, install.