Skip to main content

bucketwarden_server/state/
models.rs

1use super::*;
2
3#[derive(Clone, Debug, Eq, PartialEq)]
4pub struct SelectObjectContentResult {
5    pub version_id: String,
6    pub body: Vec<u8>,
7    pub content_type: &'static str,
8    pub output_format: &'static str,
9    pub continuation_event: ContinuationEvent,
10    pub end_event: EndEvent,
11}
12
13#[derive(Clone, Debug, Eq, PartialEq)]
14pub struct MultiObjectDeleteRequest {
15    pub bucket: String,
16    pub quiet: bool,
17    pub objects: Vec<MultiObjectDeleteTarget>,
18}
19
20#[derive(Clone, Debug, Eq, PartialEq)]
21pub struct MultiObjectDeleteTarget {
22    pub key: String,
23    pub version_id: Option<String>,
24}
25
26#[derive(Clone, Debug, Eq, PartialEq)]
27pub struct MultiObjectDeleteResult {
28    pub deleted: Vec<MultiObjectDeleted>,
29    pub errors: Vec<MultiObjectDeleteError>,
30}
31
32#[derive(Clone, Debug, Eq, PartialEq)]
33pub struct MultiObjectDeleted {
34    pub key: String,
35    pub version_id: Option<String>,
36    pub delete_marker: bool,
37    pub delete_marker_version_id: Option<String>,
38}
39
40#[derive(Clone, Debug, Eq, PartialEq)]
41pub struct MultiObjectDeleteError {
42    pub key: String,
43    pub version_id: Option<String>,
44    pub code: String,
45    pub message: String,
46}
47
48#[derive(Clone, Debug, Eq, PartialEq)]
49pub struct BulkObjectActionError {
50    pub bucket: String,
51    pub key: String,
52    pub version_id: Option<String>,
53    pub code: String,
54    pub message: String,
55}
56
57#[derive(Clone, Debug, Eq, PartialEq)]
58pub struct BulkObjectTaggingRequest {
59    pub entries: Vec<ObjectTaggingRequest>,
60}
61
62#[derive(Clone, Debug, Eq, PartialEq)]
63pub struct BulkObjectTaggingResult {
64    pub updated: Vec<ObjectTaggingResult>,
65    pub errors: Vec<BulkObjectActionError>,
66}
67
68#[derive(Clone, Debug, Eq, PartialEq)]
69pub struct BulkObjectLegalHoldRequest {
70    pub entries: Vec<ObjectLegalHoldRequest>,
71}
72
73#[derive(Clone, Debug, Eq, PartialEq)]
74pub struct BulkObjectLegalHoldResult {
75    pub updated: Vec<ObjectLegalHoldResult>,
76    pub errors: Vec<BulkObjectActionError>,
77}
78
79#[derive(Clone, Debug, Eq, PartialEq)]
80pub struct BulkObjectRetentionRequest {
81    pub entries: Vec<ObjectRetentionRequest>,
82}
83
84#[derive(Clone, Debug, Eq, PartialEq)]
85pub struct BulkObjectRetentionResult {
86    pub updated: Vec<ObjectRetentionResult>,
87    pub errors: Vec<BulkObjectActionError>,
88}
89
90#[derive(Clone, Debug, Eq, PartialEq)]
91pub struct BulkObjectRestoreEntry {
92    pub bucket: String,
93    pub key: String,
94    pub version_id: String,
95    pub restore_header: String,
96}
97
98#[derive(Clone, Debug, Eq, PartialEq)]
99pub struct BulkObjectRestoreTarget {
100    pub bucket: String,
101    pub key: String,
102    pub version_id: Option<String>,
103}
104
105#[derive(Clone, Debug, Eq, PartialEq)]
106pub struct BulkObjectRestoreRequest {
107    pub entries: Vec<BulkObjectRestoreTarget>,
108}
109
110#[derive(Clone, Debug, Eq, PartialEq)]
111pub struct BulkObjectRestoreResult {
112    pub restored: Vec<BulkObjectRestoreEntry>,
113    pub errors: Vec<BulkObjectActionError>,
114}
115
116#[derive(Clone, Debug, Eq, PartialEq)]
117pub struct BulkObjectCopyError {
118    pub source_bucket: String,
119    pub source_key: String,
120    pub destination_bucket: String,
121    pub destination_key: String,
122    pub code: String,
123    pub message: String,
124}
125
126#[derive(Clone, Debug, Eq, PartialEq)]
127pub struct BulkObjectCopyRequest {
128    pub entries: Vec<CopyObjectRequest>,
129}
130
131#[derive(Clone, Debug, Eq, PartialEq)]
132pub struct BulkObjectCopyResult {
133    pub copied: Vec<CopyObjectResult>,
134    pub errors: Vec<BulkObjectCopyError>,
135}
136
137#[derive(Clone, Debug, Eq, PartialEq)]
138pub struct BulkObjectDeleteEntry {
139    pub bucket: String,
140    pub key: String,
141    pub version_id: Option<String>,
142    pub delete_marker: bool,
143    pub delete_marker_version_id: Option<String>,
144}
145
146#[derive(Clone, Debug, Eq, PartialEq)]
147pub struct BulkObjectDeleteTarget {
148    pub bucket: String,
149    pub key: String,
150    pub version_id: Option<String>,
151    pub bypass_governance: bool,
152}
153
154#[derive(Clone, Debug, Eq, PartialEq)]
155pub struct BulkObjectDeleteRequest {
156    pub entries: Vec<BulkObjectDeleteTarget>,
157}
158
159#[derive(Clone, Debug, Eq, PartialEq)]
160pub struct BulkObjectDeleteResult {
161    pub deleted: Vec<BulkObjectDeleteEntry>,
162    pub errors: Vec<BulkObjectActionError>,
163}