# Packages

Package schema contains all available schema functionality for data sources.

# Constants

DeferredReasonAbsentPrereq is used to indicate that a hard dependency has not been satisfied.
DeferredReasonDataSourceConfigUnknown is used to indicate that the resource configuration is partially unknown and the real values need to be known before the change can be planned.
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

ConfigureRequest represents a request for the provider to configure a data source, i.e., set provider-level data or clients.
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 DataSource to return metadata, such as its type name.
MetadataResponse represents a response to a MetadataRequest.
ReadClientCapabilities allows Terraform to publish information regarding optionally supported protocol features for the ReadDataSource RPC, such as forward-compatible Terraform behavior changes.
ReadRequest represents a request for the provider to read a data source, i.e., update values in state according to the real state of the data source.
ReadResponse represents a response to a ReadRequest.
SchemaRequest represents a request for the DataSource to return its schema.
SchemaResponse represents a response to a SchemaRequest.
ValidateConfigRequest represents a request to validate the configuration of a data source.
ValidateConfigResponse represents a response to a ValidateConfigRequest.

# Interfaces

ConfigValidator describes reusable data source configuration validation functionality.
DataSource represents an instance of a data source type.
DataSourceWithConfigure is an interface type that extends DataSource to include a method which the framework will automatically call so provider developers have the opportunity to setup any necessary provider-level data or clients in the DataSource type.
DataSourceWithConfigValidators is an interface type that extends DataSource to include declarative validations.
DataSourceWithValidateConfig is an interface type that extends DataSource to include imperative validation.

# Type aliases

DeferredReason represents different reasons for deferring a change.