Documentation
¶
Index ¶
- Constants
- func New(version string, clientFactory APIClientFactory) func() provider.Provider
- func RecordResourceFactory(m *sync.Mutex) func() resource.Resource
- type APIClientFactory
- type RecordResource
- func (r *RecordResource) Configure(ctx context.Context, req resource.ConfigureRequest, ...)
- func (r *RecordResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *RecordResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (r *RecordResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (r *RecordResource) Metadata(ctx context.Context, req resource.MetadataRequest, ...)
- func (r *RecordResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (r *RecordResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *RecordResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
- type TechnitiumDNSProvider
- func (p *TechnitiumDNSProvider) Configure(ctx context.Context, req provider.ConfigureRequest, ...)
- func (p *TechnitiumDNSProvider) DataSources(ctx context.Context) []func() datasource.DataSource
- func (p *TechnitiumDNSProvider) Metadata(ctx context.Context, req provider.MetadataRequest, ...)
- func (p *TechnitiumDNSProvider) Resources(ctx context.Context) []func() resource.Resource
- func (p *TechnitiumDNSProvider) Schema(ctx context.Context, req provider.SchemaRequest, resp *provider.SchemaResponse)
- type TechnitiumDNSProviderModel
Constants ¶
const IMPORT_SEP = ":"
import separator
Variables ¶
This section is empty.
Functions ¶
Types ¶
type APIClientFactory ¶
type APIClientFactory func(apiURL, token string, skipCertificateVerification bool) (model.DNSApiClient, error)
type RecordResource ¶
type RecordResource struct {
// contains filtered or unexported fields
}
RecordResource defines the implementation of Technitium DNS records
func (*RecordResource) Configure ¶
func (r *RecordResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
func (*RecordResource) Create ¶
func (r *RecordResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
create will complain (and fail with client error) if same record is already present (mb as a result of calling "apply" with updated config with old record already gone) so state must be manually imported to continue (could step around this, but this will contradict terraform ideology -- see below)
func (*RecordResource) Delete ¶
func (r *RecordResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
func (*RecordResource) ImportState ¶
func (r *RecordResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
terraform import technitium_record.new-cname domain:CNAME:_test:testing.com Not implemented for now, need to find a good way given all of the possible parameters.
func (*RecordResource) Metadata ¶
func (r *RecordResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse)
func (*RecordResource) Read ¶
func (r *RecordResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
TODO: The read function might need some caching mechanism because it is currently refetching the full record list every time.
func (*RecordResource) Schema ¶
func (r *RecordResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
func (*RecordResource) Update ¶
func (r *RecordResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
type TechnitiumDNSProvider ¶
type TechnitiumDNSProvider struct {
// contains filtered or unexported fields
}
func (*TechnitiumDNSProvider) Configure ¶
func (p *TechnitiumDNSProvider) Configure(ctx context.Context, req provider.ConfigureRequest, resp *provider.ConfigureResponse)
func (*TechnitiumDNSProvider) DataSources ¶
func (p *TechnitiumDNSProvider) DataSources(ctx context.Context) []func() datasource.DataSource
func (*TechnitiumDNSProvider) Metadata ¶
func (p *TechnitiumDNSProvider) Metadata(ctx context.Context, req provider.MetadataRequest, resp *provider.MetadataResponse)
func (*TechnitiumDNSProvider) Resources ¶
func (p *TechnitiumDNSProvider) Resources(ctx context.Context) []func() resource.Resource
func (*TechnitiumDNSProvider) Schema ¶
func (p *TechnitiumDNSProvider) Schema(ctx context.Context, req provider.SchemaRequest, resp *provider.SchemaResponse)