terraform/internal/providers
Martin Atkins 1425374371 providers: A type for all schemas for a particular provider
Previously the "providers" package contained only a type for representing
the schema of a particular object within a provider, and the terraform
package had the responsibility of aggregating many of those together to
describe the entire surface area of a provider.

Here we move what was previously terraform.ProviderSchema to instead be
providers.Schemas, retaining its existing API otherwise, and leave behind
a type alias to allow us to gradually update other references over time.

We've gradually been shrinking down the responsibilities of the
"terraform" package to just representing the graph components and
behaviors anyway, but the specific motivation for doing this _now_ is to
allow for other packages to both be called by the terraform package _and_
work with provider schemas at the same time, without creating a package
dependency cycle: instead, these other packages can just import the
"providers" package and not need to import the "terraform" package at all.

For now this does still leave the responsibility for _building_ a
providers.Schemas object over in the "terraform" package, because it's
currently doing that as part of some larger work that isn't easily
separable, and so reorganizing that would be a more involved and riskier
change than just moving the existing type elsewhere.
2022-03-04 15:51:36 -05:00
..
addressed_types.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
addressed_types_test.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
doc.go Move providers/ to internal/providers/ 2021-05-17 14:09:07 -07:00
factory.go Move providers/ to internal/providers/ 2021-05-17 14:09:07 -07:00
provider.go providers: A type for all schemas for a particular provider 2022-03-04 15:51:36 -05:00
schemas.go providers: A type for all schemas for a particular provider 2022-03-04 15:51:36 -05:00