Skip to main content

rustack_kms_model/
input.rs

1//! Auto-generated from AWS KMS Smithy model. DO NOT EDIT.
2
3use std::collections::HashMap;
4
5use serde::{Deserialize, Serialize};
6
7use crate::types::{
8    CustomerMasterKeySpec, DataKeyPairSpec, DataKeySpec, DryRunModifierType,
9    EncryptionAlgorithmSpec, GrantConstraints, GrantOperation, KeySpec, KeyUsageType,
10    MacAlgorithmSpec, MessageType, OriginType, RecipientInfo, SigningAlgorithmSpec, Tag,
11};
12
13/// KMS CancelKeyDeletionInput.
14#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15#[serde(rename_all = "PascalCase")]
16pub struct CancelKeyDeletionInput {
17    pub key_id: String,
18}
19
20/// KMS CreateAliasInput.
21#[derive(Debug, Clone, Default, Serialize, Deserialize)]
22#[serde(rename_all = "PascalCase")]
23pub struct CreateAliasInput {
24    pub alias_name: String,
25    pub target_key_id: String,
26}
27
28/// KMS CreateGrantInput.
29#[derive(Debug, Clone, Default, Serialize, Deserialize)]
30#[serde(rename_all = "PascalCase")]
31pub struct CreateGrantInput {
32    #[serde(skip_serializing_if = "Option::is_none")]
33    pub constraints: Option<GrantConstraints>,
34    #[serde(skip_serializing_if = "Option::is_none")]
35    pub dry_run: Option<bool>,
36    #[serde(default, skip_serializing_if = "Vec::is_empty")]
37    pub grant_tokens: Vec<String>,
38    pub grantee_principal: String,
39    pub key_id: String,
40    #[serde(skip_serializing_if = "Option::is_none")]
41    pub name: Option<String>,
42    #[serde(default, skip_serializing_if = "Vec::is_empty")]
43    pub operations: Vec<GrantOperation>,
44    #[serde(skip_serializing_if = "Option::is_none")]
45    pub retiring_principal: Option<String>,
46}
47
48/// KMS CreateKeyInput.
49#[derive(Debug, Clone, Default, Serialize, Deserialize)]
50#[serde(rename_all = "PascalCase")]
51pub struct CreateKeyInput {
52    #[serde(skip_serializing_if = "Option::is_none")]
53    pub bypass_policy_lockout_safety_check: Option<bool>,
54    #[serde(skip_serializing_if = "Option::is_none")]
55    pub custom_key_store_id: Option<String>,
56    #[serde(skip_serializing_if = "Option::is_none")]
57    pub customer_master_key_spec: Option<CustomerMasterKeySpec>,
58    #[serde(skip_serializing_if = "Option::is_none")]
59    pub description: Option<String>,
60    #[serde(skip_serializing_if = "Option::is_none")]
61    pub key_spec: Option<KeySpec>,
62    #[serde(skip_serializing_if = "Option::is_none")]
63    pub key_usage: Option<KeyUsageType>,
64    #[serde(skip_serializing_if = "Option::is_none")]
65    pub multi_region: Option<bool>,
66    #[serde(skip_serializing_if = "Option::is_none")]
67    pub origin: Option<OriginType>,
68    #[serde(skip_serializing_if = "Option::is_none")]
69    pub policy: Option<String>,
70    #[serde(default, skip_serializing_if = "Vec::is_empty")]
71    pub tags: Vec<Tag>,
72    #[serde(skip_serializing_if = "Option::is_none")]
73    pub xks_key_id: Option<String>,
74}
75
76/// KMS DecryptInput.
77#[derive(Debug, Clone, Default, Serialize, Deserialize)]
78#[serde(rename_all = "PascalCase")]
79pub struct DecryptInput {
80    #[serde(
81        skip_serializing_if = "Option::is_none",
82        serialize_with = "crate::blob::option::serialize",
83        deserialize_with = "crate::blob::option::deserialize"
84    )]
85    pub ciphertext_blob: Option<bytes::Bytes>,
86    #[serde(skip_serializing_if = "Option::is_none")]
87    pub dry_run: Option<bool>,
88    #[serde(default, skip_serializing_if = "Vec::is_empty")]
89    pub dry_run_modifiers: Vec<DryRunModifierType>,
90    #[serde(skip_serializing_if = "Option::is_none")]
91    pub encryption_algorithm: Option<EncryptionAlgorithmSpec>,
92    #[serde(default, skip_serializing_if = "HashMap::is_empty")]
93    pub encryption_context: HashMap<String, String>,
94    #[serde(default, skip_serializing_if = "Vec::is_empty")]
95    pub grant_tokens: Vec<String>,
96    #[serde(skip_serializing_if = "Option::is_none")]
97    pub key_id: Option<String>,
98    #[serde(skip_serializing_if = "Option::is_none")]
99    pub recipient: Option<RecipientInfo>,
100}
101
102/// KMS DeleteAliasInput.
103#[derive(Debug, Clone, Default, Serialize, Deserialize)]
104#[serde(rename_all = "PascalCase")]
105pub struct DeleteAliasInput {
106    pub alias_name: String,
107}
108
109/// KMS DescribeKeyInput.
110#[derive(Debug, Clone, Default, Serialize, Deserialize)]
111#[serde(rename_all = "PascalCase")]
112pub struct DescribeKeyInput {
113    #[serde(default, skip_serializing_if = "Vec::is_empty")]
114    pub grant_tokens: Vec<String>,
115    pub key_id: String,
116}
117
118/// KMS DisableKeyInput.
119#[derive(Debug, Clone, Default, Serialize, Deserialize)]
120#[serde(rename_all = "PascalCase")]
121pub struct DisableKeyInput {
122    pub key_id: String,
123}
124
125/// KMS DisableKeyRotationInput.
126#[derive(Debug, Clone, Default, Serialize, Deserialize)]
127#[serde(rename_all = "PascalCase")]
128pub struct DisableKeyRotationInput {
129    pub key_id: String,
130}
131
132/// KMS EnableKeyInput.
133#[derive(Debug, Clone, Default, Serialize, Deserialize)]
134#[serde(rename_all = "PascalCase")]
135pub struct EnableKeyInput {
136    pub key_id: String,
137}
138
139/// KMS EnableKeyRotationInput.
140#[derive(Debug, Clone, Default, Serialize, Deserialize)]
141#[serde(rename_all = "PascalCase")]
142pub struct EnableKeyRotationInput {
143    pub key_id: String,
144    #[serde(skip_serializing_if = "Option::is_none")]
145    pub rotation_period_in_days: Option<i32>,
146}
147
148/// KMS EncryptInput.
149#[derive(Debug, Clone, Default, Serialize, Deserialize)]
150#[serde(rename_all = "PascalCase")]
151pub struct EncryptInput {
152    #[serde(skip_serializing_if = "Option::is_none")]
153    pub dry_run: Option<bool>,
154    #[serde(skip_serializing_if = "Option::is_none")]
155    pub encryption_algorithm: Option<EncryptionAlgorithmSpec>,
156    #[serde(default, skip_serializing_if = "HashMap::is_empty")]
157    pub encryption_context: HashMap<String, String>,
158    #[serde(default, skip_serializing_if = "Vec::is_empty")]
159    pub grant_tokens: Vec<String>,
160    pub key_id: String,
161    #[serde(with = "crate::blob")]
162    pub plaintext: bytes::Bytes,
163}
164
165/// KMS GenerateDataKeyInput.
166#[derive(Debug, Clone, Default, Serialize, Deserialize)]
167#[serde(rename_all = "PascalCase")]
168pub struct GenerateDataKeyInput {
169    #[serde(skip_serializing_if = "Option::is_none")]
170    pub dry_run: Option<bool>,
171    #[serde(default, skip_serializing_if = "HashMap::is_empty")]
172    pub encryption_context: HashMap<String, String>,
173    #[serde(default, skip_serializing_if = "Vec::is_empty")]
174    pub grant_tokens: Vec<String>,
175    pub key_id: String,
176    #[serde(skip_serializing_if = "Option::is_none")]
177    pub key_spec: Option<DataKeySpec>,
178    #[serde(skip_serializing_if = "Option::is_none")]
179    pub number_of_bytes: Option<i32>,
180    #[serde(skip_serializing_if = "Option::is_none")]
181    pub recipient: Option<RecipientInfo>,
182}
183
184/// KMS GenerateDataKeyPairInput.
185#[derive(Debug, Clone, Default, Serialize, Deserialize)]
186#[serde(rename_all = "PascalCase")]
187pub struct GenerateDataKeyPairInput {
188    #[serde(skip_serializing_if = "Option::is_none")]
189    pub dry_run: Option<bool>,
190    #[serde(default, skip_serializing_if = "HashMap::is_empty")]
191    pub encryption_context: HashMap<String, String>,
192    #[serde(default, skip_serializing_if = "Vec::is_empty")]
193    pub grant_tokens: Vec<String>,
194    pub key_id: String,
195    pub key_pair_spec: DataKeyPairSpec,
196    #[serde(skip_serializing_if = "Option::is_none")]
197    pub recipient: Option<RecipientInfo>,
198}
199
200/// KMS GenerateDataKeyPairWithoutPlaintextInput.
201#[derive(Debug, Clone, Default, Serialize, Deserialize)]
202#[serde(rename_all = "PascalCase")]
203pub struct GenerateDataKeyPairWithoutPlaintextInput {
204    #[serde(skip_serializing_if = "Option::is_none")]
205    pub dry_run: Option<bool>,
206    #[serde(default, skip_serializing_if = "HashMap::is_empty")]
207    pub encryption_context: HashMap<String, String>,
208    #[serde(default, skip_serializing_if = "Vec::is_empty")]
209    pub grant_tokens: Vec<String>,
210    pub key_id: String,
211    pub key_pair_spec: DataKeyPairSpec,
212}
213
214/// KMS GenerateDataKeyWithoutPlaintextInput.
215#[derive(Debug, Clone, Default, Serialize, Deserialize)]
216#[serde(rename_all = "PascalCase")]
217pub struct GenerateDataKeyWithoutPlaintextInput {
218    #[serde(skip_serializing_if = "Option::is_none")]
219    pub dry_run: Option<bool>,
220    #[serde(default, skip_serializing_if = "HashMap::is_empty")]
221    pub encryption_context: HashMap<String, String>,
222    #[serde(default, skip_serializing_if = "Vec::is_empty")]
223    pub grant_tokens: Vec<String>,
224    pub key_id: String,
225    #[serde(skip_serializing_if = "Option::is_none")]
226    pub key_spec: Option<DataKeySpec>,
227    #[serde(skip_serializing_if = "Option::is_none")]
228    pub number_of_bytes: Option<i32>,
229}
230
231/// KMS GenerateMacInput.
232#[derive(Debug, Clone, Default, Serialize, Deserialize)]
233#[serde(rename_all = "PascalCase")]
234pub struct GenerateMacInput {
235    #[serde(skip_serializing_if = "Option::is_none")]
236    pub dry_run: Option<bool>,
237    #[serde(default, skip_serializing_if = "Vec::is_empty")]
238    pub grant_tokens: Vec<String>,
239    pub key_id: String,
240    pub mac_algorithm: MacAlgorithmSpec,
241    #[serde(with = "crate::blob")]
242    pub message: bytes::Bytes,
243}
244
245/// KMS GenerateRandomInput.
246#[derive(Debug, Clone, Default, Serialize, Deserialize)]
247#[serde(rename_all = "PascalCase")]
248pub struct GenerateRandomInput {
249    #[serde(skip_serializing_if = "Option::is_none")]
250    pub custom_key_store_id: Option<String>,
251    #[serde(skip_serializing_if = "Option::is_none")]
252    pub number_of_bytes: Option<i32>,
253    #[serde(skip_serializing_if = "Option::is_none")]
254    pub recipient: Option<RecipientInfo>,
255}
256
257/// KMS GetKeyPolicyInput.
258#[derive(Debug, Clone, Default, Serialize, Deserialize)]
259#[serde(rename_all = "PascalCase")]
260pub struct GetKeyPolicyInput {
261    pub key_id: String,
262    #[serde(skip_serializing_if = "Option::is_none")]
263    pub policy_name: Option<String>,
264}
265
266/// KMS GetKeyRotationStatusInput.
267#[derive(Debug, Clone, Default, Serialize, Deserialize)]
268#[serde(rename_all = "PascalCase")]
269pub struct GetKeyRotationStatusInput {
270    pub key_id: String,
271}
272
273/// KMS GetPublicKeyInput.
274#[derive(Debug, Clone, Default, Serialize, Deserialize)]
275#[serde(rename_all = "PascalCase")]
276pub struct GetPublicKeyInput {
277    #[serde(default, skip_serializing_if = "Vec::is_empty")]
278    pub grant_tokens: Vec<String>,
279    pub key_id: String,
280}
281
282/// KMS ListAliasesInput.
283#[derive(Debug, Clone, Default, Serialize, Deserialize)]
284#[serde(rename_all = "PascalCase")]
285pub struct ListAliasesInput {
286    #[serde(skip_serializing_if = "Option::is_none")]
287    pub key_id: Option<String>,
288    #[serde(skip_serializing_if = "Option::is_none")]
289    pub limit: Option<i32>,
290    #[serde(skip_serializing_if = "Option::is_none")]
291    pub marker: Option<String>,
292}
293
294/// KMS ListGrantsInput.
295#[derive(Debug, Clone, Default, Serialize, Deserialize)]
296#[serde(rename_all = "PascalCase")]
297pub struct ListGrantsInput {
298    #[serde(skip_serializing_if = "Option::is_none")]
299    pub grant_id: Option<String>,
300    #[serde(skip_serializing_if = "Option::is_none")]
301    pub grantee_principal: Option<String>,
302    pub key_id: String,
303    #[serde(skip_serializing_if = "Option::is_none")]
304    pub limit: Option<i32>,
305    #[serde(skip_serializing_if = "Option::is_none")]
306    pub marker: Option<String>,
307}
308
309/// KMS ListKeyPoliciesInput.
310#[derive(Debug, Clone, Default, Serialize, Deserialize)]
311#[serde(rename_all = "PascalCase")]
312pub struct ListKeyPoliciesInput {
313    pub key_id: String,
314    #[serde(skip_serializing_if = "Option::is_none")]
315    pub limit: Option<i32>,
316    #[serde(skip_serializing_if = "Option::is_none")]
317    pub marker: Option<String>,
318}
319
320/// KMS ListKeysInput.
321#[derive(Debug, Clone, Default, Serialize, Deserialize)]
322#[serde(rename_all = "PascalCase")]
323pub struct ListKeysInput {
324    #[serde(skip_serializing_if = "Option::is_none")]
325    pub limit: Option<i32>,
326    #[serde(skip_serializing_if = "Option::is_none")]
327    pub marker: Option<String>,
328}
329
330/// KMS ListResourceTagsInput.
331#[derive(Debug, Clone, Default, Serialize, Deserialize)]
332#[serde(rename_all = "PascalCase")]
333pub struct ListResourceTagsInput {
334    pub key_id: String,
335    #[serde(skip_serializing_if = "Option::is_none")]
336    pub limit: Option<i32>,
337    #[serde(skip_serializing_if = "Option::is_none")]
338    pub marker: Option<String>,
339}
340
341/// KMS ListRetirableGrantsInput.
342#[derive(Debug, Clone, Default, Serialize, Deserialize)]
343#[serde(rename_all = "PascalCase")]
344pub struct ListRetirableGrantsInput {
345    #[serde(skip_serializing_if = "Option::is_none")]
346    pub limit: Option<i32>,
347    #[serde(skip_serializing_if = "Option::is_none")]
348    pub marker: Option<String>,
349    pub retiring_principal: String,
350}
351
352/// KMS PutKeyPolicyInput.
353#[derive(Debug, Clone, Default, Serialize, Deserialize)]
354#[serde(rename_all = "PascalCase")]
355pub struct PutKeyPolicyInput {
356    #[serde(skip_serializing_if = "Option::is_none")]
357    pub bypass_policy_lockout_safety_check: Option<bool>,
358    pub key_id: String,
359    pub policy: String,
360    #[serde(skip_serializing_if = "Option::is_none")]
361    pub policy_name: Option<String>,
362}
363
364/// KMS ReEncryptInput.
365#[derive(Debug, Clone, Default, Serialize, Deserialize)]
366#[serde(rename_all = "PascalCase")]
367pub struct ReEncryptInput {
368    #[serde(
369        skip_serializing_if = "Option::is_none",
370        serialize_with = "crate::blob::option::serialize",
371        deserialize_with = "crate::blob::option::deserialize"
372    )]
373    pub ciphertext_blob: Option<bytes::Bytes>,
374    #[serde(skip_serializing_if = "Option::is_none")]
375    pub destination_encryption_algorithm: Option<EncryptionAlgorithmSpec>,
376    #[serde(default, skip_serializing_if = "HashMap::is_empty")]
377    pub destination_encryption_context: HashMap<String, String>,
378    pub destination_key_id: String,
379    #[serde(skip_serializing_if = "Option::is_none")]
380    pub dry_run: Option<bool>,
381    #[serde(default, skip_serializing_if = "Vec::is_empty")]
382    pub dry_run_modifiers: Vec<DryRunModifierType>,
383    #[serde(default, skip_serializing_if = "Vec::is_empty")]
384    pub grant_tokens: Vec<String>,
385    #[serde(skip_serializing_if = "Option::is_none")]
386    pub source_encryption_algorithm: Option<EncryptionAlgorithmSpec>,
387    #[serde(default, skip_serializing_if = "HashMap::is_empty")]
388    pub source_encryption_context: HashMap<String, String>,
389    #[serde(skip_serializing_if = "Option::is_none")]
390    pub source_key_id: Option<String>,
391}
392
393/// KMS RetireGrantInput.
394#[derive(Debug, Clone, Default, Serialize, Deserialize)]
395#[serde(rename_all = "PascalCase")]
396pub struct RetireGrantInput {
397    #[serde(skip_serializing_if = "Option::is_none")]
398    pub dry_run: Option<bool>,
399    #[serde(skip_serializing_if = "Option::is_none")]
400    pub grant_id: Option<String>,
401    #[serde(skip_serializing_if = "Option::is_none")]
402    pub grant_token: Option<String>,
403    #[serde(skip_serializing_if = "Option::is_none")]
404    pub key_id: Option<String>,
405}
406
407/// KMS RevokeGrantInput.
408#[derive(Debug, Clone, Default, Serialize, Deserialize)]
409#[serde(rename_all = "PascalCase")]
410pub struct RevokeGrantInput {
411    #[serde(skip_serializing_if = "Option::is_none")]
412    pub dry_run: Option<bool>,
413    pub grant_id: String,
414    pub key_id: String,
415}
416
417/// KMS ScheduleKeyDeletionInput.
418#[derive(Debug, Clone, Default, Serialize, Deserialize)]
419#[serde(rename_all = "PascalCase")]
420pub struct ScheduleKeyDeletionInput {
421    pub key_id: String,
422    #[serde(skip_serializing_if = "Option::is_none")]
423    pub pending_window_in_days: Option<i32>,
424}
425
426/// KMS SignInput.
427#[derive(Debug, Clone, Default, Serialize, Deserialize)]
428#[serde(rename_all = "PascalCase")]
429pub struct SignInput {
430    #[serde(skip_serializing_if = "Option::is_none")]
431    pub dry_run: Option<bool>,
432    #[serde(default, skip_serializing_if = "Vec::is_empty")]
433    pub grant_tokens: Vec<String>,
434    pub key_id: String,
435    #[serde(with = "crate::blob")]
436    pub message: bytes::Bytes,
437    #[serde(skip_serializing_if = "Option::is_none")]
438    pub message_type: Option<MessageType>,
439    pub signing_algorithm: SigningAlgorithmSpec,
440}
441
442/// KMS TagResourceInput.
443#[derive(Debug, Clone, Default, Serialize, Deserialize)]
444#[serde(rename_all = "PascalCase")]
445pub struct TagResourceInput {
446    pub key_id: String,
447    #[serde(default, skip_serializing_if = "Vec::is_empty")]
448    pub tags: Vec<Tag>,
449}
450
451/// KMS UntagResourceInput.
452#[derive(Debug, Clone, Default, Serialize, Deserialize)]
453#[serde(rename_all = "PascalCase")]
454pub struct UntagResourceInput {
455    pub key_id: String,
456    #[serde(default, skip_serializing_if = "Vec::is_empty")]
457    pub tag_keys: Vec<String>,
458}
459
460/// KMS UpdateAliasInput.
461#[derive(Debug, Clone, Default, Serialize, Deserialize)]
462#[serde(rename_all = "PascalCase")]
463pub struct UpdateAliasInput {
464    pub alias_name: String,
465    pub target_key_id: String,
466}
467
468/// KMS UpdateKeyDescriptionInput.
469#[derive(Debug, Clone, Default, Serialize, Deserialize)]
470#[serde(rename_all = "PascalCase")]
471pub struct UpdateKeyDescriptionInput {
472    pub description: String,
473    pub key_id: String,
474}
475
476/// KMS VerifyInput.
477#[derive(Debug, Clone, Default, Serialize, Deserialize)]
478#[serde(rename_all = "PascalCase")]
479pub struct VerifyInput {
480    #[serde(skip_serializing_if = "Option::is_none")]
481    pub dry_run: Option<bool>,
482    #[serde(default, skip_serializing_if = "Vec::is_empty")]
483    pub grant_tokens: Vec<String>,
484    pub key_id: String,
485    #[serde(with = "crate::blob")]
486    pub message: bytes::Bytes,
487    #[serde(skip_serializing_if = "Option::is_none")]
488    pub message_type: Option<MessageType>,
489    #[serde(with = "crate::blob")]
490    pub signature: bytes::Bytes,
491    pub signing_algorithm: SigningAlgorithmSpec,
492}
493
494/// KMS VerifyMacInput.
495#[derive(Debug, Clone, Default, Serialize, Deserialize)]
496#[serde(rename_all = "PascalCase")]
497pub struct VerifyMacInput {
498    #[serde(skip_serializing_if = "Option::is_none")]
499    pub dry_run: Option<bool>,
500    #[serde(default, skip_serializing_if = "Vec::is_empty")]
501    pub grant_tokens: Vec<String>,
502    pub key_id: String,
503    #[serde(with = "crate::blob")]
504    pub mac: bytes::Bytes,
505    pub mac_algorithm: MacAlgorithmSpec,
506    #[serde(with = "crate::blob")]
507    pub message: bytes::Bytes,
508}