code: def save(self, directory_path):
          
          if self.material:
              directory_path = os.path.expanduser(directory_path)
              file_path = os.path.join(directory_path, '%s.pem' % self.name)
              if os.path.exists(file_path):
                  raise BotoClientError('%s already exists, it will not be overwritten' % file_path)
              fp = open(file_path, 'wb')
              fp.write(self.material)
              fp.close()
              os.chmod(file_path, 0600)
              return True
          else:
              raise BotoClientError('KeyPair contains no material')
docs: Save the material (the unencrypted PEM encoded RSA private key)
          of a newly created KeyPair to a local file.
          
          :type directory_path: string
          :param directory_path: The fully qualified path to the directory
                                 in which the keypair will be saved.  The
                                 keypair file will be named using the name
                                 of the keypair as the base name and .pem
                                 for the file extension.  If a file of that
                                 name already exists in the directory, an
                                 exception will be raised and the old file
                                 will not be overwritten.
          
          :rtype: bool
          :return: True if successful.