Consider passing arguments to S3 gen and S3Writer as boto3 compatible ones.
FileMeta could have a context concept, where a value is re-formatted and named according to the the context it is used.
Path = boto3 Key
Version = boto3 Version
This could be in conflict with pathname_resolver in S3/Local generators. This should anyways be bound in some way to what we are expecting. Let's say S3 expects something that creates Path, and the default is getting the path from the source file.
When creating an s3 object there is a huge number of parameters.
Difficult to set all as FileData
Implicit reuse of FileData from previous Generators is dangerous (e.g. ACL). Consider a max depth to search for needed FileData and prefixing s3 FileData with S3. So S3Key instead of Path. Another option is to require a whitelisting of all parameters that can be used from a parent generator.
Consider passing arguments to S3 gen and S3Writer as boto3 compatible ones.
FileMeta could have a context concept, where a value is re-formatted and named according to the the context it is used.
Path = boto3 Key Version = boto3 Version
This could be in conflict with pathname_resolver in S3/Local generators. This should anyways be bound in some way to what we are expecting. Let's say S3 expects something that creates Path, and the default is getting the path from the source file.