From 3eab8e3c3eb41515688b428164be842df703f1d0 Mon Sep 17 00:00:00 2001 From: Tait Hoyem Date: Sun, 4 Dec 2022 14:22:59 -0700 Subject: [PATCH] Fix compile errors --- src/requests.rs | 11 ++++++++++- src/responses.rs | 5 ++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/requests.rs b/src/requests.rs index 1a36f76..c165030 100644 --- a/src/requests.rs +++ b/src/requests.rs @@ -485,19 +485,28 @@ pub struct ZoneRemoveRequest { zone_id: i32, } -#[derive(Serialize, Deserialize, Debug, Clone, Eq, Hash, PartialEq)] +#[derive(Serialize, Deserialize, Debug, Clone, Eq, Hash, PartialEq, clap::ValueEnum)] #[serde(rename_all="lowercase")] +/// A record policy type related to how to restrict usage of the record. For example: Latlong (for location-based) and Region (for country based). pub enum RecordPolicyType { + /// No restriction. r#None, + /// Latitude & Longitude restirction. LatLong, + /// Political region restriction. Region, } #[lunanode_request(response="RecordAddResponse", endpoint="dns2/record-add/")] +/// Add a new DNS record to your zone. pub struct RecordAddRequest { + /// Reference the zone (see: [`requests::ZoneListResponse`]) zone_id: i32, + /// The name field for the record. @ sign is used for a root zone. name: String, + /// The data field for the record. This is usually an IP address, but TXT records may contain any text. data: String, + /// Time-To-Live: the defines how often this record should be re-cached. ttl: i32, r#type: RecordType, /// The priority for certain record types, like MX and SRV. diff --git a/src/responses.rs b/src/responses.rs index 37bf215..e9eef49 100644 --- a/src/responses.rs +++ b/src/responses.rs @@ -8,6 +8,7 @@ use crate::types::{ LunaNodeResponse, }; +use clap; use lunanode_macros::lunanode_response; use serde::{Serialize, Deserialize}; use serde_with::{ @@ -471,7 +472,7 @@ pub struct ZoneListResponse { zones: std::collections::HashMap, } -#[derive(Serialize, Deserialize, Debug, Clone, Eq, PartialEq, Hash)] +#[derive(Serialize, Deserialize, Debug, Clone, Eq, PartialEq, Hash, clap::ValueEnum)] #[serde(rename="UPPERCASE")] /// Possible record types for [`Record`] pub enum RecordType { @@ -860,4 +861,6 @@ pub struct ZoneAddResponse {} pub struct ZoneRemoveResponse {} #[lunanode_response] +/// The result of adding a new record. +/// See also: [`crate::requests::RecordAddRequest`] pub struct RecordAddResponse {}