@@ -28,16 +28,20 @@ trait Info {
2828}
2929
3030pub trait Requests {
31- fn update_request (
32- & self ,
31+ fn update_request < ' a > (
32+ & ' a self ,
3333 ip : IpAddr ,
34- ) -> Option < UpdateDnsRecord > ;
34+ id : & ' a str ,
35+ ) -> Option < UpdateDnsRecord < ' a > > ;
3536 fn create_request < ' a > (
3637 ip : IpAddr ,
3738 name : & ' a str ,
3839 id : & ' a str ,
3940 ) -> CreateDnsRecord < ' a > ;
40- fn delete_request ( & self ) -> DeleteDnsRecord ;
41+ fn delete_request < ' a > (
42+ & ' a self ,
43+ id : & ' a str ,
44+ ) -> DeleteDnsRecord < ' a > ;
4145}
4246impl Clone_ for DnsRecord {
4347 fn clone ( & self ) -> Self {
@@ -47,14 +51,12 @@ impl Clone_ for DnsRecord {
4751 auto_added : self . meta . auto_added ,
4852 } ,
4953 ttl : self . ttl ,
50- zone_id : self . zone_id . to_owned ( ) ,
5154 modified_on : self . modified_on ,
5255 created_on : self . created_on ,
5356 proxiable : self . proxiable ,
5457 proxied : self . proxied ,
5558 content : self . content . to_owned ( ) ,
5659 id : self . id . to_owned ( ) ,
57- zone_name : self . zone_name . to_owned ( ) ,
5860 }
5961 }
6062}
@@ -84,10 +86,11 @@ impl Info for DnsContent {
8486}
8587
8688impl Requests for DnsRecord {
87- fn update_request (
88- & self ,
89+ fn update_request < ' a > (
90+ & ' a self ,
8991 ip : IpAddr ,
90- ) -> Option < UpdateDnsRecord > {
92+ id : & ' a str ,
93+ ) -> Option < UpdateDnsRecord < ' a > > {
9194 let current_ip = self . content . get_ip ( ) ?;
9295
9396 if ip == current_ip {
@@ -111,7 +114,7 @@ impl Requests for DnsRecord {
111114
112115 log:: info!( "request: {} ({} → {})\n " , self . name, current_ip, ip) ;
113116 Some ( UpdateDnsRecord {
114- zone_identifier : & self . zone_id ,
117+ zone_identifier : id ,
115118 identifier : & self . id ,
116119 params : UpdateDnsRecordParams {
117120 name : & self . name ,
@@ -142,14 +145,17 @@ impl Requests for DnsRecord {
142145 }
143146 }
144147
145- fn delete_request ( & self ) -> DeleteDnsRecord {
148+ fn delete_request < ' a > (
149+ & ' a self ,
150+ id : & ' a str ,
151+ ) -> DeleteDnsRecord < ' a > {
146152 log:: info!(
147153 "deleting {} record: {}\n " ,
148154 self . content. get_type( ) ,
149155 self . name
150156 ) ;
151157 DeleteDnsRecord {
152- zone_identifier : & self . zone_id ,
158+ zone_identifier : id ,
153159 identifier : & self . id ,
154160 }
155161 }
0 commit comments