vapi_client/models/
gcp_key.rs1use serde::{Deserialize, Serialize};
12use utoipa::OpenApi;
13
14
15use crate::models;
16
17#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, OpenApi)]
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}