vapi_client/models/
create_s3_credential_dto.rs

1/*
2 * Vapi API
3 *
4 * Voice AI for developers.
5 *
6 * The version of the OpenAPI document: 1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CreateS3CredentialDto {
16    /// Credential provider. Only allowed value is s3
17    #[serde(rename = "provider")]
18    pub provider: ProviderTrue,
19    /// AWS access key ID.
20    #[serde(rename = "awsAccessKeyId")]
21    pub aws_access_key_id: String,
22    /// AWS access key secret. This is not returned in the API.
23    #[serde(rename = "awsSecretAccessKey")]
24    pub aws_secret_access_key: String,
25    /// AWS region in which the S3 bucket is located.
26    #[serde(rename = "region")]
27    pub region: String,
28    /// AWS S3 bucket name.
29    #[serde(rename = "s3BucketName")]
30    pub s3_bucket_name: String,
31    /// The path prefix for the uploaded recording. Ex. \"recordings/\"
32    #[serde(rename = "s3PathPrefix")]
33    pub s3_path_prefix: String,
34    /// This is the order in which this storage provider is tried during upload retries. Lower numbers are tried first in increasing order.
35    #[serde(rename = "fallbackIndex", skip_serializing_if = "Option::is_none")]
36    pub fallback_index: Option<f64>,
37    /// This is the name of credential. This is just for your reference.
38    #[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/// Credential provider. Only allowed value is s3
64#[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}