Provider functions that take inputs as arguments, and return an output
(aka output form invokes), now allow specifying a depends_on option.
This allows programs to ensure that invokes are executed after things
they depend on, similar to the depdends_on resource option.
Fixes https://github.com/pulumi/pulumi/issues/17749
Partially addressing https://github.com/pulumi/pulumi/issues/12710 for
Python
This PR extends the python SDK with a new function `invoke_output` which
returns a first class `pulumi.Output[T]` in Python which is then emitted
in the generated code for output-versioned invokes in Python SDK where
these no longer rely on the plain invoke nor they need to use the
lifting utility
https://github.com/pulumi/pulumi/pull/16704 made it so that classes and
TypeDicts are generated for input types by default, but missed some
cases, which lead to referencing some TypedDict types that didn't exist.
This PR fixes that by ensuring that all input types are generated.
A regression test is included that runs pyright in strict mode to ensure
TypedDict types in signatures actually exist.
The second commit regenerates testdata throughout.
Fixes#17219