1pub(crate) fn validate_aws_Pcryptography_PkeyStore_HBeaconKeyMaterials(
5 input: &crate::deps::aws_cryptography_keyStore::types::BeaconKeyMaterials,
6) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
7 validate_aws_Pcryptography_PkeyStore_HBeaconKeyMaterials_DbeaconKeyIdentifier(
8 &input.r#beacon_key_identifier,
9 )?;
10 validate_aws_Pcryptography_PkeyStore_HBeaconKeyMaterials_DencryptionContext(
11 &input.r#encryption_context,
12 )?;
13 validate_aws_Pcryptography_PkeyStore_HBeaconKeyMaterials_DbeaconKey(&input.r#beacon_key)?;
14 validate_aws_Pcryptography_PkeyStore_HBeaconKeyMaterials_DhmacKeys(&input.r#hmac_keys)?;
15 Ok(())
16}
17pub(crate) fn validate_aws_Pcryptography_PkeyStore_HBeaconKeyMaterials_DbeaconKey(
18 input: &::std::option::Option<::aws_smithy_types::Blob>,
19) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
20 if input.is_none() {
21 return ::std::result::Result::Ok(());
22 }
23 let input = input.as_ref().unwrap();
24
25 Ok(())
26}
27pub(crate) fn validate_aws_Pcryptography_PkeyStore_HBeaconKeyMaterials_DbeaconKeyIdentifier(
28 input: &::std::option::Option<::std::string::String>,
29) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
30 if input.is_none() {
31 return ::std::result::Result::Err(
32 ::aws_smithy_types::error::operation::BuildError::missing_field(
33 "beacon_key_identifier",
34 "beacon_key_identifier is required but was not specified",
35 ),
36 );
37 }
38 if input.is_none() {
39 return ::std::result::Result::Ok(());
40 }
41 let input = input.as_ref().unwrap();
42
43 Ok(())
44}
45pub(crate) fn validate_aws_Pcryptography_PkeyStore_HBeaconKeyMaterials_DencryptionContext(
46 input: &::std::option::Option<
47 ::std::collections::HashMap<::std::string::String, ::std::string::String>,
48 >,
49) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
50 if input.is_none() {
51 return ::std::result::Result::Err(
52 ::aws_smithy_types::error::operation::BuildError::missing_field(
53 "encryption_context",
54 "encryption_context is required but was not specified",
55 ),
56 );
57 }
58 if input.is_none() {
59 return ::std::result::Result::Ok(());
60 }
61 let input = input.as_ref().unwrap();
62
63 validate_aws_Pcryptography_PkeyStore_HEncryptionContext(input)?;
64 Ok(())
65}
66pub(crate) fn validate_aws_Pcryptography_PkeyStore_HBeaconKeyMaterials_DhmacKeys(
67 input: &::std::option::Option<
68 ::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Blob>,
69 >,
70) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
71 if input.is_none() {
72 return ::std::result::Result::Ok(());
73 }
74 let input = input.as_ref().unwrap();
75
76 validate_aws_Pcryptography_PkeyStore_HHmacKeyMap(input)?;
77 Ok(())
78}
79pub(crate) fn validate_aws_Pcryptography_PkeyStore_HBranchKeyMaterials(
80 input: &crate::deps::aws_cryptography_keyStore::types::BranchKeyMaterials,
81) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
82 validate_aws_Pcryptography_PkeyStore_HBranchKeyMaterials_DbranchKeyIdentifier(
83 &input.r#branch_key_identifier,
84 )?;
85 validate_aws_Pcryptography_PkeyStore_HBranchKeyMaterials_DbranchKeyVersion(
86 &input.r#branch_key_version,
87 )?;
88 validate_aws_Pcryptography_PkeyStore_HBranchKeyMaterials_DencryptionContext(
89 &input.r#encryption_context,
90 )?;
91 validate_aws_Pcryptography_PkeyStore_HBranchKeyMaterials_DbranchKey(&input.r#branch_key)?;
92 Ok(())
93}
94pub(crate) fn validate_aws_Pcryptography_PkeyStore_HBranchKeyMaterials_DbranchKey(
95 input: &::std::option::Option<::aws_smithy_types::Blob>,
96) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
97 if input.is_none() {
98 return ::std::result::Result::Err(
99 ::aws_smithy_types::error::operation::BuildError::missing_field(
100 "branch_key",
101 "branch_key is required but was not specified",
102 ),
103 );
104 }
105 if input.is_none() {
106 return ::std::result::Result::Ok(());
107 }
108 let input = input.as_ref().unwrap();
109
110 Ok(())
111}
112pub(crate) fn validate_aws_Pcryptography_PkeyStore_HBranchKeyMaterials_DbranchKeyIdentifier(
113 input: &::std::option::Option<::std::string::String>,
114) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
115 if input.is_none() {
116 return ::std::result::Result::Err(
117 ::aws_smithy_types::error::operation::BuildError::missing_field(
118 "branch_key_identifier",
119 "branch_key_identifier is required but was not specified",
120 ),
121 );
122 }
123 if input.is_none() {
124 return ::std::result::Result::Ok(());
125 }
126 let input = input.as_ref().unwrap();
127
128 Ok(())
129}
130pub(crate) fn validate_aws_Pcryptography_PkeyStore_HBranchKeyMaterials_DbranchKeyVersion(
131 input: &::std::option::Option<::std::string::String>,
132) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
133 if input.is_none() {
134 return ::std::result::Result::Err(
135 ::aws_smithy_types::error::operation::BuildError::missing_field(
136 "branch_key_version",
137 "branch_key_version is required but was not specified",
138 ),
139 );
140 }
141 if input.is_none() {
142 return ::std::result::Result::Ok(());
143 }
144 let input = input.as_ref().unwrap();
145
146 Ok(())
147}
148pub(crate) fn validate_aws_Pcryptography_PkeyStore_HBranchKeyMaterials_DencryptionContext(
149 input: &::std::option::Option<
150 ::std::collections::HashMap<::std::string::String, ::std::string::String>,
151 >,
152) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
153 if input.is_none() {
154 return ::std::result::Result::Err(
155 ::aws_smithy_types::error::operation::BuildError::missing_field(
156 "encryption_context",
157 "encryption_context is required but was not specified",
158 ),
159 );
160 }
161 if input.is_none() {
162 return ::std::result::Result::Ok(());
163 }
164 let input = input.as_ref().unwrap();
165
166 validate_aws_Pcryptography_PkeyStore_HEncryptionContext(input)?;
167 Ok(())
168}
169pub(crate) fn validate_aws_Pcryptography_PkeyStore_HEncryptionContext(
170 input: &::std::collections::HashMap<::std::string::String, ::std::string::String>,
171) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
172 for (inner_key, inner_val) in input.iter() {
173 validate_aws_Pcryptography_PkeyStore_HEncryptionContext_Dkey(inner_key)?;
174 validate_aws_Pcryptography_PkeyStore_HEncryptionContext_Dvalue(inner_val)?;
175 }
176 Ok(())
177}
178pub(crate) fn validate_aws_Pcryptography_PkeyStore_HEncryptionContext_Dkey(
179 input: &::std::string::String,
180) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
181 Ok(())
182}
183pub(crate) fn validate_aws_Pcryptography_PkeyStore_HEncryptionContext_Dvalue(
184 input: &::std::string::String,
185) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
186 Ok(())
187}
188pub(crate) fn validate_aws_Pcryptography_PkeyStore_HHmacKeyMap(
189 input: &::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Blob>,
190) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
191 for (inner_key, inner_val) in input.iter() {
192 validate_aws_Pcryptography_PkeyStore_HHmacKeyMap_Dkey(inner_key)?;
193 validate_aws_Pcryptography_PkeyStore_HHmacKeyMap_Dvalue(inner_val)?;
194 }
195 Ok(())
196}
197pub(crate) fn validate_aws_Pcryptography_PkeyStore_HHmacKeyMap_Dkey(
198 input: &::std::string::String,
199) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
200 Ok(())
201}
202pub(crate) fn validate_aws_Pcryptography_PkeyStore_HHmacKeyMap_Dvalue(
203 input: &::aws_smithy_types::Blob,
204) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
205 Ok(())
206}
207pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAccountIdList(
208 input: &::std::vec::Vec<::std::string::String>,
209) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
210 for inner in input.iter() {
211 validate_aws_Pcryptography_PmaterialProviders_HAccountIdList_Dmember(inner)?;
212 }
213 Ok(())
214}
215pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAccountIdList_Dmember(
216 input: &::std::string::String,
217) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
218 Ok(())
219}
220pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteId(
221 input: &crate::deps::aws_cryptography_materialProviders::types::AlgorithmSuiteId,
222) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
223 if let crate::deps::aws_cryptography_materialProviders::types::AlgorithmSuiteId::Esdk(
224 ref inner,
225 ) = &input
226 {
227 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteId_DESDK(inner)?;
228 }
229 if let crate::deps::aws_cryptography_materialProviders::types::AlgorithmSuiteId::Dbe(
230 ref inner,
231 ) = &input
232 {
233 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteId_DDBE(inner)?;
234 }
235 Ok(())
236}
237pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteId_DDBE(
238 input: &crate::deps::aws_cryptography_materialProviders::types::DbeAlgorithmSuiteId,
239) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
240 Ok(())
241}
242pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteId_DESDK(
243 input: &crate::deps::aws_cryptography_materialProviders::types::EsdkAlgorithmSuiteId,
244) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
245 Ok(())
246}
247pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo(
248 input: &crate::deps::aws_cryptography_materialProviders::types::AlgorithmSuiteInfo,
249) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
250 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Did(&input.r#id)?;
251 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_DbinaryId(
252 &input.r#binary_id,
253 )?;
254 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_DmessageVersion(
255 &input.r#message_version,
256 )?;
257 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Dencrypt(&input.r#encrypt)?;
258 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Dkdf(&input.r#kdf)?;
259 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Dcommitment(
260 &input.r#commitment,
261 )?;
262 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Dsignature(
263 &input.r#signature,
264 )?;
265 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_DsymmetricSignature(
266 &input.r#symmetric_signature,
267 )?;
268 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_DedkWrapping(
269 &input.r#edk_wrapping,
270 )?;
271 Ok(())
272}
273pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_for_AwsCryptographicMaterialProviders_ValidAlgorithmSuiteInfo(
274 input: &crate::deps::aws_cryptography_materialProviders::operation::valid_algorithm_suite_info::AlgorithmSuiteInfo,
275) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
276 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Did(&input.r#id)?;
277 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_DbinaryId(
278 &input.r#binary_id,
279 )?;
280 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_DmessageVersion(
281 &input.r#message_version,
282 )?;
283 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Dencrypt(&input.r#encrypt)?;
284 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Dkdf(&input.r#kdf)?;
285 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Dcommitment(
286 &input.r#commitment,
287 )?;
288 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Dsignature(
289 &input.r#signature,
290 )?;
291 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_DsymmetricSignature(
292 &input.r#symmetric_signature,
293 )?;
294 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_DedkWrapping(
295 &input.r#edk_wrapping,
296 )?;
297 Ok(())
298}
299pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_DbinaryId(
300 input: &::std::option::Option<::aws_smithy_types::Blob>,
301) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
302 if input.is_none() {
303 return ::std::result::Result::Err(
304 ::aws_smithy_types::error::operation::BuildError::missing_field(
305 "binary_id",
306 "binary_id is required but was not specified",
307 ),
308 );
309 }
310 if input.is_none() {
311 return ::std::result::Result::Ok(());
312 }
313 let input = input.as_ref().unwrap();
314
315 Ok(())
316}
317pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Dcommitment(
318 input: &::std::option::Option<
319 crate::deps::aws_cryptography_materialProviders::types::DerivationAlgorithm,
320 >,
321) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
322 if input.is_none() {
323 return ::std::result::Result::Err(
324 ::aws_smithy_types::error::operation::BuildError::missing_field(
325 "commitment",
326 "commitment is required but was not specified",
327 ),
328 );
329 }
330 if input.is_none() {
331 return ::std::result::Result::Ok(());
332 }
333 let input = input.as_ref().unwrap();
334
335 validate_aws_Pcryptography_PmaterialProviders_HDerivationAlgorithm(input)?;
336 Ok(())
337}
338pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_DedkWrapping(
339 input: &::std::option::Option<
340 crate::deps::aws_cryptography_materialProviders::types::EdkWrappingAlgorithm,
341 >,
342) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
343 if input.is_none() {
344 return ::std::result::Result::Err(
345 ::aws_smithy_types::error::operation::BuildError::missing_field(
346 "edk_wrapping",
347 "edk_wrapping is required but was not specified",
348 ),
349 );
350 }
351 if input.is_none() {
352 return ::std::result::Result::Ok(());
353 }
354 let input = input.as_ref().unwrap();
355
356 validate_aws_Pcryptography_PmaterialProviders_HEdkWrappingAlgorithm(input)?;
357 Ok(())
358}
359pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Dencrypt(
360 input: &::std::option::Option<crate::deps::aws_cryptography_materialProviders::types::Encrypt>,
361) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
362 if input.is_none() {
363 return ::std::result::Result::Err(
364 ::aws_smithy_types::error::operation::BuildError::missing_field(
365 "encrypt",
366 "encrypt is required but was not specified",
367 ),
368 );
369 }
370 if input.is_none() {
371 return ::std::result::Result::Ok(());
372 }
373 let input = input.as_ref().unwrap();
374
375 validate_aws_Pcryptography_PmaterialProviders_HEncrypt(input)?;
376 Ok(())
377}
378pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Did(
379 input: &::std::option::Option<
380 crate::deps::aws_cryptography_materialProviders::types::AlgorithmSuiteId,
381 >,
382) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
383 if input.is_none() {
384 return ::std::result::Result::Err(
385 ::aws_smithy_types::error::operation::BuildError::missing_field(
386 "id",
387 "id is required but was not specified",
388 ),
389 );
390 }
391 if input.is_none() {
392 return ::std::result::Result::Ok(());
393 }
394 let input = input.as_ref().unwrap();
395
396 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteId(input)?;
397 Ok(())
398}
399pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Dkdf(
400 input: &::std::option::Option<
401 crate::deps::aws_cryptography_materialProviders::types::DerivationAlgorithm,
402 >,
403) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
404 if input.is_none() {
405 return ::std::result::Result::Err(
406 ::aws_smithy_types::error::operation::BuildError::missing_field(
407 "kdf",
408 "kdf is required but was not specified",
409 ),
410 );
411 }
412 if input.is_none() {
413 return ::std::result::Result::Ok(());
414 }
415 let input = input.as_ref().unwrap();
416
417 validate_aws_Pcryptography_PmaterialProviders_HDerivationAlgorithm(input)?;
418 Ok(())
419}
420pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_DmessageVersion(
421 input: &::std::option::Option<::std::primitive::i32>,
422) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
423 if input.is_none() {
424 return ::std::result::Result::Err(
425 ::aws_smithy_types::error::operation::BuildError::missing_field(
426 "message_version",
427 "message_version is required but was not specified",
428 ),
429 );
430 }
431 if input.is_none() {
432 return ::std::result::Result::Ok(());
433 }
434 let input = input.as_ref().unwrap();
435
436 Ok(())
437}
438pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_Dsignature(
439 input: &::std::option::Option<
440 crate::deps::aws_cryptography_materialProviders::types::SignatureAlgorithm,
441 >,
442) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
443 if input.is_none() {
444 return ::std::result::Result::Err(
445 ::aws_smithy_types::error::operation::BuildError::missing_field(
446 "signature",
447 "signature is required but was not specified",
448 ),
449 );
450 }
451 if input.is_none() {
452 return ::std::result::Result::Ok(());
453 }
454 let input = input.as_ref().unwrap();
455
456 validate_aws_Pcryptography_PmaterialProviders_HSignatureAlgorithm(input)?;
457 Ok(())
458}
459pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo_DsymmetricSignature(
460 input: &::std::option::Option<
461 crate::deps::aws_cryptography_materialProviders::types::SymmetricSignatureAlgorithm,
462 >,
463) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
464 if input.is_none() {
465 return ::std::result::Result::Err(
466 ::aws_smithy_types::error::operation::BuildError::missing_field(
467 "symmetric_signature",
468 "symmetric_signature is required but was not specified",
469 ),
470 );
471 }
472 if input.is_none() {
473 return ::std::result::Result::Ok(());
474 }
475 let input = input.as_ref().unwrap();
476
477 validate_aws_Pcryptography_PmaterialProviders_HSymmetricSignatureAlgorithm(input)?;
478 Ok(())
479}
480pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HBranchKeyIdSupplierReference(
481 input: &crate::deps::aws_cryptography_materialProviders::types::branch_key_id_supplier::BranchKeyIdSupplierRef,
482) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
483 Ok(())
484}
485pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCacheType(
486 input: &crate::deps::aws_cryptography_materialProviders::types::CacheType,
487) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
488 if let crate::deps::aws_cryptography_materialProviders::types::CacheType::Default(ref inner) =
489 &input
490 {
491 validate_aws_Pcryptography_PmaterialProviders_HCacheType_DDefault(inner)?;
492 }
493 if let crate::deps::aws_cryptography_materialProviders::types::CacheType::No(ref inner) = &input
494 {
495 validate_aws_Pcryptography_PmaterialProviders_HCacheType_DNo(inner)?;
496 }
497 if let crate::deps::aws_cryptography_materialProviders::types::CacheType::SingleThreaded(
498 ref inner,
499 ) = &input
500 {
501 validate_aws_Pcryptography_PmaterialProviders_HCacheType_DSingleThreaded(inner)?;
502 }
503 if let crate::deps::aws_cryptography_materialProviders::types::CacheType::MultiThreaded(
504 ref inner,
505 ) = &input
506 {
507 validate_aws_Pcryptography_PmaterialProviders_HCacheType_DMultiThreaded(inner)?;
508 }
509 if let crate::deps::aws_cryptography_materialProviders::types::CacheType::StormTracking(
510 ref inner,
511 ) = &input
512 {
513 validate_aws_Pcryptography_PmaterialProviders_HCacheType_DStormTracking(inner)?;
514 }
515 if let crate::deps::aws_cryptography_materialProviders::types::CacheType::Shared(ref inner) =
516 &input
517 {
518 validate_aws_Pcryptography_PmaterialProviders_HCacheType_DShared(inner)?;
519 }
520 Ok(())
521}
522pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCacheType_DDefault(
523 input: &crate::deps::aws_cryptography_materialProviders::types::DefaultCache,
524) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
525 validate_aws_Pcryptography_PmaterialProviders_HDefaultCache(input)?;
526 Ok(())
527}
528pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCacheType_DMultiThreaded(
529 input: &crate::deps::aws_cryptography_materialProviders::types::MultiThreadedCache,
530) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
531 validate_aws_Pcryptography_PmaterialProviders_HMultiThreadedCache(input)?;
532 Ok(())
533}
534pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCacheType_DNo(
535 input: &crate::deps::aws_cryptography_materialProviders::types::NoCache,
536) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
537 validate_aws_Pcryptography_PmaterialProviders_HNoCache(input)?;
538 Ok(())
539}
540pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCacheType_DShared(
541 input: &crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_cache::CryptographicMaterialsCacheRef,
542) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
543 validate_aws_Pcryptography_PmaterialProviders_HCryptographicMaterialsCacheReference(input)?;
544 Ok(())
545}
546pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCacheType_DSingleThreaded(
547 input: &crate::deps::aws_cryptography_materialProviders::types::SingleThreadedCache,
548) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
549 validate_aws_Pcryptography_PmaterialProviders_HSingleThreadedCache(input)?;
550 Ok(())
551}
552pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCacheType_DStormTracking(
553 input: &crate::deps::aws_cryptography_materialProviders::types::StormTrackingCache,
554) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
555 validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache(input)?;
556 Ok(())
557}
558pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HClientSupplierReference(
559 input: &crate::deps::aws_cryptography_materialProviders::types::client_supplier::ClientSupplierRef,
560) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
561 Ok(())
562}
563pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCommitmentPolicy(
564 input: &crate::deps::aws_cryptography_materialProviders::types::CommitmentPolicy,
565) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
566 if let crate::deps::aws_cryptography_materialProviders::types::CommitmentPolicy::Esdk(
567 ref inner,
568 ) = &input
569 {
570 validate_aws_Pcryptography_PmaterialProviders_HCommitmentPolicy_DESDK(inner)?;
571 }
572 if let crate::deps::aws_cryptography_materialProviders::types::CommitmentPolicy::Dbe(
573 ref inner,
574 ) = &input
575 {
576 validate_aws_Pcryptography_PmaterialProviders_HCommitmentPolicy_DDBE(inner)?;
577 }
578 Ok(())
579}
580pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCommitmentPolicy_DDBE(
581 input: &crate::deps::aws_cryptography_materialProviders::types::DbeCommitmentPolicy,
582) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
583 Ok(())
584}
585pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCommitmentPolicy_DESDK(
586 input: &crate::deps::aws_cryptography_materialProviders::types::EsdkCommitmentPolicy,
587) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
588 Ok(())
589}
590pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryKeyringInput(
591 input: &crate::deps::aws_cryptography_materialProviders::types::CreateAwsKmsDiscoveryKeyringInput,
592) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
593 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryKeyringInput_DkmsClient(
594 &input.r#kms_client,
595 )?;
596 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryKeyringInput_DdiscoveryFilter(&input.r#discovery_filter)?;
597 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryKeyringInput_DgrantTokens(
598 &input.r#grant_tokens,
599 )?;
600 Ok(())
601}
602pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryKeyringInput_for_AwsCryptographicMaterialProviders_CreateAwsKmsDiscoveryKeyring(
603 input: &crate::deps::aws_cryptography_materialProviders::operation::create_aws_kms_discovery_keyring::CreateAwsKmsDiscoveryKeyringInput,
604) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
605 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryKeyringInput_DkmsClient(
606 &input.r#kms_client,
607 )?;
608 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryKeyringInput_DdiscoveryFilter(&input.r#discovery_filter)?;
609 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryKeyringInput_DgrantTokens(
610 &input.r#grant_tokens,
611 )?;
612 Ok(())
613}
614pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryKeyringInput_DdiscoveryFilter(
615 input: &::std::option::Option<
616 crate::deps::aws_cryptography_materialProviders::types::DiscoveryFilter,
617 >,
618) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
619 if input.is_none() {
620 return ::std::result::Result::Ok(());
621 }
622 let input = input.as_ref().unwrap();
623
624 validate_aws_Pcryptography_PmaterialProviders_HDiscoveryFilter(input)?;
625 Ok(())
626}
627pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryKeyringInput_DgrantTokens(
628 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
629) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
630 if input.is_none() {
631 return ::std::result::Result::Ok(());
632 }
633 let input = input.as_ref().unwrap();
634
635 validate_aws_Pcryptography_PmaterialProviders_HGrantTokenList(input)?;
636 Ok(())
637}
638pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryKeyringInput_DkmsClient(
639 input: &::std::option::Option<crate::deps::com_amazonaws_kms::client::Client>,
640) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
641 if input.is_none() {
642 return ::std::result::Result::Err(
643 ::aws_smithy_types::error::operation::BuildError::missing_field(
644 "kms_client",
645 "kms_client is required but was not specified",
646 ),
647 );
648 }
649 if input.is_none() {
650 return ::std::result::Result::Ok(());
651 }
652 let input = input.as_ref().unwrap();
653
654 validate_aws_Pcryptography_PmaterialProviders_HKmsClientReference(input)?;
655 Ok(())
656}
657pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryMultiKeyringInput(
658 input: &crate::deps::aws_cryptography_materialProviders::types::CreateAwsKmsDiscoveryMultiKeyringInput,
659) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
660 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryMultiKeyringInput_Dregions(
661 &input.r#regions,
662 )?;
663 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryMultiKeyringInput_DdiscoveryFilter(&input.r#discovery_filter)?;
664 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryMultiKeyringInput_DclientSupplier(&input.r#client_supplier)?;
665 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryMultiKeyringInput_DgrantTokens(&input.r#grant_tokens)?;
666 Ok(())
667}
668pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryMultiKeyringInput_for_AwsCryptographicMaterialProviders_CreateAwsKmsDiscoveryMultiKeyring(
669 input: &crate::deps::aws_cryptography_materialProviders::operation::create_aws_kms_discovery_multi_keyring::CreateAwsKmsDiscoveryMultiKeyringInput,
670) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
671 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryMultiKeyringInput_Dregions(
672 &input.r#regions,
673 )?;
674 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryMultiKeyringInput_DdiscoveryFilter(&input.r#discovery_filter)?;
675 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryMultiKeyringInput_DclientSupplier(&input.r#client_supplier)?;
676 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryMultiKeyringInput_DgrantTokens(&input.r#grant_tokens)?;
677 Ok(())
678}
679pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryMultiKeyringInput_DclientSupplier(
680 input: &::std::option::Option<
681 crate::deps::aws_cryptography_materialProviders::types::client_supplier::ClientSupplierRef,
682 >,
683) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
684 if input.is_none() {
685 return ::std::result::Result::Ok(());
686 }
687 let input = input.as_ref().unwrap();
688
689 validate_aws_Pcryptography_PmaterialProviders_HClientSupplierReference(input)?;
690 Ok(())
691}
692pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryMultiKeyringInput_DdiscoveryFilter(
693 input: &::std::option::Option<
694 crate::deps::aws_cryptography_materialProviders::types::DiscoveryFilter,
695 >,
696) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
697 if input.is_none() {
698 return ::std::result::Result::Ok(());
699 }
700 let input = input.as_ref().unwrap();
701
702 validate_aws_Pcryptography_PmaterialProviders_HDiscoveryFilter(input)?;
703 Ok(())
704}
705pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryMultiKeyringInput_DgrantTokens(
706 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
707) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
708 if input.is_none() {
709 return ::std::result::Result::Ok(());
710 }
711 let input = input.as_ref().unwrap();
712
713 validate_aws_Pcryptography_PmaterialProviders_HGrantTokenList(input)?;
714 Ok(())
715}
716pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsDiscoveryMultiKeyringInput_Dregions(
717 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
718) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
719 if input.is_none() {
720 return ::std::result::Result::Err(
721 ::aws_smithy_types::error::operation::BuildError::missing_field(
722 "regions",
723 "regions is required but was not specified",
724 ),
725 );
726 }
727 if input.is_none() {
728 return ::std::result::Result::Ok(());
729 }
730 let input = input.as_ref().unwrap();
731
732 validate_aws_Pcryptography_PmaterialProviders_HRegionList(input)?;
733 Ok(())
734}
735pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsEcdhKeyringInput(
736 input: &crate::deps::aws_cryptography_materialProviders::types::CreateAwsKmsEcdhKeyringInput,
737) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
738 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsEcdhKeyringInput_DKeyAgreementScheme(&input.r#key_agreement_scheme)?;
739 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsEcdhKeyringInput_DcurveSpec(
740 &input.r#curve_spec,
741 )?;
742 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsEcdhKeyringInput_DkmsClient(
743 &input.r#kms_client,
744 )?;
745 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsEcdhKeyringInput_DgrantTokens(
746 &input.r#grant_tokens,
747 )?;
748 Ok(())
749}
750pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsEcdhKeyringInput_for_AwsCryptographicMaterialProviders_CreateAwsKmsEcdhKeyring(
751 input: &crate::deps::aws_cryptography_materialProviders::operation::create_aws_kms_ecdh_keyring::CreateAwsKmsEcdhKeyringInput,
752) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
753 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsEcdhKeyringInput_DKeyAgreementScheme(&input.r#key_agreement_scheme)?;
754 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsEcdhKeyringInput_DcurveSpec(
755 &input.r#curve_spec,
756 )?;
757 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsEcdhKeyringInput_DkmsClient(
758 &input.r#kms_client,
759 )?;
760 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsEcdhKeyringInput_DgrantTokens(
761 &input.r#grant_tokens,
762 )?;
763 Ok(())
764}
765pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsEcdhKeyringInput_DcurveSpec(
766 input: &::std::option::Option<crate::deps::aws_cryptography_primitives::types::EcdhCurveSpec>,
767) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
768 if input.is_none() {
769 return ::std::result::Result::Err(
770 ::aws_smithy_types::error::operation::BuildError::missing_field(
771 "curve_spec",
772 "curve_spec is required but was not specified",
773 ),
774 );
775 }
776 if input.is_none() {
777 return ::std::result::Result::Ok(());
778 }
779 let input = input.as_ref().unwrap();
780
781 Ok(())
782}
783pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsEcdhKeyringInput_DgrantTokens(
784 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
785) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
786 if input.is_none() {
787 return ::std::result::Result::Ok(());
788 }
789 let input = input.as_ref().unwrap();
790
791 validate_aws_Pcryptography_PmaterialProviders_HGrantTokenList(input)?;
792 Ok(())
793}
794pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsEcdhKeyringInput_DKeyAgreementScheme(
795 input: &::std::option::Option<
796 crate::deps::aws_cryptography_materialProviders::types::KmsEcdhStaticConfigurations,
797 >,
798) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
799 if input.is_none() {
800 return ::std::result::Result::Err(
801 ::aws_smithy_types::error::operation::BuildError::missing_field(
802 "key_agreement_scheme",
803 "key_agreement_scheme is required but was not specified",
804 ),
805 );
806 }
807 if input.is_none() {
808 return ::std::result::Result::Ok(());
809 }
810 let input = input.as_ref().unwrap();
811
812 validate_aws_Pcryptography_PmaterialProviders_HKmsEcdhStaticConfigurations(input)?;
813 Ok(())
814}
815pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsEcdhKeyringInput_DkmsClient(
816 input: &::std::option::Option<crate::deps::com_amazonaws_kms::client::Client>,
817) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
818 if input.is_none() {
819 return ::std::result::Result::Err(
820 ::aws_smithy_types::error::operation::BuildError::missing_field(
821 "kms_client",
822 "kms_client is required but was not specified",
823 ),
824 );
825 }
826 if input.is_none() {
827 return ::std::result::Result::Ok(());
828 }
829 let input = input.as_ref().unwrap();
830
831 validate_aws_Pcryptography_PmaterialProviders_HKmsClientReference(input)?;
832 Ok(())
833}
834pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput(
835 input: &crate::deps::aws_cryptography_materialProviders::types::CreateAwsKmsHierarchicalKeyringInput,
836) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
837 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DbranchKeyId(&input.r#branch_key_id)?;
838 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DbranchKeyIdSupplier(&input.r#branch_key_id_supplier)?;
839 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DkeyStore(
840 &input.r#key_store,
841 )?;
842 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DttlSeconds(&input.r#ttl_seconds)?;
843 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_Dcache(
844 &input.r#cache,
845 )?;
846 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DpartitionId(&input.r#partition_id)?;
847 Ok(())
848}
849pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_for_AwsCryptographicMaterialProviders_CreateAwsKmsHierarchicalKeyring(
850 input: &crate::deps::aws_cryptography_materialProviders::operation::create_aws_kms_hierarchical_keyring::CreateAwsKmsHierarchicalKeyringInput,
851) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
852 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DbranchKeyId(&input.r#branch_key_id)?;
853 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DbranchKeyIdSupplier(&input.r#branch_key_id_supplier)?;
854 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DkeyStore(
855 &input.r#key_store,
856 )?;
857 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DttlSeconds(&input.r#ttl_seconds)?;
858 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_Dcache(
859 &input.r#cache,
860 )?;
861 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DpartitionId(&input.r#partition_id)?;
862 Ok(())
863}
864pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DbranchKeyId(
865 input: &::std::option::Option<::std::string::String>,
866) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
867 if input.is_none() {
868 return ::std::result::Result::Ok(());
869 }
870 let input = input.as_ref().unwrap();
871
872 Ok(())
873}
874pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DbranchKeyIdSupplier(
875 input: &::std::option::Option<crate::deps::aws_cryptography_materialProviders::types::branch_key_id_supplier::BranchKeyIdSupplierRef>,
876) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
877 if input.is_none() {
878 return ::std::result::Result::Ok(());
879 }
880 let input = input.as_ref().unwrap();
881
882 validate_aws_Pcryptography_PmaterialProviders_HBranchKeyIdSupplierReference(input)?;
883 Ok(())
884}
885pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_Dcache(
886 input: &::std::option::Option<
887 crate::deps::aws_cryptography_materialProviders::types::CacheType,
888 >,
889) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
890 if input.is_none() {
891 return ::std::result::Result::Ok(());
892 }
893 let input = input.as_ref().unwrap();
894
895 validate_aws_Pcryptography_PmaterialProviders_HCacheType(input)?;
896 Ok(())
897}
898pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DkeyStore(
899 input: &::std::option::Option<crate::deps::aws_cryptography_keyStore::client::Client>,
900) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
901 if input.is_none() {
902 return ::std::result::Result::Err(
903 ::aws_smithy_types::error::operation::BuildError::missing_field(
904 "key_store",
905 "key_store is required but was not specified",
906 ),
907 );
908 }
909 if input.is_none() {
910 return ::std::result::Result::Ok(());
911 }
912 let input = input.as_ref().unwrap();
913
914 validate_aws_Pcryptography_PmaterialProviders_HKeyStoreReference(input)?;
915 Ok(())
916}
917pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DpartitionId(
918 input: &::std::option::Option<::std::string::String>,
919) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
920 if input.is_none() {
921 return ::std::result::Result::Ok(());
922 }
923 let input = input.as_ref().unwrap();
924
925 Ok(())
926}
927pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsHierarchicalKeyringInput_DttlSeconds(
928 input: &::std::option::Option<::std::primitive::i64>,
929) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
930 if input.is_none() {
931 return ::std::result::Result::Err(
932 ::aws_smithy_types::error::operation::BuildError::missing_field(
933 "ttl_seconds",
934 "ttl_seconds is required but was not specified",
935 ),
936 );
937 }
938 if input.is_none() {
939 return ::std::result::Result::Ok(());
940 }
941 let input = input.as_ref().unwrap();
942
943 if !(0..).contains(input) {
944 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
945 "ttl_seconds",
946 "ttl_seconds failed to satisfy constraint: Member must be greater than or equal to 0",
947 ));
948 }
949 Ok(())
950}
951pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsKeyringInput(
952 input: &crate::deps::aws_cryptography_materialProviders::types::CreateAwsKmsKeyringInput,
953) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
954 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsKeyringInput_DkmsKeyId(
955 &input.r#kms_key_id,
956 )?;
957 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsKeyringInput_DkmsClient(
958 &input.r#kms_client,
959 )?;
960 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsKeyringInput_DgrantTokens(
961 &input.r#grant_tokens,
962 )?;
963 Ok(())
964}
965pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsKeyringInput_for_AwsCryptographicMaterialProviders_CreateAwsKmsKeyring(
966 input: &crate::deps::aws_cryptography_materialProviders::operation::create_aws_kms_keyring::CreateAwsKmsKeyringInput,
967) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
968 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsKeyringInput_DkmsKeyId(
969 &input.r#kms_key_id,
970 )?;
971 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsKeyringInput_DkmsClient(
972 &input.r#kms_client,
973 )?;
974 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsKeyringInput_DgrantTokens(
975 &input.r#grant_tokens,
976 )?;
977 Ok(())
978}
979pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsKeyringInput_DgrantTokens(
980 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
981) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
982 if input.is_none() {
983 return ::std::result::Result::Ok(());
984 }
985 let input = input.as_ref().unwrap();
986
987 validate_aws_Pcryptography_PmaterialProviders_HGrantTokenList(input)?;
988 Ok(())
989}
990pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsKeyringInput_DkmsClient(
991 input: &::std::option::Option<crate::deps::com_amazonaws_kms::client::Client>,
992) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
993 if input.is_none() {
994 return ::std::result::Result::Err(
995 ::aws_smithy_types::error::operation::BuildError::missing_field(
996 "kms_client",
997 "kms_client is required but was not specified",
998 ),
999 );
1000 }
1001 if input.is_none() {
1002 return ::std::result::Result::Ok(());
1003 }
1004 let input = input.as_ref().unwrap();
1005
1006 validate_aws_Pcryptography_PmaterialProviders_HKmsClientReference(input)?;
1007 Ok(())
1008}
1009pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsKeyringInput_DkmsKeyId(
1010 input: &::std::option::Option<::std::string::String>,
1011) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1012 if input.is_none() {
1013 return ::std::result::Result::Err(
1014 ::aws_smithy_types::error::operation::BuildError::missing_field(
1015 "kms_key_id",
1016 "kms_key_id is required but was not specified",
1017 ),
1018 );
1019 }
1020 if input.is_none() {
1021 return ::std::result::Result::Ok(());
1022 }
1023 let input = input.as_ref().unwrap();
1024
1025 Ok(())
1026}
1027pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryKeyringInput(
1028 input: &crate::deps::aws_cryptography_materialProviders::types::CreateAwsKmsMrkDiscoveryKeyringInput,
1029) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1030 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryKeyringInput_DkmsClient(
1031 &input.r#kms_client,
1032 )?;
1033 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryKeyringInput_DdiscoveryFilter(&input.r#discovery_filter)?;
1034 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryKeyringInput_DgrantTokens(&input.r#grant_tokens)?;
1035 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryKeyringInput_Dregion(
1036 &input.r#region,
1037 )?;
1038 Ok(())
1039}
1040pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryKeyringInput_for_AwsCryptographicMaterialProviders_CreateAwsKmsMrkDiscoveryKeyring(
1041 input: &crate::deps::aws_cryptography_materialProviders::operation::create_aws_kms_mrk_discovery_keyring::CreateAwsKmsMrkDiscoveryKeyringInput,
1042) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1043 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryKeyringInput_DkmsClient(
1044 &input.r#kms_client,
1045 )?;
1046 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryKeyringInput_DdiscoveryFilter(&input.r#discovery_filter)?;
1047 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryKeyringInput_DgrantTokens(&input.r#grant_tokens)?;
1048 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryKeyringInput_Dregion(
1049 &input.r#region,
1050 )?;
1051 Ok(())
1052}
1053pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryKeyringInput_DdiscoveryFilter(
1054 input: &::std::option::Option<
1055 crate::deps::aws_cryptography_materialProviders::types::DiscoveryFilter,
1056 >,
1057) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1058 if input.is_none() {
1059 return ::std::result::Result::Ok(());
1060 }
1061 let input = input.as_ref().unwrap();
1062
1063 validate_aws_Pcryptography_PmaterialProviders_HDiscoveryFilter(input)?;
1064 Ok(())
1065}
1066pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryKeyringInput_DgrantTokens(
1067 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
1068) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1069 if input.is_none() {
1070 return ::std::result::Result::Ok(());
1071 }
1072 let input = input.as_ref().unwrap();
1073
1074 validate_aws_Pcryptography_PmaterialProviders_HGrantTokenList(input)?;
1075 Ok(())
1076}
1077pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryKeyringInput_DkmsClient(
1078 input: &::std::option::Option<crate::deps::com_amazonaws_kms::client::Client>,
1079) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1080 if input.is_none() {
1081 return ::std::result::Result::Err(
1082 ::aws_smithy_types::error::operation::BuildError::missing_field(
1083 "kms_client",
1084 "kms_client is required but was not specified",
1085 ),
1086 );
1087 }
1088 if input.is_none() {
1089 return ::std::result::Result::Ok(());
1090 }
1091 let input = input.as_ref().unwrap();
1092
1093 validate_aws_Pcryptography_PmaterialProviders_HKmsClientReference(input)?;
1094 Ok(())
1095}
1096pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryKeyringInput_Dregion(
1097 input: &::std::option::Option<::std::string::String>,
1098) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1099 if input.is_none() {
1100 return ::std::result::Result::Err(
1101 ::aws_smithy_types::error::operation::BuildError::missing_field(
1102 "region",
1103 "region is required but was not specified",
1104 ),
1105 );
1106 }
1107 if input.is_none() {
1108 return ::std::result::Result::Ok(());
1109 }
1110 let input = input.as_ref().unwrap();
1111
1112 Ok(())
1113}
1114pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryMultiKeyringInput(
1115 input: &crate::deps::aws_cryptography_materialProviders::types::CreateAwsKmsMrkDiscoveryMultiKeyringInput,
1116) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1117 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryMultiKeyringInput_Dregions(&input.r#regions)?;
1118 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryMultiKeyringInput_DdiscoveryFilter(&input.r#discovery_filter)?;
1119 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryMultiKeyringInput_DclientSupplier(&input.r#client_supplier)?;
1120 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryMultiKeyringInput_DgrantTokens(&input.r#grant_tokens)?;
1121 Ok(())
1122}
1123pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryMultiKeyringInput_for_AwsCryptographicMaterialProviders_CreateAwsKmsMrkDiscoveryMultiKeyring(
1124 input: &crate::deps::aws_cryptography_materialProviders::operation::create_aws_kms_mrk_discovery_multi_keyring::CreateAwsKmsMrkDiscoveryMultiKeyringInput,
1125) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1126 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryMultiKeyringInput_Dregions(&input.r#regions)?;
1127 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryMultiKeyringInput_DdiscoveryFilter(&input.r#discovery_filter)?;
1128 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryMultiKeyringInput_DclientSupplier(&input.r#client_supplier)?;
1129 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryMultiKeyringInput_DgrantTokens(&input.r#grant_tokens)?;
1130 Ok(())
1131}
1132pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryMultiKeyringInput_DclientSupplier(
1133 input: &::std::option::Option<
1134 crate::deps::aws_cryptography_materialProviders::types::client_supplier::ClientSupplierRef,
1135 >,
1136) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1137 if input.is_none() {
1138 return ::std::result::Result::Ok(());
1139 }
1140 let input = input.as_ref().unwrap();
1141
1142 validate_aws_Pcryptography_PmaterialProviders_HClientSupplierReference(input)?;
1143 Ok(())
1144}
1145pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryMultiKeyringInput_DdiscoveryFilter(
1146 input: &::std::option::Option<
1147 crate::deps::aws_cryptography_materialProviders::types::DiscoveryFilter,
1148 >,
1149) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1150 if input.is_none() {
1151 return ::std::result::Result::Ok(());
1152 }
1153 let input = input.as_ref().unwrap();
1154
1155 validate_aws_Pcryptography_PmaterialProviders_HDiscoveryFilter(input)?;
1156 Ok(())
1157}
1158pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryMultiKeyringInput_DgrantTokens(
1159 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
1160) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1161 if input.is_none() {
1162 return ::std::result::Result::Ok(());
1163 }
1164 let input = input.as_ref().unwrap();
1165
1166 validate_aws_Pcryptography_PmaterialProviders_HGrantTokenList(input)?;
1167 Ok(())
1168}
1169pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkDiscoveryMultiKeyringInput_Dregions(
1170 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
1171) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1172 if input.is_none() {
1173 return ::std::result::Result::Err(
1174 ::aws_smithy_types::error::operation::BuildError::missing_field(
1175 "regions",
1176 "regions is required but was not specified",
1177 ),
1178 );
1179 }
1180 if input.is_none() {
1181 return ::std::result::Result::Ok(());
1182 }
1183 let input = input.as_ref().unwrap();
1184
1185 validate_aws_Pcryptography_PmaterialProviders_HRegionList(input)?;
1186 Ok(())
1187}
1188pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkKeyringInput(
1189 input: &crate::deps::aws_cryptography_materialProviders::types::CreateAwsKmsMrkKeyringInput,
1190) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1191 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkKeyringInput_DkmsKeyId(
1192 &input.r#kms_key_id,
1193 )?;
1194 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkKeyringInput_DkmsClient(
1195 &input.r#kms_client,
1196 )?;
1197 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkKeyringInput_DgrantTokens(
1198 &input.r#grant_tokens,
1199 )?;
1200 Ok(())
1201}
1202pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkKeyringInput_for_AwsCryptographicMaterialProviders_CreateAwsKmsMrkKeyring(
1203 input: &crate::deps::aws_cryptography_materialProviders::operation::create_aws_kms_mrk_keyring::CreateAwsKmsMrkKeyringInput,
1204) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1205 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkKeyringInput_DkmsKeyId(
1206 &input.r#kms_key_id,
1207 )?;
1208 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkKeyringInput_DkmsClient(
1209 &input.r#kms_client,
1210 )?;
1211 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkKeyringInput_DgrantTokens(
1212 &input.r#grant_tokens,
1213 )?;
1214 Ok(())
1215}
1216pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkKeyringInput_DgrantTokens(
1217 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
1218) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1219 if input.is_none() {
1220 return ::std::result::Result::Ok(());
1221 }
1222 let input = input.as_ref().unwrap();
1223
1224 validate_aws_Pcryptography_PmaterialProviders_HGrantTokenList(input)?;
1225 Ok(())
1226}
1227pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkKeyringInput_DkmsClient(
1228 input: &::std::option::Option<crate::deps::com_amazonaws_kms::client::Client>,
1229) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1230 if input.is_none() {
1231 return ::std::result::Result::Err(
1232 ::aws_smithy_types::error::operation::BuildError::missing_field(
1233 "kms_client",
1234 "kms_client is required but was not specified",
1235 ),
1236 );
1237 }
1238 if input.is_none() {
1239 return ::std::result::Result::Ok(());
1240 }
1241 let input = input.as_ref().unwrap();
1242
1243 validate_aws_Pcryptography_PmaterialProviders_HKmsClientReference(input)?;
1244 Ok(())
1245}
1246pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkKeyringInput_DkmsKeyId(
1247 input: &::std::option::Option<::std::string::String>,
1248) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1249 if input.is_none() {
1250 return ::std::result::Result::Err(
1251 ::aws_smithy_types::error::operation::BuildError::missing_field(
1252 "kms_key_id",
1253 "kms_key_id is required but was not specified",
1254 ),
1255 );
1256 }
1257 if input.is_none() {
1258 return ::std::result::Result::Ok(());
1259 }
1260 let input = input.as_ref().unwrap();
1261
1262 Ok(())
1263}
1264pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkMultiKeyringInput(
1265 input: &crate::deps::aws_cryptography_materialProviders::types::CreateAwsKmsMrkMultiKeyringInput,
1266) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1267 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkMultiKeyringInput_Dgenerator(
1268 &input.r#generator,
1269 )?;
1270 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkMultiKeyringInput_DkmsKeyIds(
1271 &input.r#kms_key_ids,
1272 )?;
1273 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkMultiKeyringInput_DclientSupplier(&input.r#client_supplier)?;
1274 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkMultiKeyringInput_DgrantTokens(
1275 &input.r#grant_tokens,
1276 )?;
1277 Ok(())
1278}
1279pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkMultiKeyringInput_for_AwsCryptographicMaterialProviders_CreateAwsKmsMrkMultiKeyring(
1280 input: &crate::deps::aws_cryptography_materialProviders::operation::create_aws_kms_mrk_multi_keyring::CreateAwsKmsMrkMultiKeyringInput,
1281) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1282 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkMultiKeyringInput_Dgenerator(
1283 &input.r#generator,
1284 )?;
1285 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkMultiKeyringInput_DkmsKeyIds(
1286 &input.r#kms_key_ids,
1287 )?;
1288 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkMultiKeyringInput_DclientSupplier(&input.r#client_supplier)?;
1289 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkMultiKeyringInput_DgrantTokens(
1290 &input.r#grant_tokens,
1291 )?;
1292 Ok(())
1293}
1294pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkMultiKeyringInput_DclientSupplier(
1295 input: &::std::option::Option<
1296 crate::deps::aws_cryptography_materialProviders::types::client_supplier::ClientSupplierRef,
1297 >,
1298) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1299 if input.is_none() {
1300 return ::std::result::Result::Ok(());
1301 }
1302 let input = input.as_ref().unwrap();
1303
1304 validate_aws_Pcryptography_PmaterialProviders_HClientSupplierReference(input)?;
1305 Ok(())
1306}
1307pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkMultiKeyringInput_Dgenerator(
1308 input: &::std::option::Option<::std::string::String>,
1309) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1310 if input.is_none() {
1311 return ::std::result::Result::Ok(());
1312 }
1313 let input = input.as_ref().unwrap();
1314
1315 Ok(())
1316}
1317pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkMultiKeyringInput_DgrantTokens(
1318 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
1319) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1320 if input.is_none() {
1321 return ::std::result::Result::Ok(());
1322 }
1323 let input = input.as_ref().unwrap();
1324
1325 validate_aws_Pcryptography_PmaterialProviders_HGrantTokenList(input)?;
1326 Ok(())
1327}
1328pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMrkMultiKeyringInput_DkmsKeyIds(
1329 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
1330) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1331 if input.is_none() {
1332 return ::std::result::Result::Ok(());
1333 }
1334 let input = input.as_ref().unwrap();
1335
1336 validate_aws_Pcryptography_PmaterialProviders_HKmsKeyIdList(input)?;
1337 Ok(())
1338}
1339pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMultiKeyringInput(
1340 input: &crate::deps::aws_cryptography_materialProviders::types::CreateAwsKmsMultiKeyringInput,
1341) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1342 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMultiKeyringInput_Dgenerator(
1343 &input.r#generator,
1344 )?;
1345 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMultiKeyringInput_DkmsKeyIds(
1346 &input.r#kms_key_ids,
1347 )?;
1348 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMultiKeyringInput_DclientSupplier(
1349 &input.r#client_supplier,
1350 )?;
1351 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMultiKeyringInput_DgrantTokens(
1352 &input.r#grant_tokens,
1353 )?;
1354 Ok(())
1355}
1356pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMultiKeyringInput_for_AwsCryptographicMaterialProviders_CreateAwsKmsMultiKeyring(
1357 input: &crate::deps::aws_cryptography_materialProviders::operation::create_aws_kms_multi_keyring::CreateAwsKmsMultiKeyringInput,
1358) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1359 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMultiKeyringInput_Dgenerator(
1360 &input.r#generator,
1361 )?;
1362 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMultiKeyringInput_DkmsKeyIds(
1363 &input.r#kms_key_ids,
1364 )?;
1365 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMultiKeyringInput_DclientSupplier(
1366 &input.r#client_supplier,
1367 )?;
1368 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMultiKeyringInput_DgrantTokens(
1369 &input.r#grant_tokens,
1370 )?;
1371 Ok(())
1372}
1373pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMultiKeyringInput_DclientSupplier(
1374 input: &::std::option::Option<
1375 crate::deps::aws_cryptography_materialProviders::types::client_supplier::ClientSupplierRef,
1376 >,
1377) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1378 if input.is_none() {
1379 return ::std::result::Result::Ok(());
1380 }
1381 let input = input.as_ref().unwrap();
1382
1383 validate_aws_Pcryptography_PmaterialProviders_HClientSupplierReference(input)?;
1384 Ok(())
1385}
1386pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMultiKeyringInput_Dgenerator(
1387 input: &::std::option::Option<::std::string::String>,
1388) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1389 if input.is_none() {
1390 return ::std::result::Result::Ok(());
1391 }
1392 let input = input.as_ref().unwrap();
1393
1394 Ok(())
1395}
1396pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMultiKeyringInput_DgrantTokens(
1397 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
1398) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1399 if input.is_none() {
1400 return ::std::result::Result::Ok(());
1401 }
1402 let input = input.as_ref().unwrap();
1403
1404 validate_aws_Pcryptography_PmaterialProviders_HGrantTokenList(input)?;
1405 Ok(())
1406}
1407pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsMultiKeyringInput_DkmsKeyIds(
1408 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
1409) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1410 if input.is_none() {
1411 return ::std::result::Result::Ok(());
1412 }
1413 let input = input.as_ref().unwrap();
1414
1415 validate_aws_Pcryptography_PmaterialProviders_HKmsKeyIdList(input)?;
1416 Ok(())
1417}
1418pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput(
1419 input: &crate::deps::aws_cryptography_materialProviders::types::CreateAwsKmsRsaKeyringInput,
1420) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1421 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DpublicKey(
1422 &input.r#public_key,
1423 )?;
1424 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DkmsKeyId(
1425 &input.r#kms_key_id,
1426 )?;
1427 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DencryptionAlgorithm(&input.r#encryption_algorithm)?;
1428 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DkmsClient(
1429 &input.r#kms_client,
1430 )?;
1431 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DgrantTokens(
1432 &input.r#grant_tokens,
1433 )?;
1434 Ok(())
1435}
1436pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_for_AwsCryptographicMaterialProviders_CreateAwsKmsRsaKeyring(
1437 input: &crate::deps::aws_cryptography_materialProviders::operation::create_aws_kms_rsa_keyring::CreateAwsKmsRsaKeyringInput,
1438) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1439 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DpublicKey(
1440 &input.r#public_key,
1441 )?;
1442 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DkmsKeyId(
1443 &input.r#kms_key_id,
1444 )?;
1445 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DencryptionAlgorithm(&input.r#encryption_algorithm)?;
1446 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DkmsClient(
1447 &input.r#kms_client,
1448 )?;
1449 validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DgrantTokens(
1450 &input.r#grant_tokens,
1451 )?;
1452 Ok(())
1453}
1454pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DencryptionAlgorithm(
1455 input: &::std::option::Option<aws_sdk_kms::types::EncryptionAlgorithmSpec>,
1456) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1457 if input.is_none() {
1458 return ::std::result::Result::Err(
1459 ::aws_smithy_types::error::operation::BuildError::missing_field(
1460 "encryption_algorithm",
1461 "encryption_algorithm is required but was not specified",
1462 ),
1463 );
1464 }
1465 if input.is_none() {
1466 return ::std::result::Result::Ok(());
1467 }
1468 let input = input.as_ref().unwrap();
1469
1470 Ok(())
1471}
1472pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DgrantTokens(
1473 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
1474) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1475 if input.is_none() {
1476 return ::std::result::Result::Ok(());
1477 }
1478 let input = input.as_ref().unwrap();
1479
1480 validate_aws_Pcryptography_PmaterialProviders_HGrantTokenList(input)?;
1481 Ok(())
1482}
1483pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DkmsClient(
1484 input: &::std::option::Option<crate::deps::com_amazonaws_kms::client::Client>,
1485) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1486 if input.is_none() {
1487 return ::std::result::Result::Ok(());
1488 }
1489 let input = input.as_ref().unwrap();
1490
1491 validate_aws_Pcryptography_PmaterialProviders_HKmsClientReference(input)?;
1492 Ok(())
1493}
1494pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DkmsKeyId(
1495 input: &::std::option::Option<::std::string::String>,
1496) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1497 if input.is_none() {
1498 return ::std::result::Result::Err(
1499 ::aws_smithy_types::error::operation::BuildError::missing_field(
1500 "kms_key_id",
1501 "kms_key_id is required but was not specified",
1502 ),
1503 );
1504 }
1505 if input.is_none() {
1506 return ::std::result::Result::Ok(());
1507 }
1508 let input = input.as_ref().unwrap();
1509
1510 Ok(())
1511}
1512pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateAwsKmsRsaKeyringInput_DpublicKey(
1513 input: &::std::option::Option<::aws_smithy_types::Blob>,
1514) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1515 if input.is_none() {
1516 return ::std::result::Result::Ok(());
1517 }
1518 let input = input.as_ref().unwrap();
1519
1520 Ok(())
1521}
1522pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsCacheInput(
1523 input: &crate::deps::aws_cryptography_materialProviders::types::CreateCryptographicMaterialsCacheInput,
1524) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1525 validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsCacheInput_Dcache(
1526 &input.r#cache,
1527 )?;
1528 Ok(())
1529}
1530pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsCacheInput_for_AwsCryptographicMaterialProviders_CreateCryptographicMaterialsCache(
1531 input: &crate::deps::aws_cryptography_materialProviders::operation::create_cryptographic_materials_cache::CreateCryptographicMaterialsCacheInput,
1532) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1533 validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsCacheInput_Dcache(
1534 &input.r#cache,
1535 )?;
1536 Ok(())
1537}
1538pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsCacheInput_Dcache(
1539 input: &::std::option::Option<
1540 crate::deps::aws_cryptography_materialProviders::types::CacheType,
1541 >,
1542) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1543 if input.is_none() {
1544 return ::std::result::Result::Err(
1545 ::aws_smithy_types::error::operation::BuildError::missing_field(
1546 "cache",
1547 "cache is required but was not specified",
1548 ),
1549 );
1550 }
1551 if input.is_none() {
1552 return ::std::result::Result::Ok(());
1553 }
1554 let input = input.as_ref().unwrap();
1555
1556 validate_aws_Pcryptography_PmaterialProviders_HCacheType(input)?;
1557 Ok(())
1558}
1559pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsCacheOutput(
1560 input: &crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_cache::CryptographicMaterialsCacheRef,
1561) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1562 validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsCacheOutput_DmaterialsCache(&Some(input.clone()))?;
1563 Ok(())
1564}
1565pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsCacheOutput_for_AwsCryptographicMaterialProviders_CreateCryptographicMaterialsCache(
1566 input: &crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_cache::CryptographicMaterialsCacheRef,
1567) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1568 validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsCacheOutput_DmaterialsCache(&Some(input.clone()))?;
1569 Ok(())
1570}
1571pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsCacheOutput_DmaterialsCache(
1572 input: &::std::option::Option<crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_cache::CryptographicMaterialsCacheRef>,
1573) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1574 if input.is_none() {
1575 return ::std::result::Result::Err(
1576 ::aws_smithy_types::error::operation::BuildError::missing_field(
1577 "materials_cache",
1578 "materials_cache is required but was not specified",
1579 ),
1580 );
1581 }
1582 if input.is_none() {
1583 return ::std::result::Result::Ok(());
1584 }
1585 let input = input.as_ref().unwrap();
1586
1587 validate_aws_Pcryptography_PmaterialProviders_HCryptographicMaterialsCacheReference(input)?;
1588 Ok(())
1589}
1590pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsManagerOutput(
1591 input: &crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_manager::CryptographicMaterialsManagerRef,
1592) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1593 validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsManagerOutput_DmaterialsManager(&Some(input.clone()))?;
1594 Ok(())
1595}
1596pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsManagerOutput_for_AwsCryptographicMaterialProviders_CreateDefaultCryptographicMaterialsManager(
1597 input: &crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_manager::CryptographicMaterialsManagerRef,
1598) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1599 validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsManagerOutput_DmaterialsManager(&Some(input.clone()))?;
1600 Ok(())
1601}
1602pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateCryptographicMaterialsManagerOutput_DmaterialsManager(
1603 input: &::std::option::Option<crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_manager::CryptographicMaterialsManagerRef>,
1604) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1605 if input.is_none() {
1606 return ::std::result::Result::Err(
1607 ::aws_smithy_types::error::operation::BuildError::missing_field(
1608 "materials_manager",
1609 "materials_manager is required but was not specified",
1610 ),
1611 );
1612 }
1613 if input.is_none() {
1614 return ::std::result::Result::Ok(());
1615 }
1616 let input = input.as_ref().unwrap();
1617
1618 validate_aws_Pcryptography_PmaterialProviders_HCryptographicMaterialsManagerReference(input)?;
1619 Ok(())
1620}
1621pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateDefaultClientSupplierInput(
1622 input: &crate::deps::aws_cryptography_materialProviders::types::CreateDefaultClientSupplierInput,
1623) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1624 Ok(())
1625}
1626pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateDefaultClientSupplierInput_for_AwsCryptographicMaterialProviders_CreateDefaultClientSupplier(
1627 input: &crate::deps::aws_cryptography_materialProviders::operation::create_default_client_supplier::CreateDefaultClientSupplierInput,
1628) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1629 Ok(())
1630}
1631pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateDefaultClientSupplierOutput(
1632 input: &crate::deps::aws_cryptography_materialProviders::types::client_supplier::ClientSupplierRef,
1633) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1634 validate_aws_Pcryptography_PmaterialProviders_HCreateDefaultClientSupplierOutput_Dclient(
1635 &Some(input.clone()),
1636 )?;
1637 Ok(())
1638}
1639pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateDefaultClientSupplierOutput_for_AwsCryptographicMaterialProviders_CreateDefaultClientSupplier(
1640 input: &crate::deps::aws_cryptography_materialProviders::types::client_supplier::ClientSupplierRef,
1641) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1642 validate_aws_Pcryptography_PmaterialProviders_HCreateDefaultClientSupplierOutput_Dclient(
1643 &Some(input.clone()),
1644 )?;
1645 Ok(())
1646}
1647pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateDefaultClientSupplierOutput_Dclient(
1648 input: &::std::option::Option<
1649 crate::deps::aws_cryptography_materialProviders::types::client_supplier::ClientSupplierRef,
1650 >,
1651) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1652 if input.is_none() {
1653 return ::std::result::Result::Err(
1654 ::aws_smithy_types::error::operation::BuildError::missing_field(
1655 "client",
1656 "client is required but was not specified",
1657 ),
1658 );
1659 }
1660 if input.is_none() {
1661 return ::std::result::Result::Ok(());
1662 }
1663 let input = input.as_ref().unwrap();
1664
1665 validate_aws_Pcryptography_PmaterialProviders_HClientSupplierReference(input)?;
1666 Ok(())
1667}
1668pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateDefaultCryptographicMaterialsManagerInput(
1669 input: &crate::deps::aws_cryptography_materialProviders::types::CreateDefaultCryptographicMaterialsManagerInput,
1670) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1671 validate_aws_Pcryptography_PmaterialProviders_HCreateDefaultCryptographicMaterialsManagerInput_Dkeyring(&input.r#keyring)?;
1672 Ok(())
1673}
1674pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateDefaultCryptographicMaterialsManagerInput_for_AwsCryptographicMaterialProviders_CreateDefaultCryptographicMaterialsManager(
1675 input: &crate::deps::aws_cryptography_materialProviders::operation::create_default_cryptographic_materials_manager::CreateDefaultCryptographicMaterialsManagerInput,
1676) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1677 validate_aws_Pcryptography_PmaterialProviders_HCreateDefaultCryptographicMaterialsManagerInput_Dkeyring(&input.r#keyring)?;
1678 Ok(())
1679}
1680pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateDefaultCryptographicMaterialsManagerInput_Dkeyring(
1681 input: &::std::option::Option<
1682 crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1683 >,
1684) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1685 if input.is_none() {
1686 return ::std::result::Result::Err(
1687 ::aws_smithy_types::error::operation::BuildError::missing_field(
1688 "keyring",
1689 "keyring is required but was not specified",
1690 ),
1691 );
1692 }
1693 if input.is_none() {
1694 return ::std::result::Result::Ok(());
1695 }
1696 let input = input.as_ref().unwrap();
1697
1698 validate_aws_Pcryptography_PmaterialProviders_HKeyringReference(input)?;
1699 Ok(())
1700}
1701pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput(
1702 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1703) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1704 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1705 input.clone(),
1706 ))?;
1707 Ok(())
1708}
1709pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateRawEcdhKeyring(
1710 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1711) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1712 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1713 input.clone(),
1714 ))?;
1715 Ok(())
1716}
1717pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateAwsKmsKeyring(
1718 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1719) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1720 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1721 input.clone(),
1722 ))?;
1723 Ok(())
1724}
1725pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateAwsKmsHierarchicalKeyring(
1726 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1727) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1728 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1729 input.clone(),
1730 ))?;
1731 Ok(())
1732}
1733pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateRawRsaKeyring(
1734 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1735) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1736 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1737 input.clone(),
1738 ))?;
1739 Ok(())
1740}
1741pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateAwsKmsMrkDiscoveryKeyring(
1742 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1743) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1744 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1745 input.clone(),
1746 ))?;
1747 Ok(())
1748}
1749pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateRawAesKeyring(
1750 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1751) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1752 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1753 input.clone(),
1754 ))?;
1755 Ok(())
1756}
1757pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateAwsKmsMrkKeyring(
1758 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1759) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1760 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1761 input.clone(),
1762 ))?;
1763 Ok(())
1764}
1765pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateAwsKmsRsaKeyring(
1766 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1767) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1768 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1769 input.clone(),
1770 ))?;
1771 Ok(())
1772}
1773pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateAwsKmsDiscoveryKeyring(
1774 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1775) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1776 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1777 input.clone(),
1778 ))?;
1779 Ok(())
1780}
1781pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateAwsKmsMrkMultiKeyring(
1782 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1783) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1784 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1785 input.clone(),
1786 ))?;
1787 Ok(())
1788}
1789pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateAwsKmsDiscoveryMultiKeyring(
1790 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1791) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1792 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1793 input.clone(),
1794 ))?;
1795 Ok(())
1796}
1797pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateAwsKmsEcdhKeyring(
1798 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1799) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1800 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1801 input.clone(),
1802 ))?;
1803 Ok(())
1804}
1805pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateAwsKmsMultiKeyring(
1806 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1807) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1808 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1809 input.clone(),
1810 ))?;
1811 Ok(())
1812}
1813pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateMultiKeyring(
1814 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1815) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1816 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1817 input.clone(),
1818 ))?;
1819 Ok(())
1820}
1821pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_for_AwsCryptographicMaterialProviders_CreateAwsKmsMrkDiscoveryMultiKeyring(
1822 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1823) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1824 validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(&Some(
1825 input.clone(),
1826 ))?;
1827 Ok(())
1828}
1829pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateKeyringOutput_Dkeyring(
1830 input: &::std::option::Option<
1831 crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1832 >,
1833) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1834 if input.is_none() {
1835 return ::std::result::Result::Err(
1836 ::aws_smithy_types::error::operation::BuildError::missing_field(
1837 "keyring",
1838 "keyring is required but was not specified",
1839 ),
1840 );
1841 }
1842 if input.is_none() {
1843 return ::std::result::Result::Ok(());
1844 }
1845 let input = input.as_ref().unwrap();
1846
1847 validate_aws_Pcryptography_PmaterialProviders_HKeyringReference(input)?;
1848 Ok(())
1849}
1850pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateMultiKeyringInput(
1851 input: &crate::deps::aws_cryptography_materialProviders::types::CreateMultiKeyringInput,
1852) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1853 validate_aws_Pcryptography_PmaterialProviders_HCreateMultiKeyringInput_Dgenerator(
1854 &input.r#generator,
1855 )?;
1856 validate_aws_Pcryptography_PmaterialProviders_HCreateMultiKeyringInput_DchildKeyrings(
1857 &input.r#child_keyrings,
1858 )?;
1859 Ok(())
1860}
1861pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateMultiKeyringInput_for_AwsCryptographicMaterialProviders_CreateMultiKeyring(
1862 input: &crate::deps::aws_cryptography_materialProviders::operation::create_multi_keyring::CreateMultiKeyringInput,
1863) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1864 validate_aws_Pcryptography_PmaterialProviders_HCreateMultiKeyringInput_Dgenerator(
1865 &input.r#generator,
1866 )?;
1867 validate_aws_Pcryptography_PmaterialProviders_HCreateMultiKeyringInput_DchildKeyrings(
1868 &input.r#child_keyrings,
1869 )?;
1870 Ok(())
1871}
1872pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateMultiKeyringInput_DchildKeyrings(
1873 input: &::std::option::Option<
1874 ::std::vec::Vec<
1875 crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1876 >,
1877 >,
1878) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1879 if input.is_none() {
1880 return ::std::result::Result::Err(
1881 ::aws_smithy_types::error::operation::BuildError::missing_field(
1882 "child_keyrings",
1883 "child_keyrings is required but was not specified",
1884 ),
1885 );
1886 }
1887 if input.is_none() {
1888 return ::std::result::Result::Ok(());
1889 }
1890 let input = input.as_ref().unwrap();
1891
1892 validate_aws_Pcryptography_PmaterialProviders_HKeyringList(input)?;
1893 Ok(())
1894}
1895pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateMultiKeyringInput_Dgenerator(
1896 input: &::std::option::Option<
1897 crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
1898 >,
1899) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1900 if input.is_none() {
1901 return ::std::result::Result::Ok(());
1902 }
1903 let input = input.as_ref().unwrap();
1904
1905 validate_aws_Pcryptography_PmaterialProviders_HKeyringReference(input)?;
1906 Ok(())
1907}
1908pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawAesKeyringInput(
1909 input: &crate::deps::aws_cryptography_materialProviders::types::CreateRawAesKeyringInput,
1910) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1911 validate_aws_Pcryptography_PmaterialProviders_HCreateRawAesKeyringInput_DkeyNamespace(
1912 &input.r#key_namespace,
1913 )?;
1914 validate_aws_Pcryptography_PmaterialProviders_HCreateRawAesKeyringInput_DkeyName(
1915 &input.r#key_name,
1916 )?;
1917 validate_aws_Pcryptography_PmaterialProviders_HCreateRawAesKeyringInput_DwrappingKey(
1918 &input.r#wrapping_key,
1919 )?;
1920 validate_aws_Pcryptography_PmaterialProviders_HCreateRawAesKeyringInput_DwrappingAlg(
1921 &input.r#wrapping_alg,
1922 )?;
1923 Ok(())
1924}
1925pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawAesKeyringInput_for_AwsCryptographicMaterialProviders_CreateRawAesKeyring(
1926 input: &crate::deps::aws_cryptography_materialProviders::operation::create_raw_aes_keyring::CreateRawAesKeyringInput,
1927) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1928 validate_aws_Pcryptography_PmaterialProviders_HCreateRawAesKeyringInput_DkeyNamespace(
1929 &input.r#key_namespace,
1930 )?;
1931 validate_aws_Pcryptography_PmaterialProviders_HCreateRawAesKeyringInput_DkeyName(
1932 &input.r#key_name,
1933 )?;
1934 validate_aws_Pcryptography_PmaterialProviders_HCreateRawAesKeyringInput_DwrappingKey(
1935 &input.r#wrapping_key,
1936 )?;
1937 validate_aws_Pcryptography_PmaterialProviders_HCreateRawAesKeyringInput_DwrappingAlg(
1938 &input.r#wrapping_alg,
1939 )?;
1940 Ok(())
1941}
1942pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawAesKeyringInput_DkeyName(
1943 input: &::std::option::Option<::std::string::String>,
1944) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1945 if input.is_none() {
1946 return ::std::result::Result::Err(
1947 ::aws_smithy_types::error::operation::BuildError::missing_field(
1948 "key_name",
1949 "key_name is required but was not specified",
1950 ),
1951 );
1952 }
1953 if input.is_none() {
1954 return ::std::result::Result::Ok(());
1955 }
1956 let input = input.as_ref().unwrap();
1957
1958 Ok(())
1959}
1960pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawAesKeyringInput_DkeyNamespace(
1961 input: &::std::option::Option<::std::string::String>,
1962) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1963 if input.is_none() {
1964 return ::std::result::Result::Err(
1965 ::aws_smithy_types::error::operation::BuildError::missing_field(
1966 "key_namespace",
1967 "key_namespace is required but was not specified",
1968 ),
1969 );
1970 }
1971 if input.is_none() {
1972 return ::std::result::Result::Ok(());
1973 }
1974 let input = input.as_ref().unwrap();
1975
1976 Ok(())
1977}
1978pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawAesKeyringInput_DwrappingAlg(
1979 input: &::std::option::Option<
1980 crate::deps::aws_cryptography_materialProviders::types::AesWrappingAlg,
1981 >,
1982) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1983 if input.is_none() {
1984 return ::std::result::Result::Err(
1985 ::aws_smithy_types::error::operation::BuildError::missing_field(
1986 "wrapping_alg",
1987 "wrapping_alg is required but was not specified",
1988 ),
1989 );
1990 }
1991 if input.is_none() {
1992 return ::std::result::Result::Ok(());
1993 }
1994 let input = input.as_ref().unwrap();
1995
1996 Ok(())
1997}
1998pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawAesKeyringInput_DwrappingKey(
1999 input: &::std::option::Option<::aws_smithy_types::Blob>,
2000) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2001 if input.is_none() {
2002 return ::std::result::Result::Err(
2003 ::aws_smithy_types::error::operation::BuildError::missing_field(
2004 "wrapping_key",
2005 "wrapping_key is required but was not specified",
2006 ),
2007 );
2008 }
2009 if input.is_none() {
2010 return ::std::result::Result::Ok(());
2011 }
2012 let input = input.as_ref().unwrap();
2013
2014 Ok(())
2015}
2016pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawEcdhKeyringInput(
2017 input: &crate::deps::aws_cryptography_materialProviders::types::CreateRawEcdhKeyringInput,
2018) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2019 validate_aws_Pcryptography_PmaterialProviders_HCreateRawEcdhKeyringInput_DKeyAgreementScheme(
2020 &input.r#key_agreement_scheme,
2021 )?;
2022 validate_aws_Pcryptography_PmaterialProviders_HCreateRawEcdhKeyringInput_DcurveSpec(
2023 &input.r#curve_spec,
2024 )?;
2025 Ok(())
2026}
2027pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawEcdhKeyringInput_for_AwsCryptographicMaterialProviders_CreateRawEcdhKeyring(
2028 input: &crate::deps::aws_cryptography_materialProviders::operation::create_raw_ecdh_keyring::CreateRawEcdhKeyringInput,
2029) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2030 validate_aws_Pcryptography_PmaterialProviders_HCreateRawEcdhKeyringInput_DKeyAgreementScheme(
2031 &input.r#key_agreement_scheme,
2032 )?;
2033 validate_aws_Pcryptography_PmaterialProviders_HCreateRawEcdhKeyringInput_DcurveSpec(
2034 &input.r#curve_spec,
2035 )?;
2036 Ok(())
2037}
2038pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawEcdhKeyringInput_DcurveSpec(
2039 input: &::std::option::Option<crate::deps::aws_cryptography_primitives::types::EcdhCurveSpec>,
2040) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2041 if input.is_none() {
2042 return ::std::result::Result::Err(
2043 ::aws_smithy_types::error::operation::BuildError::missing_field(
2044 "curve_spec",
2045 "curve_spec is required but was not specified",
2046 ),
2047 );
2048 }
2049 if input.is_none() {
2050 return ::std::result::Result::Ok(());
2051 }
2052 let input = input.as_ref().unwrap();
2053
2054 Ok(())
2055}
2056pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawEcdhKeyringInput_DKeyAgreementScheme(
2057 input: &::std::option::Option<
2058 crate::deps::aws_cryptography_materialProviders::types::RawEcdhStaticConfigurations,
2059 >,
2060) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2061 if input.is_none() {
2062 return ::std::result::Result::Err(
2063 ::aws_smithy_types::error::operation::BuildError::missing_field(
2064 "key_agreement_scheme",
2065 "key_agreement_scheme is required but was not specified",
2066 ),
2067 );
2068 }
2069 if input.is_none() {
2070 return ::std::result::Result::Ok(());
2071 }
2072 let input = input.as_ref().unwrap();
2073
2074 validate_aws_Pcryptography_PmaterialProviders_HRawEcdhStaticConfigurations(input)?;
2075 Ok(())
2076}
2077pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput(
2078 input: &crate::deps::aws_cryptography_materialProviders::types::CreateRawRsaKeyringInput,
2079) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2080 validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DkeyNamespace(
2081 &input.r#key_namespace,
2082 )?;
2083 validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DkeyName(
2084 &input.r#key_name,
2085 )?;
2086 validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DpaddingScheme(
2087 &input.r#padding_scheme,
2088 )?;
2089 validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DpublicKey(
2090 &input.r#public_key,
2091 )?;
2092 validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DprivateKey(
2093 &input.r#private_key,
2094 )?;
2095 Ok(())
2096}
2097pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_for_AwsCryptographicMaterialProviders_CreateRawRsaKeyring(
2098 input: &crate::deps::aws_cryptography_materialProviders::operation::create_raw_rsa_keyring::CreateRawRsaKeyringInput,
2099) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2100 validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DkeyNamespace(
2101 &input.r#key_namespace,
2102 )?;
2103 validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DkeyName(
2104 &input.r#key_name,
2105 )?;
2106 validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DpaddingScheme(
2107 &input.r#padding_scheme,
2108 )?;
2109 validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DpublicKey(
2110 &input.r#public_key,
2111 )?;
2112 validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DprivateKey(
2113 &input.r#private_key,
2114 )?;
2115 Ok(())
2116}
2117pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DkeyName(
2118 input: &::std::option::Option<::std::string::String>,
2119) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2120 if input.is_none() {
2121 return ::std::result::Result::Err(
2122 ::aws_smithy_types::error::operation::BuildError::missing_field(
2123 "key_name",
2124 "key_name is required but was not specified",
2125 ),
2126 );
2127 }
2128 if input.is_none() {
2129 return ::std::result::Result::Ok(());
2130 }
2131 let input = input.as_ref().unwrap();
2132
2133 Ok(())
2134}
2135pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DkeyNamespace(
2136 input: &::std::option::Option<::std::string::String>,
2137) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2138 if input.is_none() {
2139 return ::std::result::Result::Err(
2140 ::aws_smithy_types::error::operation::BuildError::missing_field(
2141 "key_namespace",
2142 "key_namespace is required but was not specified",
2143 ),
2144 );
2145 }
2146 if input.is_none() {
2147 return ::std::result::Result::Ok(());
2148 }
2149 let input = input.as_ref().unwrap();
2150
2151 Ok(())
2152}
2153pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DpaddingScheme(
2154 input: &::std::option::Option<
2155 crate::deps::aws_cryptography_materialProviders::types::PaddingScheme,
2156 >,
2157) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2158 if input.is_none() {
2159 return ::std::result::Result::Err(
2160 ::aws_smithy_types::error::operation::BuildError::missing_field(
2161 "padding_scheme",
2162 "padding_scheme is required but was not specified",
2163 ),
2164 );
2165 }
2166 if input.is_none() {
2167 return ::std::result::Result::Ok(());
2168 }
2169 let input = input.as_ref().unwrap();
2170
2171 Ok(())
2172}
2173pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DprivateKey(
2174 input: &::std::option::Option<::aws_smithy_types::Blob>,
2175) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2176 if input.is_none() {
2177 return ::std::result::Result::Ok(());
2178 }
2179 let input = input.as_ref().unwrap();
2180
2181 Ok(())
2182}
2183pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRawRsaKeyringInput_DpublicKey(
2184 input: &::std::option::Option<::aws_smithy_types::Blob>,
2185) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2186 if input.is_none() {
2187 return ::std::result::Result::Ok(());
2188 }
2189 let input = input.as_ref().unwrap();
2190
2191 Ok(())
2192}
2193pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMInput(
2194 input: &crate::deps::aws_cryptography_materialProviders::types::CreateRequiredEncryptionContextCmmInput,
2195) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2196 validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMInput_DunderlyingCMM(&input.r#underlying_cmm)?;
2197 validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMInput_Dkeyring(&input.r#keyring)?;
2198 validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMInput_DrequiredEncryptionContextKeys(&input.r#required_encryption_context_keys)?;
2199 Ok(())
2200}
2201pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMInput_for_AwsCryptographicMaterialProviders_CreateRequiredEncryptionContextCMM(
2202 input: &crate::deps::aws_cryptography_materialProviders::operation::create_required_encryption_context_cmm::CreateRequiredEncryptionContextCmmInput,
2203) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2204 validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMInput_DunderlyingCMM(&input.r#underlying_cmm)?;
2205 validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMInput_Dkeyring(&input.r#keyring)?;
2206 validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMInput_DrequiredEncryptionContextKeys(&input.r#required_encryption_context_keys)?;
2207 Ok(())
2208}
2209pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMInput_Dkeyring(
2210 input: &::std::option::Option<
2211 crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
2212 >,
2213) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2214 if input.is_none() {
2215 return ::std::result::Result::Ok(());
2216 }
2217 let input = input.as_ref().unwrap();
2218
2219 validate_aws_Pcryptography_PmaterialProviders_HKeyringReference(input)?;
2220 Ok(())
2221}
2222pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMInput_DrequiredEncryptionContextKeys(
2223 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
2224) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2225 if input.is_none() {
2226 return ::std::result::Result::Err(
2227 ::aws_smithy_types::error::operation::BuildError::missing_field(
2228 "required_encryption_context_keys",
2229 "required_encryption_context_keys is required but was not specified",
2230 ),
2231 );
2232 }
2233 if input.is_none() {
2234 return ::std::result::Result::Ok(());
2235 }
2236 let input = input.as_ref().unwrap();
2237
2238 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContextKeys(input)?;
2239 Ok(())
2240}
2241pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMInput_DunderlyingCMM(
2242 input: &::std::option::Option<crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_manager::CryptographicMaterialsManagerRef>,
2243) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2244 if input.is_none() {
2245 return ::std::result::Result::Ok(());
2246 }
2247 let input = input.as_ref().unwrap();
2248
2249 validate_aws_Pcryptography_PmaterialProviders_HCryptographicMaterialsManagerReference(input)?;
2250 Ok(())
2251}
2252pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMOutput(
2253 input: &crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_manager::CryptographicMaterialsManagerRef,
2254) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2255 validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMOutput_DmaterialsManager(&Some(input.clone()))?;
2256 Ok(())
2257}
2258pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMOutput_for_AwsCryptographicMaterialProviders_CreateRequiredEncryptionContextCMM(
2259 input: &crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_manager::CryptographicMaterialsManagerRef,
2260) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2261 validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMOutput_DmaterialsManager(&Some(input.clone()))?;
2262 Ok(())
2263}
2264pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCreateRequiredEncryptionContextCMMOutput_DmaterialsManager(
2265 input: &::std::option::Option<crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_manager::CryptographicMaterialsManagerRef>,
2266) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2267 if input.is_none() {
2268 return ::std::result::Result::Err(
2269 ::aws_smithy_types::error::operation::BuildError::missing_field(
2270 "materials_manager",
2271 "materials_manager is required but was not specified",
2272 ),
2273 );
2274 }
2275 if input.is_none() {
2276 return ::std::result::Result::Ok(());
2277 }
2278 let input = input.as_ref().unwrap();
2279
2280 validate_aws_Pcryptography_PmaterialProviders_HCryptographicMaterialsManagerReference(input)?;
2281 Ok(())
2282}
2283pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCryptographicMaterialsCacheReference(
2284 input: &crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_cache::CryptographicMaterialsCacheRef,
2285) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2286 Ok(())
2287}
2288pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCryptographicMaterialsManagerReference(
2289 input: &crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_manager::CryptographicMaterialsManagerRef,
2290) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2291 Ok(())
2292}
2293pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials(
2294 input: &crate::deps::aws_cryptography_materialProviders::types::DecryptionMaterials,
2295) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2296 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DalgorithmSuite(
2297 &input.r#algorithm_suite,
2298 )?;
2299 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DencryptionContext(
2300 &input.r#encryption_context,
2301 )?;
2302 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DrequiredEncryptionContextKeys(&input.r#required_encryption_context_keys)?;
2303 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DplaintextDataKey(
2304 &input.r#plaintext_data_key,
2305 )?;
2306 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DverificationKey(
2307 &input.r#verification_key,
2308 )?;
2309 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DsymmetricSigningKey(
2310 &input.r#symmetric_signing_key,
2311 )?;
2312 Ok(())
2313}
2314pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_for_AwsCryptographicMaterialProviders_DecryptionMaterialsWithPlaintextDataKey(
2315 input: &crate::deps::aws_cryptography_materialProviders::operation::decryption_materials_with_plaintext_data_key::DecryptionMaterials,
2316) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2317 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DalgorithmSuite(
2318 &input.r#algorithm_suite,
2319 )?;
2320 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DencryptionContext(
2321 &input.r#encryption_context,
2322 )?;
2323 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DrequiredEncryptionContextKeys(&input.r#required_encryption_context_keys)?;
2324 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DplaintextDataKey(
2325 &input.r#plaintext_data_key,
2326 )?;
2327 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DverificationKey(
2328 &input.r#verification_key,
2329 )?;
2330 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DsymmetricSigningKey(
2331 &input.r#symmetric_signing_key,
2332 )?;
2333 Ok(())
2334}
2335pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DalgorithmSuite(
2336 input: &::std::option::Option<
2337 crate::deps::aws_cryptography_materialProviders::types::AlgorithmSuiteInfo,
2338 >,
2339) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2340 if input.is_none() {
2341 return ::std::result::Result::Err(
2342 ::aws_smithy_types::error::operation::BuildError::missing_field(
2343 "algorithm_suite",
2344 "algorithm_suite is required but was not specified",
2345 ),
2346 );
2347 }
2348 if input.is_none() {
2349 return ::std::result::Result::Ok(());
2350 }
2351 let input = input.as_ref().unwrap();
2352
2353 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo(input)?;
2354 Ok(())
2355}
2356pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DencryptionContext(
2357 input: &::std::option::Option<
2358 ::std::collections::HashMap<::std::string::String, ::std::string::String>,
2359 >,
2360) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2361 if input.is_none() {
2362 return ::std::result::Result::Err(
2363 ::aws_smithy_types::error::operation::BuildError::missing_field(
2364 "encryption_context",
2365 "encryption_context is required but was not specified",
2366 ),
2367 );
2368 }
2369 if input.is_none() {
2370 return ::std::result::Result::Ok(());
2371 }
2372 let input = input.as_ref().unwrap();
2373
2374 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext(input)?;
2375 Ok(())
2376}
2377pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DplaintextDataKey(
2378 input: &::std::option::Option<::aws_smithy_types::Blob>,
2379) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2380 if input.is_none() {
2381 return ::std::result::Result::Ok(());
2382 }
2383 let input = input.as_ref().unwrap();
2384
2385 Ok(())
2386}
2387pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DrequiredEncryptionContextKeys(
2388 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
2389) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2390 if input.is_none() {
2391 return ::std::result::Result::Err(
2392 ::aws_smithy_types::error::operation::BuildError::missing_field(
2393 "required_encryption_context_keys",
2394 "required_encryption_context_keys is required but was not specified",
2395 ),
2396 );
2397 }
2398 if input.is_none() {
2399 return ::std::result::Result::Ok(());
2400 }
2401 let input = input.as_ref().unwrap();
2402
2403 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContextKeys(input)?;
2404 Ok(())
2405}
2406pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DsymmetricSigningKey(
2407 input: &::std::option::Option<::aws_smithy_types::Blob>,
2408) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2409 if input.is_none() {
2410 return ::std::result::Result::Ok(());
2411 }
2412 let input = input.as_ref().unwrap();
2413
2414 Ok(())
2415}
2416pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials_DverificationKey(
2417 input: &::std::option::Option<::aws_smithy_types::Blob>,
2418) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2419 if input.is_none() {
2420 return ::std::result::Result::Ok(());
2421 }
2422 let input = input.as_ref().unwrap();
2423
2424 Ok(())
2425}
2426pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput(
2427 input: &crate::deps::aws_cryptography_materialProviders::types::DecryptMaterialsInput,
2428) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2429 validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DalgorithmSuiteId(
2430 &input.r#algorithm_suite_id,
2431 )?;
2432 validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DcommitmentPolicy(
2433 &input.r#commitment_policy,
2434 )?;
2435 validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DencryptedDataKeys(
2436 &input.r#encrypted_data_keys,
2437 )?;
2438 validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DencryptionContext(
2439 &input.r#encryption_context,
2440 )?;
2441 validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DreproducedEncryptionContext(&input.r#reproduced_encryption_context)?;
2442 Ok(())
2443}
2444pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_for_CryptographicMaterialsManager_DecryptMaterials(
2445 input: &crate::deps::aws_cryptography_materialProviders::operation::decrypt_materials::DecryptMaterialsInput,
2446) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2447 validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DalgorithmSuiteId(
2448 &input.r#algorithm_suite_id,
2449 )?;
2450 validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DcommitmentPolicy(
2451 &input.r#commitment_policy,
2452 )?;
2453 validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DencryptedDataKeys(
2454 &input.r#encrypted_data_keys,
2455 )?;
2456 validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DencryptionContext(
2457 &input.r#encryption_context,
2458 )?;
2459 validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DreproducedEncryptionContext(&input.r#reproduced_encryption_context)?;
2460 Ok(())
2461}
2462pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DalgorithmSuiteId(
2463 input: &::std::option::Option<
2464 crate::deps::aws_cryptography_materialProviders::types::AlgorithmSuiteId,
2465 >,
2466) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2467 if input.is_none() {
2468 return ::std::result::Result::Err(
2469 ::aws_smithy_types::error::operation::BuildError::missing_field(
2470 "algorithm_suite_id",
2471 "algorithm_suite_id is required but was not specified",
2472 ),
2473 );
2474 }
2475 if input.is_none() {
2476 return ::std::result::Result::Ok(());
2477 }
2478 let input = input.as_ref().unwrap();
2479
2480 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteId(input)?;
2481 Ok(())
2482}
2483pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DcommitmentPolicy(
2484 input: &::std::option::Option<
2485 crate::deps::aws_cryptography_materialProviders::types::CommitmentPolicy,
2486 >,
2487) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2488 if input.is_none() {
2489 return ::std::result::Result::Err(
2490 ::aws_smithy_types::error::operation::BuildError::missing_field(
2491 "commitment_policy",
2492 "commitment_policy is required but was not specified",
2493 ),
2494 );
2495 }
2496 if input.is_none() {
2497 return ::std::result::Result::Ok(());
2498 }
2499 let input = input.as_ref().unwrap();
2500
2501 validate_aws_Pcryptography_PmaterialProviders_HCommitmentPolicy(input)?;
2502 Ok(())
2503}
2504pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DencryptedDataKeys(
2505 input: &::std::option::Option<
2506 ::std::vec::Vec<crate::deps::aws_cryptography_materialProviders::types::EncryptedDataKey>,
2507 >,
2508) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2509 if input.is_none() {
2510 return ::std::result::Result::Err(
2511 ::aws_smithy_types::error::operation::BuildError::missing_field(
2512 "encrypted_data_keys",
2513 "encrypted_data_keys is required but was not specified",
2514 ),
2515 );
2516 }
2517 if input.is_none() {
2518 return ::std::result::Result::Ok(());
2519 }
2520 let input = input.as_ref().unwrap();
2521
2522 validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKeyList(input)?;
2523 Ok(())
2524}
2525pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DencryptionContext(
2526 input: &::std::option::Option<
2527 ::std::collections::HashMap<::std::string::String, ::std::string::String>,
2528 >,
2529) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2530 if input.is_none() {
2531 return ::std::result::Result::Err(
2532 ::aws_smithy_types::error::operation::BuildError::missing_field(
2533 "encryption_context",
2534 "encryption_context is required but was not specified",
2535 ),
2536 );
2537 }
2538 if input.is_none() {
2539 return ::std::result::Result::Ok(());
2540 }
2541 let input = input.as_ref().unwrap();
2542
2543 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext(input)?;
2544 Ok(())
2545}
2546pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsInput_DreproducedEncryptionContext(
2547 input: &::std::option::Option<
2548 ::std::collections::HashMap<::std::string::String, ::std::string::String>,
2549 >,
2550) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2551 if input.is_none() {
2552 return ::std::result::Result::Ok(());
2553 }
2554 let input = input.as_ref().unwrap();
2555
2556 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext(input)?;
2557 Ok(())
2558}
2559pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsOutput(
2560 input: &crate::deps::aws_cryptography_materialProviders::types::DecryptMaterialsOutput,
2561) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2562 validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsOutput_DdecryptionMaterials(
2563 &input.r#decryption_materials,
2564 )?;
2565 Ok(())
2566}
2567pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsOutput_for_CryptographicMaterialsManager_DecryptMaterials(
2568 input: &crate::deps::aws_cryptography_materialProviders::operation::decrypt_materials::DecryptMaterialsOutput,
2569) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2570 validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsOutput_DdecryptionMaterials(
2571 &input.r#decryption_materials,
2572 )?;
2573 Ok(())
2574}
2575pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDecryptMaterialsOutput_DdecryptionMaterials(
2576 input: &::std::option::Option<
2577 crate::deps::aws_cryptography_materialProviders::types::DecryptionMaterials,
2578 >,
2579) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2580 if input.is_none() {
2581 return ::std::result::Result::Err(
2582 ::aws_smithy_types::error::operation::BuildError::missing_field(
2583 "decryption_materials",
2584 "decryption_materials is required but was not specified",
2585 ),
2586 );
2587 }
2588 if input.is_none() {
2589 return ::std::result::Result::Ok(());
2590 }
2591 let input = input.as_ref().unwrap();
2592
2593 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials(input)?;
2594 Ok(())
2595}
2596pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDefaultCache(
2597 input: &crate::deps::aws_cryptography_materialProviders::types::DefaultCache,
2598) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2599 validate_aws_Pcryptography_PmaterialProviders_HDefaultCache_DentryCapacity(
2600 &input.r#entry_capacity,
2601 )?;
2602 Ok(())
2603}
2604pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDefaultCache_DentryCapacity(
2605 input: &::std::option::Option<::std::primitive::i32>,
2606) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2607 if input.is_none() {
2608 return ::std::result::Result::Err(
2609 ::aws_smithy_types::error::operation::BuildError::missing_field(
2610 "entry_capacity",
2611 "entry_capacity is required but was not specified",
2612 ),
2613 );
2614 }
2615 if input.is_none() {
2616 return ::std::result::Result::Ok(());
2617 }
2618 let input = input.as_ref().unwrap();
2619
2620 if !(1..).contains(input) {
2621 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
2622 "entry_capacity",
2623 "entry_capacity failed to satisfy constraint: Member must be greater than or equal to 1",
2624 ));
2625 }
2626 Ok(())
2627}
2628pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDeleteCacheEntryInput(
2629 input: &crate::deps::aws_cryptography_materialProviders::types::DeleteCacheEntryInput,
2630) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2631 validate_aws_Pcryptography_PmaterialProviders_HDeleteCacheEntryInput_Didentifier(
2632 &input.r#identifier,
2633 )?;
2634 Ok(())
2635}
2636pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDeleteCacheEntryInput_for_CryptographicMaterialsCache_DeleteCacheEntry(
2637 input: &crate::deps::aws_cryptography_materialProviders::operation::delete_cache_entry::DeleteCacheEntryInput,
2638) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2639 validate_aws_Pcryptography_PmaterialProviders_HDeleteCacheEntryInput_Didentifier(
2640 &input.r#identifier,
2641 )?;
2642 Ok(())
2643}
2644pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDeleteCacheEntryInput_Didentifier(
2645 input: &::std::option::Option<::aws_smithy_types::Blob>,
2646) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2647 if input.is_none() {
2648 return ::std::result::Result::Err(
2649 ::aws_smithy_types::error::operation::BuildError::missing_field(
2650 "identifier",
2651 "identifier is required but was not specified",
2652 ),
2653 );
2654 }
2655 if input.is_none() {
2656 return ::std::result::Result::Ok(());
2657 }
2658 let input = input.as_ref().unwrap();
2659
2660 Ok(())
2661}
2662pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDerivationAlgorithm(
2663 input: &crate::deps::aws_cryptography_materialProviders::types::DerivationAlgorithm,
2664) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2665 if let crate::deps::aws_cryptography_materialProviders::types::DerivationAlgorithm::Hkdf(
2666 ref inner,
2667 ) = &input
2668 {
2669 validate_aws_Pcryptography_PmaterialProviders_HDerivationAlgorithm_DHKDF(inner)?;
2670 }
2671 if let crate::deps::aws_cryptography_materialProviders::types::DerivationAlgorithm::Identity(
2672 ref inner,
2673 ) = &input
2674 {
2675 validate_aws_Pcryptography_PmaterialProviders_HDerivationAlgorithm_DIDENTITY(inner)?;
2676 }
2677 if let crate::deps::aws_cryptography_materialProviders::types::DerivationAlgorithm::None(
2678 ref inner,
2679 ) = &input
2680 {
2681 validate_aws_Pcryptography_PmaterialProviders_HDerivationAlgorithm_DNone(inner)?;
2682 }
2683 Ok(())
2684}
2685pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDerivationAlgorithm_DHKDF(
2686 input: &crate::deps::aws_cryptography_materialProviders::types::Hkdf,
2687) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2688 validate_aws_Pcryptography_PmaterialProviders_HHKDF(input)?;
2689 Ok(())
2690}
2691pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDerivationAlgorithm_DIDENTITY(
2692 input: &crate::deps::aws_cryptography_materialProviders::types::Identity,
2693) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2694 validate_aws_Pcryptography_PmaterialProviders_HIDENTITY(input)?;
2695 Ok(())
2696}
2697pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDerivationAlgorithm_DNone(
2698 input: &crate::deps::aws_cryptography_materialProviders::types::None,
2699) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2700 validate_aws_Pcryptography_PmaterialProviders_HNone(input)?;
2701 Ok(())
2702}
2703pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDIRECT__KEY__WRAPPING(
2704 input: &crate::deps::aws_cryptography_materialProviders::types::DirectKeyWrapping,
2705) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2706 Ok(())
2707}
2708pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDiscoveryFilter(
2709 input: &crate::deps::aws_cryptography_materialProviders::types::DiscoveryFilter,
2710) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2711 validate_aws_Pcryptography_PmaterialProviders_HDiscoveryFilter_DaccountIds(
2712 &input.r#account_ids,
2713 )?;
2714 validate_aws_Pcryptography_PmaterialProviders_HDiscoveryFilter_Dpartition(&input.r#partition)?;
2715 Ok(())
2716}
2717pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDiscoveryFilter_DaccountIds(
2718 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
2719) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2720 if input.is_none() {
2721 return ::std::result::Result::Err(
2722 ::aws_smithy_types::error::operation::BuildError::missing_field(
2723 "account_ids",
2724 "account_ids is required but was not specified",
2725 ),
2726 );
2727 }
2728 if input.is_none() {
2729 return ::std::result::Result::Ok(());
2730 }
2731 let input = input.as_ref().unwrap();
2732
2733 validate_aws_Pcryptography_PmaterialProviders_HAccountIdList(input)?;
2734 Ok(())
2735}
2736pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HDiscoveryFilter_Dpartition(
2737 input: &::std::option::Option<::std::string::String>,
2738) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2739 if input.is_none() {
2740 return ::std::result::Result::Err(
2741 ::aws_smithy_types::error::operation::BuildError::missing_field(
2742 "partition",
2743 "partition is required but was not specified",
2744 ),
2745 );
2746 }
2747 if input.is_none() {
2748 return ::std::result::Result::Ok(());
2749 }
2750 let input = input.as_ref().unwrap();
2751
2752 Ok(())
2753}
2754pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HECDSA(
2755 input: &crate::deps::aws_cryptography_materialProviders::types::Ecdsa,
2756) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2757 validate_aws_Pcryptography_PmaterialProviders_HECDSA_Dcurve(&input.r#curve)?;
2758 Ok(())
2759}
2760pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HECDSA_Dcurve(
2761 input: &::std::option::Option<
2762 crate::deps::aws_cryptography_primitives::types::EcdsaSignatureAlgorithm,
2763 >,
2764) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2765 if input.is_none() {
2766 return ::std::result::Result::Err(
2767 ::aws_smithy_types::error::operation::BuildError::missing_field(
2768 "curve",
2769 "curve is required but was not specified",
2770 ),
2771 );
2772 }
2773 if input.is_none() {
2774 return ::std::result::Result::Ok(());
2775 }
2776 let input = input.as_ref().unwrap();
2777
2778 Ok(())
2779}
2780pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEdkWrappingAlgorithm(
2781 input: &crate::deps::aws_cryptography_materialProviders::types::EdkWrappingAlgorithm,
2782) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2783 if let crate::deps::aws_cryptography_materialProviders::types::EdkWrappingAlgorithm::DirectKeyWrapping(ref inner) = &input {
2784 validate_aws_Pcryptography_PmaterialProviders_HEdkWrappingAlgorithm_DDIRECT__KEY__WRAPPING(inner)?;
2785}
2786 if let crate::deps::aws_cryptography_materialProviders::types::EdkWrappingAlgorithm::IntermediateKeyWrapping(ref inner) = &input {
2787 validate_aws_Pcryptography_PmaterialProviders_HEdkWrappingAlgorithm_DIntermediateKeyWrapping(inner)?;
2788}
2789 Ok(())
2790}
2791pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEdkWrappingAlgorithm_DDIRECT__KEY__WRAPPING(
2792 input: &crate::deps::aws_cryptography_materialProviders::types::DirectKeyWrapping,
2793) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2794 validate_aws_Pcryptography_PmaterialProviders_HDIRECT__KEY__WRAPPING(input)?;
2795 Ok(())
2796}
2797pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEdkWrappingAlgorithm_DIntermediateKeyWrapping(
2798 input: &crate::deps::aws_cryptography_materialProviders::types::IntermediateKeyWrapping,
2799) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2800 validate_aws_Pcryptography_PmaterialProviders_HIntermediateKeyWrapping(input)?;
2801 Ok(())
2802}
2803pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncrypt(
2804 input: &crate::deps::aws_cryptography_materialProviders::types::Encrypt,
2805) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2806 if let crate::deps::aws_cryptography_materialProviders::types::Encrypt::AesGcm(ref inner) =
2807 &input
2808 {
2809 validate_aws_Pcryptography_PmaterialProviders_HEncrypt_DAES__GCM(inner)?;
2810 }
2811 Ok(())
2812}
2813pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncrypt_DAES__GCM(
2814 input: &crate::deps::aws_cryptography_primitives::types::AesGcm,
2815) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2816 validate_aws_Pcryptography_Pprimitives_HAES__GCM(input)?;
2817 Ok(())
2818}
2819pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey(
2820 input: &crate::deps::aws_cryptography_materialProviders::types::EncryptedDataKey,
2821) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2822 validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey_DkeyProviderId(
2823 &input.r#key_provider_id,
2824 )?;
2825 validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey_DkeyProviderInfo(
2826 &input.r#key_provider_info,
2827 )?;
2828 validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey_Dciphertext(
2829 &input.r#ciphertext,
2830 )?;
2831 Ok(())
2832}
2833pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey_Dciphertext(
2834 input: &::std::option::Option<::aws_smithy_types::Blob>,
2835) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2836 if input.is_none() {
2837 return ::std::result::Result::Err(
2838 ::aws_smithy_types::error::operation::BuildError::missing_field(
2839 "ciphertext",
2840 "ciphertext is required but was not specified",
2841 ),
2842 );
2843 }
2844 if input.is_none() {
2845 return ::std::result::Result::Ok(());
2846 }
2847 let input = input.as_ref().unwrap();
2848
2849 Ok(())
2850}
2851pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey_DkeyProviderId(
2852 input: &::std::option::Option<::std::string::String>,
2853) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2854 if input.is_none() {
2855 return ::std::result::Result::Err(
2856 ::aws_smithy_types::error::operation::BuildError::missing_field(
2857 "key_provider_id",
2858 "key_provider_id is required but was not specified",
2859 ),
2860 );
2861 }
2862 if input.is_none() {
2863 return ::std::result::Result::Ok(());
2864 }
2865 let input = input.as_ref().unwrap();
2866
2867 Ok(())
2868}
2869pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey_DkeyProviderInfo(
2870 input: &::std::option::Option<::aws_smithy_types::Blob>,
2871) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2872 if input.is_none() {
2873 return ::std::result::Result::Err(
2874 ::aws_smithy_types::error::operation::BuildError::missing_field(
2875 "key_provider_info",
2876 "key_provider_info is required but was not specified",
2877 ),
2878 );
2879 }
2880 if input.is_none() {
2881 return ::std::result::Result::Ok(());
2882 }
2883 let input = input.as_ref().unwrap();
2884
2885 Ok(())
2886}
2887pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKeyList(
2888 input: &::std::vec::Vec<
2889 crate::deps::aws_cryptography_materialProviders::types::EncryptedDataKey,
2890 >,
2891) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2892 for inner in input.iter() {
2893 validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKeyList_Dmember(inner)?;
2894 }
2895 Ok(())
2896}
2897pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKeyList_Dmember(
2898 input: &crate::deps::aws_cryptography_materialProviders::types::EncryptedDataKey,
2899) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2900 validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey(input)?;
2901 Ok(())
2902}
2903pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext(
2904 input: &::std::collections::HashMap<::std::string::String, ::std::string::String>,
2905) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2906 for (inner_key, inner_val) in input.iter() {
2907 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext_Dkey(inner_key)?;
2908 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext_Dvalue(inner_val)?;
2909 }
2910 Ok(())
2911}
2912pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext_Dkey(
2913 input: &::std::string::String,
2914) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2915 Ok(())
2916}
2917pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext_Dvalue(
2918 input: &::std::string::String,
2919) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2920 Ok(())
2921}
2922pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionContextKeys(
2923 input: &::std::vec::Vec<::std::string::String>,
2924) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2925 for inner in input.iter() {
2926 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContextKeys_Dmember(inner)?;
2927 }
2928 Ok(())
2929}
2930pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionContextKeys_Dmember(
2931 input: &::std::string::String,
2932) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2933 Ok(())
2934}
2935pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials(
2936 input: &crate::deps::aws_cryptography_materialProviders::types::EncryptionMaterials,
2937) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2938 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DalgorithmSuite(
2939 &input.r#algorithm_suite,
2940 )?;
2941 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DencryptionContext(
2942 &input.r#encryption_context,
2943 )?;
2944 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DencryptedDataKeys(
2945 &input.r#encrypted_data_keys,
2946 )?;
2947 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DrequiredEncryptionContextKeys(&input.r#required_encryption_context_keys)?;
2948 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DplaintextDataKey(
2949 &input.r#plaintext_data_key,
2950 )?;
2951 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DsigningKey(
2952 &input.r#signing_key,
2953 )?;
2954 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DsymmetricSigningKeys(
2955 &input.r#symmetric_signing_keys,
2956 )?;
2957 Ok(())
2958}
2959pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_for_AwsCryptographicMaterialProviders_EncryptionMaterialsHasPlaintextDataKey(
2960 input: &crate::deps::aws_cryptography_materialProviders::operation::encryption_materials_has_plaintext_data_key::EncryptionMaterials,
2961) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2962 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DalgorithmSuite(
2963 &input.r#algorithm_suite,
2964 )?;
2965 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DencryptionContext(
2966 &input.r#encryption_context,
2967 )?;
2968 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DencryptedDataKeys(
2969 &input.r#encrypted_data_keys,
2970 )?;
2971 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DrequiredEncryptionContextKeys(&input.r#required_encryption_context_keys)?;
2972 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DplaintextDataKey(
2973 &input.r#plaintext_data_key,
2974 )?;
2975 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DsigningKey(
2976 &input.r#signing_key,
2977 )?;
2978 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DsymmetricSigningKeys(
2979 &input.r#symmetric_signing_keys,
2980 )?;
2981 Ok(())
2982}
2983pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DalgorithmSuite(
2984 input: &::std::option::Option<
2985 crate::deps::aws_cryptography_materialProviders::types::AlgorithmSuiteInfo,
2986 >,
2987) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
2988 if input.is_none() {
2989 return ::std::result::Result::Err(
2990 ::aws_smithy_types::error::operation::BuildError::missing_field(
2991 "algorithm_suite",
2992 "algorithm_suite is required but was not specified",
2993 ),
2994 );
2995 }
2996 if input.is_none() {
2997 return ::std::result::Result::Ok(());
2998 }
2999 let input = input.as_ref().unwrap();
3000
3001 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteInfo(input)?;
3002 Ok(())
3003}
3004pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DencryptedDataKeys(
3005 input: &::std::option::Option<
3006 ::std::vec::Vec<crate::deps::aws_cryptography_materialProviders::types::EncryptedDataKey>,
3007 >,
3008) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3009 if input.is_none() {
3010 return ::std::result::Result::Err(
3011 ::aws_smithy_types::error::operation::BuildError::missing_field(
3012 "encrypted_data_keys",
3013 "encrypted_data_keys is required but was not specified",
3014 ),
3015 );
3016 }
3017 if input.is_none() {
3018 return ::std::result::Result::Ok(());
3019 }
3020 let input = input.as_ref().unwrap();
3021
3022 validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKeyList(input)?;
3023 Ok(())
3024}
3025pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DencryptionContext(
3026 input: &::std::option::Option<
3027 ::std::collections::HashMap<::std::string::String, ::std::string::String>,
3028 >,
3029) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3030 if input.is_none() {
3031 return ::std::result::Result::Err(
3032 ::aws_smithy_types::error::operation::BuildError::missing_field(
3033 "encryption_context",
3034 "encryption_context is required but was not specified",
3035 ),
3036 );
3037 }
3038 if input.is_none() {
3039 return ::std::result::Result::Ok(());
3040 }
3041 let input = input.as_ref().unwrap();
3042
3043 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext(input)?;
3044 Ok(())
3045}
3046pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DplaintextDataKey(
3047 input: &::std::option::Option<::aws_smithy_types::Blob>,
3048) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3049 if input.is_none() {
3050 return ::std::result::Result::Ok(());
3051 }
3052 let input = input.as_ref().unwrap();
3053
3054 Ok(())
3055}
3056pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DrequiredEncryptionContextKeys(
3057 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
3058) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3059 if input.is_none() {
3060 return ::std::result::Result::Err(
3061 ::aws_smithy_types::error::operation::BuildError::missing_field(
3062 "required_encryption_context_keys",
3063 "required_encryption_context_keys is required but was not specified",
3064 ),
3065 );
3066 }
3067 if input.is_none() {
3068 return ::std::result::Result::Ok(());
3069 }
3070 let input = input.as_ref().unwrap();
3071
3072 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContextKeys(input)?;
3073 Ok(())
3074}
3075pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DsigningKey(
3076 input: &::std::option::Option<::aws_smithy_types::Blob>,
3077) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3078 if input.is_none() {
3079 return ::std::result::Result::Ok(());
3080 }
3081 let input = input.as_ref().unwrap();
3082
3083 Ok(())
3084}
3085pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials_DsymmetricSigningKeys(
3086 input: &::std::option::Option<::std::vec::Vec<::aws_smithy_types::Blob>>,
3087) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3088 if input.is_none() {
3089 return ::std::result::Result::Ok(());
3090 }
3091 let input = input.as_ref().unwrap();
3092
3093 validate_aws_Pcryptography_PmaterialProviders_HSymmetricSigningKeyList(input)?;
3094 Ok(())
3095}
3096pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEphemeralPrivateKeyToStaticPublicKeyInput(
3097 input: &crate::deps::aws_cryptography_materialProviders::types::EphemeralPrivateKeyToStaticPublicKeyInput,
3098) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3099 validate_aws_Pcryptography_PmaterialProviders_HEphemeralPrivateKeyToStaticPublicKeyInput_DrecipientPublicKey(&input.r#recipient_public_key)?;
3100 Ok(())
3101}
3102pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEphemeralPrivateKeyToStaticPublicKeyInput_DrecipientPublicKey(
3103 input: &::std::option::Option<::aws_smithy_types::Blob>,
3104) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3105 if input.is_none() {
3106 return ::std::result::Result::Err(
3107 ::aws_smithy_types::error::operation::BuildError::missing_field(
3108 "recipient_public_key",
3109 "recipient_public_key is required but was not specified",
3110 ),
3111 );
3112 }
3113 if input.is_none() {
3114 return ::std::result::Result::Ok(());
3115 }
3116 let input = input.as_ref().unwrap();
3117
3118 Ok(())
3119}
3120pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetAlgorithmSuiteInfoInput(
3121 input: &::aws_smithy_types::Blob,
3122) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3123 validate_aws_Pcryptography_PmaterialProviders_HGetAlgorithmSuiteInfoInput_DbinaryId(&Some(
3124 input.clone(),
3125 ))?;
3126 Ok(())
3127}
3128pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetAlgorithmSuiteInfoInput_for_AwsCryptographicMaterialProviders_GetAlgorithmSuiteInfo(
3129 input: &crate::deps::aws_cryptography_materialProviders::operation::get_algorithm_suite_info::GetAlgorithmSuiteInfoInput,
3130) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3131 validate_aws_Pcryptography_PmaterialProviders_HGetAlgorithmSuiteInfoInput_DbinaryId(
3132 &input.r#binary_id,
3133 )?;
3134 Ok(())
3135}
3136pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetAlgorithmSuiteInfoInput_DbinaryId(
3137 input: &::std::option::Option<::aws_smithy_types::Blob>,
3138) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3139 if input.is_none() {
3140 return ::std::result::Result::Err(
3141 ::aws_smithy_types::error::operation::BuildError::missing_field(
3142 "binary_id",
3143 "binary_id is required but was not specified",
3144 ),
3145 );
3146 }
3147 if input.is_none() {
3148 return ::std::result::Result::Ok(());
3149 }
3150 let input = input.as_ref().unwrap();
3151
3152 Ok(())
3153}
3154pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetBranchKeyIdInput(
3155 input: &crate::deps::aws_cryptography_materialProviders::types::GetBranchKeyIdInput,
3156) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3157 validate_aws_Pcryptography_PmaterialProviders_HGetBranchKeyIdInput_DencryptionContext(
3158 &input.r#encryption_context,
3159 )?;
3160 Ok(())
3161}
3162pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetBranchKeyIdInput_for_BranchKeyIdSupplier_GetBranchKeyId(
3163 input: &crate::deps::aws_cryptography_materialProviders::operation::get_branch_key_id::GetBranchKeyIdInput,
3164) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3165 validate_aws_Pcryptography_PmaterialProviders_HGetBranchKeyIdInput_DencryptionContext(
3166 &input.r#encryption_context,
3167 )?;
3168 Ok(())
3169}
3170pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetBranchKeyIdInput_DencryptionContext(
3171 input: &::std::option::Option<
3172 ::std::collections::HashMap<::std::string::String, ::std::string::String>,
3173 >,
3174) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3175 if input.is_none() {
3176 return ::std::result::Result::Err(
3177 ::aws_smithy_types::error::operation::BuildError::missing_field(
3178 "encryption_context",
3179 "encryption_context is required but was not specified",
3180 ),
3181 );
3182 }
3183 if input.is_none() {
3184 return ::std::result::Result::Ok(());
3185 }
3186 let input = input.as_ref().unwrap();
3187
3188 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext(input)?;
3189 Ok(())
3190}
3191pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetBranchKeyIdOutput(
3192 input: &crate::deps::aws_cryptography_materialProviders::types::GetBranchKeyIdOutput,
3193) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3194 validate_aws_Pcryptography_PmaterialProviders_HGetBranchKeyIdOutput_DbranchKeyId(
3195 &input.r#branch_key_id,
3196 )?;
3197 Ok(())
3198}
3199pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetBranchKeyIdOutput_for_BranchKeyIdSupplier_GetBranchKeyId(
3200 input: &crate::deps::aws_cryptography_materialProviders::operation::get_branch_key_id::GetBranchKeyIdOutput,
3201) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3202 validate_aws_Pcryptography_PmaterialProviders_HGetBranchKeyIdOutput_DbranchKeyId(
3203 &input.r#branch_key_id,
3204 )?;
3205 Ok(())
3206}
3207pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetBranchKeyIdOutput_DbranchKeyId(
3208 input: &::std::option::Option<::std::string::String>,
3209) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3210 if input.is_none() {
3211 return ::std::result::Result::Err(
3212 ::aws_smithy_types::error::operation::BuildError::missing_field(
3213 "branch_key_id",
3214 "branch_key_id is required but was not specified",
3215 ),
3216 );
3217 }
3218 if input.is_none() {
3219 return ::std::result::Result::Ok(());
3220 }
3221 let input = input.as_ref().unwrap();
3222
3223 Ok(())
3224}
3225pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryInput(
3226 input: &crate::deps::aws_cryptography_materialProviders::types::GetCacheEntryInput,
3227) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3228 validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryInput_Didentifier(
3229 &input.r#identifier,
3230 )?;
3231 validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryInput_DbytesUsed(
3232 &input.r#bytes_used,
3233 )?;
3234 Ok(())
3235}
3236pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryInput_for_CryptographicMaterialsCache_GetCacheEntry(
3237 input: &crate::deps::aws_cryptography_materialProviders::operation::get_cache_entry::GetCacheEntryInput,
3238) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3239 validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryInput_Didentifier(
3240 &input.r#identifier,
3241 )?;
3242 validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryInput_DbytesUsed(
3243 &input.r#bytes_used,
3244 )?;
3245 Ok(())
3246}
3247pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryInput_DbytesUsed(
3248 input: &::std::option::Option<::std::primitive::i64>,
3249) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3250 if input.is_none() {
3251 return ::std::result::Result::Ok(());
3252 }
3253 let input = input.as_ref().unwrap();
3254
3255 Ok(())
3256}
3257pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryInput_Didentifier(
3258 input: &::std::option::Option<::aws_smithy_types::Blob>,
3259) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3260 if input.is_none() {
3261 return ::std::result::Result::Err(
3262 ::aws_smithy_types::error::operation::BuildError::missing_field(
3263 "identifier",
3264 "identifier is required but was not specified",
3265 ),
3266 );
3267 }
3268 if input.is_none() {
3269 return ::std::result::Result::Ok(());
3270 }
3271 let input = input.as_ref().unwrap();
3272
3273 Ok(())
3274}
3275pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput(
3276 input: &crate::deps::aws_cryptography_materialProviders::types::GetCacheEntryOutput,
3277) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3278 validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_Dmaterials(
3279 &input.r#materials,
3280 )?;
3281 validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_DcreationTime(
3282 &input.r#creation_time,
3283 )?;
3284 validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_DexpiryTime(
3285 &input.r#expiry_time,
3286 )?;
3287 validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_DmessagesUsed(
3288 &input.r#messages_used,
3289 )?;
3290 validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_DbytesUsed(
3291 &input.r#bytes_used,
3292 )?;
3293 Ok(())
3294}
3295pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_for_CryptographicMaterialsCache_GetCacheEntry(
3296 input: &crate::deps::aws_cryptography_materialProviders::operation::get_cache_entry::GetCacheEntryOutput,
3297) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3298 validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_Dmaterials(
3299 &input.r#materials,
3300 )?;
3301 validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_DcreationTime(
3302 &input.r#creation_time,
3303 )?;
3304 validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_DexpiryTime(
3305 &input.r#expiry_time,
3306 )?;
3307 validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_DmessagesUsed(
3308 &input.r#messages_used,
3309 )?;
3310 validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_DbytesUsed(
3311 &input.r#bytes_used,
3312 )?;
3313 Ok(())
3314}
3315pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_DbytesUsed(
3316 input: &::std::option::Option<::std::primitive::i32>,
3317) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3318 if input.is_none() {
3319 return ::std::result::Result::Err(
3320 ::aws_smithy_types::error::operation::BuildError::missing_field(
3321 "bytes_used",
3322 "bytes_used is required but was not specified",
3323 ),
3324 );
3325 }
3326 if input.is_none() {
3327 return ::std::result::Result::Ok(());
3328 }
3329 let input = input.as_ref().unwrap();
3330
3331 if !(0..).contains(input) {
3332 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
3333 "bytes_used",
3334 "bytes_used failed to satisfy constraint: Member must be greater than or equal to 0",
3335 ));
3336 }
3337 Ok(())
3338}
3339pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_DcreationTime(
3340 input: &::std::option::Option<::std::primitive::i64>,
3341) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3342 if input.is_none() {
3343 return ::std::result::Result::Err(
3344 ::aws_smithy_types::error::operation::BuildError::missing_field(
3345 "creation_time",
3346 "creation_time is required but was not specified",
3347 ),
3348 );
3349 }
3350 if input.is_none() {
3351 return ::std::result::Result::Ok(());
3352 }
3353 let input = input.as_ref().unwrap();
3354
3355 if !(0..).contains(input) {
3356 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
3357 "creation_time",
3358 "creation_time failed to satisfy constraint: Member must be greater than or equal to 0",
3359 ));
3360 }
3361 Ok(())
3362}
3363pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_DexpiryTime(
3364 input: &::std::option::Option<::std::primitive::i64>,
3365) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3366 if input.is_none() {
3367 return ::std::result::Result::Err(
3368 ::aws_smithy_types::error::operation::BuildError::missing_field(
3369 "expiry_time",
3370 "expiry_time is required but was not specified",
3371 ),
3372 );
3373 }
3374 if input.is_none() {
3375 return ::std::result::Result::Ok(());
3376 }
3377 let input = input.as_ref().unwrap();
3378
3379 if !(0..).contains(input) {
3380 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
3381 "expiry_time",
3382 "expiry_time failed to satisfy constraint: Member must be greater than or equal to 0",
3383 ));
3384 }
3385 Ok(())
3386}
3387pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_Dmaterials(
3388 input: &::std::option::Option<
3389 crate::deps::aws_cryptography_materialProviders::types::Materials,
3390 >,
3391) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3392 if input.is_none() {
3393 return ::std::result::Result::Err(
3394 ::aws_smithy_types::error::operation::BuildError::missing_field(
3395 "materials",
3396 "materials is required but was not specified",
3397 ),
3398 );
3399 }
3400 if input.is_none() {
3401 return ::std::result::Result::Ok(());
3402 }
3403 let input = input.as_ref().unwrap();
3404
3405 validate_aws_Pcryptography_PmaterialProviders_HMaterials(input)?;
3406 Ok(())
3407}
3408pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetCacheEntryOutput_DmessagesUsed(
3409 input: &::std::option::Option<::std::primitive::i32>,
3410) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3411 if input.is_none() {
3412 return ::std::result::Result::Err(
3413 ::aws_smithy_types::error::operation::BuildError::missing_field(
3414 "messages_used",
3415 "messages_used is required but was not specified",
3416 ),
3417 );
3418 }
3419 if input.is_none() {
3420 return ::std::result::Result::Ok(());
3421 }
3422 let input = input.as_ref().unwrap();
3423
3424 if !(0..).contains(input) {
3425 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
3426 "messages_used",
3427 "messages_used failed to satisfy constraint: Member must be greater than or equal to 0",
3428 ));
3429 }
3430 Ok(())
3431}
3432pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetClientInput(
3433 input: &crate::deps::aws_cryptography_materialProviders::types::GetClientInput,
3434) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3435 validate_aws_Pcryptography_PmaterialProviders_HGetClientInput_Dregion(&input.r#region)?;
3436 Ok(())
3437}
3438pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetClientInput_for_ClientSupplier_GetClient(
3439 input: &crate::deps::aws_cryptography_materialProviders::operation::get_client::GetClientInput,
3440) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3441 validate_aws_Pcryptography_PmaterialProviders_HGetClientInput_Dregion(&input.r#region)?;
3442 Ok(())
3443}
3444pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetClientInput_Dregion(
3445 input: &::std::option::Option<::std::string::String>,
3446) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3447 if input.is_none() {
3448 return ::std::result::Result::Err(
3449 ::aws_smithy_types::error::operation::BuildError::missing_field(
3450 "region",
3451 "region is required but was not specified",
3452 ),
3453 );
3454 }
3455 if input.is_none() {
3456 return ::std::result::Result::Ok(());
3457 }
3458 let input = input.as_ref().unwrap();
3459
3460 Ok(())
3461}
3462pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetClientOutput(
3463 input: &crate::deps::com_amazonaws_kms::client::Client,
3464) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3465 validate_aws_Pcryptography_PmaterialProviders_HGetClientOutput_Dclient(&Some(input.clone()))?;
3466 Ok(())
3467}
3468pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetClientOutput_for_ClientSupplier_GetClient(
3469 input: &crate::deps::com_amazonaws_kms::client::Client,
3470) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3471 validate_aws_Pcryptography_PmaterialProviders_HGetClientOutput_Dclient(&Some(input.clone()))?;
3472 Ok(())
3473}
3474pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetClientOutput_Dclient(
3475 input: &::std::option::Option<crate::deps::com_amazonaws_kms::client::Client>,
3476) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3477 if input.is_none() {
3478 return ::std::result::Result::Err(
3479 ::aws_smithy_types::error::operation::BuildError::missing_field(
3480 "client",
3481 "client is required but was not specified",
3482 ),
3483 );
3484 }
3485 if input.is_none() {
3486 return ::std::result::Result::Ok(());
3487 }
3488 let input = input.as_ref().unwrap();
3489
3490 validate_aws_Pcryptography_PmaterialProviders_HKmsClientReference(input)?;
3491 Ok(())
3492}
3493pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput(
3494 input: &crate::deps::aws_cryptography_materialProviders::types::GetEncryptionMaterialsInput,
3495) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3496 validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DencryptionContext(
3497 &input.r#encryption_context,
3498 )?;
3499 validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DcommitmentPolicy(
3500 &input.r#commitment_policy,
3501 )?;
3502 validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DalgorithmSuiteId(
3503 &input.r#algorithm_suite_id,
3504 )?;
3505 validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DmaxPlaintextLength(
3506 &input.r#max_plaintext_length,
3507 )?;
3508 validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DrequiredEncryptionContextKeys(&input.r#required_encryption_context_keys)?;
3509 Ok(())
3510}
3511pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_for_CryptographicMaterialsManager_GetEncryptionMaterials(
3512 input: &crate::deps::aws_cryptography_materialProviders::operation::get_encryption_materials::GetEncryptionMaterialsInput,
3513) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3514 validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DencryptionContext(
3515 &input.r#encryption_context,
3516 )?;
3517 validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DcommitmentPolicy(
3518 &input.r#commitment_policy,
3519 )?;
3520 validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DalgorithmSuiteId(
3521 &input.r#algorithm_suite_id,
3522 )?;
3523 validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DmaxPlaintextLength(
3524 &input.r#max_plaintext_length,
3525 )?;
3526 validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DrequiredEncryptionContextKeys(&input.r#required_encryption_context_keys)?;
3527 Ok(())
3528}
3529pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DalgorithmSuiteId(
3530 input: &::std::option::Option<
3531 crate::deps::aws_cryptography_materialProviders::types::AlgorithmSuiteId,
3532 >,
3533) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3534 if input.is_none() {
3535 return ::std::result::Result::Ok(());
3536 }
3537 let input = input.as_ref().unwrap();
3538
3539 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteId(input)?;
3540 Ok(())
3541}
3542pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DcommitmentPolicy(
3543 input: &::std::option::Option<
3544 crate::deps::aws_cryptography_materialProviders::types::CommitmentPolicy,
3545 >,
3546) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3547 if input.is_none() {
3548 return ::std::result::Result::Err(
3549 ::aws_smithy_types::error::operation::BuildError::missing_field(
3550 "commitment_policy",
3551 "commitment_policy is required but was not specified",
3552 ),
3553 );
3554 }
3555 if input.is_none() {
3556 return ::std::result::Result::Ok(());
3557 }
3558 let input = input.as_ref().unwrap();
3559
3560 validate_aws_Pcryptography_PmaterialProviders_HCommitmentPolicy(input)?;
3561 Ok(())
3562}
3563pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DencryptionContext(
3564 input: &::std::option::Option<
3565 ::std::collections::HashMap<::std::string::String, ::std::string::String>,
3566 >,
3567) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3568 if input.is_none() {
3569 return ::std::result::Result::Err(
3570 ::aws_smithy_types::error::operation::BuildError::missing_field(
3571 "encryption_context",
3572 "encryption_context is required but was not specified",
3573 ),
3574 );
3575 }
3576 if input.is_none() {
3577 return ::std::result::Result::Ok(());
3578 }
3579 let input = input.as_ref().unwrap();
3580
3581 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext(input)?;
3582 Ok(())
3583}
3584pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DmaxPlaintextLength(
3585 input: &::std::option::Option<::std::primitive::i64>,
3586) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3587 if input.is_none() {
3588 return ::std::result::Result::Ok(());
3589 }
3590 let input = input.as_ref().unwrap();
3591
3592 Ok(())
3593}
3594pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsInput_DrequiredEncryptionContextKeys(
3595 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
3596) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3597 if input.is_none() {
3598 return ::std::result::Result::Ok(());
3599 }
3600 let input = input.as_ref().unwrap();
3601
3602 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContextKeys(input)?;
3603 Ok(())
3604}
3605pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsOutput(
3606 input: &crate::deps::aws_cryptography_materialProviders::types::GetEncryptionMaterialsOutput,
3607) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3608 validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsOutput_DencryptionMaterials(&input.r#encryption_materials)?;
3609 Ok(())
3610}
3611pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsOutput_for_CryptographicMaterialsManager_GetEncryptionMaterials(
3612 input: &crate::deps::aws_cryptography_materialProviders::operation::get_encryption_materials::GetEncryptionMaterialsOutput,
3613) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3614 validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsOutput_DencryptionMaterials(&input.r#encryption_materials)?;
3615 Ok(())
3616}
3617pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGetEncryptionMaterialsOutput_DencryptionMaterials(
3618 input: &::std::option::Option<
3619 crate::deps::aws_cryptography_materialProviders::types::EncryptionMaterials,
3620 >,
3621) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3622 if input.is_none() {
3623 return ::std::result::Result::Err(
3624 ::aws_smithy_types::error::operation::BuildError::missing_field(
3625 "encryption_materials",
3626 "encryption_materials is required but was not specified",
3627 ),
3628 );
3629 }
3630 if input.is_none() {
3631 return ::std::result::Result::Ok(());
3632 }
3633 let input = input.as_ref().unwrap();
3634
3635 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials(input)?;
3636 Ok(())
3637}
3638pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGrantTokenList(
3639 input: &::std::vec::Vec<::std::string::String>,
3640) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3641 for inner in input.iter() {
3642 validate_aws_Pcryptography_PmaterialProviders_HGrantTokenList_Dmember(inner)?;
3643 }
3644 Ok(())
3645}
3646pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HGrantTokenList_Dmember(
3647 input: &::std::string::String,
3648) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3649 Ok(())
3650}
3651pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HHKDF(
3652 input: &crate::deps::aws_cryptography_materialProviders::types::Hkdf,
3653) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3654 validate_aws_Pcryptography_PmaterialProviders_HHKDF_Dhmac(&input.r#hmac)?;
3655 validate_aws_Pcryptography_PmaterialProviders_HHKDF_DsaltLength(&input.r#salt_length)?;
3656 validate_aws_Pcryptography_PmaterialProviders_HHKDF_DinputKeyLength(&input.r#input_key_length)?;
3657 validate_aws_Pcryptography_PmaterialProviders_HHKDF_DoutputKeyLength(
3658 &input.r#output_key_length,
3659 )?;
3660 Ok(())
3661}
3662pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HHKDF_Dhmac(
3663 input: &::std::option::Option<crate::deps::aws_cryptography_primitives::types::DigestAlgorithm>,
3664) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3665 if input.is_none() {
3666 return ::std::result::Result::Err(
3667 ::aws_smithy_types::error::operation::BuildError::missing_field(
3668 "hmac",
3669 "hmac is required but was not specified",
3670 ),
3671 );
3672 }
3673 if input.is_none() {
3674 return ::std::result::Result::Ok(());
3675 }
3676 let input = input.as_ref().unwrap();
3677
3678 Ok(())
3679}
3680pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HHKDF_DinputKeyLength(
3681 input: &::std::option::Option<::std::primitive::i32>,
3682) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3683 if input.is_none() {
3684 return ::std::result::Result::Err(
3685 ::aws_smithy_types::error::operation::BuildError::missing_field(
3686 "input_key_length",
3687 "input_key_length is required but was not specified",
3688 ),
3689 );
3690 }
3691 if input.is_none() {
3692 return ::std::result::Result::Ok(());
3693 }
3694 let input = input.as_ref().unwrap();
3695
3696 if !(1..=32).contains(input) {
3697 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
3698 "input_key_length",
3699 "input_key_length failed to satisfy constraint: Member must be between 1 and 32, inclusive",
3700 ));
3701 }
3702 Ok(())
3703}
3704pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HHKDF_DoutputKeyLength(
3705 input: &::std::option::Option<::std::primitive::i32>,
3706) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3707 if input.is_none() {
3708 return ::std::result::Result::Err(
3709 ::aws_smithy_types::error::operation::BuildError::missing_field(
3710 "output_key_length",
3711 "output_key_length is required but was not specified",
3712 ),
3713 );
3714 }
3715 if input.is_none() {
3716 return ::std::result::Result::Ok(());
3717 }
3718 let input = input.as_ref().unwrap();
3719
3720 if !(1..=32).contains(input) {
3721 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
3722 "output_key_length",
3723 "output_key_length failed to satisfy constraint: Member must be between 1 and 32, inclusive",
3724 ));
3725 }
3726 Ok(())
3727}
3728pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HHKDF_DsaltLength(
3729 input: &::std::option::Option<::std::primitive::i32>,
3730) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3731 if input.is_none() {
3732 return ::std::result::Result::Err(
3733 ::aws_smithy_types::error::operation::BuildError::missing_field(
3734 "salt_length",
3735 "salt_length is required but was not specified",
3736 ),
3737 );
3738 }
3739 if input.is_none() {
3740 return ::std::result::Result::Ok(());
3741 }
3742 let input = input.as_ref().unwrap();
3743
3744 if !(0..).contains(input) {
3745 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
3746 "salt_length",
3747 "salt_length failed to satisfy constraint: Member must be greater than or equal to 0",
3748 ));
3749 }
3750 Ok(())
3751}
3752pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HIDENTITY(
3753 input: &crate::deps::aws_cryptography_materialProviders::types::Identity,
3754) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3755 Ok(())
3756}
3757pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HInitializeDecryptionMaterialsInput(
3758 input: &crate::deps::aws_cryptography_materialProviders::types::InitializeDecryptionMaterialsInput,
3759) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3760 validate_aws_Pcryptography_PmaterialProviders_HInitializeDecryptionMaterialsInput_DalgorithmSuiteId(&input.r#algorithm_suite_id)?;
3761 validate_aws_Pcryptography_PmaterialProviders_HInitializeDecryptionMaterialsInput_DencryptionContext(&input.r#encryption_context)?;
3762 validate_aws_Pcryptography_PmaterialProviders_HInitializeDecryptionMaterialsInput_DrequiredEncryptionContextKeys(&input.r#required_encryption_context_keys)?;
3763 Ok(())
3764}
3765pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HInitializeDecryptionMaterialsInput_for_AwsCryptographicMaterialProviders_InitializeDecryptionMaterials(
3766 input: &crate::deps::aws_cryptography_materialProviders::operation::initialize_decryption_materials::InitializeDecryptionMaterialsInput,
3767) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3768 validate_aws_Pcryptography_PmaterialProviders_HInitializeDecryptionMaterialsInput_DalgorithmSuiteId(&input.r#algorithm_suite_id)?;
3769 validate_aws_Pcryptography_PmaterialProviders_HInitializeDecryptionMaterialsInput_DencryptionContext(&input.r#encryption_context)?;
3770 validate_aws_Pcryptography_PmaterialProviders_HInitializeDecryptionMaterialsInput_DrequiredEncryptionContextKeys(&input.r#required_encryption_context_keys)?;
3771 Ok(())
3772}
3773pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HInitializeDecryptionMaterialsInput_DalgorithmSuiteId(
3774 input: &::std::option::Option<
3775 crate::deps::aws_cryptography_materialProviders::types::AlgorithmSuiteId,
3776 >,
3777) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3778 if input.is_none() {
3779 return ::std::result::Result::Err(
3780 ::aws_smithy_types::error::operation::BuildError::missing_field(
3781 "algorithm_suite_id",
3782 "algorithm_suite_id is required but was not specified",
3783 ),
3784 );
3785 }
3786 if input.is_none() {
3787 return ::std::result::Result::Ok(());
3788 }
3789 let input = input.as_ref().unwrap();
3790
3791 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteId(input)?;
3792 Ok(())
3793}
3794pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HInitializeDecryptionMaterialsInput_DencryptionContext(
3795 input: &::std::option::Option<
3796 ::std::collections::HashMap<::std::string::String, ::std::string::String>,
3797 >,
3798) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3799 if input.is_none() {
3800 return ::std::result::Result::Err(
3801 ::aws_smithy_types::error::operation::BuildError::missing_field(
3802 "encryption_context",
3803 "encryption_context is required but was not specified",
3804 ),
3805 );
3806 }
3807 if input.is_none() {
3808 return ::std::result::Result::Ok(());
3809 }
3810 let input = input.as_ref().unwrap();
3811
3812 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext(input)?;
3813 Ok(())
3814}
3815pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HInitializeDecryptionMaterialsInput_DrequiredEncryptionContextKeys(
3816 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
3817) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3818 if input.is_none() {
3819 return ::std::result::Result::Err(
3820 ::aws_smithy_types::error::operation::BuildError::missing_field(
3821 "required_encryption_context_keys",
3822 "required_encryption_context_keys is required but was not specified",
3823 ),
3824 );
3825 }
3826 if input.is_none() {
3827 return ::std::result::Result::Ok(());
3828 }
3829 let input = input.as_ref().unwrap();
3830
3831 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContextKeys(input)?;
3832 Ok(())
3833}
3834pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput(
3835 input: &crate::deps::aws_cryptography_materialProviders::types::InitializeEncryptionMaterialsInput,
3836) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3837 validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DalgorithmSuiteId(&input.r#algorithm_suite_id)?;
3838 validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DencryptionContext(&input.r#encryption_context)?;
3839 validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DrequiredEncryptionContextKeys(&input.r#required_encryption_context_keys)?;
3840 validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DsigningKey(
3841 &input.r#signing_key,
3842 )?;
3843 validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DverificationKey(&input.r#verification_key)?;
3844 Ok(())
3845}
3846pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_for_AwsCryptographicMaterialProviders_InitializeEncryptionMaterials(
3847 input: &crate::deps::aws_cryptography_materialProviders::operation::initialize_encryption_materials::InitializeEncryptionMaterialsInput,
3848) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3849 validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DalgorithmSuiteId(&input.r#algorithm_suite_id)?;
3850 validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DencryptionContext(&input.r#encryption_context)?;
3851 validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DrequiredEncryptionContextKeys(&input.r#required_encryption_context_keys)?;
3852 validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DsigningKey(
3853 &input.r#signing_key,
3854 )?;
3855 validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DverificationKey(&input.r#verification_key)?;
3856 Ok(())
3857}
3858pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DalgorithmSuiteId(
3859 input: &::std::option::Option<
3860 crate::deps::aws_cryptography_materialProviders::types::AlgorithmSuiteId,
3861 >,
3862) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3863 if input.is_none() {
3864 return ::std::result::Result::Err(
3865 ::aws_smithy_types::error::operation::BuildError::missing_field(
3866 "algorithm_suite_id",
3867 "algorithm_suite_id is required but was not specified",
3868 ),
3869 );
3870 }
3871 if input.is_none() {
3872 return ::std::result::Result::Ok(());
3873 }
3874 let input = input.as_ref().unwrap();
3875
3876 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteId(input)?;
3877 Ok(())
3878}
3879pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DencryptionContext(
3880 input: &::std::option::Option<
3881 ::std::collections::HashMap<::std::string::String, ::std::string::String>,
3882 >,
3883) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3884 if input.is_none() {
3885 return ::std::result::Result::Err(
3886 ::aws_smithy_types::error::operation::BuildError::missing_field(
3887 "encryption_context",
3888 "encryption_context is required but was not specified",
3889 ),
3890 );
3891 }
3892 if input.is_none() {
3893 return ::std::result::Result::Ok(());
3894 }
3895 let input = input.as_ref().unwrap();
3896
3897 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext(input)?;
3898 Ok(())
3899}
3900pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DrequiredEncryptionContextKeys(
3901 input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
3902) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3903 if input.is_none() {
3904 return ::std::result::Result::Err(
3905 ::aws_smithy_types::error::operation::BuildError::missing_field(
3906 "required_encryption_context_keys",
3907 "required_encryption_context_keys is required but was not specified",
3908 ),
3909 );
3910 }
3911 if input.is_none() {
3912 return ::std::result::Result::Ok(());
3913 }
3914 let input = input.as_ref().unwrap();
3915
3916 validate_aws_Pcryptography_PmaterialProviders_HEncryptionContextKeys(input)?;
3917 Ok(())
3918}
3919pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DsigningKey(
3920 input: &::std::option::Option<::aws_smithy_types::Blob>,
3921) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3922 if input.is_none() {
3923 return ::std::result::Result::Ok(());
3924 }
3925 let input = input.as_ref().unwrap();
3926
3927 Ok(())
3928}
3929pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HInitializeEncryptionMaterialsInput_DverificationKey(
3930 input: &::std::option::Option<::aws_smithy_types::Blob>,
3931) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3932 if input.is_none() {
3933 return ::std::result::Result::Ok(());
3934 }
3935 let input = input.as_ref().unwrap();
3936
3937 Ok(())
3938}
3939pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HIntermediateKeyWrapping(
3940 input: &crate::deps::aws_cryptography_materialProviders::types::IntermediateKeyWrapping,
3941) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3942 validate_aws_Pcryptography_PmaterialProviders_HIntermediateKeyWrapping_DkeyEncryptionKeyKdf(
3943 &input.r#key_encryption_key_kdf,
3944 )?;
3945 validate_aws_Pcryptography_PmaterialProviders_HIntermediateKeyWrapping_DmacKeyKdf(
3946 &input.r#mac_key_kdf,
3947 )?;
3948 validate_aws_Pcryptography_PmaterialProviders_HIntermediateKeyWrapping_DpdkEncryptAlgorithm(
3949 &input.r#pdk_encrypt_algorithm,
3950 )?;
3951 Ok(())
3952}
3953pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HIntermediateKeyWrapping_DkeyEncryptionKeyKdf(
3954 input: &::std::option::Option<
3955 crate::deps::aws_cryptography_materialProviders::types::DerivationAlgorithm,
3956 >,
3957) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3958 if input.is_none() {
3959 return ::std::result::Result::Err(
3960 ::aws_smithy_types::error::operation::BuildError::missing_field(
3961 "key_encryption_key_kdf",
3962 "key_encryption_key_kdf is required but was not specified",
3963 ),
3964 );
3965 }
3966 if input.is_none() {
3967 return ::std::result::Result::Ok(());
3968 }
3969 let input = input.as_ref().unwrap();
3970
3971 validate_aws_Pcryptography_PmaterialProviders_HDerivationAlgorithm(input)?;
3972 Ok(())
3973}
3974pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HIntermediateKeyWrapping_DmacKeyKdf(
3975 input: &::std::option::Option<
3976 crate::deps::aws_cryptography_materialProviders::types::DerivationAlgorithm,
3977 >,
3978) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3979 if input.is_none() {
3980 return ::std::result::Result::Err(
3981 ::aws_smithy_types::error::operation::BuildError::missing_field(
3982 "mac_key_kdf",
3983 "mac_key_kdf is required but was not specified",
3984 ),
3985 );
3986 }
3987 if input.is_none() {
3988 return ::std::result::Result::Ok(());
3989 }
3990 let input = input.as_ref().unwrap();
3991
3992 validate_aws_Pcryptography_PmaterialProviders_HDerivationAlgorithm(input)?;
3993 Ok(())
3994}
3995pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HIntermediateKeyWrapping_DpdkEncryptAlgorithm(
3996 input: &::std::option::Option<crate::deps::aws_cryptography_materialProviders::types::Encrypt>,
3997) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
3998 if input.is_none() {
3999 return ::std::result::Result::Err(
4000 ::aws_smithy_types::error::operation::BuildError::missing_field(
4001 "pdk_encrypt_algorithm",
4002 "pdk_encrypt_algorithm is required but was not specified",
4003 ),
4004 );
4005 }
4006 if input.is_none() {
4007 return ::std::result::Result::Ok(());
4008 }
4009 let input = input.as_ref().unwrap();
4010
4011 validate_aws_Pcryptography_PmaterialProviders_HEncrypt(input)?;
4012 Ok(())
4013}
4014pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKeyringList(
4015 input: &::std::vec::Vec<
4016 crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
4017 >,
4018) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4019 for inner in input.iter() {
4020 validate_aws_Pcryptography_PmaterialProviders_HKeyringList_Dmember(inner)?;
4021 }
4022 Ok(())
4023}
4024pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKeyringList_Dmember(
4025 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
4026) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4027 validate_aws_Pcryptography_PmaterialProviders_HKeyringReference(input)?;
4028 Ok(())
4029}
4030pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKeyringReference(
4031 input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
4032) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4033 Ok(())
4034}
4035pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKeyStoreReference(
4036 input: &crate::deps::aws_cryptography_keyStore::client::Client,
4037) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4038 Ok(())
4039}
4040pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKmsClientReference(
4041 input: &crate::deps::com_amazonaws_kms::client::Client,
4042) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4043 Ok(())
4044}
4045pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKmsEcdhStaticConfigurations(
4046 input: &crate::deps::aws_cryptography_materialProviders::types::KmsEcdhStaticConfigurations,
4047) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4048 if let crate::deps::aws_cryptography_materialProviders::types::KmsEcdhStaticConfigurations::KmsPublicKeyDiscovery(ref inner) = &input {
4049 validate_aws_Pcryptography_PmaterialProviders_HKmsEcdhStaticConfigurations_DKmsPublicKeyDiscovery(inner)?;
4050}
4051 if let crate::deps::aws_cryptography_materialProviders::types::KmsEcdhStaticConfigurations::KmsPrivateKeyToStaticPublicKey(ref inner) = &input {
4052 validate_aws_Pcryptography_PmaterialProviders_HKmsEcdhStaticConfigurations_DKmsPrivateKeyToStaticPublicKey(inner)?;
4053}
4054 Ok(())
4055}
4056pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKmsEcdhStaticConfigurations_DKmsPrivateKeyToStaticPublicKey(
4057 input: &crate::deps::aws_cryptography_materialProviders::types::KmsPrivateKeyToStaticPublicKeyInput,
4058) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4059 validate_aws_Pcryptography_PmaterialProviders_HKmsPrivateKeyToStaticPublicKeyInput(input)?;
4060 Ok(())
4061}
4062pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKmsEcdhStaticConfigurations_DKmsPublicKeyDiscovery(
4063 input: &crate::deps::aws_cryptography_materialProviders::types::KmsPublicKeyDiscoveryInput,
4064) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4065 validate_aws_Pcryptography_PmaterialProviders_HKmsPublicKeyDiscoveryInput(input)?;
4066 Ok(())
4067}
4068pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKmsKeyIdList(
4069 input: &::std::vec::Vec<::std::string::String>,
4070) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4071 for inner in input.iter() {
4072 validate_aws_Pcryptography_PmaterialProviders_HKmsKeyIdList_Dmember(inner)?;
4073 }
4074 Ok(())
4075}
4076pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKmsKeyIdList_Dmember(
4077 input: &::std::string::String,
4078) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4079 Ok(())
4080}
4081pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKmsPrivateKeyToStaticPublicKeyInput(
4082 input: &crate::deps::aws_cryptography_materialProviders::types::KmsPrivateKeyToStaticPublicKeyInput,
4083) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4084 validate_aws_Pcryptography_PmaterialProviders_HKmsPrivateKeyToStaticPublicKeyInput_DsenderKmsIdentifier(&input.r#sender_kms_identifier)?;
4085 validate_aws_Pcryptography_PmaterialProviders_HKmsPrivateKeyToStaticPublicKeyInput_DsenderPublicKey(&input.r#sender_public_key)?;
4086 validate_aws_Pcryptography_PmaterialProviders_HKmsPrivateKeyToStaticPublicKeyInput_DrecipientPublicKey(&input.r#recipient_public_key)?;
4087 Ok(())
4088}
4089pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKmsPrivateKeyToStaticPublicKeyInput_DrecipientPublicKey(
4090 input: &::std::option::Option<::aws_smithy_types::Blob>,
4091) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4092 if input.is_none() {
4093 return ::std::result::Result::Err(
4094 ::aws_smithy_types::error::operation::BuildError::missing_field(
4095 "recipient_public_key",
4096 "recipient_public_key is required but was not specified",
4097 ),
4098 );
4099 }
4100 if input.is_none() {
4101 return ::std::result::Result::Ok(());
4102 }
4103 let input = input.as_ref().unwrap();
4104
4105 Ok(())
4106}
4107pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKmsPrivateKeyToStaticPublicKeyInput_DsenderKmsIdentifier(
4108 input: &::std::option::Option<::std::string::String>,
4109) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4110 if input.is_none() {
4111 return ::std::result::Result::Err(
4112 ::aws_smithy_types::error::operation::BuildError::missing_field(
4113 "sender_kms_identifier",
4114 "sender_kms_identifier is required but was not specified",
4115 ),
4116 );
4117 }
4118 if input.is_none() {
4119 return ::std::result::Result::Ok(());
4120 }
4121 let input = input.as_ref().unwrap();
4122
4123 Ok(())
4124}
4125pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKmsPrivateKeyToStaticPublicKeyInput_DsenderPublicKey(
4126 input: &::std::option::Option<::aws_smithy_types::Blob>,
4127) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4128 if input.is_none() {
4129 return ::std::result::Result::Ok(());
4130 }
4131 let input = input.as_ref().unwrap();
4132
4133 Ok(())
4134}
4135pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKmsPublicKeyDiscoveryInput(
4136 input: &crate::deps::aws_cryptography_materialProviders::types::KmsPublicKeyDiscoveryInput,
4137) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4138 validate_aws_Pcryptography_PmaterialProviders_HKmsPublicKeyDiscoveryInput_DrecipientKmsIdentifier(&input.r#recipient_kms_identifier)?;
4139 Ok(())
4140}
4141pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKmsPublicKeyDiscoveryInput_DrecipientKmsIdentifier(
4142 input: &::std::option::Option<::std::string::String>,
4143) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4144 if input.is_none() {
4145 return ::std::result::Result::Err(
4146 ::aws_smithy_types::error::operation::BuildError::missing_field(
4147 "recipient_kms_identifier",
4148 "recipient_kms_identifier is required but was not specified",
4149 ),
4150 );
4151 }
4152 if input.is_none() {
4153 return ::std::result::Result::Ok(());
4154 }
4155 let input = input.as_ref().unwrap();
4156
4157 Ok(())
4158}
4159pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HMaterialProvidersConfig(
4160 input: &crate::deps::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig,
4161) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4162 Ok(())
4163}
4164pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HMaterials(
4165 input: &crate::deps::aws_cryptography_materialProviders::types::Materials,
4166) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4167 if let crate::deps::aws_cryptography_materialProviders::types::Materials::Encryption(
4168 ref inner,
4169 ) = &input
4170 {
4171 validate_aws_Pcryptography_PmaterialProviders_HMaterials_DEncryption(inner)?;
4172 }
4173 if let crate::deps::aws_cryptography_materialProviders::types::Materials::Decryption(
4174 ref inner,
4175 ) = &input
4176 {
4177 validate_aws_Pcryptography_PmaterialProviders_HMaterials_DDecryption(inner)?;
4178 }
4179 if let crate::deps::aws_cryptography_materialProviders::types::Materials::BranchKey(ref inner) =
4180 &input
4181 {
4182 validate_aws_Pcryptography_PmaterialProviders_HMaterials_DBranchKey(inner)?;
4183 }
4184 if let crate::deps::aws_cryptography_materialProviders::types::Materials::BeaconKey(ref inner) =
4185 &input
4186 {
4187 validate_aws_Pcryptography_PmaterialProviders_HMaterials_DBeaconKey(inner)?;
4188 }
4189 Ok(())
4190}
4191pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HMaterials_DBeaconKey(
4192 input: &crate::deps::aws_cryptography_keyStore::types::BeaconKeyMaterials,
4193) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4194 validate_aws_Pcryptography_PkeyStore_HBeaconKeyMaterials(input)?;
4195 Ok(())
4196}
4197pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HMaterials_DBranchKey(
4198 input: &crate::deps::aws_cryptography_keyStore::types::BranchKeyMaterials,
4199) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4200 validate_aws_Pcryptography_PkeyStore_HBranchKeyMaterials(input)?;
4201 Ok(())
4202}
4203pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HMaterials_DDecryption(
4204 input: &crate::deps::aws_cryptography_materialProviders::types::DecryptionMaterials,
4205) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4206 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials(input)?;
4207 Ok(())
4208}
4209pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HMaterials_DEncryption(
4210 input: &crate::deps::aws_cryptography_materialProviders::types::EncryptionMaterials,
4211) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4212 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials(input)?;
4213 Ok(())
4214}
4215pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HMultiThreadedCache(
4216 input: &crate::deps::aws_cryptography_materialProviders::types::MultiThreadedCache,
4217) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4218 validate_aws_Pcryptography_PmaterialProviders_HMultiThreadedCache_DentryCapacity(
4219 &input.r#entry_capacity,
4220 )?;
4221 validate_aws_Pcryptography_PmaterialProviders_HMultiThreadedCache_DentryPruningTailSize(
4222 &input.r#entry_pruning_tail_size,
4223 )?;
4224 Ok(())
4225}
4226pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HMultiThreadedCache_DentryCapacity(
4227 input: &::std::option::Option<::std::primitive::i32>,
4228) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4229 if input.is_none() {
4230 return ::std::result::Result::Err(
4231 ::aws_smithy_types::error::operation::BuildError::missing_field(
4232 "entry_capacity",
4233 "entry_capacity is required but was not specified",
4234 ),
4235 );
4236 }
4237 if input.is_none() {
4238 return ::std::result::Result::Ok(());
4239 }
4240 let input = input.as_ref().unwrap();
4241
4242 if !(1..).contains(input) {
4243 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
4244 "entry_capacity",
4245 "entry_capacity failed to satisfy constraint: Member must be greater than or equal to 1",
4246 ));
4247 }
4248 Ok(())
4249}
4250pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HMultiThreadedCache_DentryPruningTailSize(
4251 input: &::std::option::Option<::std::primitive::i32>,
4252) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4253 if input.is_none() {
4254 return ::std::result::Result::Ok(());
4255 }
4256 let input = input.as_ref().unwrap();
4257
4258 if !(1..).contains(input) {
4259 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
4260 "entry_pruning_tail_size",
4261 "entry_pruning_tail_size failed to satisfy constraint: Member must be greater than or equal to 1",
4262 ));
4263 }
4264 Ok(())
4265}
4266pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HNoCache(
4267 input: &crate::deps::aws_cryptography_materialProviders::types::NoCache,
4268) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4269 Ok(())
4270}
4271pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HNone(
4272 input: &crate::deps::aws_cryptography_materialProviders::types::None,
4273) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4274 Ok(())
4275}
4276pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HOnDecryptInput(
4277 input: &crate::deps::aws_cryptography_materialProviders::types::OnDecryptInput,
4278) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4279 validate_aws_Pcryptography_PmaterialProviders_HOnDecryptInput_Dmaterials(&input.r#materials)?;
4280 validate_aws_Pcryptography_PmaterialProviders_HOnDecryptInput_DencryptedDataKeys(
4281 &input.r#encrypted_data_keys,
4282 )?;
4283 Ok(())
4284}
4285pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HOnDecryptInput_for_Keyring_OnDecrypt(
4286 input: &crate::deps::aws_cryptography_materialProviders::operation::on_decrypt::OnDecryptInput,
4287) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4288 validate_aws_Pcryptography_PmaterialProviders_HOnDecryptInput_Dmaterials(&input.r#materials)?;
4289 validate_aws_Pcryptography_PmaterialProviders_HOnDecryptInput_DencryptedDataKeys(
4290 &input.r#encrypted_data_keys,
4291 )?;
4292 Ok(())
4293}
4294pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HOnDecryptInput_DencryptedDataKeys(
4295 input: &::std::option::Option<
4296 ::std::vec::Vec<crate::deps::aws_cryptography_materialProviders::types::EncryptedDataKey>,
4297 >,
4298) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4299 if input.is_none() {
4300 return ::std::result::Result::Err(
4301 ::aws_smithy_types::error::operation::BuildError::missing_field(
4302 "encrypted_data_keys",
4303 "encrypted_data_keys is required but was not specified",
4304 ),
4305 );
4306 }
4307 if input.is_none() {
4308 return ::std::result::Result::Ok(());
4309 }
4310 let input = input.as_ref().unwrap();
4311
4312 validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKeyList(input)?;
4313 Ok(())
4314}
4315pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HOnDecryptInput_Dmaterials(
4316 input: &::std::option::Option<
4317 crate::deps::aws_cryptography_materialProviders::types::DecryptionMaterials,
4318 >,
4319) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4320 if input.is_none() {
4321 return ::std::result::Result::Err(
4322 ::aws_smithy_types::error::operation::BuildError::missing_field(
4323 "materials",
4324 "materials is required but was not specified",
4325 ),
4326 );
4327 }
4328 if input.is_none() {
4329 return ::std::result::Result::Ok(());
4330 }
4331 let input = input.as_ref().unwrap();
4332
4333 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials(input)?;
4334 Ok(())
4335}
4336pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HOnDecryptOutput(
4337 input: &crate::deps::aws_cryptography_materialProviders::types::OnDecryptOutput,
4338) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4339 validate_aws_Pcryptography_PmaterialProviders_HOnDecryptOutput_Dmaterials(&input.r#materials)?;
4340 Ok(())
4341}
4342pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HOnDecryptOutput_for_Keyring_OnDecrypt(
4343 input: &crate::deps::aws_cryptography_materialProviders::operation::on_decrypt::OnDecryptOutput,
4344) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4345 validate_aws_Pcryptography_PmaterialProviders_HOnDecryptOutput_Dmaterials(&input.r#materials)?;
4346 Ok(())
4347}
4348pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HOnDecryptOutput_Dmaterials(
4349 input: &::std::option::Option<
4350 crate::deps::aws_cryptography_materialProviders::types::DecryptionMaterials,
4351 >,
4352) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4353 if input.is_none() {
4354 return ::std::result::Result::Err(
4355 ::aws_smithy_types::error::operation::BuildError::missing_field(
4356 "materials",
4357 "materials is required but was not specified",
4358 ),
4359 );
4360 }
4361 if input.is_none() {
4362 return ::std::result::Result::Ok(());
4363 }
4364 let input = input.as_ref().unwrap();
4365
4366 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials(input)?;
4367 Ok(())
4368}
4369pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HOnEncryptInput(
4370 input: &crate::deps::aws_cryptography_materialProviders::types::OnEncryptInput,
4371) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4372 validate_aws_Pcryptography_PmaterialProviders_HOnEncryptInput_Dmaterials(&input.r#materials)?;
4373 Ok(())
4374}
4375pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HOnEncryptInput_for_Keyring_OnEncrypt(
4376 input: &crate::deps::aws_cryptography_materialProviders::operation::on_encrypt::OnEncryptInput,
4377) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4378 validate_aws_Pcryptography_PmaterialProviders_HOnEncryptInput_Dmaterials(&input.r#materials)?;
4379 Ok(())
4380}
4381pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HOnEncryptInput_Dmaterials(
4382 input: &::std::option::Option<
4383 crate::deps::aws_cryptography_materialProviders::types::EncryptionMaterials,
4384 >,
4385) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4386 if input.is_none() {
4387 return ::std::result::Result::Err(
4388 ::aws_smithy_types::error::operation::BuildError::missing_field(
4389 "materials",
4390 "materials is required but was not specified",
4391 ),
4392 );
4393 }
4394 if input.is_none() {
4395 return ::std::result::Result::Ok(());
4396 }
4397 let input = input.as_ref().unwrap();
4398
4399 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials(input)?;
4400 Ok(())
4401}
4402pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HOnEncryptOutput(
4403 input: &crate::deps::aws_cryptography_materialProviders::types::OnEncryptOutput,
4404) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4405 validate_aws_Pcryptography_PmaterialProviders_HOnEncryptOutput_Dmaterials(&input.r#materials)?;
4406 Ok(())
4407}
4408pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HOnEncryptOutput_for_Keyring_OnEncrypt(
4409 input: &crate::deps::aws_cryptography_materialProviders::operation::on_encrypt::OnEncryptOutput,
4410) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4411 validate_aws_Pcryptography_PmaterialProviders_HOnEncryptOutput_Dmaterials(&input.r#materials)?;
4412 Ok(())
4413}
4414pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HOnEncryptOutput_Dmaterials(
4415 input: &::std::option::Option<
4416 crate::deps::aws_cryptography_materialProviders::types::EncryptionMaterials,
4417 >,
4418) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4419 if input.is_none() {
4420 return ::std::result::Result::Err(
4421 ::aws_smithy_types::error::operation::BuildError::missing_field(
4422 "materials",
4423 "materials is required but was not specified",
4424 ),
4425 );
4426 }
4427 if input.is_none() {
4428 return ::std::result::Result::Ok(());
4429 }
4430 let input = input.as_ref().unwrap();
4431
4432 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials(input)?;
4433 Ok(())
4434}
4435pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HPublicKeyDiscoveryInput(
4436 input: &crate::deps::aws_cryptography_materialProviders::types::PublicKeyDiscoveryInput,
4437) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4438 validate_aws_Pcryptography_PmaterialProviders_HPublicKeyDiscoveryInput_DrecipientStaticPrivateKey(&input.r#recipient_static_private_key)?;
4439 Ok(())
4440}
4441pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HPublicKeyDiscoveryInput_DrecipientStaticPrivateKey(
4442 input: &::std::option::Option<::aws_smithy_types::Blob>,
4443) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4444 if input.is_none() {
4445 return ::std::result::Result::Err(
4446 ::aws_smithy_types::error::operation::BuildError::missing_field(
4447 "recipient_static_private_key",
4448 "recipient_static_private_key is required but was not specified",
4449 ),
4450 );
4451 }
4452 if input.is_none() {
4453 return ::std::result::Result::Ok(());
4454 }
4455 let input = input.as_ref().unwrap();
4456
4457 Ok(())
4458}
4459pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput(
4460 input: &crate::deps::aws_cryptography_materialProviders::types::PutCacheEntryInput,
4461) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4462 validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_Didentifier(
4463 &input.r#identifier,
4464 )?;
4465 validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_Dmaterials(
4466 &input.r#materials,
4467 )?;
4468 validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_DcreationTime(
4469 &input.r#creation_time,
4470 )?;
4471 validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_DexpiryTime(
4472 &input.r#expiry_time,
4473 )?;
4474 validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_DmessagesUsed(
4475 &input.r#messages_used,
4476 )?;
4477 validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_DbytesUsed(
4478 &input.r#bytes_used,
4479 )?;
4480 Ok(())
4481}
4482pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_for_CryptographicMaterialsCache_PutCacheEntry(
4483 input: &crate::deps::aws_cryptography_materialProviders::operation::put_cache_entry::PutCacheEntryInput,
4484) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4485 validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_Didentifier(
4486 &input.r#identifier,
4487 )?;
4488 validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_Dmaterials(
4489 &input.r#materials,
4490 )?;
4491 validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_DcreationTime(
4492 &input.r#creation_time,
4493 )?;
4494 validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_DexpiryTime(
4495 &input.r#expiry_time,
4496 )?;
4497 validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_DmessagesUsed(
4498 &input.r#messages_used,
4499 )?;
4500 validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_DbytesUsed(
4501 &input.r#bytes_used,
4502 )?;
4503 Ok(())
4504}
4505pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_DbytesUsed(
4506 input: &::std::option::Option<::std::primitive::i32>,
4507) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4508 if input.is_none() {
4509 return ::std::result::Result::Ok(());
4510 }
4511 let input = input.as_ref().unwrap();
4512
4513 if !(0..).contains(input) {
4514 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
4515 "bytes_used",
4516 "bytes_used failed to satisfy constraint: Member must be greater than or equal to 0",
4517 ));
4518 }
4519 Ok(())
4520}
4521pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_DcreationTime(
4522 input: &::std::option::Option<::std::primitive::i64>,
4523) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4524 if input.is_none() {
4525 return ::std::result::Result::Err(
4526 ::aws_smithy_types::error::operation::BuildError::missing_field(
4527 "creation_time",
4528 "creation_time is required but was not specified",
4529 ),
4530 );
4531 }
4532 if input.is_none() {
4533 return ::std::result::Result::Ok(());
4534 }
4535 let input = input.as_ref().unwrap();
4536
4537 if !(0..).contains(input) {
4538 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
4539 "creation_time",
4540 "creation_time failed to satisfy constraint: Member must be greater than or equal to 0",
4541 ));
4542 }
4543 Ok(())
4544}
4545pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_DexpiryTime(
4546 input: &::std::option::Option<::std::primitive::i64>,
4547) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4548 if input.is_none() {
4549 return ::std::result::Result::Err(
4550 ::aws_smithy_types::error::operation::BuildError::missing_field(
4551 "expiry_time",
4552 "expiry_time is required but was not specified",
4553 ),
4554 );
4555 }
4556 if input.is_none() {
4557 return ::std::result::Result::Ok(());
4558 }
4559 let input = input.as_ref().unwrap();
4560
4561 if !(0..).contains(input) {
4562 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
4563 "expiry_time",
4564 "expiry_time failed to satisfy constraint: Member must be greater than or equal to 0",
4565 ));
4566 }
4567 Ok(())
4568}
4569pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_Didentifier(
4570 input: &::std::option::Option<::aws_smithy_types::Blob>,
4571) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4572 if input.is_none() {
4573 return ::std::result::Result::Err(
4574 ::aws_smithy_types::error::operation::BuildError::missing_field(
4575 "identifier",
4576 "identifier is required but was not specified",
4577 ),
4578 );
4579 }
4580 if input.is_none() {
4581 return ::std::result::Result::Ok(());
4582 }
4583 let input = input.as_ref().unwrap();
4584
4585 Ok(())
4586}
4587pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_Dmaterials(
4588 input: &::std::option::Option<
4589 crate::deps::aws_cryptography_materialProviders::types::Materials,
4590 >,
4591) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4592 if input.is_none() {
4593 return ::std::result::Result::Err(
4594 ::aws_smithy_types::error::operation::BuildError::missing_field(
4595 "materials",
4596 "materials is required but was not specified",
4597 ),
4598 );
4599 }
4600 if input.is_none() {
4601 return ::std::result::Result::Ok(());
4602 }
4603 let input = input.as_ref().unwrap();
4604
4605 validate_aws_Pcryptography_PmaterialProviders_HMaterials(input)?;
4606 Ok(())
4607}
4608pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HPutCacheEntryInput_DmessagesUsed(
4609 input: &::std::option::Option<::std::primitive::i32>,
4610) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4611 if input.is_none() {
4612 return ::std::result::Result::Ok(());
4613 }
4614 let input = input.as_ref().unwrap();
4615
4616 if !(0..).contains(input) {
4617 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
4618 "messages_used",
4619 "messages_used failed to satisfy constraint: Member must be greater than or equal to 0",
4620 ));
4621 }
4622 Ok(())
4623}
4624pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HRawEcdhStaticConfigurations(
4625 input: &crate::deps::aws_cryptography_materialProviders::types::RawEcdhStaticConfigurations,
4626) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4627 if let crate::deps::aws_cryptography_materialProviders::types::RawEcdhStaticConfigurations::PublicKeyDiscovery(ref inner) = &input {
4628 validate_aws_Pcryptography_PmaterialProviders_HRawEcdhStaticConfigurations_DPublicKeyDiscovery(inner)?;
4629}
4630 if let crate::deps::aws_cryptography_materialProviders::types::RawEcdhStaticConfigurations::RawPrivateKeyToStaticPublicKey(ref inner) = &input {
4631 validate_aws_Pcryptography_PmaterialProviders_HRawEcdhStaticConfigurations_DRawPrivateKeyToStaticPublicKey(inner)?;
4632}
4633 if let crate::deps::aws_cryptography_materialProviders::types::RawEcdhStaticConfigurations::EphemeralPrivateKeyToStaticPublicKey(ref inner) = &input {
4634 validate_aws_Pcryptography_PmaterialProviders_HRawEcdhStaticConfigurations_DEphemeralPrivateKeyToStaticPublicKey(inner)?;
4635}
4636 Ok(())
4637}
4638pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HRawEcdhStaticConfigurations_DEphemeralPrivateKeyToStaticPublicKey(
4639 input: &crate::deps::aws_cryptography_materialProviders::types::EphemeralPrivateKeyToStaticPublicKeyInput,
4640) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4641 validate_aws_Pcryptography_PmaterialProviders_HEphemeralPrivateKeyToStaticPublicKeyInput(
4642 input,
4643 )?;
4644 Ok(())
4645}
4646pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HRawEcdhStaticConfigurations_DPublicKeyDiscovery(
4647 input: &crate::deps::aws_cryptography_materialProviders::types::PublicKeyDiscoveryInput,
4648) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4649 validate_aws_Pcryptography_PmaterialProviders_HPublicKeyDiscoveryInput(input)?;
4650 Ok(())
4651}
4652pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HRawEcdhStaticConfigurations_DRawPrivateKeyToStaticPublicKey(
4653 input: &crate::deps::aws_cryptography_materialProviders::types::RawPrivateKeyToStaticPublicKeyInput,
4654) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4655 validate_aws_Pcryptography_PmaterialProviders_HRawPrivateKeyToStaticPublicKeyInput(input)?;
4656 Ok(())
4657}
4658pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HRawPrivateKeyToStaticPublicKeyInput(
4659 input: &crate::deps::aws_cryptography_materialProviders::types::RawPrivateKeyToStaticPublicKeyInput,
4660) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4661 validate_aws_Pcryptography_PmaterialProviders_HRawPrivateKeyToStaticPublicKeyInput_DsenderStaticPrivateKey(&input.r#sender_static_private_key)?;
4662 validate_aws_Pcryptography_PmaterialProviders_HRawPrivateKeyToStaticPublicKeyInput_DrecipientPublicKey(&input.r#recipient_public_key)?;
4663 Ok(())
4664}
4665pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HRawPrivateKeyToStaticPublicKeyInput_DrecipientPublicKey(
4666 input: &::std::option::Option<::aws_smithy_types::Blob>,
4667) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4668 if input.is_none() {
4669 return ::std::result::Result::Err(
4670 ::aws_smithy_types::error::operation::BuildError::missing_field(
4671 "recipient_public_key",
4672 "recipient_public_key is required but was not specified",
4673 ),
4674 );
4675 }
4676 if input.is_none() {
4677 return ::std::result::Result::Ok(());
4678 }
4679 let input = input.as_ref().unwrap();
4680
4681 Ok(())
4682}
4683pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HRawPrivateKeyToStaticPublicKeyInput_DsenderStaticPrivateKey(
4684 input: &::std::option::Option<::aws_smithy_types::Blob>,
4685) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4686 if input.is_none() {
4687 return ::std::result::Result::Err(
4688 ::aws_smithy_types::error::operation::BuildError::missing_field(
4689 "sender_static_private_key",
4690 "sender_static_private_key is required but was not specified",
4691 ),
4692 );
4693 }
4694 if input.is_none() {
4695 return ::std::result::Result::Ok(());
4696 }
4697 let input = input.as_ref().unwrap();
4698
4699 Ok(())
4700}
4701pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HRegionList(
4702 input: &::std::vec::Vec<::std::string::String>,
4703) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4704 for inner in input.iter() {
4705 validate_aws_Pcryptography_PmaterialProviders_HRegionList_Dmember(inner)?;
4706 }
4707 Ok(())
4708}
4709pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HRegionList_Dmember(
4710 input: &::std::string::String,
4711) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4712 Ok(())
4713}
4714pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HSignatureAlgorithm(
4715 input: &crate::deps::aws_cryptography_materialProviders::types::SignatureAlgorithm,
4716) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4717 if let crate::deps::aws_cryptography_materialProviders::types::SignatureAlgorithm::Ecdsa(
4718 ref inner,
4719 ) = &input
4720 {
4721 validate_aws_Pcryptography_PmaterialProviders_HSignatureAlgorithm_DECDSA(inner)?;
4722 }
4723 if let crate::deps::aws_cryptography_materialProviders::types::SignatureAlgorithm::None(
4724 ref inner,
4725 ) = &input
4726 {
4727 validate_aws_Pcryptography_PmaterialProviders_HSignatureAlgorithm_DNone(inner)?;
4728 }
4729 Ok(())
4730}
4731pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HSignatureAlgorithm_DECDSA(
4732 input: &crate::deps::aws_cryptography_materialProviders::types::Ecdsa,
4733) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4734 validate_aws_Pcryptography_PmaterialProviders_HECDSA(input)?;
4735 Ok(())
4736}
4737pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HSignatureAlgorithm_DNone(
4738 input: &crate::deps::aws_cryptography_materialProviders::types::None,
4739) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4740 validate_aws_Pcryptography_PmaterialProviders_HNone(input)?;
4741 Ok(())
4742}
4743pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HSingleThreadedCache(
4744 input: &crate::deps::aws_cryptography_materialProviders::types::SingleThreadedCache,
4745) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4746 validate_aws_Pcryptography_PmaterialProviders_HSingleThreadedCache_DentryCapacity(
4747 &input.r#entry_capacity,
4748 )?;
4749 validate_aws_Pcryptography_PmaterialProviders_HSingleThreadedCache_DentryPruningTailSize(
4750 &input.r#entry_pruning_tail_size,
4751 )?;
4752 Ok(())
4753}
4754pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HSingleThreadedCache_DentryCapacity(
4755 input: &::std::option::Option<::std::primitive::i32>,
4756) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4757 if input.is_none() {
4758 return ::std::result::Result::Err(
4759 ::aws_smithy_types::error::operation::BuildError::missing_field(
4760 "entry_capacity",
4761 "entry_capacity is required but was not specified",
4762 ),
4763 );
4764 }
4765 if input.is_none() {
4766 return ::std::result::Result::Ok(());
4767 }
4768 let input = input.as_ref().unwrap();
4769
4770 if !(1..).contains(input) {
4771 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
4772 "entry_capacity",
4773 "entry_capacity failed to satisfy constraint: Member must be greater than or equal to 1",
4774 ));
4775 }
4776 Ok(())
4777}
4778pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HSingleThreadedCache_DentryPruningTailSize(
4779 input: &::std::option::Option<::std::primitive::i32>,
4780) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4781 if input.is_none() {
4782 return ::std::result::Result::Ok(());
4783 }
4784 let input = input.as_ref().unwrap();
4785
4786 if !(1..).contains(input) {
4787 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
4788 "entry_pruning_tail_size",
4789 "entry_pruning_tail_size failed to satisfy constraint: Member must be greater than or equal to 1",
4790 ));
4791 }
4792 Ok(())
4793}
4794pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache(
4795 input: &crate::deps::aws_cryptography_materialProviders::types::StormTrackingCache,
4796) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4797 validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DentryCapacity(
4798 &input.r#entry_capacity,
4799 )?;
4800 validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DentryPruningTailSize(
4801 &input.r#entry_pruning_tail_size,
4802 )?;
4803 validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DgracePeriod(
4804 &input.r#grace_period,
4805 )?;
4806 validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DgraceInterval(
4807 &input.r#grace_interval,
4808 )?;
4809 validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DfanOut(&input.r#fan_out)?;
4810 validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DinFlightTTL(
4811 &input.r#in_flight_ttl,
4812 )?;
4813 validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DsleepMilli(
4814 &input.r#sleep_milli,
4815 )?;
4816 validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DtimeUnits(
4817 &input.r#time_units,
4818 )?;
4819 Ok(())
4820}
4821pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DentryCapacity(
4822 input: &::std::option::Option<::std::primitive::i32>,
4823) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4824 if input.is_none() {
4825 return ::std::result::Result::Err(
4826 ::aws_smithy_types::error::operation::BuildError::missing_field(
4827 "entry_capacity",
4828 "entry_capacity is required but was not specified",
4829 ),
4830 );
4831 }
4832 if input.is_none() {
4833 return ::std::result::Result::Ok(());
4834 }
4835 let input = input.as_ref().unwrap();
4836
4837 if !(1..).contains(input) {
4838 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
4839 "entry_capacity",
4840 "entry_capacity failed to satisfy constraint: Member must be greater than or equal to 1",
4841 ));
4842 }
4843 Ok(())
4844}
4845pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DentryPruningTailSize(
4846 input: &::std::option::Option<::std::primitive::i32>,
4847) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4848 if input.is_none() {
4849 return ::std::result::Result::Ok(());
4850 }
4851 let input = input.as_ref().unwrap();
4852
4853 if !(1..).contains(input) {
4854 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
4855 "entry_pruning_tail_size",
4856 "entry_pruning_tail_size failed to satisfy constraint: Member must be greater than or equal to 1",
4857 ));
4858 }
4859 Ok(())
4860}
4861pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DfanOut(
4862 input: &::std::option::Option<::std::primitive::i32>,
4863) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4864 if input.is_none() {
4865 return ::std::result::Result::Err(
4866 ::aws_smithy_types::error::operation::BuildError::missing_field(
4867 "fan_out",
4868 "fan_out is required but was not specified",
4869 ),
4870 );
4871 }
4872 if input.is_none() {
4873 return ::std::result::Result::Ok(());
4874 }
4875 let input = input.as_ref().unwrap();
4876
4877 if !(1..).contains(input) {
4878 return ::std::result::Result::Err(
4879 ::aws_smithy_types::error::operation::BuildError::invalid_field(
4880 "fan_out",
4881 "fan_out failed to satisfy constraint: Member must be greater than or equal to 1",
4882 ),
4883 );
4884 }
4885 Ok(())
4886}
4887pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DgraceInterval(
4888 input: &::std::option::Option<::std::primitive::i32>,
4889) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4890 if input.is_none() {
4891 return ::std::result::Result::Err(
4892 ::aws_smithy_types::error::operation::BuildError::missing_field(
4893 "grace_interval",
4894 "grace_interval is required but was not specified",
4895 ),
4896 );
4897 }
4898 if input.is_none() {
4899 return ::std::result::Result::Ok(());
4900 }
4901 let input = input.as_ref().unwrap();
4902
4903 if !(1..).contains(input) {
4904 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
4905 "grace_interval",
4906 "grace_interval failed to satisfy constraint: Member must be greater than or equal to 1",
4907 ));
4908 }
4909 Ok(())
4910}
4911pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DgracePeriod(
4912 input: &::std::option::Option<::std::primitive::i32>,
4913) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4914 if input.is_none() {
4915 return ::std::result::Result::Err(
4916 ::aws_smithy_types::error::operation::BuildError::missing_field(
4917 "grace_period",
4918 "grace_period is required but was not specified",
4919 ),
4920 );
4921 }
4922 if input.is_none() {
4923 return ::std::result::Result::Ok(());
4924 }
4925 let input = input.as_ref().unwrap();
4926
4927 if !(1..).contains(input) {
4928 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
4929 "grace_period",
4930 "grace_period failed to satisfy constraint: Member must be greater than or equal to 1",
4931 ));
4932 }
4933 Ok(())
4934}
4935pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DinFlightTTL(
4936 input: &::std::option::Option<::std::primitive::i32>,
4937) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4938 if input.is_none() {
4939 return ::std::result::Result::Err(
4940 ::aws_smithy_types::error::operation::BuildError::missing_field(
4941 "in_flight_ttl",
4942 "in_flight_ttl is required but was not specified",
4943 ),
4944 );
4945 }
4946 if input.is_none() {
4947 return ::std::result::Result::Ok(());
4948 }
4949 let input = input.as_ref().unwrap();
4950
4951 if !(1..).contains(input) {
4952 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
4953 "in_flight_ttl",
4954 "in_flight_ttl failed to satisfy constraint: Member must be greater than or equal to 1",
4955 ));
4956 }
4957 Ok(())
4958}
4959pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DsleepMilli(
4960 input: &::std::option::Option<::std::primitive::i32>,
4961) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4962 if input.is_none() {
4963 return ::std::result::Result::Err(
4964 ::aws_smithy_types::error::operation::BuildError::missing_field(
4965 "sleep_milli",
4966 "sleep_milli is required but was not specified",
4967 ),
4968 );
4969 }
4970 if input.is_none() {
4971 return ::std::result::Result::Ok(());
4972 }
4973 let input = input.as_ref().unwrap();
4974
4975 if !(1..).contains(input) {
4976 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
4977 "sleep_milli",
4978 "sleep_milli failed to satisfy constraint: Member must be greater than or equal to 1",
4979 ));
4980 }
4981 Ok(())
4982}
4983pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HStormTrackingCache_DtimeUnits(
4984 input: &::std::option::Option<
4985 crate::deps::aws_cryptography_materialProviders::types::TimeUnits,
4986 >,
4987) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4988 if input.is_none() {
4989 return ::std::result::Result::Ok(());
4990 }
4991 let input = input.as_ref().unwrap();
4992
4993 Ok(())
4994}
4995pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HSymmetricSignatureAlgorithm(
4996 input: &crate::deps::aws_cryptography_materialProviders::types::SymmetricSignatureAlgorithm,
4997) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
4998 if let crate::deps::aws_cryptography_materialProviders::types::SymmetricSignatureAlgorithm::Hmac(ref inner) = &input {
4999 validate_aws_Pcryptography_PmaterialProviders_HSymmetricSignatureAlgorithm_DHMAC(inner)?;
5000}
5001 if let crate::deps::aws_cryptography_materialProviders::types::SymmetricSignatureAlgorithm::None(ref inner) = &input {
5002 validate_aws_Pcryptography_PmaterialProviders_HSymmetricSignatureAlgorithm_DNone(inner)?;
5003}
5004 Ok(())
5005}
5006pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HSymmetricSignatureAlgorithm_DHMAC(
5007 input: &crate::deps::aws_cryptography_primitives::types::DigestAlgorithm,
5008) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5009 Ok(())
5010}
5011pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HSymmetricSignatureAlgorithm_DNone(
5012 input: &crate::deps::aws_cryptography_materialProviders::types::None,
5013) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5014 validate_aws_Pcryptography_PmaterialProviders_HNone(input)?;
5015 Ok(())
5016}
5017pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HSymmetricSigningKeyList(
5018 input: &::std::vec::Vec<::aws_smithy_types::Blob>,
5019) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5020 for inner in input.iter() {
5021 validate_aws_Pcryptography_PmaterialProviders_HSymmetricSigningKeyList_Dmember(inner)?;
5022 }
5023 Ok(())
5024}
5025pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HSymmetricSigningKeyList_Dmember(
5026 input: &::aws_smithy_types::Blob,
5027) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5028 Ok(())
5029}
5030pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HUpdateUsageMetadataInput(
5031 input: &crate::deps::aws_cryptography_materialProviders::types::UpdateUsageMetadataInput,
5032) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5033 validate_aws_Pcryptography_PmaterialProviders_HUpdateUsageMetadataInput_Didentifier(
5034 &input.r#identifier,
5035 )?;
5036 validate_aws_Pcryptography_PmaterialProviders_HUpdateUsageMetadataInput_DbytesUsed(
5037 &input.r#bytes_used,
5038 )?;
5039 Ok(())
5040}
5041pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HUpdateUsageMetadataInput_for_CryptographicMaterialsCache_UpdateUsageMetadata(
5042 input: &crate::deps::aws_cryptography_materialProviders::operation::update_usage_metadata::UpdateUsageMetadataInput,
5043) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5044 validate_aws_Pcryptography_PmaterialProviders_HUpdateUsageMetadataInput_Didentifier(
5045 &input.r#identifier,
5046 )?;
5047 validate_aws_Pcryptography_PmaterialProviders_HUpdateUsageMetadataInput_DbytesUsed(
5048 &input.r#bytes_used,
5049 )?;
5050 Ok(())
5051}
5052pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HUpdateUsageMetadataInput_DbytesUsed(
5053 input: &::std::option::Option<::std::primitive::i32>,
5054) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5055 if input.is_none() {
5056 return ::std::result::Result::Err(
5057 ::aws_smithy_types::error::operation::BuildError::missing_field(
5058 "bytes_used",
5059 "bytes_used is required but was not specified",
5060 ),
5061 );
5062 }
5063 if input.is_none() {
5064 return ::std::result::Result::Ok(());
5065 }
5066 let input = input.as_ref().unwrap();
5067
5068 if !(0..).contains(input) {
5069 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
5070 "bytes_used",
5071 "bytes_used failed to satisfy constraint: Member must be greater than or equal to 0",
5072 ));
5073 }
5074 Ok(())
5075}
5076pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HUpdateUsageMetadataInput_Didentifier(
5077 input: &::std::option::Option<::aws_smithy_types::Blob>,
5078) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5079 if input.is_none() {
5080 return ::std::result::Result::Err(
5081 ::aws_smithy_types::error::operation::BuildError::missing_field(
5082 "identifier",
5083 "identifier is required but was not specified",
5084 ),
5085 );
5086 }
5087 if input.is_none() {
5088 return ::std::result::Result::Ok(());
5089 }
5090 let input = input.as_ref().unwrap();
5091
5092 Ok(())
5093}
5094pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnDecryptInput(
5095 input: &crate::deps::aws_cryptography_materialProviders::types::ValidateCommitmentPolicyOnDecryptInput,
5096) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5097 validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnDecryptInput_Dalgorithm(&input.r#algorithm)?;
5098 validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnDecryptInput_DcommitmentPolicy(&input.r#commitment_policy)?;
5099 Ok(())
5100}
5101pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnDecryptInput_for_AwsCryptographicMaterialProviders_ValidateCommitmentPolicyOnDecrypt(
5102 input: &crate::deps::aws_cryptography_materialProviders::operation::validate_commitment_policy_on_decrypt::ValidateCommitmentPolicyOnDecryptInput,
5103) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5104 validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnDecryptInput_Dalgorithm(&input.r#algorithm)?;
5105 validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnDecryptInput_DcommitmentPolicy(&input.r#commitment_policy)?;
5106 Ok(())
5107}
5108pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnDecryptInput_Dalgorithm(
5109 input: &::std::option::Option<
5110 crate::deps::aws_cryptography_materialProviders::types::AlgorithmSuiteId,
5111 >,
5112) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5113 if input.is_none() {
5114 return ::std::result::Result::Err(
5115 ::aws_smithy_types::error::operation::BuildError::missing_field(
5116 "algorithm",
5117 "algorithm is required but was not specified",
5118 ),
5119 );
5120 }
5121 if input.is_none() {
5122 return ::std::result::Result::Ok(());
5123 }
5124 let input = input.as_ref().unwrap();
5125
5126 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteId(input)?;
5127 Ok(())
5128}
5129pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnDecryptInput_DcommitmentPolicy(
5130 input: &::std::option::Option<
5131 crate::deps::aws_cryptography_materialProviders::types::CommitmentPolicy,
5132 >,
5133) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5134 if input.is_none() {
5135 return ::std::result::Result::Err(
5136 ::aws_smithy_types::error::operation::BuildError::missing_field(
5137 "commitment_policy",
5138 "commitment_policy is required but was not specified",
5139 ),
5140 );
5141 }
5142 if input.is_none() {
5143 return ::std::result::Result::Ok(());
5144 }
5145 let input = input.as_ref().unwrap();
5146
5147 validate_aws_Pcryptography_PmaterialProviders_HCommitmentPolicy(input)?;
5148 Ok(())
5149}
5150pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnEncryptInput(
5151 input: &crate::deps::aws_cryptography_materialProviders::types::ValidateCommitmentPolicyOnEncryptInput,
5152) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5153 validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnEncryptInput_Dalgorithm(&input.r#algorithm)?;
5154 validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnEncryptInput_DcommitmentPolicy(&input.r#commitment_policy)?;
5155 Ok(())
5156}
5157pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnEncryptInput_for_AwsCryptographicMaterialProviders_ValidateCommitmentPolicyOnEncrypt(
5158 input: &crate::deps::aws_cryptography_materialProviders::operation::validate_commitment_policy_on_encrypt::ValidateCommitmentPolicyOnEncryptInput,
5159) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5160 validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnEncryptInput_Dalgorithm(&input.r#algorithm)?;
5161 validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnEncryptInput_DcommitmentPolicy(&input.r#commitment_policy)?;
5162 Ok(())
5163}
5164pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnEncryptInput_Dalgorithm(
5165 input: &::std::option::Option<
5166 crate::deps::aws_cryptography_materialProviders::types::AlgorithmSuiteId,
5167 >,
5168) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5169 if input.is_none() {
5170 return ::std::result::Result::Err(
5171 ::aws_smithy_types::error::operation::BuildError::missing_field(
5172 "algorithm",
5173 "algorithm is required but was not specified",
5174 ),
5175 );
5176 }
5177 if input.is_none() {
5178 return ::std::result::Result::Ok(());
5179 }
5180 let input = input.as_ref().unwrap();
5181
5182 validate_aws_Pcryptography_PmaterialProviders_HAlgorithmSuiteId(input)?;
5183 Ok(())
5184}
5185pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidateCommitmentPolicyOnEncryptInput_DcommitmentPolicy(
5186 input: &::std::option::Option<
5187 crate::deps::aws_cryptography_materialProviders::types::CommitmentPolicy,
5188 >,
5189) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5190 if input.is_none() {
5191 return ::std::result::Result::Err(
5192 ::aws_smithy_types::error::operation::BuildError::missing_field(
5193 "commitment_policy",
5194 "commitment_policy is required but was not specified",
5195 ),
5196 );
5197 }
5198 if input.is_none() {
5199 return ::std::result::Result::Ok(());
5200 }
5201 let input = input.as_ref().unwrap();
5202
5203 validate_aws_Pcryptography_PmaterialProviders_HCommitmentPolicy(input)?;
5204 Ok(())
5205}
5206pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidDecryptionMaterialsTransitionInput(
5207 input: &crate::deps::aws_cryptography_materialProviders::types::ValidDecryptionMaterialsTransitionInput,
5208) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5209 validate_aws_Pcryptography_PmaterialProviders_HValidDecryptionMaterialsTransitionInput_Dstart(
5210 &input.r#start,
5211 )?;
5212 validate_aws_Pcryptography_PmaterialProviders_HValidDecryptionMaterialsTransitionInput_Dstop(
5213 &input.r#stop,
5214 )?;
5215 Ok(())
5216}
5217pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidDecryptionMaterialsTransitionInput_for_AwsCryptographicMaterialProviders_ValidDecryptionMaterialsTransition(
5218 input: &crate::deps::aws_cryptography_materialProviders::operation::valid_decryption_materials_transition::ValidDecryptionMaterialsTransitionInput,
5219) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5220 validate_aws_Pcryptography_PmaterialProviders_HValidDecryptionMaterialsTransitionInput_Dstart(
5221 &input.r#start,
5222 )?;
5223 validate_aws_Pcryptography_PmaterialProviders_HValidDecryptionMaterialsTransitionInput_Dstop(
5224 &input.r#stop,
5225 )?;
5226 Ok(())
5227}
5228pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidDecryptionMaterialsTransitionInput_Dstart(
5229 input: &::std::option::Option<
5230 crate::deps::aws_cryptography_materialProviders::types::DecryptionMaterials,
5231 >,
5232) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5233 if input.is_none() {
5234 return ::std::result::Result::Err(
5235 ::aws_smithy_types::error::operation::BuildError::missing_field(
5236 "start",
5237 "start is required but was not specified",
5238 ),
5239 );
5240 }
5241 if input.is_none() {
5242 return ::std::result::Result::Ok(());
5243 }
5244 let input = input.as_ref().unwrap();
5245
5246 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials(input)?;
5247 Ok(())
5248}
5249pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidDecryptionMaterialsTransitionInput_Dstop(
5250 input: &::std::option::Option<
5251 crate::deps::aws_cryptography_materialProviders::types::DecryptionMaterials,
5252 >,
5253) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5254 if input.is_none() {
5255 return ::std::result::Result::Err(
5256 ::aws_smithy_types::error::operation::BuildError::missing_field(
5257 "stop",
5258 "stop is required but was not specified",
5259 ),
5260 );
5261 }
5262 if input.is_none() {
5263 return ::std::result::Result::Ok(());
5264 }
5265 let input = input.as_ref().unwrap();
5266
5267 validate_aws_Pcryptography_PmaterialProviders_HDecryptionMaterials(input)?;
5268 Ok(())
5269}
5270pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidEncryptionMaterialsTransitionInput(
5271 input: &crate::deps::aws_cryptography_materialProviders::types::ValidEncryptionMaterialsTransitionInput,
5272) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5273 validate_aws_Pcryptography_PmaterialProviders_HValidEncryptionMaterialsTransitionInput_Dstart(
5274 &input.r#start,
5275 )?;
5276 validate_aws_Pcryptography_PmaterialProviders_HValidEncryptionMaterialsTransitionInput_Dstop(
5277 &input.r#stop,
5278 )?;
5279 Ok(())
5280}
5281pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidEncryptionMaterialsTransitionInput_for_AwsCryptographicMaterialProviders_ValidEncryptionMaterialsTransition(
5282 input: &crate::deps::aws_cryptography_materialProviders::operation::valid_encryption_materials_transition::ValidEncryptionMaterialsTransitionInput,
5283) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5284 validate_aws_Pcryptography_PmaterialProviders_HValidEncryptionMaterialsTransitionInput_Dstart(
5285 &input.r#start,
5286 )?;
5287 validate_aws_Pcryptography_PmaterialProviders_HValidEncryptionMaterialsTransitionInput_Dstop(
5288 &input.r#stop,
5289 )?;
5290 Ok(())
5291}
5292pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidEncryptionMaterialsTransitionInput_Dstart(
5293 input: &::std::option::Option<
5294 crate::deps::aws_cryptography_materialProviders::types::EncryptionMaterials,
5295 >,
5296) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5297 if input.is_none() {
5298 return ::std::result::Result::Err(
5299 ::aws_smithy_types::error::operation::BuildError::missing_field(
5300 "start",
5301 "start is required but was not specified",
5302 ),
5303 );
5304 }
5305 if input.is_none() {
5306 return ::std::result::Result::Ok(());
5307 }
5308 let input = input.as_ref().unwrap();
5309
5310 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials(input)?;
5311 Ok(())
5312}
5313pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HValidEncryptionMaterialsTransitionInput_Dstop(
5314 input: &::std::option::Option<
5315 crate::deps::aws_cryptography_materialProviders::types::EncryptionMaterials,
5316 >,
5317) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5318 if input.is_none() {
5319 return ::std::result::Result::Err(
5320 ::aws_smithy_types::error::operation::BuildError::missing_field(
5321 "stop",
5322 "stop is required but was not specified",
5323 ),
5324 );
5325 }
5326 if input.is_none() {
5327 return ::std::result::Result::Ok(());
5328 }
5329 let input = input.as_ref().unwrap();
5330
5331 validate_aws_Pcryptography_PmaterialProviders_HEncryptionMaterials(input)?;
5332 Ok(())
5333}
5334pub(crate) fn validate_aws_Pcryptography_Pprimitives_HAES__GCM(
5335 input: &crate::deps::aws_cryptography_primitives::types::AesGcm,
5336) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5337 validate_aws_Pcryptography_Pprimitives_HAES__GCM_DkeyLength(&input.r#key_length)?;
5338 validate_aws_Pcryptography_Pprimitives_HAES__GCM_DtagLength(&input.r#tag_length)?;
5339 validate_aws_Pcryptography_Pprimitives_HAES__GCM_DivLength(&input.r#iv_length)?;
5340 Ok(())
5341}
5342pub(crate) fn validate_aws_Pcryptography_Pprimitives_HAES__GCM_DivLength(
5343 input: &::std::option::Option<::std::primitive::i32>,
5344) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5345 if input.is_none() {
5346 return ::std::result::Result::Err(
5347 ::aws_smithy_types::error::operation::BuildError::missing_field(
5348 "iv_length",
5349 "iv_length is required but was not specified",
5350 ),
5351 );
5352 }
5353 if input.is_none() {
5354 return ::std::result::Result::Ok(());
5355 }
5356 let input = input.as_ref().unwrap();
5357
5358 if !(0..=255).contains(input) {
5359 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
5360 "iv_length",
5361 "iv_length failed to satisfy constraint: Member must be between 0 and 255, inclusive",
5362 ));
5363 }
5364 Ok(())
5365}
5366pub(crate) fn validate_aws_Pcryptography_Pprimitives_HAES__GCM_DkeyLength(
5367 input: &::std::option::Option<::std::primitive::i32>,
5368) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5369 if input.is_none() {
5370 return ::std::result::Result::Err(
5371 ::aws_smithy_types::error::operation::BuildError::missing_field(
5372 "key_length",
5373 "key_length is required but was not specified",
5374 ),
5375 );
5376 }
5377 if input.is_none() {
5378 return ::std::result::Result::Ok(());
5379 }
5380 let input = input.as_ref().unwrap();
5381
5382 if !(1..=32).contains(input) {
5383 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
5384 "key_length",
5385 "key_length failed to satisfy constraint: Member must be between 1 and 32, inclusive",
5386 ));
5387 }
5388 Ok(())
5389}
5390pub(crate) fn validate_aws_Pcryptography_Pprimitives_HAES__GCM_DtagLength(
5391 input: &::std::option::Option<::std::primitive::i32>,
5392) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5393 if input.is_none() {
5394 return ::std::result::Result::Err(
5395 ::aws_smithy_types::error::operation::BuildError::missing_field(
5396 "tag_length",
5397 "tag_length is required but was not specified",
5398 ),
5399 );
5400 }
5401 if input.is_none() {
5402 return ::std::result::Result::Ok(());
5403 }
5404 let input = input.as_ref().unwrap();
5405
5406 if !(0..=32).contains(input) {
5407 return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
5408 "tag_length",
5409 "tag_length failed to satisfy constraint: Member must be between 0 and 32, inclusive",
5410 ));
5411 }
5412 Ok(())
5413}
5414pub(crate) fn validate_smithy_Papi_HUnit(
5415 input: &(),
5416) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5417 Ok(())
5418}
5419pub(crate) fn validate_smithy_Papi_HUnit_for_KeyStore_GetKeyStoreInfo(
5420 input: &crate::deps::aws_cryptography_keyStore::operation::get_key_store_info::Unit,
5421) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
5422 Ok(())
5423}