Documentation
¶
Index ¶
- Constants
- func New(version string, clientFactory APIClientFactory) func() provider.Provider
- func RecordResourceFactory(m *sync.Mutex) func() resource.Resource
- func ZoneDataSourceFactory(m *sync.Mutex) func() datasource.DataSource
- func ZoneResourceFactory(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
- type ZoneDataSource
- func (d *ZoneDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, ...)
- func (d *ZoneDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, ...)
- func (d *ZoneDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse)
- func (d *ZoneDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, ...)
- type ZoneResource
- func (r *ZoneResource) Configure(ctx context.Context, req resource.ConfigureRequest, ...)
- func (r *ZoneResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *ZoneResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (r *ZoneResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (r *ZoneResource) Metadata(ctx context.Context, req resource.MetadataRequest, ...)
- func (r *ZoneResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (r *ZoneResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *ZoneResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
Constants ¶
const IMPORT_SEP = ":"
import separator
Variables ¶
This section is empty.
Functions ¶
func ZoneDataSourceFactory ¶ added in v0.3.0
func ZoneDataSourceFactory(m *sync.Mutex) func() datasource.DataSource
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 zone:name:TYPE:value
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)
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 (d *ZoneDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse)
func (*ZoneDataSource) Metadata ¶ added in v0.3.0
func (d *ZoneDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse)
func (*ZoneDataSource) Read ¶ added in v0.3.0
func (d *ZoneDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse)
func (*ZoneDataSource) Schema ¶ added in v0.3.0
func (d *ZoneDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse)
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 (r *ZoneResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
func (*ZoneResource) Create ¶ added in v0.3.0
func (r *ZoneResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
func (*ZoneResource) Delete ¶ added in v0.3.0
func (r *ZoneResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
func (*ZoneResource) ImportState ¶ added in v0.3.0
func (r *ZoneResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
terraform import technitium_zone.example example.com
func (*ZoneResource) Metadata ¶ added in v0.3.0
func (r *ZoneResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse)
func (*ZoneResource) Read ¶ added in v0.3.0
func (r *ZoneResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
func (*ZoneResource) Schema ¶ added in v0.3.0
func (r *ZoneResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
func (*ZoneResource) Update ¶ added in v0.3.0
func (r *ZoneResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)