1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct SecureRemoteAccess {
16 #[serde(rename = "account_id", skip_serializing_if = "Option::is_none")]
17 pub account_id: Option<String>,
18 #[serde(rename = "allow_port_forwarding", skip_serializing_if = "Option::is_none")]
19 pub allow_port_forwarding: Option<bool>,
20 #[serde(rename = "allow_providing_external_username", skip_serializing_if = "Option::is_none")]
21 pub allow_providing_external_username: Option<bool>,
22 #[serde(rename = "bastion_api", skip_serializing_if = "Option::is_none")]
23 pub bastion_api: Option<String>,
24 #[serde(rename = "bastion_issuer", skip_serializing_if = "Option::is_none")]
25 pub bastion_issuer: Option<String>,
26 #[serde(rename = "bastion_issuer_id", skip_serializing_if = "Option::is_none")]
27 pub bastion_issuer_id: Option<i64>,
28 #[serde(rename = "bastion_ssh", skip_serializing_if = "Option::is_none")]
29 pub bastion_ssh: Option<String>,
30 #[serde(rename = "block_concurrent_connections", skip_serializing_if = "Option::is_none")]
31 pub block_concurrent_connections: Option<bool>,
32 #[serde(rename = "block_concurrent_connections_level", skip_serializing_if = "Option::is_none")]
33 pub block_concurrent_connections_level: Option<String>,
34 #[serde(rename = "category", skip_serializing_if = "Option::is_none")]
35 pub category: Option<String>,
36 #[serde(rename = "connection_delay_seconds", skip_serializing_if = "Option::is_none")]
37 pub connection_delay_seconds: Option<i64>,
38 #[serde(rename = "dashboard_url", skip_serializing_if = "Option::is_none")]
39 pub dashboard_url: Option<String>,
40 #[serde(rename = "db_name", skip_serializing_if = "Option::is_none")]
41 pub db_name: Option<String>,
42 #[serde(rename = "domain", skip_serializing_if = "Option::is_none")]
43 pub domain: Option<String>,
44 #[serde(rename = "enable", skip_serializing_if = "Option::is_none")]
45 pub enable: Option<bool>,
46 #[serde(rename = "endpoint", skip_serializing_if = "Option::is_none")]
47 pub endpoint: Option<String>,
48 #[serde(rename = "enforce_hosts_restriction", skip_serializing_if = "Option::is_none")]
49 pub enforce_hosts_restriction: Option<bool>,
50 #[serde(rename = "gw_cluster_id", skip_serializing_if = "Option::is_none")]
51 pub gw_cluster_id: Option<i64>,
52 #[serde(rename = "host", skip_serializing_if = "Option::is_none")]
53 pub host: Option<Vec<String>>,
54 #[serde(rename = "host_provider_type", skip_serializing_if = "Option::is_none")]
55 pub host_provider_type: Option<String>,
56 #[serde(rename = "is_cli", skip_serializing_if = "Option::is_none")]
57 pub is_cli: Option<bool>,
58 #[serde(rename = "is_desktop_app", skip_serializing_if = "Option::is_none")]
59 pub is_desktop_app: Option<bool>,
60 #[serde(rename = "is_web", skip_serializing_if = "Option::is_none")]
61 pub is_web: Option<bool>,
62 #[serde(rename = "isolated", skip_serializing_if = "Option::is_none")]
63 pub isolated: Option<bool>,
64 #[serde(rename = "native", skip_serializing_if = "Option::is_none")]
65 pub native: Option<bool>,
66 #[serde(rename = "rd_gateway_server", skip_serializing_if = "Option::is_none")]
67 pub rd_gateway_server: Option<String>,
68 #[serde(rename = "rdp_user", skip_serializing_if = "Option::is_none")]
69 pub rdp_user: Option<String>,
70 #[serde(rename = "region", skip_serializing_if = "Option::is_none")]
71 pub region: Option<String>,
72 #[serde(rename = "rotate_after_disconnect", skip_serializing_if = "Option::is_none")]
73 pub rotate_after_disconnect: Option<bool>,
74 #[serde(rename = "schema", skip_serializing_if = "Option::is_none")]
75 pub schema: Option<String>,
76 #[serde(rename = "ssh_password", skip_serializing_if = "Option::is_none")]
77 pub ssh_password: Option<bool>,
78 #[serde(rename = "ssh_private_key", skip_serializing_if = "Option::is_none")]
79 pub ssh_private_key: Option<bool>,
80 #[serde(rename = "ssh_user", skip_serializing_if = "Option::is_none")]
81 pub ssh_user: Option<String>,
82 #[serde(rename = "status_info", skip_serializing_if = "Option::is_none")]
83 pub status_info: Option<Box<models::ItemSraStatus>>,
84 #[serde(rename = "target_hosts", skip_serializing_if = "Option::is_none")]
85 pub target_hosts: Option<Vec<models::TargetNameWithHosts>>,
86 #[serde(rename = "targets", skip_serializing_if = "Option::is_none")]
87 pub targets: Option<Vec<String>>,
88 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
89 pub url: Option<String>,
90 #[serde(rename = "use_internal_bastion", skip_serializing_if = "Option::is_none")]
91 pub use_internal_bastion: Option<bool>,
92 #[serde(rename = "web_proxy", skip_serializing_if = "Option::is_none")]
93 pub web_proxy: Option<bool>,
94}
95
96impl SecureRemoteAccess {
97 pub fn new() -> SecureRemoteAccess {
98 SecureRemoteAccess {
99 account_id: None,
100 allow_port_forwarding: None,
101 allow_providing_external_username: None,
102 bastion_api: None,
103 bastion_issuer: None,
104 bastion_issuer_id: None,
105 bastion_ssh: None,
106 block_concurrent_connections: None,
107 block_concurrent_connections_level: None,
108 category: None,
109 connection_delay_seconds: None,
110 dashboard_url: None,
111 db_name: None,
112 domain: None,
113 enable: None,
114 endpoint: None,
115 enforce_hosts_restriction: None,
116 gw_cluster_id: None,
117 host: None,
118 host_provider_type: None,
119 is_cli: None,
120 is_desktop_app: None,
121 is_web: None,
122 isolated: None,
123 native: None,
124 rd_gateway_server: None,
125 rdp_user: None,
126 region: None,
127 rotate_after_disconnect: None,
128 schema: None,
129 ssh_password: None,
130 ssh_private_key: None,
131 ssh_user: None,
132 status_info: None,
133 target_hosts: None,
134 targets: None,
135 url: None,
136 use_internal_bastion: None,
137 web_proxy: None,
138 }
139 }
140}
141