# Constants

ProviderDependencyExplicit means that there is an explicit "provider" block in the configuration for this module.
ProviderDependencyFromState means that this provider is not currently referenced by configuration at all, but some existing instances in the state still depend on it.
ProviderDependencyImplicit means that there is no explicit "provider" block but there is at least one resource that uses this provider.
ProviderDependencyInherited is a special case of ProviderDependencyImplicit where a parent module has defined a configuration for the provider that has been inherited by at least one resource in this module.

# Structs

Module represents the dependencies of a single module, as well being a node in a tree of such structures representing the dependencies of an entire configuration.
ProviderDependency describes the dependency for a particular provider instance, including both the set of allowed versions and the reason for the dependency.

# Type aliases

ProviderDependencyReason is an enumeration of reasons why a dependency might be present.
ProviderInstance describes a particular provider instance by its full name, like "null" or "aws.foo".
Providers describes a set of provider dependencies for a given module.
WalkFunc is a callback type for use with Module.WalkTree.