winterbaume_workspacesweb/
types.rs1use std::collections::HashMap;
2
3use chrono::{DateTime, Utc};
4
5#[derive(Debug, Clone)]
7pub struct Portal {
8 pub portal_arn: String,
9 pub portal_endpoint: String,
10 pub display_name: String,
11 pub portal_status: String,
12 pub browser_type: String,
13 pub renderer_type: String,
14 pub creation_date: DateTime<Utc>,
15 pub browser_settings_arn: Option<String>,
16 pub network_settings_arn: Option<String>,
17 pub user_access_logging_settings_arn: Option<String>,
18 pub user_settings_arn: Option<String>,
19 pub trust_store_arn: Option<String>,
20 pub ip_access_settings_arn: Option<String>,
21 pub data_protection_settings_arn: Option<String>,
22 pub session_logger_arn: Option<String>,
23 pub tags: HashMap<String, String>,
24}
25
26#[derive(Debug, Clone)]
28pub struct BrowserSettings {
29 pub browser_settings_arn: String,
30 pub browser_policy: Option<String>,
31 pub associated_portal_arns: Vec<String>,
32 pub tags: HashMap<String, String>,
33}
34
35#[derive(Debug, Clone)]
37pub struct NetworkSettings {
38 pub network_settings_arn: String,
39 pub vpc_id: String,
40 pub subnet_ids: Vec<String>,
41 pub security_group_ids: Vec<String>,
42 pub associated_portal_arns: Vec<String>,
43 pub tags: HashMap<String, String>,
44}
45
46#[derive(Debug, Clone)]
48pub struct UserAccessLoggingSettings {
49 pub user_access_logging_settings_arn: String,
50 pub kinesis_stream_arn: String,
51 pub associated_portal_arns: Vec<String>,
52 pub tags: HashMap<String, String>,
53}
54
55#[derive(Debug, Clone)]
57pub struct UserSettings {
58 pub user_settings_arn: String,
59 pub copy_allowed: String,
60 pub paste_allowed: String,
61 pub download_allowed: String,
62 pub upload_allowed: String,
63 pub print_allowed: String,
64 pub disconnect_timeout_in_minutes: Option<i32>,
65 pub idle_disconnect_timeout_in_minutes: Option<i32>,
66 pub associated_portal_arns: Vec<String>,
67 pub tags: HashMap<String, String>,
68}
69
70#[derive(Debug, Clone)]
72pub struct IdentityProvider {
73 pub identity_provider_arn: String,
74 pub portal_arn: String,
75 pub identity_provider_name: String,
76 pub identity_provider_type: String,
77 pub identity_provider_details: HashMap<String, String>,
78}
79
80#[derive(Debug, Clone)]
82pub struct IpAccessSettings {
83 pub ip_access_settings_arn: String,
84 pub display_name: Option<String>,
85 pub description: Option<String>,
86 pub ip_rules: Vec<IpRule>,
87 pub associated_portal_arns: Vec<String>,
88 pub creation_date: DateTime<Utc>,
89 pub tags: HashMap<String, String>,
90}
91
92#[derive(Debug, Clone)]
93pub struct IpRule {
94 pub ip_range: String,
95 pub description: Option<String>,
96}
97
98#[derive(Debug, Clone)]
100pub struct TrustStore {
101 pub trust_store_arn: String,
102 pub certificate_list: Vec<TrustStoreCertificate>,
103 pub associated_portal_arns: Vec<String>,
104 pub tags: HashMap<String, String>,
105}
106
107#[derive(Debug, Clone)]
108pub struct TrustStoreCertificate {
109 pub thumbprint: String,
110 pub body: String,
111 pub issuer: Option<String>,
112 pub subject: Option<String>,
113}
114
115#[derive(Debug, Clone)]
117pub struct DataProtectionSettings {
118 pub data_protection_settings_arn: String,
119 pub display_name: Option<String>,
120 pub description: Option<String>,
121 pub associated_portal_arns: Vec<String>,
122 pub creation_date: DateTime<Utc>,
123 pub tags: HashMap<String, String>,
124}
125
126#[derive(Debug, Clone)]
128pub struct SessionLogger {
129 pub session_logger_arn: String,
130 pub display_name: Option<String>,
131 pub associated_portal_arns: Vec<String>,
132 pub creation_date: DateTime<Utc>,
133 pub tags: HashMap<String, String>,
134}
135
136#[derive(Debug, Clone)]
138pub struct Session {
139 pub session_id: String,
140 pub portal_id: String,
141 pub username: Option<String>,
142 pub status: String,
143 pub start_time: DateTime<Utc>,
144 pub end_time: Option<DateTime<Utc>>,
145 pub client_ip_addresses: Vec<String>,
146}