docs: def _finalize_upload(self, ud):
          # type: (Uploader, blobxfer.models.upload.Descriptor) -> None
          """Finalize file upload
          :param Uploader self: this
          :param blobxfer.models.upload.Descriptor ud: upload descriptor
          """
          metadata = ud.generate_metadata()
          if ud.requires_put_block_list:
              # put block list for non one-shot block blobs
              self._finalize_block_blob(ud, metadata)
          elif ud.remote_is_page_blob or ud.remote_is_append_blob:
              # append and page blob finalization
              self._finalize_nonblock_blob(ud, metadata)
          elif ud.remote_is_file:
              # azure file finalization
              self._finalize_azure_file(ud, metadata)
          # set access tier
          if ud.requires_access_tier_set:
              blobxfer.operations.azure.blob.block.set_blob_access_tier(
                  ud.entity)