* feat: assume role provider credentials
This commit updates the awsutil dependency to its latest version, which
supports the capability of using dynamic credentials. The storage service
was refactored to make static credentials optional. The credentials pkg
was refactored to support several attribute fields used for the assume
role provider. The host service still enforces the use of static
credentials.
This adds DNS names to the output for host queries.
Hosts are discovered in private, then public order, first at the
top-level, and then through attached network interfaces. This mirrors
the discovery order of IP addresses.
This adds checks for unknown attributes through the entire plugin
lifecycle for all attributes, secrets, and persisted state.
It also fixes the E2E test which seems to have drifted.
...when no new credentials are supplied. This was initially not covered
when the E2E tests were written but was added later once we the mocks
necessary to do unit testing to get error coverage.
Ideally we'd ensure that an incoming filter is a string, but some
clients, such as the CLI, don't have a good way to require this without
it being very onerous to the user.
Eventually we can handle this via allowing the plugin to declare a
schema and perform type validation in the handler, but for now, work
around this within the plugin.
We now add the instance-state = ["running"] filter to all queries if
instance-state is not explicitly defined beforehand. This should ensure
that all queries return running instances beforehand (saving some
post-processing later too).
As such, I'm removing an artifact of the old code where we were not
doing this, which was basically to skip all running instances.
Additionally, this will allow an operator to include non-running
instances in a filter should this be desired for whatever reason.