1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CreateDbTarget {
17 #[serde(rename = "azure-client-id", skip_serializing_if = "Option::is_none")]
19 pub azure_client_id: Option<String>,
20 #[serde(rename = "azure-client-secret", skip_serializing_if = "Option::is_none")]
22 pub azure_client_secret: Option<String>,
23 #[serde(rename = "azure-tenant-id", skip_serializing_if = "Option::is_none")]
25 pub azure_tenant_id: Option<String>,
26 #[serde(rename = "cloud-service-provider", skip_serializing_if = "Option::is_none")]
28 pub cloud_service_provider: Option<String>,
29 #[serde(rename = "cluster-mode", skip_serializing_if = "Option::is_none")]
31 pub cluster_mode: Option<bool>,
32 #[serde(rename = "comment", skip_serializing_if = "Option::is_none")]
34 pub comment: Option<String>,
35 #[serde(rename = "connection-type")]
37 pub connection_type: String,
38 #[serde(rename = "db-name", skip_serializing_if = "Option::is_none")]
39 pub db_name: Option<String>,
40 #[serde(rename = "db-server-certificates", skip_serializing_if = "Option::is_none")]
42 pub db_server_certificates: Option<String>,
43 #[serde(rename = "db-server-name", skip_serializing_if = "Option::is_none")]
45 pub db_server_name: Option<String>,
46 #[serde(rename = "db-type")]
47 pub db_type: String,
48 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
50 pub description: Option<String>,
51 #[serde(rename = "host", skip_serializing_if = "Option::is_none")]
52 pub host: Option<String>,
53 #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
55 pub json: Option<bool>,
56 #[serde(rename = "key", skip_serializing_if = "Option::is_none")]
58 pub key: Option<String>,
59 #[serde(rename = "max-versions", skip_serializing_if = "Option::is_none")]
61 pub max_versions: Option<String>,
62 #[serde(rename = "mongodb-atlas", skip_serializing_if = "Option::is_none")]
63 pub mongodb_atlas: Option<bool>,
64 #[serde(rename = "mongodb-atlas-api-private-key", skip_serializing_if = "Option::is_none")]
66 pub mongodb_atlas_api_private_key: Option<String>,
67 #[serde(rename = "mongodb-atlas-api-public-key", skip_serializing_if = "Option::is_none")]
69 pub mongodb_atlas_api_public_key: Option<String>,
70 #[serde(rename = "mongodb-atlas-project-id", skip_serializing_if = "Option::is_none")]
72 pub mongodb_atlas_project_id: Option<String>,
73 #[serde(rename = "mongodb-default-auth-db", skip_serializing_if = "Option::is_none")]
75 pub mongodb_default_auth_db: Option<String>,
76 #[serde(rename = "mongodb-uri-options", skip_serializing_if = "Option::is_none")]
78 pub mongodb_uri_options: Option<String>,
79 #[serde(rename = "name")]
81 pub name: String,
82 #[serde(rename = "oracle-service-name", skip_serializing_if = "Option::is_none")]
84 pub oracle_service_name: Option<String>,
85 #[serde(rename = "oracle-wallet-login-type", skip_serializing_if = "Option::is_none")]
87 pub oracle_wallet_login_type: Option<String>,
88 #[serde(rename = "oracle-wallet-p12-file-data", skip_serializing_if = "Option::is_none")]
90 pub oracle_wallet_p12_file_data: Option<String>,
91 #[serde(rename = "oracle-wallet-sso-file-data", skip_serializing_if = "Option::is_none")]
93 pub oracle_wallet_sso_file_data: Option<String>,
94 #[serde(rename = "parent-target-name", skip_serializing_if = "Option::is_none")]
96 pub parent_target_name: Option<String>,
97 #[serde(rename = "port", skip_serializing_if = "Option::is_none")]
98 pub port: Option<String>,
99 #[serde(rename = "pwd", skip_serializing_if = "Option::is_none")]
100 pub pwd: Option<String>,
101 #[serde(rename = "snowflake-account", skip_serializing_if = "Option::is_none")]
102 pub snowflake_account: Option<String>,
103 #[serde(rename = "snowflake-api-private-key", skip_serializing_if = "Option::is_none")]
105 pub snowflake_api_private_key: Option<String>,
106 #[serde(rename = "snowflake-api-private-key-password", skip_serializing_if = "Option::is_none")]
108 pub snowflake_api_private_key_password: Option<String>,
109 #[serde(rename = "ssl", skip_serializing_if = "Option::is_none")]
111 pub ssl: Option<bool>,
112 #[serde(rename = "ssl-certificate", skip_serializing_if = "Option::is_none")]
114 pub ssl_certificate: Option<String>,
115 #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
117 pub token: Option<String>,
118 #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
120 pub uid_token: Option<String>,
121 #[serde(rename = "user-name", skip_serializing_if = "Option::is_none")]
122 pub user_name: Option<String>,
123}
124
125impl CreateDbTarget {
126 pub fn new(connection_type: String, db_type: String, name: String) -> CreateDbTarget {
128 CreateDbTarget {
129 azure_client_id: None,
130 azure_client_secret: None,
131 azure_tenant_id: None,
132 cloud_service_provider: None,
133 cluster_mode: None,
134 comment: None,
135 connection_type,
136 db_name: None,
137 db_server_certificates: None,
138 db_server_name: None,
139 db_type,
140 description: None,
141 host: None,
142 json: None,
143 key: None,
144 max_versions: None,
145 mongodb_atlas: None,
146 mongodb_atlas_api_private_key: None,
147 mongodb_atlas_api_public_key: None,
148 mongodb_atlas_project_id: None,
149 mongodb_default_auth_db: None,
150 mongodb_uri_options: None,
151 name,
152 oracle_service_name: None,
153 oracle_wallet_login_type: None,
154 oracle_wallet_p12_file_data: None,
155 oracle_wallet_sso_file_data: None,
156 parent_target_name: None,
157 port: None,
158 pwd: None,
159 snowflake_account: None,
160 snowflake_api_private_key: None,
161 snowflake_api_private_key_password: None,
162 ssl: None,
163 ssl_certificate: None,
164 token: None,
165 uid_token: None,
166 user_name: None,
167 }
168 }
169}
170