aws_db_esdk/deps/aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor/
validation.rs

1// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
2// SPDX-License-Identifier: Apache-2.0
3// Do not modify this file. This file is machine generated, and any changes to it will be overwritten.
4pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HAttributeActions(
5    input: &::std::collections::HashMap<
6        ::std::string::String,
7        crate::deps::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction,
8    >,
9) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
10    for (inner_key, inner_val) in input.iter() {
11        validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HAttributeActions_Dkey(inner_key)?;
12        validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HAttributeActions_Dvalue(inner_val)?;
13    }
14    Ok(())
15}
16pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HAttributeActions_Dkey(
17    input: &::std::string::String,
18) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
19    if !(0..=65535).contains(
20        &input
21            .chars()
22            .map(::std::primitive::char::len_utf16)
23            .fold(0usize, ::std::ops::Add::add),
24    ) {
25        return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
26        "key",
27        "key failed to satisfy constraint: Member must have length between 0 and 65535, inclusive",
28    ));
29    }
30    Ok(())
31}
32pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HAttributeActions_Dvalue(
33    input: &crate::deps::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction,
34) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
35    Ok(())
36}
37pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HLegacyDynamoDbEncryptorReference(
38    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::legacy_dynamo_db_encryptor::LegacyDynamoDbEncryptorRef,
39) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
40    Ok(())
41}
42pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HLegacyOverride(
43    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::LegacyOverride,
44) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
45    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HLegacyOverride_Dpolicy(&input.r#policy)?;
46    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HLegacyOverride_Dencryptor(
47        &input.r#encryptor,
48    )?;
49    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HLegacyOverride_DattributeActionsOnEncrypt(&input.r#attribute_actions_on_encrypt)?;
50    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HLegacyOverride_DdefaultAttributeFlag(
51        &input.r#default_attribute_flag,
52    )?;
53    Ok(())
54}
55pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HLegacyOverride_DattributeActionsOnEncrypt(
56    input: &::std::option::Option<
57        ::std::collections::HashMap<
58            ::std::string::String,
59            crate::deps::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction,
60        >,
61    >,
62) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
63    if input.is_none() {
64        return ::std::result::Result::Err(
65            ::aws_smithy_types::error::operation::BuildError::missing_field(
66                "attribute_actions_on_encrypt",
67                "attribute_actions_on_encrypt is required but was not specified",
68            ),
69        );
70    }
71    if input.is_none() {
72        return ::std::result::Result::Ok(());
73    }
74    let input = input.as_ref().unwrap();
75
76    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HAttributeActions(input)?;
77    Ok(())
78}
79pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HLegacyOverride_DdefaultAttributeFlag(
80    input: &::std::option::Option<
81        crate::deps::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction,
82    >,
83) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
84    if input.is_none() {
85        return ::std::result::Result::Ok(());
86    }
87    let input = input.as_ref().unwrap();
88
89    Ok(())
90}
91pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HLegacyOverride_Dencryptor(
92    input: &::std::option::Option<crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::legacy_dynamo_db_encryptor::LegacyDynamoDbEncryptorRef>,
93) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
94    if input.is_none() {
95        return ::std::result::Result::Err(
96            ::aws_smithy_types::error::operation::BuildError::missing_field(
97                "encryptor",
98                "encryptor is required but was not specified",
99            ),
100        );
101    }
102    if input.is_none() {
103        return ::std::result::Result::Ok(());
104    }
105    let input = input.as_ref().unwrap();
106
107    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HLegacyDynamoDbEncryptorReference(input)?;
108    Ok(())
109}
110pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HLegacyOverride_Dpolicy(
111    input: &::std::option::Option<
112        crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::LegacyPolicy,
113    >,
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                "policy",
119                "policy 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_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDecryptItemInput(
131    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor::types::DecryptItemInput,
132) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
133    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDecryptItemInput_DencryptedItem(&input.r#encrypted_item)?;
134    Ok(())
135}
136pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDecryptItemInput_for_DynamoDbItemEncryptor_DecryptItem(
137    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor::operation::decrypt_item::DecryptItemInput,
138) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
139    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDecryptItemInput_DencryptedItem(&input.r#encrypted_item)?;
140    Ok(())
141}
142pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDecryptItemInput_DencryptedItem(
143    input: &::std::option::Option<
144        ::std::collections::HashMap<::std::string::String, aws_sdk_dynamodb::types::AttributeValue>,
145    >,
146) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
147    if input.is_none() {
148        return ::std::result::Result::Err(
149            ::aws_smithy_types::error::operation::BuildError::missing_field(
150                "encrypted_item",
151                "encrypted_item is required but was not specified",
152            ),
153        );
154    }
155    if input.is_none() {
156        return ::std::result::Result::Ok(());
157    }
158    let input = input.as_ref().unwrap();
159
160    validate_com_Pamazonaws_Pdynamodb_HAttributeMap(input)?;
161    Ok(())
162}
163pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDecryptItemOutput(
164    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor::types::DecryptItemOutput,
165) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
166    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDecryptItemOutput_DplaintextItem(&input.r#plaintext_item)?;
167    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDecryptItemOutput_DparsedHeader(&input.r#parsed_header)?;
168    Ok(())
169}
170pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDecryptItemOutput_for_DynamoDbItemEncryptor_DecryptItem(
171    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor::operation::decrypt_item::DecryptItemOutput,
172) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
173    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDecryptItemOutput_DplaintextItem(&input.r#plaintext_item)?;
174    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDecryptItemOutput_DparsedHeader(&input.r#parsed_header)?;
175    Ok(())
176}
177pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDecryptItemOutput_DparsedHeader(
178    input: &::std::option::Option<
179        crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor::types::ParsedHeader,
180    >,
181) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
182    if input.is_none() {
183        return ::std::result::Result::Ok(());
184    }
185    let input = input.as_ref().unwrap();
186
187    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader(input)?;
188    Ok(())
189}
190pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDecryptItemOutput_DplaintextItem(
191    input: &::std::option::Option<
192        ::std::collections::HashMap<::std::string::String, aws_sdk_dynamodb::types::AttributeValue>,
193    >,
194) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
195    if input.is_none() {
196        return ::std::result::Result::Err(
197            ::aws_smithy_types::error::operation::BuildError::missing_field(
198                "plaintext_item",
199                "plaintext_item is required but was not specified",
200            ),
201        );
202    }
203    if input.is_none() {
204        return ::std::result::Result::Ok(());
205    }
206    let input = input.as_ref().unwrap();
207
208    validate_com_Pamazonaws_Pdynamodb_HAttributeMap(input)?;
209    Ok(())
210}
211pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig(
212    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor::types::dynamo_db_item_encryptor_config::DynamoDbItemEncryptorConfig,
213) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
214    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DlogicalTableName(&input.r#logical_table_name)?;
215    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DpartitionKeyName(&input.r#partition_key_name)?;
216    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DsortKeyName(&input.r#sort_key_name)?;
217    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DattributeActionsOnEncrypt(&input.r#attribute_actions_on_encrypt)?;
218    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DallowedUnsignedAttributes(&input.r#allowed_unsigned_attributes)?;
219    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DallowedUnsignedAttributePrefix(&input.r#allowed_unsigned_attribute_prefix)?;
220    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DalgorithmSuiteId(&input.r#algorithm_suite_id)?;
221    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_Dkeyring(&input.r#keyring)?;
222    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_Dcmm(&input.r#cmm)?;
223    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DlegacyOverride(&input.r#legacy_override)?;
224    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DplaintextOverride(&input.r#plaintext_override)?;
225    Ok(())
226}
227pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DalgorithmSuiteId(
228    input: &::std::option::Option<
229        crate::deps::aws_cryptography_materialProviders::types::DbeAlgorithmSuiteId,
230    >,
231) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
232    if input.is_none() {
233        return ::std::result::Result::Ok(());
234    }
235    let input = input.as_ref().unwrap();
236
237    Ok(())
238}
239pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DallowedUnsignedAttributePrefix(
240    input: &::std::option::Option<::std::string::String>,
241) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
242    if input.is_none() {
243        return ::std::result::Result::Ok(());
244    }
245    let input = input.as_ref().unwrap();
246
247    Ok(())
248}
249pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DallowedUnsignedAttributes(
250    input: &::std::option::Option<::std::vec::Vec<::std::string::String>>,
251) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
252    if input.is_none() {
253        return ::std::result::Result::Ok(());
254    }
255    let input = input.as_ref().unwrap();
256
257    if !(1..).contains(&input.len()) {
258        return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
259        "allowed_unsigned_attributes",
260        "allowed_unsigned_attributes failed to satisfy constraint: Member must have length greater than or equal to 1",
261    ));
262    }
263    validate_com_Pamazonaws_Pdynamodb_HAttributeNameList(input)?;
264    Ok(())
265}
266pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DattributeActionsOnEncrypt(
267    input: &::std::option::Option<
268        ::std::collections::HashMap<
269            ::std::string::String,
270            crate::deps::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction,
271        >,
272    >,
273) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
274    if input.is_none() {
275        return ::std::result::Result::Err(
276            ::aws_smithy_types::error::operation::BuildError::missing_field(
277                "attribute_actions_on_encrypt",
278                "attribute_actions_on_encrypt is required but was not specified",
279            ),
280        );
281    }
282    if input.is_none() {
283        return ::std::result::Result::Ok(());
284    }
285    let input = input.as_ref().unwrap();
286
287    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HAttributeActions(input)?;
288    Ok(())
289}
290pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_Dcmm(
291    input: &::std::option::Option<crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_manager::CryptographicMaterialsManagerRef>,
292) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
293    if input.is_none() {
294        return ::std::result::Result::Ok(());
295    }
296    let input = input.as_ref().unwrap();
297
298    validate_aws_Pcryptography_PmaterialProviders_HCryptographicMaterialsManagerReference(input)?;
299    Ok(())
300}
301pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_Dkeyring(
302    input: &::std::option::Option<
303        crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
304    >,
305) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
306    if input.is_none() {
307        return ::std::result::Result::Ok(());
308    }
309    let input = input.as_ref().unwrap();
310
311    validate_aws_Pcryptography_PmaterialProviders_HKeyringReference(input)?;
312    Ok(())
313}
314pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DlegacyOverride(
315    input: &::std::option::Option<
316        crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::LegacyOverride,
317    >,
318) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
319    if input.is_none() {
320        return ::std::result::Result::Ok(());
321    }
322    let input = input.as_ref().unwrap();
323
324    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HLegacyOverride(input)?;
325    Ok(())
326}
327pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DlogicalTableName(
328    input: &::std::option::Option<::std::string::String>,
329) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
330    if input.is_none() {
331        return ::std::result::Result::Err(
332            ::aws_smithy_types::error::operation::BuildError::missing_field(
333                "logical_table_name",
334                "logical_table_name is required but was not specified",
335            ),
336        );
337    }
338    if input.is_none() {
339        return ::std::result::Result::Ok(());
340    }
341    let input = input.as_ref().unwrap();
342
343    Ok(())
344}
345pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DpartitionKeyName(
346    input: &::std::option::Option<::std::string::String>,
347) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
348    if input.is_none() {
349        return ::std::result::Result::Err(
350            ::aws_smithy_types::error::operation::BuildError::missing_field(
351                "partition_key_name",
352                "partition_key_name is required but was not specified",
353            ),
354        );
355    }
356    if input.is_none() {
357        return ::std::result::Result::Ok(());
358    }
359    let input = input.as_ref().unwrap();
360
361    if !(1..=255).contains(
362        &input
363            .chars()
364            .map(::std::primitive::char::len_utf16)
365            .fold(0usize, ::std::ops::Add::add),
366    ) {
367        return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
368        "partition_key_name",
369        "partition_key_name failed to satisfy constraint: Member must have length between 1 and 255, inclusive",
370    ));
371    }
372    Ok(())
373}
374pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DplaintextOverride(
375    input: &::std::option::Option<
376        crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::PlaintextOverride,
377    >,
378) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
379    if input.is_none() {
380        return ::std::result::Result::Ok(());
381    }
382    let input = input.as_ref().unwrap();
383
384    Ok(())
385}
386pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HDynamoDbItemEncryptorConfig_DsortKeyName(
387    input: &::std::option::Option<::std::string::String>,
388) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
389    if input.is_none() {
390        return ::std::result::Result::Ok(());
391    }
392    let input = input.as_ref().unwrap();
393
394    if !(1..=255).contains(
395        &input
396            .chars()
397            .map(::std::primitive::char::len_utf16)
398            .fold(0usize, ::std::ops::Add::add),
399    ) {
400        return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
401        "sort_key_name",
402        "sort_key_name failed to satisfy constraint: Member must have length between 1 and 255, inclusive",
403    ));
404    }
405    Ok(())
406}
407pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HEncryptItemInput(
408    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor::types::EncryptItemInput,
409) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
410    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HEncryptItemInput_DplaintextItem(&input.r#plaintext_item)?;
411    Ok(())
412}
413pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HEncryptItemInput_for_DynamoDbItemEncryptor_EncryptItem(
414    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor::operation::encrypt_item::EncryptItemInput,
415) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
416    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HEncryptItemInput_DplaintextItem(&input.r#plaintext_item)?;
417    Ok(())
418}
419pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HEncryptItemInput_DplaintextItem(
420    input: &::std::option::Option<
421        ::std::collections::HashMap<::std::string::String, aws_sdk_dynamodb::types::AttributeValue>,
422    >,
423) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
424    if input.is_none() {
425        return ::std::result::Result::Err(
426            ::aws_smithy_types::error::operation::BuildError::missing_field(
427                "plaintext_item",
428                "plaintext_item is required but was not specified",
429            ),
430        );
431    }
432    if input.is_none() {
433        return ::std::result::Result::Ok(());
434    }
435    let input = input.as_ref().unwrap();
436
437    validate_com_Pamazonaws_Pdynamodb_HAttributeMap(input)?;
438    Ok(())
439}
440pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HEncryptItemOutput(
441    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor::types::EncryptItemOutput,
442) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
443    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HEncryptItemOutput_DencryptedItem(&input.r#encrypted_item)?;
444    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HEncryptItemOutput_DparsedHeader(&input.r#parsed_header)?;
445    Ok(())
446}
447pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HEncryptItemOutput_for_DynamoDbItemEncryptor_EncryptItem(
448    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor::operation::encrypt_item::EncryptItemOutput,
449) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
450    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HEncryptItemOutput_DencryptedItem(&input.r#encrypted_item)?;
451    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HEncryptItemOutput_DparsedHeader(&input.r#parsed_header)?;
452    Ok(())
453}
454pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HEncryptItemOutput_DencryptedItem(
455    input: &::std::option::Option<
456        ::std::collections::HashMap<::std::string::String, aws_sdk_dynamodb::types::AttributeValue>,
457    >,
458) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
459    if input.is_none() {
460        return ::std::result::Result::Err(
461            ::aws_smithy_types::error::operation::BuildError::missing_field(
462                "encrypted_item",
463                "encrypted_item is required but was not specified",
464            ),
465        );
466    }
467    if input.is_none() {
468        return ::std::result::Result::Ok(());
469    }
470    let input = input.as_ref().unwrap();
471
472    validate_com_Pamazonaws_Pdynamodb_HAttributeMap(input)?;
473    Ok(())
474}
475pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HEncryptItemOutput_DparsedHeader(
476    input: &::std::option::Option<
477        crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor::types::ParsedHeader,
478    >,
479) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
480    if input.is_none() {
481        return ::std::result::Result::Ok(());
482    }
483    let input = input.as_ref().unwrap();
484
485    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader(input)?;
486    Ok(())
487}
488pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader(
489    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor::types::ParsedHeader,
490) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
491    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader_DattributeActionsOnEncrypt(&input.r#attribute_actions_on_encrypt)?;
492    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader_DalgorithmSuiteId(&input.r#algorithm_suite_id)?;
493    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader_DencryptedDataKeys(&input.r#encrypted_data_keys)?;
494    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader_DstoredEncryptionContext(&input.r#stored_encryption_context)?;
495    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader_DencryptionContext(&input.r#encryption_context)?;
496    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader_DselectorContext(&input.r#selector_context)?;
497    Ok(())
498}
499pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader_DalgorithmSuiteId(
500    input: &::std::option::Option<
501        crate::deps::aws_cryptography_materialProviders::types::DbeAlgorithmSuiteId,
502    >,
503) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
504    if input.is_none() {
505        return ::std::result::Result::Err(
506            ::aws_smithy_types::error::operation::BuildError::missing_field(
507                "algorithm_suite_id",
508                "algorithm_suite_id is required but was not specified",
509            ),
510        );
511    }
512    if input.is_none() {
513        return ::std::result::Result::Ok(());
514    }
515    let input = input.as_ref().unwrap();
516
517    Ok(())
518}
519pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader_DattributeActionsOnEncrypt(
520    input: &::std::option::Option<
521        ::std::collections::HashMap<
522            ::std::string::String,
523            crate::deps::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction,
524        >,
525    >,
526) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
527    if input.is_none() {
528        return ::std::result::Result::Err(
529            ::aws_smithy_types::error::operation::BuildError::missing_field(
530                "attribute_actions_on_encrypt",
531                "attribute_actions_on_encrypt is required but was not specified",
532            ),
533        );
534    }
535    if input.is_none() {
536        return ::std::result::Result::Ok(());
537    }
538    let input = input.as_ref().unwrap();
539
540    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HAttributeActions(input)?;
541    Ok(())
542}
543pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader_DencryptedDataKeys(
544    input: &::std::option::Option<
545        ::std::vec::Vec<crate::deps::aws_cryptography_materialProviders::types::EncryptedDataKey>,
546    >,
547) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
548    if input.is_none() {
549        return ::std::result::Result::Err(
550            ::aws_smithy_types::error::operation::BuildError::missing_field(
551                "encrypted_data_keys",
552                "encrypted_data_keys is required but was not specified",
553            ),
554        );
555    }
556    if input.is_none() {
557        return ::std::result::Result::Ok(());
558    }
559    let input = input.as_ref().unwrap();
560
561    validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKeyList(input)?;
562    Ok(())
563}
564pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader_DencryptionContext(
565    input: &::std::option::Option<
566        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
567    >,
568) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
569    if input.is_none() {
570        return ::std::result::Result::Err(
571            ::aws_smithy_types::error::operation::BuildError::missing_field(
572                "encryption_context",
573                "encryption_context is required but was not specified",
574            ),
575        );
576    }
577    if input.is_none() {
578        return ::std::result::Result::Ok(());
579    }
580    let input = input.as_ref().unwrap();
581
582    validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext(input)?;
583    Ok(())
584}
585pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader_DselectorContext(
586    input: &::std::option::Option<
587        ::std::collections::HashMap<::std::string::String, aws_sdk_dynamodb::types::AttributeValue>,
588    >,
589) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
590    if input.is_none() {
591        return ::std::result::Result::Err(
592            ::aws_smithy_types::error::operation::BuildError::missing_field(
593                "selector_context",
594                "selector_context is required but was not specified",
595            ),
596        );
597    }
598    if input.is_none() {
599        return ::std::result::Result::Ok(());
600    }
601    let input = input.as_ref().unwrap();
602
603    validate_com_Pamazonaws_Pdynamodb_HKey(input)?;
604    Ok(())
605}
606pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_PitemEncryptor_HParsedHeader_DstoredEncryptionContext(
607    input: &::std::option::Option<
608        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
609    >,
610) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
611    if input.is_none() {
612        return ::std::result::Result::Err(
613            ::aws_smithy_types::error::operation::BuildError::missing_field(
614                "stored_encryption_context",
615                "stored_encryption_context is required but was not specified",
616            ),
617        );
618    }
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_HEncryptionContext(input)?;
625    Ok(())
626}
627pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HCryptographicMaterialsManagerReference(
628    input: &crate::deps::aws_cryptography_materialProviders::types::cryptographic_materials_manager::CryptographicMaterialsManagerRef,
629) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
630    Ok(())
631}
632pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey(
633    input: &crate::deps::aws_cryptography_materialProviders::types::EncryptedDataKey,
634) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
635    validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey_DkeyProviderId(
636        &input.r#key_provider_id,
637    )?;
638    validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey_DkeyProviderInfo(
639        &input.r#key_provider_info,
640    )?;
641    validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey_Dciphertext(
642        &input.r#ciphertext,
643    )?;
644    Ok(())
645}
646pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey_Dciphertext(
647    input: &::std::option::Option<::aws_smithy_types::Blob>,
648) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
649    if input.is_none() {
650        return ::std::result::Result::Err(
651            ::aws_smithy_types::error::operation::BuildError::missing_field(
652                "ciphertext",
653                "ciphertext is required but was not specified",
654            ),
655        );
656    }
657    if input.is_none() {
658        return ::std::result::Result::Ok(());
659    }
660    let input = input.as_ref().unwrap();
661
662    Ok(())
663}
664pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey_DkeyProviderId(
665    input: &::std::option::Option<::std::string::String>,
666) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
667    if input.is_none() {
668        return ::std::result::Result::Err(
669            ::aws_smithy_types::error::operation::BuildError::missing_field(
670                "key_provider_id",
671                "key_provider_id is required but was not specified",
672            ),
673        );
674    }
675    if input.is_none() {
676        return ::std::result::Result::Ok(());
677    }
678    let input = input.as_ref().unwrap();
679
680    Ok(())
681}
682pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey_DkeyProviderInfo(
683    input: &::std::option::Option<::aws_smithy_types::Blob>,
684) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
685    if input.is_none() {
686        return ::std::result::Result::Err(
687            ::aws_smithy_types::error::operation::BuildError::missing_field(
688                "key_provider_info",
689                "key_provider_info is required but was not specified",
690            ),
691        );
692    }
693    if input.is_none() {
694        return ::std::result::Result::Ok(());
695    }
696    let input = input.as_ref().unwrap();
697
698    Ok(())
699}
700pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKeyList(
701    input: &::std::vec::Vec<
702        crate::deps::aws_cryptography_materialProviders::types::EncryptedDataKey,
703    >,
704) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
705    for inner in input.iter() {
706        validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKeyList_Dmember(inner)?;
707    }
708    Ok(())
709}
710pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKeyList_Dmember(
711    input: &crate::deps::aws_cryptography_materialProviders::types::EncryptedDataKey,
712) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
713    validate_aws_Pcryptography_PmaterialProviders_HEncryptedDataKey(input)?;
714    Ok(())
715}
716pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext(
717    input: &::std::collections::HashMap<::std::string::String, ::std::string::String>,
718) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
719    for (inner_key, inner_val) in input.iter() {
720        validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext_Dkey(inner_key)?;
721        validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext_Dvalue(inner_val)?;
722    }
723    Ok(())
724}
725pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext_Dkey(
726    input: &::std::string::String,
727) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
728    Ok(())
729}
730pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HEncryptionContext_Dvalue(
731    input: &::std::string::String,
732) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
733    Ok(())
734}
735pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HKeyringReference(
736    input: &crate::deps::aws_cryptography_materialProviders::types::keyring::KeyringRef,
737) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
738    Ok(())
739}
740pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeMap(
741    input: &::std::collections::HashMap<
742        ::std::string::String,
743        aws_sdk_dynamodb::types::AttributeValue,
744    >,
745) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
746    for (inner_key, inner_val) in input.iter() {
747        validate_com_Pamazonaws_Pdynamodb_HAttributeMap_Dkey(inner_key)?;
748        validate_com_Pamazonaws_Pdynamodb_HAttributeMap_Dvalue(inner_val)?;
749    }
750    Ok(())
751}
752pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeMap_Dkey(
753    input: &::std::string::String,
754) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
755    if !(0..=65535).contains(
756        &input
757            .chars()
758            .map(::std::primitive::char::len_utf16)
759            .fold(0usize, ::std::ops::Add::add),
760    ) {
761        return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
762        "key",
763        "key failed to satisfy constraint: Member must have length between 0 and 65535, inclusive",
764    ));
765    }
766    Ok(())
767}
768pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeMap_Dvalue(
769    input: &aws_sdk_dynamodb::types::AttributeValue,
770) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
771    validate_com_Pamazonaws_Pdynamodb_HAttributeValue(input)?;
772    Ok(())
773}
774pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeNameList(
775    input: &::std::vec::Vec<::std::string::String>,
776) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
777    for inner in input.iter() {
778        validate_com_Pamazonaws_Pdynamodb_HAttributeNameList_Dmember(inner)?;
779    }
780    Ok(())
781}
782pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeNameList_Dmember(
783    input: &::std::string::String,
784) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
785    if !(0..=65535).contains(
786        &input
787            .chars()
788            .map(::std::primitive::char::len_utf16)
789            .fold(0usize, ::std::ops::Add::add),
790    ) {
791        return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
792        "member",
793        "member failed to satisfy constraint: Member must have length between 0 and 65535, inclusive",
794    ));
795    }
796    Ok(())
797}
798pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue(
799    input: &aws_sdk_dynamodb::types::AttributeValue,
800) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
801    if let aws_sdk_dynamodb::types::AttributeValue::S(ref inner) = &input {
802        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DS(inner)?;
803    }
804    if let aws_sdk_dynamodb::types::AttributeValue::N(ref inner) = &input {
805        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DN(inner)?;
806    }
807    if let aws_sdk_dynamodb::types::AttributeValue::B(ref inner) = &input {
808        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DB(inner)?;
809    }
810    if let aws_sdk_dynamodb::types::AttributeValue::Ss(ref inner) = &input {
811        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DSS(inner)?;
812    }
813    if let aws_sdk_dynamodb::types::AttributeValue::Ns(ref inner) = &input {
814        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DNS(inner)?;
815    }
816    if let aws_sdk_dynamodb::types::AttributeValue::Bs(ref inner) = &input {
817        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DBS(inner)?;
818    }
819    if let aws_sdk_dynamodb::types::AttributeValue::M(ref inner) = &input {
820        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DM(inner)?;
821    }
822    if let aws_sdk_dynamodb::types::AttributeValue::L(ref inner) = &input {
823        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DL(inner)?;
824    }
825    if let aws_sdk_dynamodb::types::AttributeValue::Null(ref inner) = &input {
826        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DNULL(inner)?;
827    }
828    if let aws_sdk_dynamodb::types::AttributeValue::Bool(ref inner) = &input {
829        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DBOOL(inner)?;
830    }
831    Ok(())
832}
833pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DB(
834    input: &::aws_smithy_types::Blob,
835) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
836    Ok(())
837}
838pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DBOOL(
839    input: &::std::primitive::bool,
840) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
841    Ok(())
842}
843pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DBS(
844    input: &::std::vec::Vec<::aws_smithy_types::Blob>,
845) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
846    validate_com_Pamazonaws_Pdynamodb_HBinarySetAttributeValue(input)?;
847    Ok(())
848}
849pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DL(
850    input: &::std::vec::Vec<aws_sdk_dynamodb::types::AttributeValue>,
851) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
852    validate_com_Pamazonaws_Pdynamodb_HListAttributeValue(input)?;
853    Ok(())
854}
855pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DM(
856    input: &::std::collections::HashMap<
857        ::std::string::String,
858        aws_sdk_dynamodb::types::AttributeValue,
859    >,
860) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
861    validate_com_Pamazonaws_Pdynamodb_HMapAttributeValue(input)?;
862    Ok(())
863}
864pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DN(
865    input: &::std::string::String,
866) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
867    Ok(())
868}
869pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DNS(
870    input: &::std::vec::Vec<::std::string::String>,
871) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
872    validate_com_Pamazonaws_Pdynamodb_HNumberSetAttributeValue(input)?;
873    Ok(())
874}
875pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DNULL(
876    input: &::std::primitive::bool,
877) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
878    Ok(())
879}
880pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DS(
881    input: &::std::string::String,
882) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
883    Ok(())
884}
885pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DSS(
886    input: &::std::vec::Vec<::std::string::String>,
887) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
888    validate_com_Pamazonaws_Pdynamodb_HStringSetAttributeValue(input)?;
889    Ok(())
890}
891pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HBinarySetAttributeValue(
892    input: &::std::vec::Vec<::aws_smithy_types::Blob>,
893) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
894    for inner in input.iter() {
895        validate_com_Pamazonaws_Pdynamodb_HBinarySetAttributeValue_Dmember(inner)?;
896    }
897    Ok(())
898}
899pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HBinarySetAttributeValue_Dmember(
900    input: &::aws_smithy_types::Blob,
901) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
902    Ok(())
903}
904pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HKey(
905    input: &::std::collections::HashMap<
906        ::std::string::String,
907        aws_sdk_dynamodb::types::AttributeValue,
908    >,
909) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
910    for (inner_key, inner_val) in input.iter() {
911        validate_com_Pamazonaws_Pdynamodb_HKey_Dkey(inner_key)?;
912        validate_com_Pamazonaws_Pdynamodb_HKey_Dvalue(inner_val)?;
913    }
914    Ok(())
915}
916pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HKey_Dkey(
917    input: &::std::string::String,
918) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
919    if !(0..=65535).contains(
920        &input
921            .chars()
922            .map(::std::primitive::char::len_utf16)
923            .fold(0usize, ::std::ops::Add::add),
924    ) {
925        return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
926        "key",
927        "key failed to satisfy constraint: Member must have length between 0 and 65535, inclusive",
928    ));
929    }
930    Ok(())
931}
932pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HKey_Dvalue(
933    input: &aws_sdk_dynamodb::types::AttributeValue,
934) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
935    validate_com_Pamazonaws_Pdynamodb_HAttributeValue(input)?;
936    Ok(())
937}
938pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HListAttributeValue(
939    input: &::std::vec::Vec<aws_sdk_dynamodb::types::AttributeValue>,
940) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
941    for inner in input.iter() {
942        validate_com_Pamazonaws_Pdynamodb_HListAttributeValue_Dmember(inner)?;
943    }
944    Ok(())
945}
946pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HListAttributeValue_Dmember(
947    input: &aws_sdk_dynamodb::types::AttributeValue,
948) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
949    validate_com_Pamazonaws_Pdynamodb_HAttributeValue(input)?;
950    Ok(())
951}
952pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HMapAttributeValue(
953    input: &::std::collections::HashMap<
954        ::std::string::String,
955        aws_sdk_dynamodb::types::AttributeValue,
956    >,
957) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
958    for (inner_key, inner_val) in input.iter() {
959        validate_com_Pamazonaws_Pdynamodb_HMapAttributeValue_Dkey(inner_key)?;
960        validate_com_Pamazonaws_Pdynamodb_HMapAttributeValue_Dvalue(inner_val)?;
961    }
962    Ok(())
963}
964pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HMapAttributeValue_Dkey(
965    input: &::std::string::String,
966) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
967    if !(0..=65535).contains(
968        &input
969            .chars()
970            .map(::std::primitive::char::len_utf16)
971            .fold(0usize, ::std::ops::Add::add),
972    ) {
973        return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
974        "key",
975        "key failed to satisfy constraint: Member must have length between 0 and 65535, inclusive",
976    ));
977    }
978    Ok(())
979}
980pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HMapAttributeValue_Dvalue(
981    input: &aws_sdk_dynamodb::types::AttributeValue,
982) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
983    validate_com_Pamazonaws_Pdynamodb_HAttributeValue(input)?;
984    Ok(())
985}
986pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HNumberSetAttributeValue(
987    input: &::std::vec::Vec<::std::string::String>,
988) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
989    for inner in input.iter() {
990        validate_com_Pamazonaws_Pdynamodb_HNumberSetAttributeValue_Dmember(inner)?;
991    }
992    Ok(())
993}
994pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HNumberSetAttributeValue_Dmember(
995    input: &::std::string::String,
996) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
997    Ok(())
998}
999pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HStringSetAttributeValue(
1000    input: &::std::vec::Vec<::std::string::String>,
1001) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1002    for inner in input.iter() {
1003        validate_com_Pamazonaws_Pdynamodb_HStringSetAttributeValue_Dmember(inner)?;
1004    }
1005    Ok(())
1006}
1007pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HStringSetAttributeValue_Dmember(
1008    input: &::std::string::String,
1009) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
1010    Ok(())
1011}