# waffle v2.0.0 - Table of Contents > Flexible file upload and attachment library for Elixir. ## Pages - [Waffle](readme.md) - [An Example for Local](local.md) - [An Example for S3](s3.md) - [Processing with custom functions](custom_transformation.md) ## Modules - [Waffle.Actions.Delete](Waffle.Actions.Delete.md): Delete files from a defined adapter. - [Waffle.Actions.Store](Waffle.Actions.Store.md): Store files to a defined adapter. - [Waffle.Actions.Url](Waffle.Actions.Url.md): Url generation. - [Waffle.Definition](Waffle.Definition.md): Defines uploader to manage files. - [Waffle.Definition.Storage](Waffle.Definition.Storage.md): Uploader configuration. - [Waffle.Definition.Versioning](Waffle.Definition.Versioning.md): Define proper name for a version. - [Waffle.HTTPClient](Waffle.HTTPClient.md): Defines the behavior for http client. - [Waffle.HTTPClient.Req](Waffle.HTTPClient.Req.md): HTTP client adapter that uses `Req` to download remote files. - [Waffle.HTTPClient.Request](Waffle.HTTPClient.Request.md): Configures requests used to download remote files. - [Waffle.Processor](Waffle.Processor.md): Apply transformation to files. - [Waffle.Storage](Waffle.Storage.md): Defines the behavior for file storage. - [Waffle.Storage.Local](Waffle.Storage.Local.md): Local storage provides facility to store files locally. - [Waffle.Storage.S3](Waffle.Storage.S3.md): The module to facilitate integration with S3 through ExAws.S3 - [Waffle.StorageBehavior](Waffle.StorageBehavior.md): Deprecated compatibility name for `Waffle.Storage`. - Exceptions - [Waffle.HTTPClient.ResponseBodyLimitError](Waffle.HTTPClient.ResponseBodyLimitError.md) - [Waffle.MissingExecutableError](Waffle.MissingExecutableError.md) ## Mix Tasks - [mix waffle.g](Mix.Tasks.Waffle.G.md): A task for generating waffle uploader modules.