TODO 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. * Implement functions for generating form stuff for posting to s3
  2. * Write s3 man page
  3. === Object Versioning ===
  4. - Enabling versioning is just a PUT request to a specific object name with a canned XML content (3 hours)
  5. - Suspending versioning is another similar PUT request (1 hour)
  6. - Get versioning state is a simple request, requires some simple XML parsing to represent the result (2 hours)
  7. - Support reporting the version ID in PUT, POST, or COPY request results (1 hour)
  8. - List all object versions uses a GET request for a specific sub-resource (2 hours)
  9. - Include support for "truncated" object versions list (1 hour)
  10. - Support versionId in GET and HEAD requests (2 hours)
  11. === Reduced Redundancy Storage ===
  12. - Support adding a "storage class" header to define storage class in PUT request (2 hours)
  13. - Documentation note that S3StatusErrorMethodNotAllowed is returned when there has been a loss of a reduced redundancy object (1 hour)
  14. - Consider adding an API for changing the storage class of an object (even though this is already covered by doing a PUT with the appropriate user-controlled parameters) (1 hour)
  15. === Bucket Policies ===
  16. - Support parsing/deparsing of bucket policies (JSON parsing!) into structured representation - 26 hours
  17. - Set/delete/query bucket policies - 12 hours
  18. === Notifications ===
  19. - Structurally represent and provide an API for setting/deleting/querying: 16 hours
  20. === IAM ===
  21. This is Amazon's "user" management API; not part of S3 although IAM users can be referenced in S3 Bucket Policies. Not intending to support IAM account management since the creation and management of users is not S3 functionality.
  22. === Response Header API Support ===
  23. - Allows HTTP response headers to be specified on a per-object basis
  24. - Full support: 5 hours
  25. === Support for Hosting static websites in Amazon S3 ===
  26. - Structured representation of website routing rules: 8 hours
  27. - Support the "website" bucket resource and structured interactions with it: 16 hours
  28. === Multipart Upload Copy ===
  29. - 10 hours
  30. === Temporary Security Credentials ===
  31. - ???
  32. === Server-Side Encryption ===
  33. - Just have to set an additional header in some of the requests
  34. - 4 hours
  35. === Multi-Object Delete ===
  36. - POST /?delete -- 4 hours
  37. === MFA Authentication ===
  38. (part of Bucket Policy)
  39. === Cost Allocation Tagging ===
  40. - Looks like just a simple free-form string value that can be associated with buckets
  41. - May need to implement special logging for querying by cost allocation tag
  42. - Need to find the REST API documentation for this
  43. - Likely to take ~8 hours to support
  44. === Cross-Origin Resource Sharing ===
  45. - Support /?cors resource: 16 hours
  46. === Support for Archiving Data to Amazon Glacier ===
  47. - Already included in Object Lifecycle Management
  48. === Root domain support for website hosting ===
  49. - Already included in static website support stuff