aws_db_esdk/deps/aws_cryptography_dbEncryptionSdk_dynamoDb/
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_HCreateDynamoDbEncryptionBranchKeyIdSupplierInput(
5    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::CreateDynamoDbEncryptionBranchKeyIdSupplierInput,
6) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
7    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HCreateDynamoDbEncryptionBranchKeyIdSupplierInput_DddbKeyBranchKeyIdSupplier(&input.r#ddb_key_branch_key_id_supplier)?;
8    Ok(())
9}
10pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HCreateDynamoDbEncryptionBranchKeyIdSupplierInput_for_DynamoDbEncryption_CreateDynamoDbEncryptionBranchKeyIdSupplier(
11    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::operation::create_dynamo_db_encryption_branch_key_id_supplier::CreateDynamoDbEncryptionBranchKeyIdSupplierInput,
12) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
13    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HCreateDynamoDbEncryptionBranchKeyIdSupplierInput_DddbKeyBranchKeyIdSupplier(&input.r#ddb_key_branch_key_id_supplier)?;
14    Ok(())
15}
16pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HCreateDynamoDbEncryptionBranchKeyIdSupplierInput_DddbKeyBranchKeyIdSupplier(
17    input: &::std::option::Option<crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::dynamo_db_key_branch_key_id_supplier::DynamoDbKeyBranchKeyIdSupplierRef>,
18) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
19    if input.is_none() {
20        return ::std::result::Result::Err(
21            ::aws_smithy_types::error::operation::BuildError::missing_field(
22                "ddb_key_branch_key_id_supplier",
23                "ddb_key_branch_key_id_supplier is required but was not specified",
24            ),
25        );
26    }
27    if input.is_none() {
28        return ::std::result::Result::Ok(());
29    }
30    let input = input.as_ref().unwrap();
31
32    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HDynamoDbKeyBranchKeyIdSupplierReference(
33        input,
34    )?;
35    Ok(())
36}
37pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HCreateDynamoDbEncryptionBranchKeyIdSupplierOutput(
38    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::CreateDynamoDbEncryptionBranchKeyIdSupplierOutput,
39) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
40    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HCreateDynamoDbEncryptionBranchKeyIdSupplierOutput_DbranchKeyIdSupplier(&input.r#branch_key_id_supplier)?;
41    Ok(())
42}
43pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HCreateDynamoDbEncryptionBranchKeyIdSupplierOutput_for_DynamoDbEncryption_CreateDynamoDbEncryptionBranchKeyIdSupplier(
44    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::operation::create_dynamo_db_encryption_branch_key_id_supplier::CreateDynamoDbEncryptionBranchKeyIdSupplierOutput,
45) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
46    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HCreateDynamoDbEncryptionBranchKeyIdSupplierOutput_DbranchKeyIdSupplier(&input.r#branch_key_id_supplier)?;
47    Ok(())
48}
49pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HCreateDynamoDbEncryptionBranchKeyIdSupplierOutput_DbranchKeyIdSupplier(
50    input: &::std::option::Option<crate::deps::aws_cryptography_materialProviders::types::branch_key_id_supplier::BranchKeyIdSupplierRef>,
51) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
52    if input.is_none() {
53        return ::std::result::Result::Err(
54            ::aws_smithy_types::error::operation::BuildError::missing_field(
55                "branch_key_id_supplier",
56                "branch_key_id_supplier is required but was not specified",
57            ),
58        );
59    }
60    if input.is_none() {
61        return ::std::result::Result::Ok(());
62    }
63    let input = input.as_ref().unwrap();
64
65    validate_aws_Pcryptography_PmaterialProviders_HBranchKeyIdSupplierReference(input)?;
66    Ok(())
67}
68pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HDynamoDbEncryptionConfig(
69    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::dynamo_db_encryption_config::DynamoDbEncryptionConfig,
70) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
71    Ok(())
72}
73pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HDynamoDbKeyBranchKeyIdSupplierReference(
74    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::dynamo_db_key_branch_key_id_supplier::DynamoDbKeyBranchKeyIdSupplierRef,
75) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
76    Ok(())
77}
78pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HEncryptedDataKeyDescription(
79    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::EncryptedDataKeyDescription,
80) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
81    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HEncryptedDataKeyDescription_DkeyProviderId(&input.r#key_provider_id)?;
82    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HEncryptedDataKeyDescription_DkeyProviderInfo(&input.r#key_provider_info)?;
83    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HEncryptedDataKeyDescription_DbranchKeyId(&input.r#branch_key_id)?;
84    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HEncryptedDataKeyDescription_DbranchKeyVersion(&input.r#branch_key_version)?;
85    Ok(())
86}
87pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HEncryptedDataKeyDescription_DbranchKeyId(
88    input: &::std::option::Option<::std::string::String>,
89) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
90    if input.is_none() {
91        return ::std::result::Result::Ok(());
92    }
93    let input = input.as_ref().unwrap();
94
95    Ok(())
96}
97pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HEncryptedDataKeyDescription_DbranchKeyVersion(
98    input: &::std::option::Option<::std::string::String>,
99) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
100    if input.is_none() {
101        return ::std::result::Result::Ok(());
102    }
103    let input = input.as_ref().unwrap();
104
105    Ok(())
106}
107pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HEncryptedDataKeyDescription_DkeyProviderId(
108    input: &::std::option::Option<::std::string::String>,
109) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
110    if input.is_none() {
111        return ::std::result::Result::Err(
112            ::aws_smithy_types::error::operation::BuildError::missing_field(
113                "key_provider_id",
114                "key_provider_id is required but was not specified",
115            ),
116        );
117    }
118    if input.is_none() {
119        return ::std::result::Result::Ok(());
120    }
121    let input = input.as_ref().unwrap();
122
123    Ok(())
124}
125pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HEncryptedDataKeyDescription_DkeyProviderInfo(
126    input: &::std::option::Option<::std::string::String>,
127) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
128    if input.is_none() {
129        return ::std::result::Result::Ok(());
130    }
131    let input = input.as_ref().unwrap();
132
133    Ok(())
134}
135pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HEncryptedDataKeyDescriptionList(
136    input: &::std::vec::Vec<
137        crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::EncryptedDataKeyDescription,
138    >,
139) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
140    for inner in input.iter() {
141        validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HEncryptedDataKeyDescriptionList_Dmember(inner)?;
142    }
143    Ok(())
144}
145pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HEncryptedDataKeyDescriptionList_Dmember(
146    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::EncryptedDataKeyDescription,
147) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
148    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HEncryptedDataKeyDescription(input)?;
149    Ok(())
150}
151pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetBranchKeyIdFromDdbKeyInput(
152    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::GetBranchKeyIdFromDdbKeyInput,
153) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
154    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetBranchKeyIdFromDdbKeyInput_DddbKey(
155        &input.r#ddb_key,
156    )?;
157    Ok(())
158}
159pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetBranchKeyIdFromDdbKeyInput_for_DynamoDbKeyBranchKeyIdSupplier_GetBranchKeyIdFromDdbKey(
160    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::operation::get_branch_key_id_from_ddb_key::GetBranchKeyIdFromDdbKeyInput,
161) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
162    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetBranchKeyIdFromDdbKeyInput_DddbKey(
163        &input.r#ddb_key,
164    )?;
165    Ok(())
166}
167pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetBranchKeyIdFromDdbKeyInput_DddbKey(
168    input: &::std::option::Option<
169        ::std::collections::HashMap<::std::string::String, aws_sdk_dynamodb::types::AttributeValue>,
170    >,
171) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
172    if input.is_none() {
173        return ::std::result::Result::Err(
174            ::aws_smithy_types::error::operation::BuildError::missing_field(
175                "ddb_key",
176                "ddb_key is required but was not specified",
177            ),
178        );
179    }
180    if input.is_none() {
181        return ::std::result::Result::Ok(());
182    }
183    let input = input.as_ref().unwrap();
184
185    validate_com_Pamazonaws_Pdynamodb_HKey(input)?;
186    Ok(())
187}
188pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetBranchKeyIdFromDdbKeyOutput(
189    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::GetBranchKeyIdFromDdbKeyOutput,
190) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
191    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetBranchKeyIdFromDdbKeyOutput_DbranchKeyId(&input.r#branch_key_id)?;
192    Ok(())
193}
194pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetBranchKeyIdFromDdbKeyOutput_for_DynamoDbKeyBranchKeyIdSupplier_GetBranchKeyIdFromDdbKey(
195    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::operation::get_branch_key_id_from_ddb_key::GetBranchKeyIdFromDdbKeyOutput,
196) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
197    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetBranchKeyIdFromDdbKeyOutput_DbranchKeyId(&input.r#branch_key_id)?;
198    Ok(())
199}
200pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetBranchKeyIdFromDdbKeyOutput_DbranchKeyId(
201    input: &::std::option::Option<::std::string::String>,
202) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
203    if input.is_none() {
204        return ::std::result::Result::Err(
205            ::aws_smithy_types::error::operation::BuildError::missing_field(
206                "branch_key_id",
207                "branch_key_id is required but was not specified",
208            ),
209        );
210    }
211    if input.is_none() {
212        return ::std::result::Result::Ok(());
213    }
214    let input = input.as_ref().unwrap();
215
216    Ok(())
217}
218pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionInput(
219    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::GetEncryptedDataKeyDescriptionInput,
220) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
221    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionInput_Dinput(&input.r#input)?;
222    Ok(())
223}
224pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionInput_for_DynamoDbEncryption_GetEncryptedDataKeyDescription(
225    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::operation::get_encrypted_data_key_description::GetEncryptedDataKeyDescriptionInput,
226) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
227    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionInput_Dinput(&input.r#input)?;
228    Ok(())
229}
230pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionInput_Dinput(
231    input: &::std::option::Option<crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::GetEncryptedDataKeyDescriptionUnion>,
232) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
233    if input.is_none() {
234        return ::std::result::Result::Err(
235            ::aws_smithy_types::error::operation::BuildError::missing_field(
236                "input",
237                "input is required but was not specified",
238            ),
239        );
240    }
241    if input.is_none() {
242        return ::std::result::Result::Ok(());
243    }
244    let input = input.as_ref().unwrap();
245
246    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionUnion(
247        input,
248    )?;
249    Ok(())
250}
251pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionOutput(
252    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::GetEncryptedDataKeyDescriptionOutput,
253) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
254    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionOutput_DEncryptedDataKeyDescriptionOutput(&input.r#encrypted_data_key_description_output)?;
255    Ok(())
256}
257pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionOutput_for_DynamoDbEncryption_GetEncryptedDataKeyDescription(
258    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::operation::get_encrypted_data_key_description::GetEncryptedDataKeyDescriptionOutput,
259) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
260    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionOutput_DEncryptedDataKeyDescriptionOutput(&input.r#encrypted_data_key_description_output)?;
261    Ok(())
262}
263pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionOutput_DEncryptedDataKeyDescriptionOutput(
264    input: &::std::option::Option<::std::vec::Vec<crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::EncryptedDataKeyDescription>>,
265) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
266    if input.is_none() {
267        return ::std::result::Result::Err(
268            ::aws_smithy_types::error::operation::BuildError::missing_field(
269                "encrypted_data_key_description_output",
270                "encrypted_data_key_description_output is required but was not specified",
271            ),
272        );
273    }
274    if input.is_none() {
275        return ::std::result::Result::Ok(());
276    }
277    let input = input.as_ref().unwrap();
278
279    validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HEncryptedDataKeyDescriptionList(input)?;
280    Ok(())
281}
282pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionUnion(
283    input: &crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::GetEncryptedDataKeyDescriptionUnion,
284) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
285    if let crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::GetEncryptedDataKeyDescriptionUnion::Header(ref inner) = &input {
286  validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionUnion_Dheader(inner)?;
287}
288    if let crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb::types::GetEncryptedDataKeyDescriptionUnion::Item(ref inner) = &input {
289  validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionUnion_Ditem(inner)?;
290}
291    Ok(())
292}
293pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionUnion_Dheader(
294    input: &::aws_smithy_types::Blob,
295) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
296    Ok(())
297}
298pub(crate) fn validate_aws_Pcryptography_PdbEncryptionSdk_PdynamoDb_HGetEncryptedDataKeyDescriptionUnion_Ditem(
299    input: &::std::collections::HashMap<
300        ::std::string::String,
301        aws_sdk_dynamodb::types::AttributeValue,
302    >,
303) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
304    validate_com_Pamazonaws_Pdynamodb_HAttributeMap(input)?;
305    Ok(())
306}
307pub(crate) fn validate_aws_Pcryptography_PmaterialProviders_HBranchKeyIdSupplierReference(
308    input: &crate::deps::aws_cryptography_materialProviders::types::branch_key_id_supplier::BranchKeyIdSupplierRef,
309) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
310    Ok(())
311}
312pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeMap(
313    input: &::std::collections::HashMap<
314        ::std::string::String,
315        aws_sdk_dynamodb::types::AttributeValue,
316    >,
317) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
318    for (inner_key, inner_val) in input.iter() {
319        validate_com_Pamazonaws_Pdynamodb_HAttributeMap_Dkey(inner_key)?;
320        validate_com_Pamazonaws_Pdynamodb_HAttributeMap_Dvalue(inner_val)?;
321    }
322    Ok(())
323}
324pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeMap_Dkey(
325    input: &::std::string::String,
326) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
327    if !(0..=65535).contains(
328        &input
329            .chars()
330            .map(::std::primitive::char::len_utf16)
331            .fold(0usize, ::std::ops::Add::add),
332    ) {
333        return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
334        "key",
335        "key failed to satisfy constraint: Member must have length between 0 and 65535, inclusive",
336    ));
337    }
338    Ok(())
339}
340pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeMap_Dvalue(
341    input: &aws_sdk_dynamodb::types::AttributeValue,
342) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
343    validate_com_Pamazonaws_Pdynamodb_HAttributeValue(input)?;
344    Ok(())
345}
346pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue(
347    input: &aws_sdk_dynamodb::types::AttributeValue,
348) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
349    if let aws_sdk_dynamodb::types::AttributeValue::S(ref inner) = &input {
350        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DS(inner)?;
351    }
352    if let aws_sdk_dynamodb::types::AttributeValue::N(ref inner) = &input {
353        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DN(inner)?;
354    }
355    if let aws_sdk_dynamodb::types::AttributeValue::B(ref inner) = &input {
356        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DB(inner)?;
357    }
358    if let aws_sdk_dynamodb::types::AttributeValue::Ss(ref inner) = &input {
359        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DSS(inner)?;
360    }
361    if let aws_sdk_dynamodb::types::AttributeValue::Ns(ref inner) = &input {
362        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DNS(inner)?;
363    }
364    if let aws_sdk_dynamodb::types::AttributeValue::Bs(ref inner) = &input {
365        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DBS(inner)?;
366    }
367    if let aws_sdk_dynamodb::types::AttributeValue::M(ref inner) = &input {
368        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DM(inner)?;
369    }
370    if let aws_sdk_dynamodb::types::AttributeValue::L(ref inner) = &input {
371        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DL(inner)?;
372    }
373    if let aws_sdk_dynamodb::types::AttributeValue::Null(ref inner) = &input {
374        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DNULL(inner)?;
375    }
376    if let aws_sdk_dynamodb::types::AttributeValue::Bool(ref inner) = &input {
377        validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DBOOL(inner)?;
378    }
379    Ok(())
380}
381pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DB(
382    input: &::aws_smithy_types::Blob,
383) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
384    Ok(())
385}
386pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DBOOL(
387    input: &::std::primitive::bool,
388) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
389    Ok(())
390}
391pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DBS(
392    input: &::std::vec::Vec<::aws_smithy_types::Blob>,
393) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
394    validate_com_Pamazonaws_Pdynamodb_HBinarySetAttributeValue(input)?;
395    Ok(())
396}
397pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DL(
398    input: &::std::vec::Vec<aws_sdk_dynamodb::types::AttributeValue>,
399) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
400    validate_com_Pamazonaws_Pdynamodb_HListAttributeValue(input)?;
401    Ok(())
402}
403pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DM(
404    input: &::std::collections::HashMap<
405        ::std::string::String,
406        aws_sdk_dynamodb::types::AttributeValue,
407    >,
408) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
409    validate_com_Pamazonaws_Pdynamodb_HMapAttributeValue(input)?;
410    Ok(())
411}
412pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DN(
413    input: &::std::string::String,
414) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
415    Ok(())
416}
417pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DNS(
418    input: &::std::vec::Vec<::std::string::String>,
419) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
420    validate_com_Pamazonaws_Pdynamodb_HNumberSetAttributeValue(input)?;
421    Ok(())
422}
423pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DNULL(
424    input: &::std::primitive::bool,
425) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
426    Ok(())
427}
428pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DS(
429    input: &::std::string::String,
430) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
431    Ok(())
432}
433pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HAttributeValue_DSS(
434    input: &::std::vec::Vec<::std::string::String>,
435) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
436    validate_com_Pamazonaws_Pdynamodb_HStringSetAttributeValue(input)?;
437    Ok(())
438}
439pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HBinarySetAttributeValue(
440    input: &::std::vec::Vec<::aws_smithy_types::Blob>,
441) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
442    for inner in input.iter() {
443        validate_com_Pamazonaws_Pdynamodb_HBinarySetAttributeValue_Dmember(inner)?;
444    }
445    Ok(())
446}
447pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HBinarySetAttributeValue_Dmember(
448    input: &::aws_smithy_types::Blob,
449) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
450    Ok(())
451}
452pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HKey(
453    input: &::std::collections::HashMap<
454        ::std::string::String,
455        aws_sdk_dynamodb::types::AttributeValue,
456    >,
457) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
458    for (inner_key, inner_val) in input.iter() {
459        validate_com_Pamazonaws_Pdynamodb_HKey_Dkey(inner_key)?;
460        validate_com_Pamazonaws_Pdynamodb_HKey_Dvalue(inner_val)?;
461    }
462    Ok(())
463}
464pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HKey_Dkey(
465    input: &::std::string::String,
466) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
467    if !(0..=65535).contains(
468        &input
469            .chars()
470            .map(::std::primitive::char::len_utf16)
471            .fold(0usize, ::std::ops::Add::add),
472    ) {
473        return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
474        "key",
475        "key failed to satisfy constraint: Member must have length between 0 and 65535, inclusive",
476    ));
477    }
478    Ok(())
479}
480pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HKey_Dvalue(
481    input: &aws_sdk_dynamodb::types::AttributeValue,
482) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
483    validate_com_Pamazonaws_Pdynamodb_HAttributeValue(input)?;
484    Ok(())
485}
486pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HListAttributeValue(
487    input: &::std::vec::Vec<aws_sdk_dynamodb::types::AttributeValue>,
488) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
489    for inner in input.iter() {
490        validate_com_Pamazonaws_Pdynamodb_HListAttributeValue_Dmember(inner)?;
491    }
492    Ok(())
493}
494pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HListAttributeValue_Dmember(
495    input: &aws_sdk_dynamodb::types::AttributeValue,
496) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
497    validate_com_Pamazonaws_Pdynamodb_HAttributeValue(input)?;
498    Ok(())
499}
500pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HMapAttributeValue(
501    input: &::std::collections::HashMap<
502        ::std::string::String,
503        aws_sdk_dynamodb::types::AttributeValue,
504    >,
505) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
506    for (inner_key, inner_val) in input.iter() {
507        validate_com_Pamazonaws_Pdynamodb_HMapAttributeValue_Dkey(inner_key)?;
508        validate_com_Pamazonaws_Pdynamodb_HMapAttributeValue_Dvalue(inner_val)?;
509    }
510    Ok(())
511}
512pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HMapAttributeValue_Dkey(
513    input: &::std::string::String,
514) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
515    if !(0..=65535).contains(
516        &input
517            .chars()
518            .map(::std::primitive::char::len_utf16)
519            .fold(0usize, ::std::ops::Add::add),
520    ) {
521        return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::invalid_field(
522        "key",
523        "key failed to satisfy constraint: Member must have length between 0 and 65535, inclusive",
524    ));
525    }
526    Ok(())
527}
528pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HMapAttributeValue_Dvalue(
529    input: &aws_sdk_dynamodb::types::AttributeValue,
530) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
531    validate_com_Pamazonaws_Pdynamodb_HAttributeValue(input)?;
532    Ok(())
533}
534pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HNumberSetAttributeValue(
535    input: &::std::vec::Vec<::std::string::String>,
536) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
537    for inner in input.iter() {
538        validate_com_Pamazonaws_Pdynamodb_HNumberSetAttributeValue_Dmember(inner)?;
539    }
540    Ok(())
541}
542pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HNumberSetAttributeValue_Dmember(
543    input: &::std::string::String,
544) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
545    Ok(())
546}
547pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HStringSetAttributeValue(
548    input: &::std::vec::Vec<::std::string::String>,
549) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
550    for inner in input.iter() {
551        validate_com_Pamazonaws_Pdynamodb_HStringSetAttributeValue_Dmember(inner)?;
552    }
553    Ok(())
554}
555pub(crate) fn validate_com_Pamazonaws_Pdynamodb_HStringSetAttributeValue_Dmember(
556    input: &::std::string::String,
557) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
558    Ok(())
559}