Backend s3 restore: lifetime and priority are required!

Motivation

Currently, the command just goes through and produces an obfuscating error (MalformedXML):

2022/06/13 00:13:33 DEBUG : rclone: Version "v1.59.0-DEV" starting with parameters ["rclone" "-vv" "backend" "restore" "aws_deep:test-bucket-htr2"]
2022/06/13 00:13:33 DEBUG : Using config file from "/home/u20/hungtr/.config/rclone/rclone.conf"
[
        {
                "Status": "MalformedXML: The XML you provided was not well-formed or did not validate against our published schema\n\tstatus code: 400, request id: 9FX98X86D78MCYQN, host id: E2vHXnVu1/61OzZdpOv+S0tQ+n3PK5Ax8pdSU+cGgGdC9esUO4ckiv2G7amvgJm1NEOcaYTP2HU=",
                "Remote": "hungtr/deep/rclone_check.sh"
        },
        {
                "Status": "Not GLACIER or DEEP_ARCHIVE storage class",
                "Remote": "hungtr/rclone_check.sh"
        },
        {
                "Status": "MalformedXML: The XML you provided was not well-formed or did not validate against our published schema\n\tstatus code: 400, request id: 9FX0TAZNFEM4RJMK, host id: HyNwyGydvfCZE7rfWpDRoEVdkX0NSYlO2mnBab7lSwD5JJaAw3ZjhpsYbw6DfXYNlDxxY4A0oAg=",
                "Remote": "hungtr/reconfig/rclone_check.sh"
        }
]
2022/06/13 00:13:33 DEBUG : 2 go routines active

The expected output

Either (1) we return with an error saying either field is missing, or (2) just put in a default lifetime or priority.

Ideally, we choose (1) because it is consistent to AWS' API requiring these fields.

Other information

Looking at the source code(gh:rclone/backend/s3/s3.go, this seems like a very small feature. I could try to implement this feature on my own, but:

  • I have very little knowledge on Golang
  • I have 0 knowledge on the existing code-base
  • It would be one of my first contribution to any open-source project

I would really appreciate it if there is any word of assurance that I could take on this task and which path I should follow (1 or 2) to implement this feature.