vapi_client/models/
gcp_key.rs1use serde::{Deserialize, Serialize};
12use utoipa::ToSchema;
13
14
15use crate::models;
16
17#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, ToSchema)]
18pub struct GcpKey {
19    #[serde(rename = "type")]
21    pub r#type: String,
22    #[serde(rename = "projectId")]
24    pub project_id: String,
25    #[serde(rename = "privateKeyId")]
27    pub private_key_id: String,
28    #[serde(rename = "privateKey")]
30    pub private_key: String,
31    #[serde(rename = "clientEmail")]
33    pub client_email: String,
34    #[serde(rename = "clientId")]
36    pub client_id: String,
37    #[serde(rename = "authUri")]
39    pub auth_uri: String,
40    #[serde(rename = "tokenUri")]
42    pub token_uri: String,
43    #[serde(rename = "authProviderX509CertUrl")]
45    pub auth_provider_x509_cert_url: String,
46    #[serde(rename = "clientX509CertUrl")]
48    pub client_x509_cert_url: String,
49    #[serde(rename = "universeDomain")]
51    pub universe_domain: String,
52}
53
54impl GcpKey {
55    pub fn new(
56        r#type: String,
57        project_id: String,
58        private_key_id: String,
59        private_key: String,
60        client_email: String,
61        client_id: String,
62        auth_uri: String,
63        token_uri: String,
64        auth_provider_x509_cert_url: String,
65        client_x509_cert_url: String,
66        universe_domain: String,
67    ) -> GcpKey {
68        GcpKey {
69            r#type,
70            project_id,
71            private_key_id,
72            private_key,
73            client_email,
74            client_id,
75            auth_uri,
76            token_uri,
77            auth_provider_x509_cert_url,
78            client_x509_cert_url,
79            universe_domain,
80        }
81    }
82}