bucketwarden_server/state/
models.rs1use 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}