From 22ff9f01a584e61ab6988b54df37660b06f4a614 Mon Sep 17 00:00:00 2001 From: beatz174-bit Date: Thu, 23 Apr 2026 12:21:50 +1000 Subject: [PATCH] Fix hostname config decoding in read-only data sources --- internal/provider/data_source_dns_records.go | 12 +++++------- internal/provider/data_source_domain.go | 12 +++++------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/internal/provider/data_source_dns_records.go b/internal/provider/data_source_dns_records.go index ffd9c78..a9342f9 100644 --- a/internal/provider/data_source_dns_records.go +++ b/internal/provider/data_source_dns_records.go @@ -100,20 +100,18 @@ func (d *dnsRecordsDataSource) Configure(_ context.Context, req datasource.Confi } func (d *dnsRecordsDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { - var config struct { - Hostname types.String `tfsdk:"hostname"` - } - resp.Diagnostics.Append(req.Config.Get(ctx, &config)...) + var hostname types.String + resp.Diagnostics.Append(req.Config.GetAttribute(ctx, path.Root("hostname"), &hostname)...) if resp.Diagnostics.HasError() { return } - if config.Hostname.IsUnknown() || config.Hostname.IsNull() { + if hostname.IsUnknown() || hostname.IsNull() { resp.Diagnostics.AddAttributeError(path.Root("hostname"), "Invalid hostname", "The hostname must be known and non-null.") return } - domainID, domainName, err := d.clientProvider.client.GetRootDomain(ctx, config.Hostname.ValueString()) + domainID, domainName, err := d.clientProvider.client.GetRootDomain(ctx, hostname.ValueString()) if err != nil { resp.Diagnostics.AddError(diagnosticSummary("Unable to resolve Dynu domain from hostname", err), err.Error()) return @@ -128,7 +126,7 @@ func (d *dnsRecordsDataSource) Read(ctx context.Context, req datasource.ReadRequ sortDNSRecords(records) state := dnsRecordsDataSourceModel{ - Hostname: config.Hostname, + Hostname: hostname, DomainID: types.Int64Value(domainID), DomainName: types.StringValue(domainName), Records: make([]dnsRecordStateItem, 0, len(records)), diff --git a/internal/provider/data_source_domain.go b/internal/provider/data_source_domain.go index 8a45d25..a84b666 100644 --- a/internal/provider/data_source_domain.go +++ b/internal/provider/data_source_domain.go @@ -73,20 +73,18 @@ func (d *domainDataSource) Configure(_ context.Context, req datasource.Configure } func (d *domainDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { - var config struct { - Hostname types.String `tfsdk:"hostname"` - } - resp.Diagnostics.Append(req.Config.Get(ctx, &config)...) + var hostname types.String + resp.Diagnostics.Append(req.Config.GetAttribute(ctx, path.Root("hostname"), &hostname)...) if resp.Diagnostics.HasError() { return } - if config.Hostname.IsUnknown() || config.Hostname.IsNull() { + if hostname.IsUnknown() || hostname.IsNull() { resp.Diagnostics.AddAttributeError(path.Root("hostname"), "Invalid hostname", "The hostname must be known and non-null.") return } - domainID, _, err := d.clientProvider.client.GetRootDomain(ctx, config.Hostname.ValueString()) + domainID, _, err := d.clientProvider.client.GetRootDomain(ctx, hostname.ValueString()) if err != nil { resp.Diagnostics.AddError(diagnosticSummary("Unable to resolve Dynu domain from hostname", err), err.Error()) return @@ -104,7 +102,7 @@ func (d *domainDataSource) Read(ctx context.Context, req datasource.ReadRequest, return } state := domainDataSourceModel{ - Hostname: config.Hostname, + Hostname: hostname, Domain: domainObject, }