vapi_client/models/
cloudflare_credential.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CloudflareCredential {
17 #[serde(rename = "provider")]
19 pub provider: Provider,
20 #[serde(rename = "accountId", skip_serializing_if = "Option::is_none")]
22 pub account_id: Option<String>,
23 #[serde(rename = "apiKey", skip_serializing_if = "Option::is_none")]
25 pub api_key: Option<String>,
26 #[serde(rename = "accountEmail", skip_serializing_if = "Option::is_none")]
28 pub account_email: Option<String>,
29 #[serde(rename = "id")]
31 pub id: String,
32 #[serde(rename = "orgId")]
34 pub org_id: String,
35 #[serde(rename = "createdAt")]
37 pub created_at: String,
38 #[serde(rename = "updatedAt")]
40 pub updated_at: String,
41 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
43 pub name: Option<String>,
44 #[serde(rename = "bucketPlan", skip_serializing_if = "Option::is_none")]
46 pub bucket_plan: Option<models::CloudflareR2BucketPlan>,
47}
48
49impl CloudflareCredential {
50 pub fn new(
51 provider: Provider,
52 id: String,
53 org_id: String,
54 created_at: String,
55 updated_at: String,
56 ) -> CloudflareCredential {
57 CloudflareCredential {
58 provider,
59 account_id: None,
60 api_key: None,
61 account_email: None,
62 id,
63 org_id,
64 created_at,
65 updated_at,
66 name: None,
67 bucket_plan: None,
68 }
69 }
70}
71#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
73pub enum Provider {
74 #[serde(rename = "cloudflare")]
75 Cloudflare,
76}
77
78impl Default for Provider {
79 fn default() -> Provider {
80 Self::Cloudflare
81 }
82}