:doc:`CodeCommit <../../codecommit>` / Client / delete_file

***********
delete_file
***********



.. py:method:: CodeCommit.Client.delete_file(**kwargs)

  

  Deletes a specified file from a specified branch. A commit is created on the branch that contains the revision. The file still exists in the commits earlier to the commit that contains the deletion.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteFile>`_  


  **Request Syntax**
  ::

    response = client.delete_file(
        repositoryName='string',
        branchName='string',
        filePath='string',
        parentCommitId='string',
        keepEmptyFolders=True|False,
        commitMessage='string',
        name='string',
        email='string'
    )
    
  :type repositoryName: string
  :param repositoryName: **[REQUIRED]** 

    The name of the repository that contains the file to delete.

    

  
  :type branchName: string
  :param branchName: **[REQUIRED]** 

    The name of the branch where the commit that deletes the file is made.

    

  
  :type filePath: string
  :param filePath: **[REQUIRED]** 

    The fully qualified path to the file that to be deleted, including the full name and extension of that file. For example, /examples/file.md is a fully qualified path to a file named file.md in a folder named examples.

    

  
  :type parentCommitId: string
  :param parentCommitId: **[REQUIRED]** 

    The ID of the commit that is the tip of the branch where you want to create the commit that deletes the file. This must be the HEAD commit for the branch. The commit that deletes the file is created from this commit ID.

    

  
  :type keepEmptyFolders: boolean
  :param keepEmptyFolders: 

    If a file is the only object in the folder or directory, specifies whether to delete the folder or directory that contains the file. By default, empty folders are deleted. This includes empty folders that are part of the directory structure. For example, if the path to a file is dir1/dir2/dir3/dir4, and dir2 and dir3 are empty, deleting the last file in dir4 also deletes the empty folders dir4, dir3, and dir2.

    

  
  :type commitMessage: string
  :param commitMessage: 

    The commit message you want to include as part of deleting the file. Commit messages are limited to 256 KB. If no message is specified, a default message is used.

    

  
  :type name: string
  :param name: 

    The name of the author of the commit that deletes the file. If no name is specified, the user's ARN is used as the author name and committer name.

    

  
  :type email: string
  :param email: 

    The email address for the commit that deletes the file. If no email address is specified, the email address is left blank.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'commitId': 'string',
          'blobId': 'string',
          'treeId': 'string',
          'filePath': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **commitId** *(string) --* 

        The full commit ID of the commit that contains the change that deletes the file.

        
      

      - **blobId** *(string) --* 

        The blob ID removed from the tree as part of deleting the file.

        
      

      - **treeId** *(string) --* 

        The full SHA-1 pointer of the tree information for the commit that contains the delete file change.

        
      

      - **filePath** *(string) --* 

        The fully qualified path to the file to be deleted, including the full name and extension of that file.

        
  
  **Exceptions**
  
  *   :py:class:`CodeCommit.Client.exceptions.RepositoryNameRequiredException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidRepositoryNameException`

  
  *   :py:class:`CodeCommit.Client.exceptions.RepositoryDoesNotExistException`

  
  *   :py:class:`CodeCommit.Client.exceptions.ParentCommitIdRequiredException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidParentCommitIdException`

  
  *   :py:class:`CodeCommit.Client.exceptions.ParentCommitDoesNotExistException`

  
  *   :py:class:`CodeCommit.Client.exceptions.ParentCommitIdOutdatedException`

  
  *   :py:class:`CodeCommit.Client.exceptions.PathRequiredException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidPathException`

  
  *   :py:class:`CodeCommit.Client.exceptions.FileDoesNotExistException`

  
  *   :py:class:`CodeCommit.Client.exceptions.BranchNameRequiredException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidBranchNameException`

  
  *   :py:class:`CodeCommit.Client.exceptions.BranchDoesNotExistException`

  
  *   :py:class:`CodeCommit.Client.exceptions.BranchNameIsTagNameException`

  
  *   :py:class:`CodeCommit.Client.exceptions.NameLengthExceededException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidEmailException`

  
  *   :py:class:`CodeCommit.Client.exceptions.CommitMessageLengthExceededException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionIntegrityChecksFailedException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionKeyAccessDeniedException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionKeyDisabledException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionKeyNotFoundException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionKeyUnavailableException`

  