Issue
I'm working in an environment where the AWS CLI is not available and need to use the API using plain https, but having problems listing public AMIs by doing a GET of
https://ec2.eu-north-1.amazonaws.com/?Action=DescribeImages&Filter.1.Name=is-public&Filter.1.Value.1=true
This is very close to Example 2 in the official API reference but I receive the error:
<Code>UnknownParameter</Code>
<Message>The parameter Filter is not recognized</Message>
I don't think this could be signing/authentication problems as I get AuthFailure instead of UnknownParameter if I mess up authentication.
It feels like I'm looking at outdated documentation but I'm not able to find anything more current.
What kind of request can provide me with public AMIs?
Solution
By running awscli with the --debug flag I was able to determine how to compose requests. I was missing a Version parameter.
The following request will work if properly authenticated:
https://ec2.eu-north-1.amazonaws.com/?Action=DescribeImages&Version=2016-11-15&Filter.1.Name=is-public&Filter.1.Value.1=true
Answered By - palmin Answer Checked By - Candace Johnson (WPSolving Volunteer)