docs: def add_files(self, common_name, x509s, files=None, parent_ca='',
                    is_ca=False, signees=None, serial=0, overwrite=False):
          """Add a set files comprising a certificate to Certipy
  
          Used with all the defaults, Certipy will manage creation of file paths
          to be used to store these files to disk and automatically calls save
          on all TLSFiles that it creates (and where it makes sense to).
          """
  
          if common_name in self.store and not overwrite:
              raise CertExistsError(
                  "Certificate {name} already exists!"
                  " Set overwrite=True to force add."
                  .format(name=common_name))
          elif common_name in self.store and overwrite:
              record = self.get_record(common_name)
              serial = int(record['serial'])
              record['serial'] = serial + 1
              TLSFileBundle(common_name).from_record(record).save_x509s(x509s)
          else:
              file_base_tmpl = "{prefix}/{cn}/{cn}"
              file_base = file_base_tmpl.format(
                  prefix=self.containing_dir, cn=common_name
              )
              try:
                  ca_record = self.get_record(parent_ca)
                  ca_file = ca_record['files']['cert']
              except CertNotFoundError:
                  ca_file = ''
              files = files or {
                  'key': file_base + '.key',
                  'cert': file_base + '.crt',
                  'ca': ca_file,
              }
              bundle = TLSFileBundle(
                  common_name, files=files, x509s=x509s, is_ca=is_ca,
                  serial=serial, parent_ca=parent_ca, signees=signees)
              self.store[common_name] = bundle.to_record()
          self.save()