Add zone add/remove endpoints

master
Tait Hoyem 2 years ago
parent dcc0ad9e48
commit 4440a4262a

@ -8,6 +8,8 @@ use crate::{
FloatingIpListResponse,
NetworkListResponse,
ZoneListResponse,
ZoneAddResponse,
ZoneRemoveResponse,
RecordListResponse,
DynListResponse,
DynAddResponse,
@ -62,7 +64,9 @@ pub enum DynSubArgs {
#[derive(Serialize, Deserialize, Debug, clap::Subcommand)]
pub enum ZoneSubArgs {
Add(ZoneAddRequest),
List(ZoneListRequest),
Remove(ZoneRemoveRequest),
}
#[derive(Serialize, Deserialize, Debug, clap::Subcommand)]
@ -250,6 +254,8 @@ impl Args {
Self::Image(ImageSubArgs::List(image_list)) => print_req(image_list)?,
Self::Billing(BillingSubArgs::Credit(billing_credit)) => print_req(billing_credit)?,
Self::Zone(ZoneSubArgs::List(zone_list)) => print_req(zone_list)?,
Self::Zone(ZoneSubArgs::Add(zone_add_req)) => print_req(zone_add_req)?,
Self::Zone(ZoneSubArgs::Remove(zone_rem_req)) => print_req(zone_rem_req)?,
Self::Dyn(DynSubArgs::Add(dyn_add_req)) => print_req(dyn_add_req)?,
Self::Dyn(DynSubArgs::List(dyn_list)) => print_req(dyn_list)?,
Self::Dyn(DynSubArgs::Remove(dyn_del)) => print_req(dyn_del)?,
@ -385,3 +391,16 @@ pub struct DynAddRequest {
/// An ip address to associate with the FQDN. This type should be stricter: TODO.
ip: String,
}
#[lunanode_request(response="ZoneAddResponse", endpoint="dns2/zone-add/")]
pub struct ZoneAddRequest {
/// A new zone, a FQDN.
name: String,
/// The default time-to-live (TTL) for the records in this zone.
ttl: i32,
}
#[lunanode_request(response="ZoneRemoveResponse", endpoint="dns2/zone-remove/")]
pub struct ZoneRemoveRequest {
zone_id: i32,
}

@ -646,3 +646,9 @@ pub struct DynRemoveResponse {}
#[lunanode_response]
pub struct DynAddResponse {}
#[lunanode_response]
pub struct ZoneAddResponse {}
#[lunanode_response]
pub struct ZoneRemoveResponse {}

Loading…
Cancel
Save