@ -8,6 +8,8 @@ use crate::{
NetworkListResponse ,
NetworkListResponse ,
ZoneListResponse ,
ZoneListResponse ,
RecordListResponse ,
RecordListResponse ,
DynListResponse ,
SshKeyResponse ,
} ,
} ,
types ::{
types ::{
LNError ,
LNError ,
@ -26,6 +28,16 @@ use serde::{
use hmac ::Hmac ;
use hmac ::Hmac ;
use sha2 ::Sha512 ;
use sha2 ::Sha512 ;
#[ derive(Serialize, Deserialize, Debug, clap::Subcommand) ]
pub enum SshKeySubArgs {
List ( SshKeyRequest ) ,
}
#[ derive(Serialize, Deserialize, Debug, clap::Subcommand) ]
pub enum DynSubArgs {
List ( DynListRequest ) ,
}
#[ derive(Serialize, Deserialize, Debug, clap::Subcommand) ]
#[ derive(Serialize, Deserialize, Debug, clap::Subcommand) ]
pub enum ZoneSubArgs {
pub enum ZoneSubArgs {
List ( ZoneListRequest ) ,
List ( ZoneListRequest ) ,
@ -103,10 +115,20 @@ pub enum Args {
#[ clap(subcommand) ]
#[ clap(subcommand) ]
/// See `lunanode record help`
/// See `lunanode record help`
Record ( RecordSubArgs ) ,
Record ( RecordSubArgs ) ,
#[ clap(subcommand) ]
/// See `lunanode dyn help`
Dyn ( DynSubArgs ) ,
#[ clap(subcommand) ]
/// See `lunanode sshkey help`
SshKey ( SshKeySubArgs ) ,
}
}
impl Args {
impl Args {
pub fn make_request ( & self ) -> Result < ( ) , LNError > {
pub fn make_request ( & self ) -> Result < ( ) , LNError > {
match self {
match self {
Self ::SshKey ( SshKeySubArgs ::List ( ssk_list ) ) = > {
let list = ssk_list . make_request ( ) ? ;
println! ( "{:#?}" , list ) ;
} ,
Self ::Record ( RecordSubArgs ::List ( rec_list ) ) = > {
Self ::Record ( RecordSubArgs ::List ( rec_list ) ) = > {
let list = rec_list . make_request ( ) ? ;
let list = rec_list . make_request ( ) ? ;
println! ( "{:#?}" , list ) ;
println! ( "{:#?}" , list ) ;
@ -139,6 +161,10 @@ impl Args {
let list = zone_list . make_request ( ) ? ;
let list = zone_list . make_request ( ) ? ;
println! ( "{:#?}" , list ) ;
println! ( "{:#?}" , list ) ;
} ,
} ,
Self ::Dyn ( DynSubArgs ::List ( dyn_list ) ) = > {
let list = dyn_list . make_request ( ) ? ;
println! ( "{:#?}" , list ) ;
} ,
}
}
Ok ( ( ) )
Ok ( ( ) )
}
}
@ -178,8 +204,9 @@ pub struct RecordListRequest {
zone_id : i32
zone_id : i32
}
}
/*
/// DynListRequest is used to get information about the dynamic DNS records set for all lunanode zones.
/// DynListRequest is used to get information about the dynamic DNS records set for all lunanode zones.
#[ lunanode_request(response= " DynListResponse " , endpoint= " dns/dyn-list/ " ) ]
#[ lunanode_request(response= " DynListResponse " , endpoint= " dns/dyn-list/ " ) ]
pub struct DynListRequest { }
pub struct DynListRequest { }
* /
#[ lunanode_request(response= " SshKeyResponse " , endpoint= " sshkey/list/ " ) ]
pub struct SshKeyRequest { }