Configure Data Sources
Note: The Plugin Framework is in beta.
Data sources may require provider-level data or remote system clients to operate correctly. The framework supports the ability to configure this data and/or clients once within the provider, then pass that information to data sources by adding the Configure
method.
Prepare Provider Configure Method
Implement the provider.ConfigureResponse.DataSourceData
field in the Provider
interface Configure
method. This value can be set to any type, whether an existing client or vendor SDK type, a provider-defined custom type, or the provider implementation itself. It is recommended to use pointer types so that data sources can determine if this value was configured before attempting to use it.
In this example, the Go standard library net/http.Client
is configured in the provider, and made available for data sources:
In this example, the code defines an ExampleClient
type that is made available for data sources:
In this example, the ExampleCloudProvider
type itself is made available for data sources:
Define Data Source Configure Method
Implement the datasource.DataSourceWithConfigure
interface which receives the provider configured data from the Provider
interface Configure
method and saves it into the datasource.DataSource
interface implementation.
In this example, the provider configured the Go standard library net/http.Client
which the data source uses during Read
: