Skip to main content

rustack_kms_model/
output.rs

1//! Auto-generated from AWS KMS Smithy model. DO NOT EDIT.
2
3use serde::{Deserialize, Serialize};
4
5use crate::types::{
6    AliasListEntry, CustomerMasterKeySpec, DataKeyPairSpec, EncryptionAlgorithmSpec,
7    GrantListEntry, KeyAgreementAlgorithmSpec, KeyListEntry, KeyMetadata, KeySpec, KeyState,
8    KeyUsageType, MacAlgorithmSpec, SigningAlgorithmSpec, Tag,
9};
10
11/// KMS CancelKeyDeletionResponse.
12#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13#[serde(rename_all = "PascalCase")]
14pub struct CancelKeyDeletionResponse {
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub key_id: Option<String>,
17}
18
19/// KMS CreateGrantResponse.
20#[derive(Debug, Clone, Default, Serialize, Deserialize)]
21#[serde(rename_all = "PascalCase")]
22pub struct CreateGrantResponse {
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub grant_id: Option<String>,
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub grant_token: Option<String>,
27}
28
29/// KMS CreateKeyResponse.
30#[derive(Debug, Clone, Default, Serialize, Deserialize)]
31#[serde(rename_all = "PascalCase")]
32pub struct CreateKeyResponse {
33    #[serde(skip_serializing_if = "Option::is_none")]
34    pub key_metadata: Option<KeyMetadata>,
35}
36
37/// KMS DecryptResponse.
38#[derive(Debug, Clone, Default, Serialize, Deserialize)]
39#[serde(rename_all = "PascalCase")]
40pub struct DecryptResponse {
41    #[serde(
42        skip_serializing_if = "Option::is_none",
43        serialize_with = "crate::blob::option::serialize",
44        deserialize_with = "crate::blob::option::deserialize"
45    )]
46    pub ciphertext_for_recipient: Option<bytes::Bytes>,
47    #[serde(skip_serializing_if = "Option::is_none")]
48    pub encryption_algorithm: Option<EncryptionAlgorithmSpec>,
49    #[serde(skip_serializing_if = "Option::is_none")]
50    pub key_id: Option<String>,
51    #[serde(skip_serializing_if = "Option::is_none")]
52    pub key_material_id: Option<String>,
53    #[serde(
54        skip_serializing_if = "Option::is_none",
55        serialize_with = "crate::blob::option::serialize",
56        deserialize_with = "crate::blob::option::deserialize"
57    )]
58    pub plaintext: Option<bytes::Bytes>,
59}
60
61/// KMS DescribeKeyResponse.
62#[derive(Debug, Clone, Default, Serialize, Deserialize)]
63#[serde(rename_all = "PascalCase")]
64pub struct DescribeKeyResponse {
65    #[serde(skip_serializing_if = "Option::is_none")]
66    pub key_metadata: Option<KeyMetadata>,
67}
68
69/// KMS EncryptResponse.
70#[derive(Debug, Clone, Default, Serialize, Deserialize)]
71#[serde(rename_all = "PascalCase")]
72pub struct EncryptResponse {
73    #[serde(
74        skip_serializing_if = "Option::is_none",
75        serialize_with = "crate::blob::option::serialize",
76        deserialize_with = "crate::blob::option::deserialize"
77    )]
78    pub ciphertext_blob: Option<bytes::Bytes>,
79    #[serde(skip_serializing_if = "Option::is_none")]
80    pub encryption_algorithm: Option<EncryptionAlgorithmSpec>,
81    #[serde(skip_serializing_if = "Option::is_none")]
82    pub key_id: Option<String>,
83}
84
85/// KMS GenerateDataKeyPairResponse.
86#[derive(Debug, Clone, Default, Serialize, Deserialize)]
87#[serde(rename_all = "PascalCase")]
88pub struct GenerateDataKeyPairResponse {
89    #[serde(
90        skip_serializing_if = "Option::is_none",
91        serialize_with = "crate::blob::option::serialize",
92        deserialize_with = "crate::blob::option::deserialize"
93    )]
94    pub ciphertext_for_recipient: Option<bytes::Bytes>,
95    #[serde(skip_serializing_if = "Option::is_none")]
96    pub key_id: Option<String>,
97    #[serde(skip_serializing_if = "Option::is_none")]
98    pub key_material_id: Option<String>,
99    #[serde(skip_serializing_if = "Option::is_none")]
100    pub key_pair_spec: Option<DataKeyPairSpec>,
101    #[serde(
102        skip_serializing_if = "Option::is_none",
103        serialize_with = "crate::blob::option::serialize",
104        deserialize_with = "crate::blob::option::deserialize"
105    )]
106    pub private_key_ciphertext_blob: Option<bytes::Bytes>,
107    #[serde(
108        skip_serializing_if = "Option::is_none",
109        serialize_with = "crate::blob::option::serialize",
110        deserialize_with = "crate::blob::option::deserialize"
111    )]
112    pub private_key_plaintext: Option<bytes::Bytes>,
113    #[serde(
114        skip_serializing_if = "Option::is_none",
115        serialize_with = "crate::blob::option::serialize",
116        deserialize_with = "crate::blob::option::deserialize"
117    )]
118    pub public_key: Option<bytes::Bytes>,
119}
120
121/// KMS GenerateDataKeyPairWithoutPlaintextResponse.
122#[derive(Debug, Clone, Default, Serialize, Deserialize)]
123#[serde(rename_all = "PascalCase")]
124pub struct GenerateDataKeyPairWithoutPlaintextResponse {
125    #[serde(skip_serializing_if = "Option::is_none")]
126    pub key_id: Option<String>,
127    #[serde(skip_serializing_if = "Option::is_none")]
128    pub key_material_id: Option<String>,
129    #[serde(skip_serializing_if = "Option::is_none")]
130    pub key_pair_spec: Option<DataKeyPairSpec>,
131    #[serde(
132        skip_serializing_if = "Option::is_none",
133        serialize_with = "crate::blob::option::serialize",
134        deserialize_with = "crate::blob::option::deserialize"
135    )]
136    pub private_key_ciphertext_blob: Option<bytes::Bytes>,
137    #[serde(
138        skip_serializing_if = "Option::is_none",
139        serialize_with = "crate::blob::option::serialize",
140        deserialize_with = "crate::blob::option::deserialize"
141    )]
142    pub public_key: Option<bytes::Bytes>,
143}
144
145/// KMS GenerateDataKeyResponse.
146#[derive(Debug, Clone, Default, Serialize, Deserialize)]
147#[serde(rename_all = "PascalCase")]
148pub struct GenerateDataKeyResponse {
149    #[serde(
150        skip_serializing_if = "Option::is_none",
151        serialize_with = "crate::blob::option::serialize",
152        deserialize_with = "crate::blob::option::deserialize"
153    )]
154    pub ciphertext_blob: Option<bytes::Bytes>,
155    #[serde(
156        skip_serializing_if = "Option::is_none",
157        serialize_with = "crate::blob::option::serialize",
158        deserialize_with = "crate::blob::option::deserialize"
159    )]
160    pub ciphertext_for_recipient: Option<bytes::Bytes>,
161    #[serde(skip_serializing_if = "Option::is_none")]
162    pub key_id: Option<String>,
163    #[serde(skip_serializing_if = "Option::is_none")]
164    pub key_material_id: Option<String>,
165    #[serde(
166        skip_serializing_if = "Option::is_none",
167        serialize_with = "crate::blob::option::serialize",
168        deserialize_with = "crate::blob::option::deserialize"
169    )]
170    pub plaintext: Option<bytes::Bytes>,
171}
172
173/// KMS GenerateDataKeyWithoutPlaintextResponse.
174#[derive(Debug, Clone, Default, Serialize, Deserialize)]
175#[serde(rename_all = "PascalCase")]
176pub struct GenerateDataKeyWithoutPlaintextResponse {
177    #[serde(
178        skip_serializing_if = "Option::is_none",
179        serialize_with = "crate::blob::option::serialize",
180        deserialize_with = "crate::blob::option::deserialize"
181    )]
182    pub ciphertext_blob: Option<bytes::Bytes>,
183    #[serde(skip_serializing_if = "Option::is_none")]
184    pub key_id: Option<String>,
185    #[serde(skip_serializing_if = "Option::is_none")]
186    pub key_material_id: Option<String>,
187}
188
189/// KMS GenerateMacResponse.
190#[derive(Debug, Clone, Default, Serialize, Deserialize)]
191#[serde(rename_all = "PascalCase")]
192pub struct GenerateMacResponse {
193    #[serde(skip_serializing_if = "Option::is_none")]
194    pub key_id: Option<String>,
195    #[serde(
196        skip_serializing_if = "Option::is_none",
197        serialize_with = "crate::blob::option::serialize",
198        deserialize_with = "crate::blob::option::deserialize"
199    )]
200    pub mac: Option<bytes::Bytes>,
201    #[serde(skip_serializing_if = "Option::is_none")]
202    pub mac_algorithm: Option<MacAlgorithmSpec>,
203}
204
205/// KMS GenerateRandomResponse.
206#[derive(Debug, Clone, Default, Serialize, Deserialize)]
207#[serde(rename_all = "PascalCase")]
208pub struct GenerateRandomResponse {
209    #[serde(
210        skip_serializing_if = "Option::is_none",
211        serialize_with = "crate::blob::option::serialize",
212        deserialize_with = "crate::blob::option::deserialize"
213    )]
214    pub ciphertext_for_recipient: Option<bytes::Bytes>,
215    #[serde(
216        skip_serializing_if = "Option::is_none",
217        serialize_with = "crate::blob::option::serialize",
218        deserialize_with = "crate::blob::option::deserialize"
219    )]
220    pub plaintext: Option<bytes::Bytes>,
221}
222
223/// KMS GetKeyPolicyResponse.
224#[derive(Debug, Clone, Default, Serialize, Deserialize)]
225#[serde(rename_all = "PascalCase")]
226pub struct GetKeyPolicyResponse {
227    #[serde(skip_serializing_if = "Option::is_none")]
228    pub policy: Option<String>,
229    #[serde(skip_serializing_if = "Option::is_none")]
230    pub policy_name: Option<String>,
231}
232
233/// KMS GetKeyRotationStatusResponse.
234#[derive(Debug, Clone, Default, Serialize, Deserialize)]
235#[serde(rename_all = "PascalCase")]
236pub struct GetKeyRotationStatusResponse {
237    #[serde(skip_serializing_if = "Option::is_none")]
238    pub key_id: Option<String>,
239    #[serde(skip_serializing_if = "Option::is_none")]
240    pub key_rotation_enabled: Option<bool>,
241    #[serde(
242        skip_serializing_if = "Option::is_none",
243        serialize_with = "crate::epoch_seconds::option::serialize",
244        deserialize_with = "crate::epoch_seconds::option::deserialize"
245    )]
246    pub next_rotation_date: Option<chrono::DateTime<chrono::Utc>>,
247    #[serde(
248        skip_serializing_if = "Option::is_none",
249        serialize_with = "crate::epoch_seconds::option::serialize",
250        deserialize_with = "crate::epoch_seconds::option::deserialize"
251    )]
252    pub on_demand_rotation_start_date: Option<chrono::DateTime<chrono::Utc>>,
253    #[serde(skip_serializing_if = "Option::is_none")]
254    pub rotation_period_in_days: Option<i32>,
255}
256
257/// KMS GetPublicKeyResponse.
258#[derive(Debug, Clone, Default, Serialize, Deserialize)]
259#[serde(rename_all = "PascalCase")]
260pub struct GetPublicKeyResponse {
261    #[serde(skip_serializing_if = "Option::is_none")]
262    pub customer_master_key_spec: Option<CustomerMasterKeySpec>,
263    #[serde(default, skip_serializing_if = "Vec::is_empty")]
264    pub encryption_algorithms: Vec<EncryptionAlgorithmSpec>,
265    #[serde(default, skip_serializing_if = "Vec::is_empty")]
266    pub key_agreement_algorithms: Vec<KeyAgreementAlgorithmSpec>,
267    #[serde(skip_serializing_if = "Option::is_none")]
268    pub key_id: Option<String>,
269    #[serde(skip_serializing_if = "Option::is_none")]
270    pub key_spec: Option<KeySpec>,
271    #[serde(skip_serializing_if = "Option::is_none")]
272    pub key_usage: Option<KeyUsageType>,
273    #[serde(
274        skip_serializing_if = "Option::is_none",
275        serialize_with = "crate::blob::option::serialize",
276        deserialize_with = "crate::blob::option::deserialize"
277    )]
278    pub public_key: Option<bytes::Bytes>,
279    #[serde(default, skip_serializing_if = "Vec::is_empty")]
280    pub signing_algorithms: Vec<SigningAlgorithmSpec>,
281}
282
283/// KMS ListAliasesResponse.
284#[derive(Debug, Clone, Default, Serialize, Deserialize)]
285#[serde(rename_all = "PascalCase")]
286pub struct ListAliasesResponse {
287    #[serde(default, skip_serializing_if = "Vec::is_empty")]
288    pub aliases: Vec<AliasListEntry>,
289    #[serde(skip_serializing_if = "Option::is_none")]
290    pub next_marker: Option<String>,
291    #[serde(skip_serializing_if = "Option::is_none")]
292    pub truncated: Option<bool>,
293}
294
295/// KMS ListGrantsResponse.
296#[derive(Debug, Clone, Default, Serialize, Deserialize)]
297#[serde(rename_all = "PascalCase")]
298pub struct ListGrantsResponse {
299    #[serde(default, skip_serializing_if = "Vec::is_empty")]
300    pub grants: Vec<GrantListEntry>,
301    #[serde(skip_serializing_if = "Option::is_none")]
302    pub next_marker: Option<String>,
303    #[serde(skip_serializing_if = "Option::is_none")]
304    pub truncated: Option<bool>,
305}
306
307/// KMS ListKeyPoliciesResponse.
308#[derive(Debug, Clone, Default, Serialize, Deserialize)]
309#[serde(rename_all = "PascalCase")]
310pub struct ListKeyPoliciesResponse {
311    #[serde(skip_serializing_if = "Option::is_none")]
312    pub next_marker: Option<String>,
313    #[serde(default, skip_serializing_if = "Vec::is_empty")]
314    pub policy_names: Vec<String>,
315    #[serde(skip_serializing_if = "Option::is_none")]
316    pub truncated: Option<bool>,
317}
318
319/// KMS ListKeysResponse.
320#[derive(Debug, Clone, Default, Serialize, Deserialize)]
321#[serde(rename_all = "PascalCase")]
322pub struct ListKeysResponse {
323    #[serde(default, skip_serializing_if = "Vec::is_empty")]
324    pub keys: Vec<KeyListEntry>,
325    #[serde(skip_serializing_if = "Option::is_none")]
326    pub next_marker: Option<String>,
327    #[serde(skip_serializing_if = "Option::is_none")]
328    pub truncated: Option<bool>,
329}
330
331/// KMS ListResourceTagsResponse.
332#[derive(Debug, Clone, Default, Serialize, Deserialize)]
333#[serde(rename_all = "PascalCase")]
334pub struct ListResourceTagsResponse {
335    #[serde(skip_serializing_if = "Option::is_none")]
336    pub next_marker: Option<String>,
337    #[serde(default, skip_serializing_if = "Vec::is_empty")]
338    pub tags: Vec<Tag>,
339    #[serde(skip_serializing_if = "Option::is_none")]
340    pub truncated: Option<bool>,
341}
342
343/// KMS ReEncryptResponse.
344#[derive(Debug, Clone, Default, Serialize, Deserialize)]
345#[serde(rename_all = "PascalCase")]
346pub struct ReEncryptResponse {
347    #[serde(
348        skip_serializing_if = "Option::is_none",
349        serialize_with = "crate::blob::option::serialize",
350        deserialize_with = "crate::blob::option::deserialize"
351    )]
352    pub ciphertext_blob: Option<bytes::Bytes>,
353    #[serde(skip_serializing_if = "Option::is_none")]
354    pub destination_encryption_algorithm: Option<EncryptionAlgorithmSpec>,
355    #[serde(skip_serializing_if = "Option::is_none")]
356    pub destination_key_material_id: Option<String>,
357    #[serde(skip_serializing_if = "Option::is_none")]
358    pub key_id: Option<String>,
359    #[serde(skip_serializing_if = "Option::is_none")]
360    pub source_encryption_algorithm: Option<EncryptionAlgorithmSpec>,
361    #[serde(skip_serializing_if = "Option::is_none")]
362    pub source_key_id: Option<String>,
363    #[serde(skip_serializing_if = "Option::is_none")]
364    pub source_key_material_id: Option<String>,
365}
366
367/// KMS ScheduleKeyDeletionResponse.
368#[derive(Debug, Clone, Default, Serialize, Deserialize)]
369#[serde(rename_all = "PascalCase")]
370pub struct ScheduleKeyDeletionResponse {
371    #[serde(
372        skip_serializing_if = "Option::is_none",
373        serialize_with = "crate::epoch_seconds::option::serialize",
374        deserialize_with = "crate::epoch_seconds::option::deserialize"
375    )]
376    pub deletion_date: Option<chrono::DateTime<chrono::Utc>>,
377    #[serde(skip_serializing_if = "Option::is_none")]
378    pub key_id: Option<String>,
379    #[serde(skip_serializing_if = "Option::is_none")]
380    pub key_state: Option<KeyState>,
381    #[serde(skip_serializing_if = "Option::is_none")]
382    pub pending_window_in_days: Option<i32>,
383}
384
385/// KMS SignResponse.
386#[derive(Debug, Clone, Default, Serialize, Deserialize)]
387#[serde(rename_all = "PascalCase")]
388pub struct SignResponse {
389    #[serde(skip_serializing_if = "Option::is_none")]
390    pub key_id: Option<String>,
391    #[serde(
392        skip_serializing_if = "Option::is_none",
393        serialize_with = "crate::blob::option::serialize",
394        deserialize_with = "crate::blob::option::deserialize"
395    )]
396    pub signature: Option<bytes::Bytes>,
397    #[serde(skip_serializing_if = "Option::is_none")]
398    pub signing_algorithm: Option<SigningAlgorithmSpec>,
399}
400
401/// KMS VerifyMacResponse.
402#[derive(Debug, Clone, Default, Serialize, Deserialize)]
403#[serde(rename_all = "PascalCase")]
404pub struct VerifyMacResponse {
405    #[serde(skip_serializing_if = "Option::is_none")]
406    pub key_id: Option<String>,
407    #[serde(skip_serializing_if = "Option::is_none")]
408    pub mac_algorithm: Option<MacAlgorithmSpec>,
409    #[serde(skip_serializing_if = "Option::is_none")]
410    pub mac_valid: Option<bool>,
411}
412
413/// KMS VerifyResponse.
414#[derive(Debug, Clone, Default, Serialize, Deserialize)]
415#[serde(rename_all = "PascalCase")]
416pub struct VerifyResponse {
417    #[serde(skip_serializing_if = "Option::is_none")]
418    pub key_id: Option<String>,
419    #[serde(skip_serializing_if = "Option::is_none")]
420    pub signature_valid: Option<bool>,
421    #[serde(skip_serializing_if = "Option::is_none")]
422    pub signing_algorithm: Option<SigningAlgorithmSpec>,
423}