# Packages

Package metaschema contains all available meta schema functionality for providers.
Package schema contains all available schema functionality for data sources.

# Constants

DeferredReasonProviderConfigUnknown is used to indicate that the provider configuration is partially unknown and the real values need to be known before the change can be planned.
DeferredReasonUnknown is used to indicate an invalid `DeferredReason`.

# Structs

ConfigureProviderClientCapabilities allows Terraform to publish information regarding optionally supported protocol features for the ConfigureProvider RPC, such as forward-compatible Terraform behavior changes.
ConfigureRequest represents a request containing the values the user specified for the provider configuration block, along with other runtime information from Terraform or the Plugin SDK.
ConfigureResponse represents a response to a ConfigureRequest.
Deferred is used to indicate to Terraform that a change needs to be deferred for a reason.
MetadataRequest represents a request for the Provider to return its type name.
MetadataResponse represents a response to a MetadataRequest.
MetaSchemaRequest represents a request for the Provider to return its schema.
MetaSchemaResponse represents a response to a MetaSchemaRequest.
SchemaRequest represents a request for the Provider to return its schema.
SchemaResponse represents a response to a SchemaRequest.
ValidateConfigRequest represents a request to validate the configuration of a provider.
ValidateConfigResponse represents a response to a ValidateConfigRequest.

# Interfaces

ConfigValidator describes reusable Provider configuration validation functionality.
Provider is the core interface that all Terraform providers must implement.
ProviderWithConfigValidators is an interface type that extends Provider to include declarative validations.
ProviderWithFunctions is an interface type that extends Provider to include provider defined functions for usage in practitioner configurations.
ProviderWithMetaSchema is a provider with a provider meta schema, which is configured by practitioners via the provider_meta configuration block and the configuration data is included with certain data source and resource operations.
ProviderWithValidateConfig is an interface type that extends Provider to include imperative validation.

# Type aliases

DeferredReason represents different reasons for deferring a change.