vapi_client/models/
create_s3_credential_dto.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CreateS3CredentialDto {
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 = "name", skip_serializing_if = "Option::is_none")]
39 pub name: Option<String>,
40}
41
42impl CreateS3CredentialDto {
43 pub fn new(
44 provider: ProviderTrue,
45 aws_access_key_id: String,
46 aws_secret_access_key: String,
47 region: String,
48 s3_bucket_name: String,
49 s3_path_prefix: String,
50 ) -> CreateS3CredentialDto {
51 CreateS3CredentialDto {
52 provider,
53 aws_access_key_id,
54 aws_secret_access_key,
55 region,
56 s3_bucket_name,
57 s3_path_prefix,
58 fallback_index: None,
59 name: None,
60 }
61 }
62}
63#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
65pub enum ProviderTrue {
66 #[serde(rename = "s3")]
67 S3,
68}
69
70impl Default for ProviderTrue {
71 fn default() -> ProviderTrue {
72 Self::S3
73 }
74}