1
1
package freeipa
2
2
3
3
import (
4
+ "fmt"
4
5
"log"
5
6
6
7
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
@@ -53,15 +54,15 @@ func resourceFreeIPADNSRecordCreate(d *schema.ResourceData, meta interface{}) er
53
54
return err
54
55
}
55
56
57
+ idnsname := d .Get ("idnsname" ).(string )
58
+ dnszoneidnsname := d .Get ("dnszoneidnsname" )
59
+
56
60
args := ipa.DnsrecordAddArgs {
57
- Idnsname : d . Get ( " idnsname" ).( string ) ,
61
+ Idnsname : idnsname ,
58
62
}
59
63
60
- optArgs := ipa.DnsrecordAddOptionalArgs {}
61
-
62
- if _dnszoneidnsname , ok := d .GetOkExists ("dnszoneidnsname" ); ok {
63
- dnszoneidnsname := _dnszoneidnsname .(string )
64
- optArgs .Dnszoneidnsname = & dnszoneidnsname
64
+ optArgs := ipa.DnsrecordAddOptionalArgs {
65
+ Dnszoneidnsname : & dnszoneidnsname ,
65
66
}
66
67
67
68
if _dnsttl , ok := d .GetOkExists ("dnsttl" ); ok {
@@ -84,7 +85,7 @@ func resourceFreeIPADNSRecordCreate(d *schema.ResourceData, meta interface{}) er
84
85
return err
85
86
}
86
87
87
- d .SetId (args . Idnsname )
88
+ d .SetId (fmt . Sprintf ( "%s.%s" , idnsname , dnszoneidnsname ) )
88
89
89
90
return resourceFreeIPADNSRecordRead (d , meta )
90
91
}
@@ -104,7 +105,7 @@ func resourceFreeIPADNSRecordUpdate(d *schema.ResourceData, meta interface{}) er
104
105
optArgs := ipa.DnsrecordModOptionalArgs {}
105
106
106
107
if _dnszoneidnsname , ok := d .GetOkExists ("dnszoneidnsname" ); ok {
107
- dnszoneidnsname := _dnszoneidnsname .( string )
108
+ dnszoneidnsname := _dnszoneidnsname
108
109
optArgs .Dnszoneidnsname = & dnszoneidnsname
109
110
}
110
111
@@ -146,7 +147,7 @@ func resourceFreeIPADNSRecordRead(d *schema.ResourceData, meta interface{}) erro
146
147
optArgs := ipa.DnsrecordShowOptionalArgs {}
147
148
148
149
if _dnszoneidnsname , ok := d .GetOkExists ("dnszoneidnsname" ); ok {
149
- dnszoneidnsname := _dnszoneidnsname .( string )
150
+ dnszoneidnsname := _dnszoneidnsname
150
151
optArgs .Dnszoneidnsname = & dnszoneidnsname
151
152
}
152
153
@@ -182,7 +183,12 @@ func resourceFreeIPADNSRecordDelete(d *schema.ResourceData, meta interface{}) er
182
183
Idnsname : d .Get ("idnsname" ).(string ),
183
184
}
184
185
185
- optArgs := ipa.DnsrecordDelOptionalArgs {}
186
+ dnszoneidnsname := d .Get ("dnszoneidnsname" )
187
+ delAll := true
188
+ optArgs := ipa.DnsrecordDelOptionalArgs {
189
+ Dnszoneidnsname : & dnszoneidnsname ,
190
+ DelAll : & delAll ,
191
+ }
186
192
187
193
_ , err = client .DnsrecordDel (& args , & optArgs )
188
194
if err != nil {
0 commit comments