vapi_client/models/
s3_credential.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct S3Credential {
16 #[serde(rename = "provider")]
18 pub provider: ProviderTrue,
19 #[serde(rename = "awsAccessKeyId")]
21 pub aws_access_key_id: String,
22 #[serde(rename = "awsSecretAccessKey")]
24 pub aws_secret_access_key: String,
25 #[serde(rename = "region")]
27 pub region: String,
28 #[serde(rename = "s3BucketName")]
30 pub s3_bucket_name: String,
31 #[serde(rename = "s3PathPrefix")]
33 pub s3_path_prefix: String,
34 #[serde(rename = "fallbackIndex", skip_serializing_if = "Option::is_none")]
36 pub fallback_index: Option<f64>,
37 #[serde(rename = "id")]
39 pub id: String,
40 #[serde(rename = "orgId")]
42 pub org_id: String,
43 #[serde(rename = "createdAt")]
45 pub created_at: String,
46 #[serde(rename = "updatedAt")]
48 pub updated_at: String,
49 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
51 pub name: Option<String>,
52}
53
54impl S3Credential {
55 pub fn new(
56 provider: ProviderTrue,
57 aws_access_key_id: String,
58 aws_secret_access_key: String,
59 region: String,
60 s3_bucket_name: String,
61 s3_path_prefix: String,
62 id: String,
63 org_id: String,
64 created_at: String,
65 updated_at: String,
66 ) -> S3Credential {
67 S3Credential {
68 provider,
69 aws_access_key_id,
70 aws_secret_access_key,
71 region,
72 s3_bucket_name,
73 s3_path_prefix,
74 fallback_index: None,
75 id,
76 org_id,
77 created_at,
78 updated_at,
79 name: None,
80 }
81 }
82}
83#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
85pub enum ProviderTrue {
86 #[serde(rename = "s3")]
87 S3,
88}
89
90impl Default for ProviderTrue {
91 fn default() -> ProviderTrue {
92 Self::S3
93 }
94}