provider

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 22, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const IMPORT_SEP = ":"

import separator

Variables

This section is empty.

Functions

func New

func New(version string, clientFactory APIClientFactory) func() provider.Provider

func RecordResourceFactory

func RecordResourceFactory(m *sync.Mutex) func() resource.Resource

func ZoneDataSourceFactory added in v0.3.0

func ZoneDataSourceFactory(m *sync.Mutex) func() datasource.DataSource

func ZoneResourceFactory added in v0.3.0

func ZoneResourceFactory(m *sync.Mutex) func() resource.Resource

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 (*RecordResource) Create

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 (*RecordResource) ImportState

terraform import technitium_record.new-cname zone:name:TYPE:value

func (*RecordResource) Metadata

func (*RecordResource) Read

TODO: The read function might need some caching mechanism because it is currently refetching the full record list every time.

func (*RecordResource) Schema

func (*RecordResource) Update

type TechnitiumDNSProvider

type TechnitiumDNSProvider struct {
	// contains filtered or unexported fields
}

func (*TechnitiumDNSProvider) Configure

func (*TechnitiumDNSProvider) DataSources

func (p *TechnitiumDNSProvider) DataSources(ctx context.Context) []func() datasource.DataSource

func (*TechnitiumDNSProvider) Metadata

func (*TechnitiumDNSProvider) Resources

func (p *TechnitiumDNSProvider) Resources(ctx context.Context) []func() resource.Resource

func (*TechnitiumDNSProvider) Schema

type TechnitiumDNSProviderModel

type TechnitiumDNSProviderModel struct {
	APIURL                      types.String `tfsdk:"url"`
	Token                       types.String `tfsdk:"token"`
	SkipCertificateVerification types.Bool   `tfsdk:"skip_certificate_verification"`
}

have to match schema

type ZoneDataSource added in v0.3.0

type ZoneDataSource struct {
	// contains filtered or unexported fields
}

ZoneDataSource defines the data source implementation

func (*ZoneDataSource) Configure added in v0.3.0

func (*ZoneDataSource) Metadata added in v0.3.0

func (*ZoneDataSource) Read added in v0.3.0

func (*ZoneDataSource) Schema added in v0.3.0

type ZoneResource added in v0.3.0

type ZoneResource struct {
	// contains filtered or unexported fields
}

ZoneResource defines the implementation of Technitium DNS zones

func (*ZoneResource) Configure added in v0.3.0

func (*ZoneResource) Create added in v0.3.0

func (*ZoneResource) Delete added in v0.3.0

func (*ZoneResource) ImportState added in v0.3.0

terraform import technitium_zone.example example.com

func (*ZoneResource) Metadata added in v0.3.0

func (*ZoneResource) Read added in v0.3.0

func (*ZoneResource) Schema added in v0.3.0

func (*ZoneResource) Update added in v0.3.0

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL