1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package kinesisanalyticsv2
4
5import (
6	"bytes"
7	"context"
8	"encoding/json"
9	"fmt"
10	"github.com/aws/aws-sdk-go-v2/aws/protocol/restjson"
11	"github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2/types"
12	smithy "github.com/aws/smithy-go"
13	smithyio "github.com/aws/smithy-go/io"
14	"github.com/aws/smithy-go/middleware"
15	"github.com/aws/smithy-go/ptr"
16	smithytime "github.com/aws/smithy-go/time"
17	smithyhttp "github.com/aws/smithy-go/transport/http"
18	"io"
19	"strings"
20)
21
22type awsAwsjson11_deserializeOpAddApplicationCloudWatchLoggingOption struct {
23}
24
25func (*awsAwsjson11_deserializeOpAddApplicationCloudWatchLoggingOption) ID() string {
26	return "OperationDeserializer"
27}
28
29func (m *awsAwsjson11_deserializeOpAddApplicationCloudWatchLoggingOption) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
30	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
31) {
32	out, metadata, err = next.HandleDeserialize(ctx, in)
33	if err != nil {
34		return out, metadata, err
35	}
36
37	response, ok := out.RawResponse.(*smithyhttp.Response)
38	if !ok {
39		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
40	}
41
42	if response.StatusCode < 200 || response.StatusCode >= 300 {
43		return out, metadata, awsAwsjson11_deserializeOpErrorAddApplicationCloudWatchLoggingOption(response, &metadata)
44	}
45	output := &AddApplicationCloudWatchLoggingOptionOutput{}
46	out.Result = output
47
48	var buff [1024]byte
49	ringBuffer := smithyio.NewRingBuffer(buff[:])
50
51	body := io.TeeReader(response.Body, ringBuffer)
52	decoder := json.NewDecoder(body)
53	decoder.UseNumber()
54	var shape interface{}
55	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
56		var snapshot bytes.Buffer
57		io.Copy(&snapshot, ringBuffer)
58		err = &smithy.DeserializationError{
59			Err:      fmt.Errorf("failed to decode response body, %w", err),
60			Snapshot: snapshot.Bytes(),
61		}
62		return out, metadata, err
63	}
64
65	err = awsAwsjson11_deserializeOpDocumentAddApplicationCloudWatchLoggingOptionOutput(&output, shape)
66	if err != nil {
67		var snapshot bytes.Buffer
68		io.Copy(&snapshot, ringBuffer)
69		err = &smithy.DeserializationError{
70			Err:      fmt.Errorf("failed to decode response body, %w", err),
71			Snapshot: snapshot.Bytes(),
72		}
73		return out, metadata, err
74	}
75
76	return out, metadata, err
77}
78
79func awsAwsjson11_deserializeOpErrorAddApplicationCloudWatchLoggingOption(response *smithyhttp.Response, metadata *middleware.Metadata) error {
80	var errorBuffer bytes.Buffer
81	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
82		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
83	}
84	errorBody := bytes.NewReader(errorBuffer.Bytes())
85
86	errorCode := "UnknownError"
87	errorMessage := errorCode
88
89	code := response.Header.Get("X-Amzn-ErrorType")
90	if len(code) != 0 {
91		errorCode = restjson.SanitizeErrorCode(code)
92	}
93
94	var buff [1024]byte
95	ringBuffer := smithyio.NewRingBuffer(buff[:])
96
97	body := io.TeeReader(errorBody, ringBuffer)
98	decoder := json.NewDecoder(body)
99	decoder.UseNumber()
100	code, message, err := restjson.GetErrorInfo(decoder)
101	if err != nil {
102		var snapshot bytes.Buffer
103		io.Copy(&snapshot, ringBuffer)
104		err = &smithy.DeserializationError{
105			Err:      fmt.Errorf("failed to decode response body, %w", err),
106			Snapshot: snapshot.Bytes(),
107		}
108		return err
109	}
110
111	errorBody.Seek(0, io.SeekStart)
112	if len(code) != 0 {
113		errorCode = restjson.SanitizeErrorCode(code)
114	}
115	if len(message) != 0 {
116		errorMessage = message
117	}
118
119	switch {
120	case strings.EqualFold("ConcurrentModificationException", errorCode):
121		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
122
123	case strings.EqualFold("InvalidApplicationConfigurationException", errorCode):
124		return awsAwsjson11_deserializeErrorInvalidApplicationConfigurationException(response, errorBody)
125
126	case strings.EqualFold("InvalidArgumentException", errorCode):
127		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
128
129	case strings.EqualFold("InvalidRequestException", errorCode):
130		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
131
132	case strings.EqualFold("ResourceInUseException", errorCode):
133		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
134
135	case strings.EqualFold("ResourceNotFoundException", errorCode):
136		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
137
138	default:
139		genericError := &smithy.GenericAPIError{
140			Code:    errorCode,
141			Message: errorMessage,
142		}
143		return genericError
144
145	}
146}
147
148type awsAwsjson11_deserializeOpAddApplicationInput struct {
149}
150
151func (*awsAwsjson11_deserializeOpAddApplicationInput) ID() string {
152	return "OperationDeserializer"
153}
154
155func (m *awsAwsjson11_deserializeOpAddApplicationInput) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
156	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
157) {
158	out, metadata, err = next.HandleDeserialize(ctx, in)
159	if err != nil {
160		return out, metadata, err
161	}
162
163	response, ok := out.RawResponse.(*smithyhttp.Response)
164	if !ok {
165		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
166	}
167
168	if response.StatusCode < 200 || response.StatusCode >= 300 {
169		return out, metadata, awsAwsjson11_deserializeOpErrorAddApplicationInput(response, &metadata)
170	}
171	output := &AddApplicationInputOutput{}
172	out.Result = output
173
174	var buff [1024]byte
175	ringBuffer := smithyio.NewRingBuffer(buff[:])
176
177	body := io.TeeReader(response.Body, ringBuffer)
178	decoder := json.NewDecoder(body)
179	decoder.UseNumber()
180	var shape interface{}
181	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
182		var snapshot bytes.Buffer
183		io.Copy(&snapshot, ringBuffer)
184		err = &smithy.DeserializationError{
185			Err:      fmt.Errorf("failed to decode response body, %w", err),
186			Snapshot: snapshot.Bytes(),
187		}
188		return out, metadata, err
189	}
190
191	err = awsAwsjson11_deserializeOpDocumentAddApplicationInputOutput(&output, shape)
192	if err != nil {
193		var snapshot bytes.Buffer
194		io.Copy(&snapshot, ringBuffer)
195		err = &smithy.DeserializationError{
196			Err:      fmt.Errorf("failed to decode response body, %w", err),
197			Snapshot: snapshot.Bytes(),
198		}
199		return out, metadata, err
200	}
201
202	return out, metadata, err
203}
204
205func awsAwsjson11_deserializeOpErrorAddApplicationInput(response *smithyhttp.Response, metadata *middleware.Metadata) error {
206	var errorBuffer bytes.Buffer
207	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
208		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
209	}
210	errorBody := bytes.NewReader(errorBuffer.Bytes())
211
212	errorCode := "UnknownError"
213	errorMessage := errorCode
214
215	code := response.Header.Get("X-Amzn-ErrorType")
216	if len(code) != 0 {
217		errorCode = restjson.SanitizeErrorCode(code)
218	}
219
220	var buff [1024]byte
221	ringBuffer := smithyio.NewRingBuffer(buff[:])
222
223	body := io.TeeReader(errorBody, ringBuffer)
224	decoder := json.NewDecoder(body)
225	decoder.UseNumber()
226	code, message, err := restjson.GetErrorInfo(decoder)
227	if err != nil {
228		var snapshot bytes.Buffer
229		io.Copy(&snapshot, ringBuffer)
230		err = &smithy.DeserializationError{
231			Err:      fmt.Errorf("failed to decode response body, %w", err),
232			Snapshot: snapshot.Bytes(),
233		}
234		return err
235	}
236
237	errorBody.Seek(0, io.SeekStart)
238	if len(code) != 0 {
239		errorCode = restjson.SanitizeErrorCode(code)
240	}
241	if len(message) != 0 {
242		errorMessage = message
243	}
244
245	switch {
246	case strings.EqualFold("CodeValidationException", errorCode):
247		return awsAwsjson11_deserializeErrorCodeValidationException(response, errorBody)
248
249	case strings.EqualFold("ConcurrentModificationException", errorCode):
250		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
251
252	case strings.EqualFold("InvalidArgumentException", errorCode):
253		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
254
255	case strings.EqualFold("InvalidRequestException", errorCode):
256		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
257
258	case strings.EqualFold("ResourceInUseException", errorCode):
259		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
260
261	case strings.EqualFold("ResourceNotFoundException", errorCode):
262		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
263
264	default:
265		genericError := &smithy.GenericAPIError{
266			Code:    errorCode,
267			Message: errorMessage,
268		}
269		return genericError
270
271	}
272}
273
274type awsAwsjson11_deserializeOpAddApplicationInputProcessingConfiguration struct {
275}
276
277func (*awsAwsjson11_deserializeOpAddApplicationInputProcessingConfiguration) ID() string {
278	return "OperationDeserializer"
279}
280
281func (m *awsAwsjson11_deserializeOpAddApplicationInputProcessingConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
282	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
283) {
284	out, metadata, err = next.HandleDeserialize(ctx, in)
285	if err != nil {
286		return out, metadata, err
287	}
288
289	response, ok := out.RawResponse.(*smithyhttp.Response)
290	if !ok {
291		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
292	}
293
294	if response.StatusCode < 200 || response.StatusCode >= 300 {
295		return out, metadata, awsAwsjson11_deserializeOpErrorAddApplicationInputProcessingConfiguration(response, &metadata)
296	}
297	output := &AddApplicationInputProcessingConfigurationOutput{}
298	out.Result = output
299
300	var buff [1024]byte
301	ringBuffer := smithyio.NewRingBuffer(buff[:])
302
303	body := io.TeeReader(response.Body, ringBuffer)
304	decoder := json.NewDecoder(body)
305	decoder.UseNumber()
306	var shape interface{}
307	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
308		var snapshot bytes.Buffer
309		io.Copy(&snapshot, ringBuffer)
310		err = &smithy.DeserializationError{
311			Err:      fmt.Errorf("failed to decode response body, %w", err),
312			Snapshot: snapshot.Bytes(),
313		}
314		return out, metadata, err
315	}
316
317	err = awsAwsjson11_deserializeOpDocumentAddApplicationInputProcessingConfigurationOutput(&output, shape)
318	if err != nil {
319		var snapshot bytes.Buffer
320		io.Copy(&snapshot, ringBuffer)
321		err = &smithy.DeserializationError{
322			Err:      fmt.Errorf("failed to decode response body, %w", err),
323			Snapshot: snapshot.Bytes(),
324		}
325		return out, metadata, err
326	}
327
328	return out, metadata, err
329}
330
331func awsAwsjson11_deserializeOpErrorAddApplicationInputProcessingConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error {
332	var errorBuffer bytes.Buffer
333	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
334		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
335	}
336	errorBody := bytes.NewReader(errorBuffer.Bytes())
337
338	errorCode := "UnknownError"
339	errorMessage := errorCode
340
341	code := response.Header.Get("X-Amzn-ErrorType")
342	if len(code) != 0 {
343		errorCode = restjson.SanitizeErrorCode(code)
344	}
345
346	var buff [1024]byte
347	ringBuffer := smithyio.NewRingBuffer(buff[:])
348
349	body := io.TeeReader(errorBody, ringBuffer)
350	decoder := json.NewDecoder(body)
351	decoder.UseNumber()
352	code, message, err := restjson.GetErrorInfo(decoder)
353	if err != nil {
354		var snapshot bytes.Buffer
355		io.Copy(&snapshot, ringBuffer)
356		err = &smithy.DeserializationError{
357			Err:      fmt.Errorf("failed to decode response body, %w", err),
358			Snapshot: snapshot.Bytes(),
359		}
360		return err
361	}
362
363	errorBody.Seek(0, io.SeekStart)
364	if len(code) != 0 {
365		errorCode = restjson.SanitizeErrorCode(code)
366	}
367	if len(message) != 0 {
368		errorMessage = message
369	}
370
371	switch {
372	case strings.EqualFold("ConcurrentModificationException", errorCode):
373		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
374
375	case strings.EqualFold("InvalidArgumentException", errorCode):
376		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
377
378	case strings.EqualFold("InvalidRequestException", errorCode):
379		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
380
381	case strings.EqualFold("ResourceInUseException", errorCode):
382		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
383
384	case strings.EqualFold("ResourceNotFoundException", errorCode):
385		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
386
387	default:
388		genericError := &smithy.GenericAPIError{
389			Code:    errorCode,
390			Message: errorMessage,
391		}
392		return genericError
393
394	}
395}
396
397type awsAwsjson11_deserializeOpAddApplicationOutput struct {
398}
399
400func (*awsAwsjson11_deserializeOpAddApplicationOutput) ID() string {
401	return "OperationDeserializer"
402}
403
404func (m *awsAwsjson11_deserializeOpAddApplicationOutput) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
405	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
406) {
407	out, metadata, err = next.HandleDeserialize(ctx, in)
408	if err != nil {
409		return out, metadata, err
410	}
411
412	response, ok := out.RawResponse.(*smithyhttp.Response)
413	if !ok {
414		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
415	}
416
417	if response.StatusCode < 200 || response.StatusCode >= 300 {
418		return out, metadata, awsAwsjson11_deserializeOpErrorAddApplicationOutput(response, &metadata)
419	}
420	output := &AddApplicationOutputOutput{}
421	out.Result = output
422
423	var buff [1024]byte
424	ringBuffer := smithyio.NewRingBuffer(buff[:])
425
426	body := io.TeeReader(response.Body, ringBuffer)
427	decoder := json.NewDecoder(body)
428	decoder.UseNumber()
429	var shape interface{}
430	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
431		var snapshot bytes.Buffer
432		io.Copy(&snapshot, ringBuffer)
433		err = &smithy.DeserializationError{
434			Err:      fmt.Errorf("failed to decode response body, %w", err),
435			Snapshot: snapshot.Bytes(),
436		}
437		return out, metadata, err
438	}
439
440	err = awsAwsjson11_deserializeOpDocumentAddApplicationOutputOutput(&output, shape)
441	if err != nil {
442		var snapshot bytes.Buffer
443		io.Copy(&snapshot, ringBuffer)
444		err = &smithy.DeserializationError{
445			Err:      fmt.Errorf("failed to decode response body, %w", err),
446			Snapshot: snapshot.Bytes(),
447		}
448		return out, metadata, err
449	}
450
451	return out, metadata, err
452}
453
454func awsAwsjson11_deserializeOpErrorAddApplicationOutput(response *smithyhttp.Response, metadata *middleware.Metadata) error {
455	var errorBuffer bytes.Buffer
456	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
457		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
458	}
459	errorBody := bytes.NewReader(errorBuffer.Bytes())
460
461	errorCode := "UnknownError"
462	errorMessage := errorCode
463
464	code := response.Header.Get("X-Amzn-ErrorType")
465	if len(code) != 0 {
466		errorCode = restjson.SanitizeErrorCode(code)
467	}
468
469	var buff [1024]byte
470	ringBuffer := smithyio.NewRingBuffer(buff[:])
471
472	body := io.TeeReader(errorBody, ringBuffer)
473	decoder := json.NewDecoder(body)
474	decoder.UseNumber()
475	code, message, err := restjson.GetErrorInfo(decoder)
476	if err != nil {
477		var snapshot bytes.Buffer
478		io.Copy(&snapshot, ringBuffer)
479		err = &smithy.DeserializationError{
480			Err:      fmt.Errorf("failed to decode response body, %w", err),
481			Snapshot: snapshot.Bytes(),
482		}
483		return err
484	}
485
486	errorBody.Seek(0, io.SeekStart)
487	if len(code) != 0 {
488		errorCode = restjson.SanitizeErrorCode(code)
489	}
490	if len(message) != 0 {
491		errorMessage = message
492	}
493
494	switch {
495	case strings.EqualFold("ConcurrentModificationException", errorCode):
496		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
497
498	case strings.EqualFold("InvalidArgumentException", errorCode):
499		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
500
501	case strings.EqualFold("InvalidRequestException", errorCode):
502		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
503
504	case strings.EqualFold("ResourceInUseException", errorCode):
505		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
506
507	case strings.EqualFold("ResourceNotFoundException", errorCode):
508		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
509
510	default:
511		genericError := &smithy.GenericAPIError{
512			Code:    errorCode,
513			Message: errorMessage,
514		}
515		return genericError
516
517	}
518}
519
520type awsAwsjson11_deserializeOpAddApplicationReferenceDataSource struct {
521}
522
523func (*awsAwsjson11_deserializeOpAddApplicationReferenceDataSource) ID() string {
524	return "OperationDeserializer"
525}
526
527func (m *awsAwsjson11_deserializeOpAddApplicationReferenceDataSource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
528	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
529) {
530	out, metadata, err = next.HandleDeserialize(ctx, in)
531	if err != nil {
532		return out, metadata, err
533	}
534
535	response, ok := out.RawResponse.(*smithyhttp.Response)
536	if !ok {
537		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
538	}
539
540	if response.StatusCode < 200 || response.StatusCode >= 300 {
541		return out, metadata, awsAwsjson11_deserializeOpErrorAddApplicationReferenceDataSource(response, &metadata)
542	}
543	output := &AddApplicationReferenceDataSourceOutput{}
544	out.Result = output
545
546	var buff [1024]byte
547	ringBuffer := smithyio.NewRingBuffer(buff[:])
548
549	body := io.TeeReader(response.Body, ringBuffer)
550	decoder := json.NewDecoder(body)
551	decoder.UseNumber()
552	var shape interface{}
553	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
554		var snapshot bytes.Buffer
555		io.Copy(&snapshot, ringBuffer)
556		err = &smithy.DeserializationError{
557			Err:      fmt.Errorf("failed to decode response body, %w", err),
558			Snapshot: snapshot.Bytes(),
559		}
560		return out, metadata, err
561	}
562
563	err = awsAwsjson11_deserializeOpDocumentAddApplicationReferenceDataSourceOutput(&output, shape)
564	if err != nil {
565		var snapshot bytes.Buffer
566		io.Copy(&snapshot, ringBuffer)
567		err = &smithy.DeserializationError{
568			Err:      fmt.Errorf("failed to decode response body, %w", err),
569			Snapshot: snapshot.Bytes(),
570		}
571		return out, metadata, err
572	}
573
574	return out, metadata, err
575}
576
577func awsAwsjson11_deserializeOpErrorAddApplicationReferenceDataSource(response *smithyhttp.Response, metadata *middleware.Metadata) error {
578	var errorBuffer bytes.Buffer
579	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
580		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
581	}
582	errorBody := bytes.NewReader(errorBuffer.Bytes())
583
584	errorCode := "UnknownError"
585	errorMessage := errorCode
586
587	code := response.Header.Get("X-Amzn-ErrorType")
588	if len(code) != 0 {
589		errorCode = restjson.SanitizeErrorCode(code)
590	}
591
592	var buff [1024]byte
593	ringBuffer := smithyio.NewRingBuffer(buff[:])
594
595	body := io.TeeReader(errorBody, ringBuffer)
596	decoder := json.NewDecoder(body)
597	decoder.UseNumber()
598	code, message, err := restjson.GetErrorInfo(decoder)
599	if err != nil {
600		var snapshot bytes.Buffer
601		io.Copy(&snapshot, ringBuffer)
602		err = &smithy.DeserializationError{
603			Err:      fmt.Errorf("failed to decode response body, %w", err),
604			Snapshot: snapshot.Bytes(),
605		}
606		return err
607	}
608
609	errorBody.Seek(0, io.SeekStart)
610	if len(code) != 0 {
611		errorCode = restjson.SanitizeErrorCode(code)
612	}
613	if len(message) != 0 {
614		errorMessage = message
615	}
616
617	switch {
618	case strings.EqualFold("ConcurrentModificationException", errorCode):
619		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
620
621	case strings.EqualFold("InvalidArgumentException", errorCode):
622		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
623
624	case strings.EqualFold("InvalidRequestException", errorCode):
625		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
626
627	case strings.EqualFold("ResourceInUseException", errorCode):
628		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
629
630	case strings.EqualFold("ResourceNotFoundException", errorCode):
631		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
632
633	default:
634		genericError := &smithy.GenericAPIError{
635			Code:    errorCode,
636			Message: errorMessage,
637		}
638		return genericError
639
640	}
641}
642
643type awsAwsjson11_deserializeOpAddApplicationVpcConfiguration struct {
644}
645
646func (*awsAwsjson11_deserializeOpAddApplicationVpcConfiguration) ID() string {
647	return "OperationDeserializer"
648}
649
650func (m *awsAwsjson11_deserializeOpAddApplicationVpcConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
651	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
652) {
653	out, metadata, err = next.HandleDeserialize(ctx, in)
654	if err != nil {
655		return out, metadata, err
656	}
657
658	response, ok := out.RawResponse.(*smithyhttp.Response)
659	if !ok {
660		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
661	}
662
663	if response.StatusCode < 200 || response.StatusCode >= 300 {
664		return out, metadata, awsAwsjson11_deserializeOpErrorAddApplicationVpcConfiguration(response, &metadata)
665	}
666	output := &AddApplicationVpcConfigurationOutput{}
667	out.Result = output
668
669	var buff [1024]byte
670	ringBuffer := smithyio.NewRingBuffer(buff[:])
671
672	body := io.TeeReader(response.Body, ringBuffer)
673	decoder := json.NewDecoder(body)
674	decoder.UseNumber()
675	var shape interface{}
676	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
677		var snapshot bytes.Buffer
678		io.Copy(&snapshot, ringBuffer)
679		err = &smithy.DeserializationError{
680			Err:      fmt.Errorf("failed to decode response body, %w", err),
681			Snapshot: snapshot.Bytes(),
682		}
683		return out, metadata, err
684	}
685
686	err = awsAwsjson11_deserializeOpDocumentAddApplicationVpcConfigurationOutput(&output, shape)
687	if err != nil {
688		var snapshot bytes.Buffer
689		io.Copy(&snapshot, ringBuffer)
690		err = &smithy.DeserializationError{
691			Err:      fmt.Errorf("failed to decode response body, %w", err),
692			Snapshot: snapshot.Bytes(),
693		}
694		return out, metadata, err
695	}
696
697	return out, metadata, err
698}
699
700func awsAwsjson11_deserializeOpErrorAddApplicationVpcConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error {
701	var errorBuffer bytes.Buffer
702	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
703		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
704	}
705	errorBody := bytes.NewReader(errorBuffer.Bytes())
706
707	errorCode := "UnknownError"
708	errorMessage := errorCode
709
710	code := response.Header.Get("X-Amzn-ErrorType")
711	if len(code) != 0 {
712		errorCode = restjson.SanitizeErrorCode(code)
713	}
714
715	var buff [1024]byte
716	ringBuffer := smithyio.NewRingBuffer(buff[:])
717
718	body := io.TeeReader(errorBody, ringBuffer)
719	decoder := json.NewDecoder(body)
720	decoder.UseNumber()
721	code, message, err := restjson.GetErrorInfo(decoder)
722	if err != nil {
723		var snapshot bytes.Buffer
724		io.Copy(&snapshot, ringBuffer)
725		err = &smithy.DeserializationError{
726			Err:      fmt.Errorf("failed to decode response body, %w", err),
727			Snapshot: snapshot.Bytes(),
728		}
729		return err
730	}
731
732	errorBody.Seek(0, io.SeekStart)
733	if len(code) != 0 {
734		errorCode = restjson.SanitizeErrorCode(code)
735	}
736	if len(message) != 0 {
737		errorMessage = message
738	}
739
740	switch {
741	case strings.EqualFold("ConcurrentModificationException", errorCode):
742		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
743
744	case strings.EqualFold("InvalidApplicationConfigurationException", errorCode):
745		return awsAwsjson11_deserializeErrorInvalidApplicationConfigurationException(response, errorBody)
746
747	case strings.EqualFold("InvalidArgumentException", errorCode):
748		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
749
750	case strings.EqualFold("ResourceInUseException", errorCode):
751		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
752
753	case strings.EqualFold("ResourceNotFoundException", errorCode):
754		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
755
756	default:
757		genericError := &smithy.GenericAPIError{
758			Code:    errorCode,
759			Message: errorMessage,
760		}
761		return genericError
762
763	}
764}
765
766type awsAwsjson11_deserializeOpCreateApplication struct {
767}
768
769func (*awsAwsjson11_deserializeOpCreateApplication) ID() string {
770	return "OperationDeserializer"
771}
772
773func (m *awsAwsjson11_deserializeOpCreateApplication) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
774	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
775) {
776	out, metadata, err = next.HandleDeserialize(ctx, in)
777	if err != nil {
778		return out, metadata, err
779	}
780
781	response, ok := out.RawResponse.(*smithyhttp.Response)
782	if !ok {
783		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
784	}
785
786	if response.StatusCode < 200 || response.StatusCode >= 300 {
787		return out, metadata, awsAwsjson11_deserializeOpErrorCreateApplication(response, &metadata)
788	}
789	output := &CreateApplicationOutput{}
790	out.Result = output
791
792	var buff [1024]byte
793	ringBuffer := smithyio.NewRingBuffer(buff[:])
794
795	body := io.TeeReader(response.Body, ringBuffer)
796	decoder := json.NewDecoder(body)
797	decoder.UseNumber()
798	var shape interface{}
799	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
800		var snapshot bytes.Buffer
801		io.Copy(&snapshot, ringBuffer)
802		err = &smithy.DeserializationError{
803			Err:      fmt.Errorf("failed to decode response body, %w", err),
804			Snapshot: snapshot.Bytes(),
805		}
806		return out, metadata, err
807	}
808
809	err = awsAwsjson11_deserializeOpDocumentCreateApplicationOutput(&output, shape)
810	if err != nil {
811		var snapshot bytes.Buffer
812		io.Copy(&snapshot, ringBuffer)
813		err = &smithy.DeserializationError{
814			Err:      fmt.Errorf("failed to decode response body, %w", err),
815			Snapshot: snapshot.Bytes(),
816		}
817		return out, metadata, err
818	}
819
820	return out, metadata, err
821}
822
823func awsAwsjson11_deserializeOpErrorCreateApplication(response *smithyhttp.Response, metadata *middleware.Metadata) error {
824	var errorBuffer bytes.Buffer
825	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
826		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
827	}
828	errorBody := bytes.NewReader(errorBuffer.Bytes())
829
830	errorCode := "UnknownError"
831	errorMessage := errorCode
832
833	code := response.Header.Get("X-Amzn-ErrorType")
834	if len(code) != 0 {
835		errorCode = restjson.SanitizeErrorCode(code)
836	}
837
838	var buff [1024]byte
839	ringBuffer := smithyio.NewRingBuffer(buff[:])
840
841	body := io.TeeReader(errorBody, ringBuffer)
842	decoder := json.NewDecoder(body)
843	decoder.UseNumber()
844	code, message, err := restjson.GetErrorInfo(decoder)
845	if err != nil {
846		var snapshot bytes.Buffer
847		io.Copy(&snapshot, ringBuffer)
848		err = &smithy.DeserializationError{
849			Err:      fmt.Errorf("failed to decode response body, %w", err),
850			Snapshot: snapshot.Bytes(),
851		}
852		return err
853	}
854
855	errorBody.Seek(0, io.SeekStart)
856	if len(code) != 0 {
857		errorCode = restjson.SanitizeErrorCode(code)
858	}
859	if len(message) != 0 {
860		errorMessage = message
861	}
862
863	switch {
864	case strings.EqualFold("CodeValidationException", errorCode):
865		return awsAwsjson11_deserializeErrorCodeValidationException(response, errorBody)
866
867	case strings.EqualFold("ConcurrentModificationException", errorCode):
868		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
869
870	case strings.EqualFold("InvalidArgumentException", errorCode):
871		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
872
873	case strings.EqualFold("InvalidRequestException", errorCode):
874		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
875
876	case strings.EqualFold("LimitExceededException", errorCode):
877		return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody)
878
879	case strings.EqualFold("ResourceInUseException", errorCode):
880		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
881
882	case strings.EqualFold("TooManyTagsException", errorCode):
883		return awsAwsjson11_deserializeErrorTooManyTagsException(response, errorBody)
884
885	default:
886		genericError := &smithy.GenericAPIError{
887			Code:    errorCode,
888			Message: errorMessage,
889		}
890		return genericError
891
892	}
893}
894
895type awsAwsjson11_deserializeOpCreateApplicationPresignedUrl struct {
896}
897
898func (*awsAwsjson11_deserializeOpCreateApplicationPresignedUrl) ID() string {
899	return "OperationDeserializer"
900}
901
902func (m *awsAwsjson11_deserializeOpCreateApplicationPresignedUrl) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
903	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
904) {
905	out, metadata, err = next.HandleDeserialize(ctx, in)
906	if err != nil {
907		return out, metadata, err
908	}
909
910	response, ok := out.RawResponse.(*smithyhttp.Response)
911	if !ok {
912		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
913	}
914
915	if response.StatusCode < 200 || response.StatusCode >= 300 {
916		return out, metadata, awsAwsjson11_deserializeOpErrorCreateApplicationPresignedUrl(response, &metadata)
917	}
918	output := &CreateApplicationPresignedUrlOutput{}
919	out.Result = output
920
921	var buff [1024]byte
922	ringBuffer := smithyio.NewRingBuffer(buff[:])
923
924	body := io.TeeReader(response.Body, ringBuffer)
925	decoder := json.NewDecoder(body)
926	decoder.UseNumber()
927	var shape interface{}
928	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
929		var snapshot bytes.Buffer
930		io.Copy(&snapshot, ringBuffer)
931		err = &smithy.DeserializationError{
932			Err:      fmt.Errorf("failed to decode response body, %w", err),
933			Snapshot: snapshot.Bytes(),
934		}
935		return out, metadata, err
936	}
937
938	err = awsAwsjson11_deserializeOpDocumentCreateApplicationPresignedUrlOutput(&output, shape)
939	if err != nil {
940		var snapshot bytes.Buffer
941		io.Copy(&snapshot, ringBuffer)
942		err = &smithy.DeserializationError{
943			Err:      fmt.Errorf("failed to decode response body, %w", err),
944			Snapshot: snapshot.Bytes(),
945		}
946		return out, metadata, err
947	}
948
949	return out, metadata, err
950}
951
952func awsAwsjson11_deserializeOpErrorCreateApplicationPresignedUrl(response *smithyhttp.Response, metadata *middleware.Metadata) error {
953	var errorBuffer bytes.Buffer
954	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
955		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
956	}
957	errorBody := bytes.NewReader(errorBuffer.Bytes())
958
959	errorCode := "UnknownError"
960	errorMessage := errorCode
961
962	code := response.Header.Get("X-Amzn-ErrorType")
963	if len(code) != 0 {
964		errorCode = restjson.SanitizeErrorCode(code)
965	}
966
967	var buff [1024]byte
968	ringBuffer := smithyio.NewRingBuffer(buff[:])
969
970	body := io.TeeReader(errorBody, ringBuffer)
971	decoder := json.NewDecoder(body)
972	decoder.UseNumber()
973	code, message, err := restjson.GetErrorInfo(decoder)
974	if err != nil {
975		var snapshot bytes.Buffer
976		io.Copy(&snapshot, ringBuffer)
977		err = &smithy.DeserializationError{
978			Err:      fmt.Errorf("failed to decode response body, %w", err),
979			Snapshot: snapshot.Bytes(),
980		}
981		return err
982	}
983
984	errorBody.Seek(0, io.SeekStart)
985	if len(code) != 0 {
986		errorCode = restjson.SanitizeErrorCode(code)
987	}
988	if len(message) != 0 {
989		errorMessage = message
990	}
991
992	switch {
993	case strings.EqualFold("InvalidArgumentException", errorCode):
994		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
995
996	case strings.EqualFold("ResourceInUseException", errorCode):
997		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
998
999	case strings.EqualFold("ResourceNotFoundException", errorCode):
1000		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
1001
1002	default:
1003		genericError := &smithy.GenericAPIError{
1004			Code:    errorCode,
1005			Message: errorMessage,
1006		}
1007		return genericError
1008
1009	}
1010}
1011
1012type awsAwsjson11_deserializeOpCreateApplicationSnapshot struct {
1013}
1014
1015func (*awsAwsjson11_deserializeOpCreateApplicationSnapshot) ID() string {
1016	return "OperationDeserializer"
1017}
1018
1019func (m *awsAwsjson11_deserializeOpCreateApplicationSnapshot) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
1020	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
1021) {
1022	out, metadata, err = next.HandleDeserialize(ctx, in)
1023	if err != nil {
1024		return out, metadata, err
1025	}
1026
1027	response, ok := out.RawResponse.(*smithyhttp.Response)
1028	if !ok {
1029		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
1030	}
1031
1032	if response.StatusCode < 200 || response.StatusCode >= 300 {
1033		return out, metadata, awsAwsjson11_deserializeOpErrorCreateApplicationSnapshot(response, &metadata)
1034	}
1035	output := &CreateApplicationSnapshotOutput{}
1036	out.Result = output
1037
1038	var buff [1024]byte
1039	ringBuffer := smithyio.NewRingBuffer(buff[:])
1040
1041	body := io.TeeReader(response.Body, ringBuffer)
1042	decoder := json.NewDecoder(body)
1043	decoder.UseNumber()
1044	var shape interface{}
1045	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
1046		var snapshot bytes.Buffer
1047		io.Copy(&snapshot, ringBuffer)
1048		err = &smithy.DeserializationError{
1049			Err:      fmt.Errorf("failed to decode response body, %w", err),
1050			Snapshot: snapshot.Bytes(),
1051		}
1052		return out, metadata, err
1053	}
1054
1055	err = awsAwsjson11_deserializeOpDocumentCreateApplicationSnapshotOutput(&output, shape)
1056	if err != nil {
1057		var snapshot bytes.Buffer
1058		io.Copy(&snapshot, ringBuffer)
1059		err = &smithy.DeserializationError{
1060			Err:      fmt.Errorf("failed to decode response body, %w", err),
1061			Snapshot: snapshot.Bytes(),
1062		}
1063		return out, metadata, err
1064	}
1065
1066	return out, metadata, err
1067}
1068
1069func awsAwsjson11_deserializeOpErrorCreateApplicationSnapshot(response *smithyhttp.Response, metadata *middleware.Metadata) error {
1070	var errorBuffer bytes.Buffer
1071	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
1072		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
1073	}
1074	errorBody := bytes.NewReader(errorBuffer.Bytes())
1075
1076	errorCode := "UnknownError"
1077	errorMessage := errorCode
1078
1079	code := response.Header.Get("X-Amzn-ErrorType")
1080	if len(code) != 0 {
1081		errorCode = restjson.SanitizeErrorCode(code)
1082	}
1083
1084	var buff [1024]byte
1085	ringBuffer := smithyio.NewRingBuffer(buff[:])
1086
1087	body := io.TeeReader(errorBody, ringBuffer)
1088	decoder := json.NewDecoder(body)
1089	decoder.UseNumber()
1090	code, message, err := restjson.GetErrorInfo(decoder)
1091	if err != nil {
1092		var snapshot bytes.Buffer
1093		io.Copy(&snapshot, ringBuffer)
1094		err = &smithy.DeserializationError{
1095			Err:      fmt.Errorf("failed to decode response body, %w", err),
1096			Snapshot: snapshot.Bytes(),
1097		}
1098		return err
1099	}
1100
1101	errorBody.Seek(0, io.SeekStart)
1102	if len(code) != 0 {
1103		errorCode = restjson.SanitizeErrorCode(code)
1104	}
1105	if len(message) != 0 {
1106		errorMessage = message
1107	}
1108
1109	switch {
1110	case strings.EqualFold("InvalidApplicationConfigurationException", errorCode):
1111		return awsAwsjson11_deserializeErrorInvalidApplicationConfigurationException(response, errorBody)
1112
1113	case strings.EqualFold("InvalidArgumentException", errorCode):
1114		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
1115
1116	case strings.EqualFold("InvalidRequestException", errorCode):
1117		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
1118
1119	case strings.EqualFold("LimitExceededException", errorCode):
1120		return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody)
1121
1122	case strings.EqualFold("ResourceInUseException", errorCode):
1123		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
1124
1125	case strings.EqualFold("ResourceNotFoundException", errorCode):
1126		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
1127
1128	case strings.EqualFold("UnsupportedOperationException", errorCode):
1129		return awsAwsjson11_deserializeErrorUnsupportedOperationException(response, errorBody)
1130
1131	default:
1132		genericError := &smithy.GenericAPIError{
1133			Code:    errorCode,
1134			Message: errorMessage,
1135		}
1136		return genericError
1137
1138	}
1139}
1140
1141type awsAwsjson11_deserializeOpDeleteApplication struct {
1142}
1143
1144func (*awsAwsjson11_deserializeOpDeleteApplication) ID() string {
1145	return "OperationDeserializer"
1146}
1147
1148func (m *awsAwsjson11_deserializeOpDeleteApplication) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
1149	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
1150) {
1151	out, metadata, err = next.HandleDeserialize(ctx, in)
1152	if err != nil {
1153		return out, metadata, err
1154	}
1155
1156	response, ok := out.RawResponse.(*smithyhttp.Response)
1157	if !ok {
1158		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
1159	}
1160
1161	if response.StatusCode < 200 || response.StatusCode >= 300 {
1162		return out, metadata, awsAwsjson11_deserializeOpErrorDeleteApplication(response, &metadata)
1163	}
1164	output := &DeleteApplicationOutput{}
1165	out.Result = output
1166
1167	var buff [1024]byte
1168	ringBuffer := smithyio.NewRingBuffer(buff[:])
1169
1170	body := io.TeeReader(response.Body, ringBuffer)
1171	decoder := json.NewDecoder(body)
1172	decoder.UseNumber()
1173	var shape interface{}
1174	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
1175		var snapshot bytes.Buffer
1176		io.Copy(&snapshot, ringBuffer)
1177		err = &smithy.DeserializationError{
1178			Err:      fmt.Errorf("failed to decode response body, %w", err),
1179			Snapshot: snapshot.Bytes(),
1180		}
1181		return out, metadata, err
1182	}
1183
1184	err = awsAwsjson11_deserializeOpDocumentDeleteApplicationOutput(&output, shape)
1185	if err != nil {
1186		var snapshot bytes.Buffer
1187		io.Copy(&snapshot, ringBuffer)
1188		err = &smithy.DeserializationError{
1189			Err:      fmt.Errorf("failed to decode response body, %w", err),
1190			Snapshot: snapshot.Bytes(),
1191		}
1192		return out, metadata, err
1193	}
1194
1195	return out, metadata, err
1196}
1197
1198func awsAwsjson11_deserializeOpErrorDeleteApplication(response *smithyhttp.Response, metadata *middleware.Metadata) error {
1199	var errorBuffer bytes.Buffer
1200	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
1201		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
1202	}
1203	errorBody := bytes.NewReader(errorBuffer.Bytes())
1204
1205	errorCode := "UnknownError"
1206	errorMessage := errorCode
1207
1208	code := response.Header.Get("X-Amzn-ErrorType")
1209	if len(code) != 0 {
1210		errorCode = restjson.SanitizeErrorCode(code)
1211	}
1212
1213	var buff [1024]byte
1214	ringBuffer := smithyio.NewRingBuffer(buff[:])
1215
1216	body := io.TeeReader(errorBody, ringBuffer)
1217	decoder := json.NewDecoder(body)
1218	decoder.UseNumber()
1219	code, message, err := restjson.GetErrorInfo(decoder)
1220	if err != nil {
1221		var snapshot bytes.Buffer
1222		io.Copy(&snapshot, ringBuffer)
1223		err = &smithy.DeserializationError{
1224			Err:      fmt.Errorf("failed to decode response body, %w", err),
1225			Snapshot: snapshot.Bytes(),
1226		}
1227		return err
1228	}
1229
1230	errorBody.Seek(0, io.SeekStart)
1231	if len(code) != 0 {
1232		errorCode = restjson.SanitizeErrorCode(code)
1233	}
1234	if len(message) != 0 {
1235		errorMessage = message
1236	}
1237
1238	switch {
1239	case strings.EqualFold("ConcurrentModificationException", errorCode):
1240		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
1241
1242	case strings.EqualFold("InvalidApplicationConfigurationException", errorCode):
1243		return awsAwsjson11_deserializeErrorInvalidApplicationConfigurationException(response, errorBody)
1244
1245	case strings.EqualFold("InvalidArgumentException", errorCode):
1246		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
1247
1248	case strings.EqualFold("InvalidRequestException", errorCode):
1249		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
1250
1251	case strings.EqualFold("ResourceInUseException", errorCode):
1252		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
1253
1254	case strings.EqualFold("ResourceNotFoundException", errorCode):
1255		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
1256
1257	default:
1258		genericError := &smithy.GenericAPIError{
1259			Code:    errorCode,
1260			Message: errorMessage,
1261		}
1262		return genericError
1263
1264	}
1265}
1266
1267type awsAwsjson11_deserializeOpDeleteApplicationCloudWatchLoggingOption struct {
1268}
1269
1270func (*awsAwsjson11_deserializeOpDeleteApplicationCloudWatchLoggingOption) ID() string {
1271	return "OperationDeserializer"
1272}
1273
1274func (m *awsAwsjson11_deserializeOpDeleteApplicationCloudWatchLoggingOption) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
1275	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
1276) {
1277	out, metadata, err = next.HandleDeserialize(ctx, in)
1278	if err != nil {
1279		return out, metadata, err
1280	}
1281
1282	response, ok := out.RawResponse.(*smithyhttp.Response)
1283	if !ok {
1284		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
1285	}
1286
1287	if response.StatusCode < 200 || response.StatusCode >= 300 {
1288		return out, metadata, awsAwsjson11_deserializeOpErrorDeleteApplicationCloudWatchLoggingOption(response, &metadata)
1289	}
1290	output := &DeleteApplicationCloudWatchLoggingOptionOutput{}
1291	out.Result = output
1292
1293	var buff [1024]byte
1294	ringBuffer := smithyio.NewRingBuffer(buff[:])
1295
1296	body := io.TeeReader(response.Body, ringBuffer)
1297	decoder := json.NewDecoder(body)
1298	decoder.UseNumber()
1299	var shape interface{}
1300	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
1301		var snapshot bytes.Buffer
1302		io.Copy(&snapshot, ringBuffer)
1303		err = &smithy.DeserializationError{
1304			Err:      fmt.Errorf("failed to decode response body, %w", err),
1305			Snapshot: snapshot.Bytes(),
1306		}
1307		return out, metadata, err
1308	}
1309
1310	err = awsAwsjson11_deserializeOpDocumentDeleteApplicationCloudWatchLoggingOptionOutput(&output, shape)
1311	if err != nil {
1312		var snapshot bytes.Buffer
1313		io.Copy(&snapshot, ringBuffer)
1314		err = &smithy.DeserializationError{
1315			Err:      fmt.Errorf("failed to decode response body, %w", err),
1316			Snapshot: snapshot.Bytes(),
1317		}
1318		return out, metadata, err
1319	}
1320
1321	return out, metadata, err
1322}
1323
1324func awsAwsjson11_deserializeOpErrorDeleteApplicationCloudWatchLoggingOption(response *smithyhttp.Response, metadata *middleware.Metadata) error {
1325	var errorBuffer bytes.Buffer
1326	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
1327		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
1328	}
1329	errorBody := bytes.NewReader(errorBuffer.Bytes())
1330
1331	errorCode := "UnknownError"
1332	errorMessage := errorCode
1333
1334	code := response.Header.Get("X-Amzn-ErrorType")
1335	if len(code) != 0 {
1336		errorCode = restjson.SanitizeErrorCode(code)
1337	}
1338
1339	var buff [1024]byte
1340	ringBuffer := smithyio.NewRingBuffer(buff[:])
1341
1342	body := io.TeeReader(errorBody, ringBuffer)
1343	decoder := json.NewDecoder(body)
1344	decoder.UseNumber()
1345	code, message, err := restjson.GetErrorInfo(decoder)
1346	if err != nil {
1347		var snapshot bytes.Buffer
1348		io.Copy(&snapshot, ringBuffer)
1349		err = &smithy.DeserializationError{
1350			Err:      fmt.Errorf("failed to decode response body, %w", err),
1351			Snapshot: snapshot.Bytes(),
1352		}
1353		return err
1354	}
1355
1356	errorBody.Seek(0, io.SeekStart)
1357	if len(code) != 0 {
1358		errorCode = restjson.SanitizeErrorCode(code)
1359	}
1360	if len(message) != 0 {
1361		errorMessage = message
1362	}
1363
1364	switch {
1365	case strings.EqualFold("ConcurrentModificationException", errorCode):
1366		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
1367
1368	case strings.EqualFold("InvalidApplicationConfigurationException", errorCode):
1369		return awsAwsjson11_deserializeErrorInvalidApplicationConfigurationException(response, errorBody)
1370
1371	case strings.EqualFold("InvalidArgumentException", errorCode):
1372		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
1373
1374	case strings.EqualFold("InvalidRequestException", errorCode):
1375		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
1376
1377	case strings.EqualFold("ResourceInUseException", errorCode):
1378		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
1379
1380	case strings.EqualFold("ResourceNotFoundException", errorCode):
1381		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
1382
1383	default:
1384		genericError := &smithy.GenericAPIError{
1385			Code:    errorCode,
1386			Message: errorMessage,
1387		}
1388		return genericError
1389
1390	}
1391}
1392
1393type awsAwsjson11_deserializeOpDeleteApplicationInputProcessingConfiguration struct {
1394}
1395
1396func (*awsAwsjson11_deserializeOpDeleteApplicationInputProcessingConfiguration) ID() string {
1397	return "OperationDeserializer"
1398}
1399
1400func (m *awsAwsjson11_deserializeOpDeleteApplicationInputProcessingConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
1401	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
1402) {
1403	out, metadata, err = next.HandleDeserialize(ctx, in)
1404	if err != nil {
1405		return out, metadata, err
1406	}
1407
1408	response, ok := out.RawResponse.(*smithyhttp.Response)
1409	if !ok {
1410		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
1411	}
1412
1413	if response.StatusCode < 200 || response.StatusCode >= 300 {
1414		return out, metadata, awsAwsjson11_deserializeOpErrorDeleteApplicationInputProcessingConfiguration(response, &metadata)
1415	}
1416	output := &DeleteApplicationInputProcessingConfigurationOutput{}
1417	out.Result = output
1418
1419	var buff [1024]byte
1420	ringBuffer := smithyio.NewRingBuffer(buff[:])
1421
1422	body := io.TeeReader(response.Body, ringBuffer)
1423	decoder := json.NewDecoder(body)
1424	decoder.UseNumber()
1425	var shape interface{}
1426	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
1427		var snapshot bytes.Buffer
1428		io.Copy(&snapshot, ringBuffer)
1429		err = &smithy.DeserializationError{
1430			Err:      fmt.Errorf("failed to decode response body, %w", err),
1431			Snapshot: snapshot.Bytes(),
1432		}
1433		return out, metadata, err
1434	}
1435
1436	err = awsAwsjson11_deserializeOpDocumentDeleteApplicationInputProcessingConfigurationOutput(&output, shape)
1437	if err != nil {
1438		var snapshot bytes.Buffer
1439		io.Copy(&snapshot, ringBuffer)
1440		err = &smithy.DeserializationError{
1441			Err:      fmt.Errorf("failed to decode response body, %w", err),
1442			Snapshot: snapshot.Bytes(),
1443		}
1444		return out, metadata, err
1445	}
1446
1447	return out, metadata, err
1448}
1449
1450func awsAwsjson11_deserializeOpErrorDeleteApplicationInputProcessingConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error {
1451	var errorBuffer bytes.Buffer
1452	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
1453		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
1454	}
1455	errorBody := bytes.NewReader(errorBuffer.Bytes())
1456
1457	errorCode := "UnknownError"
1458	errorMessage := errorCode
1459
1460	code := response.Header.Get("X-Amzn-ErrorType")
1461	if len(code) != 0 {
1462		errorCode = restjson.SanitizeErrorCode(code)
1463	}
1464
1465	var buff [1024]byte
1466	ringBuffer := smithyio.NewRingBuffer(buff[:])
1467
1468	body := io.TeeReader(errorBody, ringBuffer)
1469	decoder := json.NewDecoder(body)
1470	decoder.UseNumber()
1471	code, message, err := restjson.GetErrorInfo(decoder)
1472	if err != nil {
1473		var snapshot bytes.Buffer
1474		io.Copy(&snapshot, ringBuffer)
1475		err = &smithy.DeserializationError{
1476			Err:      fmt.Errorf("failed to decode response body, %w", err),
1477			Snapshot: snapshot.Bytes(),
1478		}
1479		return err
1480	}
1481
1482	errorBody.Seek(0, io.SeekStart)
1483	if len(code) != 0 {
1484		errorCode = restjson.SanitizeErrorCode(code)
1485	}
1486	if len(message) != 0 {
1487		errorMessage = message
1488	}
1489
1490	switch {
1491	case strings.EqualFold("ConcurrentModificationException", errorCode):
1492		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
1493
1494	case strings.EqualFold("InvalidArgumentException", errorCode):
1495		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
1496
1497	case strings.EqualFold("InvalidRequestException", errorCode):
1498		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
1499
1500	case strings.EqualFold("ResourceInUseException", errorCode):
1501		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
1502
1503	case strings.EqualFold("ResourceNotFoundException", errorCode):
1504		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
1505
1506	default:
1507		genericError := &smithy.GenericAPIError{
1508			Code:    errorCode,
1509			Message: errorMessage,
1510		}
1511		return genericError
1512
1513	}
1514}
1515
1516type awsAwsjson11_deserializeOpDeleteApplicationOutput struct {
1517}
1518
1519func (*awsAwsjson11_deserializeOpDeleteApplicationOutput) ID() string {
1520	return "OperationDeserializer"
1521}
1522
1523func (m *awsAwsjson11_deserializeOpDeleteApplicationOutput) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
1524	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
1525) {
1526	out, metadata, err = next.HandleDeserialize(ctx, in)
1527	if err != nil {
1528		return out, metadata, err
1529	}
1530
1531	response, ok := out.RawResponse.(*smithyhttp.Response)
1532	if !ok {
1533		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
1534	}
1535
1536	if response.StatusCode < 200 || response.StatusCode >= 300 {
1537		return out, metadata, awsAwsjson11_deserializeOpErrorDeleteApplicationOutput(response, &metadata)
1538	}
1539	output := &DeleteApplicationOutputOutput{}
1540	out.Result = output
1541
1542	var buff [1024]byte
1543	ringBuffer := smithyio.NewRingBuffer(buff[:])
1544
1545	body := io.TeeReader(response.Body, ringBuffer)
1546	decoder := json.NewDecoder(body)
1547	decoder.UseNumber()
1548	var shape interface{}
1549	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
1550		var snapshot bytes.Buffer
1551		io.Copy(&snapshot, ringBuffer)
1552		err = &smithy.DeserializationError{
1553			Err:      fmt.Errorf("failed to decode response body, %w", err),
1554			Snapshot: snapshot.Bytes(),
1555		}
1556		return out, metadata, err
1557	}
1558
1559	err = awsAwsjson11_deserializeOpDocumentDeleteApplicationOutputOutput(&output, shape)
1560	if err != nil {
1561		var snapshot bytes.Buffer
1562		io.Copy(&snapshot, ringBuffer)
1563		err = &smithy.DeserializationError{
1564			Err:      fmt.Errorf("failed to decode response body, %w", err),
1565			Snapshot: snapshot.Bytes(),
1566		}
1567		return out, metadata, err
1568	}
1569
1570	return out, metadata, err
1571}
1572
1573func awsAwsjson11_deserializeOpErrorDeleteApplicationOutput(response *smithyhttp.Response, metadata *middleware.Metadata) error {
1574	var errorBuffer bytes.Buffer
1575	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
1576		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
1577	}
1578	errorBody := bytes.NewReader(errorBuffer.Bytes())
1579
1580	errorCode := "UnknownError"
1581	errorMessage := errorCode
1582
1583	code := response.Header.Get("X-Amzn-ErrorType")
1584	if len(code) != 0 {
1585		errorCode = restjson.SanitizeErrorCode(code)
1586	}
1587
1588	var buff [1024]byte
1589	ringBuffer := smithyio.NewRingBuffer(buff[:])
1590
1591	body := io.TeeReader(errorBody, ringBuffer)
1592	decoder := json.NewDecoder(body)
1593	decoder.UseNumber()
1594	code, message, err := restjson.GetErrorInfo(decoder)
1595	if err != nil {
1596		var snapshot bytes.Buffer
1597		io.Copy(&snapshot, ringBuffer)
1598		err = &smithy.DeserializationError{
1599			Err:      fmt.Errorf("failed to decode response body, %w", err),
1600			Snapshot: snapshot.Bytes(),
1601		}
1602		return err
1603	}
1604
1605	errorBody.Seek(0, io.SeekStart)
1606	if len(code) != 0 {
1607		errorCode = restjson.SanitizeErrorCode(code)
1608	}
1609	if len(message) != 0 {
1610		errorMessage = message
1611	}
1612
1613	switch {
1614	case strings.EqualFold("ConcurrentModificationException", errorCode):
1615		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
1616
1617	case strings.EqualFold("InvalidArgumentException", errorCode):
1618		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
1619
1620	case strings.EqualFold("InvalidRequestException", errorCode):
1621		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
1622
1623	case strings.EqualFold("ResourceInUseException", errorCode):
1624		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
1625
1626	case strings.EqualFold("ResourceNotFoundException", errorCode):
1627		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
1628
1629	default:
1630		genericError := &smithy.GenericAPIError{
1631			Code:    errorCode,
1632			Message: errorMessage,
1633		}
1634		return genericError
1635
1636	}
1637}
1638
1639type awsAwsjson11_deserializeOpDeleteApplicationReferenceDataSource struct {
1640}
1641
1642func (*awsAwsjson11_deserializeOpDeleteApplicationReferenceDataSource) ID() string {
1643	return "OperationDeserializer"
1644}
1645
1646func (m *awsAwsjson11_deserializeOpDeleteApplicationReferenceDataSource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
1647	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
1648) {
1649	out, metadata, err = next.HandleDeserialize(ctx, in)
1650	if err != nil {
1651		return out, metadata, err
1652	}
1653
1654	response, ok := out.RawResponse.(*smithyhttp.Response)
1655	if !ok {
1656		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
1657	}
1658
1659	if response.StatusCode < 200 || response.StatusCode >= 300 {
1660		return out, metadata, awsAwsjson11_deserializeOpErrorDeleteApplicationReferenceDataSource(response, &metadata)
1661	}
1662	output := &DeleteApplicationReferenceDataSourceOutput{}
1663	out.Result = output
1664
1665	var buff [1024]byte
1666	ringBuffer := smithyio.NewRingBuffer(buff[:])
1667
1668	body := io.TeeReader(response.Body, ringBuffer)
1669	decoder := json.NewDecoder(body)
1670	decoder.UseNumber()
1671	var shape interface{}
1672	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
1673		var snapshot bytes.Buffer
1674		io.Copy(&snapshot, ringBuffer)
1675		err = &smithy.DeserializationError{
1676			Err:      fmt.Errorf("failed to decode response body, %w", err),
1677			Snapshot: snapshot.Bytes(),
1678		}
1679		return out, metadata, err
1680	}
1681
1682	err = awsAwsjson11_deserializeOpDocumentDeleteApplicationReferenceDataSourceOutput(&output, shape)
1683	if err != nil {
1684		var snapshot bytes.Buffer
1685		io.Copy(&snapshot, ringBuffer)
1686		err = &smithy.DeserializationError{
1687			Err:      fmt.Errorf("failed to decode response body, %w", err),
1688			Snapshot: snapshot.Bytes(),
1689		}
1690		return out, metadata, err
1691	}
1692
1693	return out, metadata, err
1694}
1695
1696func awsAwsjson11_deserializeOpErrorDeleteApplicationReferenceDataSource(response *smithyhttp.Response, metadata *middleware.Metadata) error {
1697	var errorBuffer bytes.Buffer
1698	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
1699		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
1700	}
1701	errorBody := bytes.NewReader(errorBuffer.Bytes())
1702
1703	errorCode := "UnknownError"
1704	errorMessage := errorCode
1705
1706	code := response.Header.Get("X-Amzn-ErrorType")
1707	if len(code) != 0 {
1708		errorCode = restjson.SanitizeErrorCode(code)
1709	}
1710
1711	var buff [1024]byte
1712	ringBuffer := smithyio.NewRingBuffer(buff[:])
1713
1714	body := io.TeeReader(errorBody, ringBuffer)
1715	decoder := json.NewDecoder(body)
1716	decoder.UseNumber()
1717	code, message, err := restjson.GetErrorInfo(decoder)
1718	if err != nil {
1719		var snapshot bytes.Buffer
1720		io.Copy(&snapshot, ringBuffer)
1721		err = &smithy.DeserializationError{
1722			Err:      fmt.Errorf("failed to decode response body, %w", err),
1723			Snapshot: snapshot.Bytes(),
1724		}
1725		return err
1726	}
1727
1728	errorBody.Seek(0, io.SeekStart)
1729	if len(code) != 0 {
1730		errorCode = restjson.SanitizeErrorCode(code)
1731	}
1732	if len(message) != 0 {
1733		errorMessage = message
1734	}
1735
1736	switch {
1737	case strings.EqualFold("ConcurrentModificationException", errorCode):
1738		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
1739
1740	case strings.EqualFold("InvalidArgumentException", errorCode):
1741		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
1742
1743	case strings.EqualFold("InvalidRequestException", errorCode):
1744		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
1745
1746	case strings.EqualFold("ResourceInUseException", errorCode):
1747		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
1748
1749	case strings.EqualFold("ResourceNotFoundException", errorCode):
1750		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
1751
1752	default:
1753		genericError := &smithy.GenericAPIError{
1754			Code:    errorCode,
1755			Message: errorMessage,
1756		}
1757		return genericError
1758
1759	}
1760}
1761
1762type awsAwsjson11_deserializeOpDeleteApplicationSnapshot struct {
1763}
1764
1765func (*awsAwsjson11_deserializeOpDeleteApplicationSnapshot) ID() string {
1766	return "OperationDeserializer"
1767}
1768
1769func (m *awsAwsjson11_deserializeOpDeleteApplicationSnapshot) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
1770	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
1771) {
1772	out, metadata, err = next.HandleDeserialize(ctx, in)
1773	if err != nil {
1774		return out, metadata, err
1775	}
1776
1777	response, ok := out.RawResponse.(*smithyhttp.Response)
1778	if !ok {
1779		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
1780	}
1781
1782	if response.StatusCode < 200 || response.StatusCode >= 300 {
1783		return out, metadata, awsAwsjson11_deserializeOpErrorDeleteApplicationSnapshot(response, &metadata)
1784	}
1785	output := &DeleteApplicationSnapshotOutput{}
1786	out.Result = output
1787
1788	var buff [1024]byte
1789	ringBuffer := smithyio.NewRingBuffer(buff[:])
1790
1791	body := io.TeeReader(response.Body, ringBuffer)
1792	decoder := json.NewDecoder(body)
1793	decoder.UseNumber()
1794	var shape interface{}
1795	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
1796		var snapshot bytes.Buffer
1797		io.Copy(&snapshot, ringBuffer)
1798		err = &smithy.DeserializationError{
1799			Err:      fmt.Errorf("failed to decode response body, %w", err),
1800			Snapshot: snapshot.Bytes(),
1801		}
1802		return out, metadata, err
1803	}
1804
1805	err = awsAwsjson11_deserializeOpDocumentDeleteApplicationSnapshotOutput(&output, shape)
1806	if err != nil {
1807		var snapshot bytes.Buffer
1808		io.Copy(&snapshot, ringBuffer)
1809		err = &smithy.DeserializationError{
1810			Err:      fmt.Errorf("failed to decode response body, %w", err),
1811			Snapshot: snapshot.Bytes(),
1812		}
1813		return out, metadata, err
1814	}
1815
1816	return out, metadata, err
1817}
1818
1819func awsAwsjson11_deserializeOpErrorDeleteApplicationSnapshot(response *smithyhttp.Response, metadata *middleware.Metadata) error {
1820	var errorBuffer bytes.Buffer
1821	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
1822		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
1823	}
1824	errorBody := bytes.NewReader(errorBuffer.Bytes())
1825
1826	errorCode := "UnknownError"
1827	errorMessage := errorCode
1828
1829	code := response.Header.Get("X-Amzn-ErrorType")
1830	if len(code) != 0 {
1831		errorCode = restjson.SanitizeErrorCode(code)
1832	}
1833
1834	var buff [1024]byte
1835	ringBuffer := smithyio.NewRingBuffer(buff[:])
1836
1837	body := io.TeeReader(errorBody, ringBuffer)
1838	decoder := json.NewDecoder(body)
1839	decoder.UseNumber()
1840	code, message, err := restjson.GetErrorInfo(decoder)
1841	if err != nil {
1842		var snapshot bytes.Buffer
1843		io.Copy(&snapshot, ringBuffer)
1844		err = &smithy.DeserializationError{
1845			Err:      fmt.Errorf("failed to decode response body, %w", err),
1846			Snapshot: snapshot.Bytes(),
1847		}
1848		return err
1849	}
1850
1851	errorBody.Seek(0, io.SeekStart)
1852	if len(code) != 0 {
1853		errorCode = restjson.SanitizeErrorCode(code)
1854	}
1855	if len(message) != 0 {
1856		errorMessage = message
1857	}
1858
1859	switch {
1860	case strings.EqualFold("InvalidArgumentException", errorCode):
1861		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
1862
1863	case strings.EqualFold("InvalidRequestException", errorCode):
1864		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
1865
1866	case strings.EqualFold("ResourceInUseException", errorCode):
1867		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
1868
1869	case strings.EqualFold("ResourceNotFoundException", errorCode):
1870		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
1871
1872	case strings.EqualFold("UnsupportedOperationException", errorCode):
1873		return awsAwsjson11_deserializeErrorUnsupportedOperationException(response, errorBody)
1874
1875	default:
1876		genericError := &smithy.GenericAPIError{
1877			Code:    errorCode,
1878			Message: errorMessage,
1879		}
1880		return genericError
1881
1882	}
1883}
1884
1885type awsAwsjson11_deserializeOpDeleteApplicationVpcConfiguration struct {
1886}
1887
1888func (*awsAwsjson11_deserializeOpDeleteApplicationVpcConfiguration) ID() string {
1889	return "OperationDeserializer"
1890}
1891
1892func (m *awsAwsjson11_deserializeOpDeleteApplicationVpcConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
1893	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
1894) {
1895	out, metadata, err = next.HandleDeserialize(ctx, in)
1896	if err != nil {
1897		return out, metadata, err
1898	}
1899
1900	response, ok := out.RawResponse.(*smithyhttp.Response)
1901	if !ok {
1902		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
1903	}
1904
1905	if response.StatusCode < 200 || response.StatusCode >= 300 {
1906		return out, metadata, awsAwsjson11_deserializeOpErrorDeleteApplicationVpcConfiguration(response, &metadata)
1907	}
1908	output := &DeleteApplicationVpcConfigurationOutput{}
1909	out.Result = output
1910
1911	var buff [1024]byte
1912	ringBuffer := smithyio.NewRingBuffer(buff[:])
1913
1914	body := io.TeeReader(response.Body, ringBuffer)
1915	decoder := json.NewDecoder(body)
1916	decoder.UseNumber()
1917	var shape interface{}
1918	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
1919		var snapshot bytes.Buffer
1920		io.Copy(&snapshot, ringBuffer)
1921		err = &smithy.DeserializationError{
1922			Err:      fmt.Errorf("failed to decode response body, %w", err),
1923			Snapshot: snapshot.Bytes(),
1924		}
1925		return out, metadata, err
1926	}
1927
1928	err = awsAwsjson11_deserializeOpDocumentDeleteApplicationVpcConfigurationOutput(&output, shape)
1929	if err != nil {
1930		var snapshot bytes.Buffer
1931		io.Copy(&snapshot, ringBuffer)
1932		err = &smithy.DeserializationError{
1933			Err:      fmt.Errorf("failed to decode response body, %w", err),
1934			Snapshot: snapshot.Bytes(),
1935		}
1936		return out, metadata, err
1937	}
1938
1939	return out, metadata, err
1940}
1941
1942func awsAwsjson11_deserializeOpErrorDeleteApplicationVpcConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error {
1943	var errorBuffer bytes.Buffer
1944	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
1945		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
1946	}
1947	errorBody := bytes.NewReader(errorBuffer.Bytes())
1948
1949	errorCode := "UnknownError"
1950	errorMessage := errorCode
1951
1952	code := response.Header.Get("X-Amzn-ErrorType")
1953	if len(code) != 0 {
1954		errorCode = restjson.SanitizeErrorCode(code)
1955	}
1956
1957	var buff [1024]byte
1958	ringBuffer := smithyio.NewRingBuffer(buff[:])
1959
1960	body := io.TeeReader(errorBody, ringBuffer)
1961	decoder := json.NewDecoder(body)
1962	decoder.UseNumber()
1963	code, message, err := restjson.GetErrorInfo(decoder)
1964	if err != nil {
1965		var snapshot bytes.Buffer
1966		io.Copy(&snapshot, ringBuffer)
1967		err = &smithy.DeserializationError{
1968			Err:      fmt.Errorf("failed to decode response body, %w", err),
1969			Snapshot: snapshot.Bytes(),
1970		}
1971		return err
1972	}
1973
1974	errorBody.Seek(0, io.SeekStart)
1975	if len(code) != 0 {
1976		errorCode = restjson.SanitizeErrorCode(code)
1977	}
1978	if len(message) != 0 {
1979		errorMessage = message
1980	}
1981
1982	switch {
1983	case strings.EqualFold("ConcurrentModificationException", errorCode):
1984		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
1985
1986	case strings.EqualFold("InvalidApplicationConfigurationException", errorCode):
1987		return awsAwsjson11_deserializeErrorInvalidApplicationConfigurationException(response, errorBody)
1988
1989	case strings.EqualFold("InvalidArgumentException", errorCode):
1990		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
1991
1992	case strings.EqualFold("ResourceInUseException", errorCode):
1993		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
1994
1995	case strings.EqualFold("ResourceNotFoundException", errorCode):
1996		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
1997
1998	default:
1999		genericError := &smithy.GenericAPIError{
2000			Code:    errorCode,
2001			Message: errorMessage,
2002		}
2003		return genericError
2004
2005	}
2006}
2007
2008type awsAwsjson11_deserializeOpDescribeApplication struct {
2009}
2010
2011func (*awsAwsjson11_deserializeOpDescribeApplication) ID() string {
2012	return "OperationDeserializer"
2013}
2014
2015func (m *awsAwsjson11_deserializeOpDescribeApplication) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
2016	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
2017) {
2018	out, metadata, err = next.HandleDeserialize(ctx, in)
2019	if err != nil {
2020		return out, metadata, err
2021	}
2022
2023	response, ok := out.RawResponse.(*smithyhttp.Response)
2024	if !ok {
2025		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
2026	}
2027
2028	if response.StatusCode < 200 || response.StatusCode >= 300 {
2029		return out, metadata, awsAwsjson11_deserializeOpErrorDescribeApplication(response, &metadata)
2030	}
2031	output := &DescribeApplicationOutput{}
2032	out.Result = output
2033
2034	var buff [1024]byte
2035	ringBuffer := smithyio.NewRingBuffer(buff[:])
2036
2037	body := io.TeeReader(response.Body, ringBuffer)
2038	decoder := json.NewDecoder(body)
2039	decoder.UseNumber()
2040	var shape interface{}
2041	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
2042		var snapshot bytes.Buffer
2043		io.Copy(&snapshot, ringBuffer)
2044		err = &smithy.DeserializationError{
2045			Err:      fmt.Errorf("failed to decode response body, %w", err),
2046			Snapshot: snapshot.Bytes(),
2047		}
2048		return out, metadata, err
2049	}
2050
2051	err = awsAwsjson11_deserializeOpDocumentDescribeApplicationOutput(&output, shape)
2052	if err != nil {
2053		var snapshot bytes.Buffer
2054		io.Copy(&snapshot, ringBuffer)
2055		err = &smithy.DeserializationError{
2056			Err:      fmt.Errorf("failed to decode response body, %w", err),
2057			Snapshot: snapshot.Bytes(),
2058		}
2059		return out, metadata, err
2060	}
2061
2062	return out, metadata, err
2063}
2064
2065func awsAwsjson11_deserializeOpErrorDescribeApplication(response *smithyhttp.Response, metadata *middleware.Metadata) error {
2066	var errorBuffer bytes.Buffer
2067	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
2068		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
2069	}
2070	errorBody := bytes.NewReader(errorBuffer.Bytes())
2071
2072	errorCode := "UnknownError"
2073	errorMessage := errorCode
2074
2075	code := response.Header.Get("X-Amzn-ErrorType")
2076	if len(code) != 0 {
2077		errorCode = restjson.SanitizeErrorCode(code)
2078	}
2079
2080	var buff [1024]byte
2081	ringBuffer := smithyio.NewRingBuffer(buff[:])
2082
2083	body := io.TeeReader(errorBody, ringBuffer)
2084	decoder := json.NewDecoder(body)
2085	decoder.UseNumber()
2086	code, message, err := restjson.GetErrorInfo(decoder)
2087	if err != nil {
2088		var snapshot bytes.Buffer
2089		io.Copy(&snapshot, ringBuffer)
2090		err = &smithy.DeserializationError{
2091			Err:      fmt.Errorf("failed to decode response body, %w", err),
2092			Snapshot: snapshot.Bytes(),
2093		}
2094		return err
2095	}
2096
2097	errorBody.Seek(0, io.SeekStart)
2098	if len(code) != 0 {
2099		errorCode = restjson.SanitizeErrorCode(code)
2100	}
2101	if len(message) != 0 {
2102		errorMessage = message
2103	}
2104
2105	switch {
2106	case strings.EqualFold("InvalidArgumentException", errorCode):
2107		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
2108
2109	case strings.EqualFold("InvalidRequestException", errorCode):
2110		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
2111
2112	case strings.EqualFold("ResourceNotFoundException", errorCode):
2113		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
2114
2115	default:
2116		genericError := &smithy.GenericAPIError{
2117			Code:    errorCode,
2118			Message: errorMessage,
2119		}
2120		return genericError
2121
2122	}
2123}
2124
2125type awsAwsjson11_deserializeOpDescribeApplicationSnapshot struct {
2126}
2127
2128func (*awsAwsjson11_deserializeOpDescribeApplicationSnapshot) ID() string {
2129	return "OperationDeserializer"
2130}
2131
2132func (m *awsAwsjson11_deserializeOpDescribeApplicationSnapshot) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
2133	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
2134) {
2135	out, metadata, err = next.HandleDeserialize(ctx, in)
2136	if err != nil {
2137		return out, metadata, err
2138	}
2139
2140	response, ok := out.RawResponse.(*smithyhttp.Response)
2141	if !ok {
2142		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
2143	}
2144
2145	if response.StatusCode < 200 || response.StatusCode >= 300 {
2146		return out, metadata, awsAwsjson11_deserializeOpErrorDescribeApplicationSnapshot(response, &metadata)
2147	}
2148	output := &DescribeApplicationSnapshotOutput{}
2149	out.Result = output
2150
2151	var buff [1024]byte
2152	ringBuffer := smithyio.NewRingBuffer(buff[:])
2153
2154	body := io.TeeReader(response.Body, ringBuffer)
2155	decoder := json.NewDecoder(body)
2156	decoder.UseNumber()
2157	var shape interface{}
2158	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
2159		var snapshot bytes.Buffer
2160		io.Copy(&snapshot, ringBuffer)
2161		err = &smithy.DeserializationError{
2162			Err:      fmt.Errorf("failed to decode response body, %w", err),
2163			Snapshot: snapshot.Bytes(),
2164		}
2165		return out, metadata, err
2166	}
2167
2168	err = awsAwsjson11_deserializeOpDocumentDescribeApplicationSnapshotOutput(&output, shape)
2169	if err != nil {
2170		var snapshot bytes.Buffer
2171		io.Copy(&snapshot, ringBuffer)
2172		err = &smithy.DeserializationError{
2173			Err:      fmt.Errorf("failed to decode response body, %w", err),
2174			Snapshot: snapshot.Bytes(),
2175		}
2176		return out, metadata, err
2177	}
2178
2179	return out, metadata, err
2180}
2181
2182func awsAwsjson11_deserializeOpErrorDescribeApplicationSnapshot(response *smithyhttp.Response, metadata *middleware.Metadata) error {
2183	var errorBuffer bytes.Buffer
2184	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
2185		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
2186	}
2187	errorBody := bytes.NewReader(errorBuffer.Bytes())
2188
2189	errorCode := "UnknownError"
2190	errorMessage := errorCode
2191
2192	code := response.Header.Get("X-Amzn-ErrorType")
2193	if len(code) != 0 {
2194		errorCode = restjson.SanitizeErrorCode(code)
2195	}
2196
2197	var buff [1024]byte
2198	ringBuffer := smithyio.NewRingBuffer(buff[:])
2199
2200	body := io.TeeReader(errorBody, ringBuffer)
2201	decoder := json.NewDecoder(body)
2202	decoder.UseNumber()
2203	code, message, err := restjson.GetErrorInfo(decoder)
2204	if err != nil {
2205		var snapshot bytes.Buffer
2206		io.Copy(&snapshot, ringBuffer)
2207		err = &smithy.DeserializationError{
2208			Err:      fmt.Errorf("failed to decode response body, %w", err),
2209			Snapshot: snapshot.Bytes(),
2210		}
2211		return err
2212	}
2213
2214	errorBody.Seek(0, io.SeekStart)
2215	if len(code) != 0 {
2216		errorCode = restjson.SanitizeErrorCode(code)
2217	}
2218	if len(message) != 0 {
2219		errorMessage = message
2220	}
2221
2222	switch {
2223	case strings.EqualFold("InvalidArgumentException", errorCode):
2224		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
2225
2226	case strings.EqualFold("ResourceNotFoundException", errorCode):
2227		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
2228
2229	case strings.EqualFold("UnsupportedOperationException", errorCode):
2230		return awsAwsjson11_deserializeErrorUnsupportedOperationException(response, errorBody)
2231
2232	default:
2233		genericError := &smithy.GenericAPIError{
2234			Code:    errorCode,
2235			Message: errorMessage,
2236		}
2237		return genericError
2238
2239	}
2240}
2241
2242type awsAwsjson11_deserializeOpDiscoverInputSchema struct {
2243}
2244
2245func (*awsAwsjson11_deserializeOpDiscoverInputSchema) ID() string {
2246	return "OperationDeserializer"
2247}
2248
2249func (m *awsAwsjson11_deserializeOpDiscoverInputSchema) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
2250	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
2251) {
2252	out, metadata, err = next.HandleDeserialize(ctx, in)
2253	if err != nil {
2254		return out, metadata, err
2255	}
2256
2257	response, ok := out.RawResponse.(*smithyhttp.Response)
2258	if !ok {
2259		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
2260	}
2261
2262	if response.StatusCode < 200 || response.StatusCode >= 300 {
2263		return out, metadata, awsAwsjson11_deserializeOpErrorDiscoverInputSchema(response, &metadata)
2264	}
2265	output := &DiscoverInputSchemaOutput{}
2266	out.Result = output
2267
2268	var buff [1024]byte
2269	ringBuffer := smithyio.NewRingBuffer(buff[:])
2270
2271	body := io.TeeReader(response.Body, ringBuffer)
2272	decoder := json.NewDecoder(body)
2273	decoder.UseNumber()
2274	var shape interface{}
2275	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
2276		var snapshot bytes.Buffer
2277		io.Copy(&snapshot, ringBuffer)
2278		err = &smithy.DeserializationError{
2279			Err:      fmt.Errorf("failed to decode response body, %w", err),
2280			Snapshot: snapshot.Bytes(),
2281		}
2282		return out, metadata, err
2283	}
2284
2285	err = awsAwsjson11_deserializeOpDocumentDiscoverInputSchemaOutput(&output, shape)
2286	if err != nil {
2287		var snapshot bytes.Buffer
2288		io.Copy(&snapshot, ringBuffer)
2289		err = &smithy.DeserializationError{
2290			Err:      fmt.Errorf("failed to decode response body, %w", err),
2291			Snapshot: snapshot.Bytes(),
2292		}
2293		return out, metadata, err
2294	}
2295
2296	return out, metadata, err
2297}
2298
2299func awsAwsjson11_deserializeOpErrorDiscoverInputSchema(response *smithyhttp.Response, metadata *middleware.Metadata) error {
2300	var errorBuffer bytes.Buffer
2301	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
2302		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
2303	}
2304	errorBody := bytes.NewReader(errorBuffer.Bytes())
2305
2306	errorCode := "UnknownError"
2307	errorMessage := errorCode
2308
2309	code := response.Header.Get("X-Amzn-ErrorType")
2310	if len(code) != 0 {
2311		errorCode = restjson.SanitizeErrorCode(code)
2312	}
2313
2314	var buff [1024]byte
2315	ringBuffer := smithyio.NewRingBuffer(buff[:])
2316
2317	body := io.TeeReader(errorBody, ringBuffer)
2318	decoder := json.NewDecoder(body)
2319	decoder.UseNumber()
2320	code, message, err := restjson.GetErrorInfo(decoder)
2321	if err != nil {
2322		var snapshot bytes.Buffer
2323		io.Copy(&snapshot, ringBuffer)
2324		err = &smithy.DeserializationError{
2325			Err:      fmt.Errorf("failed to decode response body, %w", err),
2326			Snapshot: snapshot.Bytes(),
2327		}
2328		return err
2329	}
2330
2331	errorBody.Seek(0, io.SeekStart)
2332	if len(code) != 0 {
2333		errorCode = restjson.SanitizeErrorCode(code)
2334	}
2335	if len(message) != 0 {
2336		errorMessage = message
2337	}
2338
2339	switch {
2340	case strings.EqualFold("InvalidArgumentException", errorCode):
2341		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
2342
2343	case strings.EqualFold("InvalidRequestException", errorCode):
2344		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
2345
2346	case strings.EqualFold("ResourceProvisionedThroughputExceededException", errorCode):
2347		return awsAwsjson11_deserializeErrorResourceProvisionedThroughputExceededException(response, errorBody)
2348
2349	case strings.EqualFold("ServiceUnavailableException", errorCode):
2350		return awsAwsjson11_deserializeErrorServiceUnavailableException(response, errorBody)
2351
2352	case strings.EqualFold("UnableToDetectSchemaException", errorCode):
2353		return awsAwsjson11_deserializeErrorUnableToDetectSchemaException(response, errorBody)
2354
2355	default:
2356		genericError := &smithy.GenericAPIError{
2357			Code:    errorCode,
2358			Message: errorMessage,
2359		}
2360		return genericError
2361
2362	}
2363}
2364
2365type awsAwsjson11_deserializeOpListApplications struct {
2366}
2367
2368func (*awsAwsjson11_deserializeOpListApplications) ID() string {
2369	return "OperationDeserializer"
2370}
2371
2372func (m *awsAwsjson11_deserializeOpListApplications) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
2373	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
2374) {
2375	out, metadata, err = next.HandleDeserialize(ctx, in)
2376	if err != nil {
2377		return out, metadata, err
2378	}
2379
2380	response, ok := out.RawResponse.(*smithyhttp.Response)
2381	if !ok {
2382		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
2383	}
2384
2385	if response.StatusCode < 200 || response.StatusCode >= 300 {
2386		return out, metadata, awsAwsjson11_deserializeOpErrorListApplications(response, &metadata)
2387	}
2388	output := &ListApplicationsOutput{}
2389	out.Result = output
2390
2391	var buff [1024]byte
2392	ringBuffer := smithyio.NewRingBuffer(buff[:])
2393
2394	body := io.TeeReader(response.Body, ringBuffer)
2395	decoder := json.NewDecoder(body)
2396	decoder.UseNumber()
2397	var shape interface{}
2398	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
2399		var snapshot bytes.Buffer
2400		io.Copy(&snapshot, ringBuffer)
2401		err = &smithy.DeserializationError{
2402			Err:      fmt.Errorf("failed to decode response body, %w", err),
2403			Snapshot: snapshot.Bytes(),
2404		}
2405		return out, metadata, err
2406	}
2407
2408	err = awsAwsjson11_deserializeOpDocumentListApplicationsOutput(&output, shape)
2409	if err != nil {
2410		var snapshot bytes.Buffer
2411		io.Copy(&snapshot, ringBuffer)
2412		err = &smithy.DeserializationError{
2413			Err:      fmt.Errorf("failed to decode response body, %w", err),
2414			Snapshot: snapshot.Bytes(),
2415		}
2416		return out, metadata, err
2417	}
2418
2419	return out, metadata, err
2420}
2421
2422func awsAwsjson11_deserializeOpErrorListApplications(response *smithyhttp.Response, metadata *middleware.Metadata) error {
2423	var errorBuffer bytes.Buffer
2424	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
2425		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
2426	}
2427	errorBody := bytes.NewReader(errorBuffer.Bytes())
2428
2429	errorCode := "UnknownError"
2430	errorMessage := errorCode
2431
2432	code := response.Header.Get("X-Amzn-ErrorType")
2433	if len(code) != 0 {
2434		errorCode = restjson.SanitizeErrorCode(code)
2435	}
2436
2437	var buff [1024]byte
2438	ringBuffer := smithyio.NewRingBuffer(buff[:])
2439
2440	body := io.TeeReader(errorBody, ringBuffer)
2441	decoder := json.NewDecoder(body)
2442	decoder.UseNumber()
2443	code, message, err := restjson.GetErrorInfo(decoder)
2444	if err != nil {
2445		var snapshot bytes.Buffer
2446		io.Copy(&snapshot, ringBuffer)
2447		err = &smithy.DeserializationError{
2448			Err:      fmt.Errorf("failed to decode response body, %w", err),
2449			Snapshot: snapshot.Bytes(),
2450		}
2451		return err
2452	}
2453
2454	errorBody.Seek(0, io.SeekStart)
2455	if len(code) != 0 {
2456		errorCode = restjson.SanitizeErrorCode(code)
2457	}
2458	if len(message) != 0 {
2459		errorMessage = message
2460	}
2461
2462	switch {
2463	case strings.EqualFold("InvalidRequestException", errorCode):
2464		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
2465
2466	default:
2467		genericError := &smithy.GenericAPIError{
2468			Code:    errorCode,
2469			Message: errorMessage,
2470		}
2471		return genericError
2472
2473	}
2474}
2475
2476type awsAwsjson11_deserializeOpListApplicationSnapshots struct {
2477}
2478
2479func (*awsAwsjson11_deserializeOpListApplicationSnapshots) ID() string {
2480	return "OperationDeserializer"
2481}
2482
2483func (m *awsAwsjson11_deserializeOpListApplicationSnapshots) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
2484	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
2485) {
2486	out, metadata, err = next.HandleDeserialize(ctx, in)
2487	if err != nil {
2488		return out, metadata, err
2489	}
2490
2491	response, ok := out.RawResponse.(*smithyhttp.Response)
2492	if !ok {
2493		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
2494	}
2495
2496	if response.StatusCode < 200 || response.StatusCode >= 300 {
2497		return out, metadata, awsAwsjson11_deserializeOpErrorListApplicationSnapshots(response, &metadata)
2498	}
2499	output := &ListApplicationSnapshotsOutput{}
2500	out.Result = output
2501
2502	var buff [1024]byte
2503	ringBuffer := smithyio.NewRingBuffer(buff[:])
2504
2505	body := io.TeeReader(response.Body, ringBuffer)
2506	decoder := json.NewDecoder(body)
2507	decoder.UseNumber()
2508	var shape interface{}
2509	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
2510		var snapshot bytes.Buffer
2511		io.Copy(&snapshot, ringBuffer)
2512		err = &smithy.DeserializationError{
2513			Err:      fmt.Errorf("failed to decode response body, %w", err),
2514			Snapshot: snapshot.Bytes(),
2515		}
2516		return out, metadata, err
2517	}
2518
2519	err = awsAwsjson11_deserializeOpDocumentListApplicationSnapshotsOutput(&output, shape)
2520	if err != nil {
2521		var snapshot bytes.Buffer
2522		io.Copy(&snapshot, ringBuffer)
2523		err = &smithy.DeserializationError{
2524			Err:      fmt.Errorf("failed to decode response body, %w", err),
2525			Snapshot: snapshot.Bytes(),
2526		}
2527		return out, metadata, err
2528	}
2529
2530	return out, metadata, err
2531}
2532
2533func awsAwsjson11_deserializeOpErrorListApplicationSnapshots(response *smithyhttp.Response, metadata *middleware.Metadata) error {
2534	var errorBuffer bytes.Buffer
2535	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
2536		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
2537	}
2538	errorBody := bytes.NewReader(errorBuffer.Bytes())
2539
2540	errorCode := "UnknownError"
2541	errorMessage := errorCode
2542
2543	code := response.Header.Get("X-Amzn-ErrorType")
2544	if len(code) != 0 {
2545		errorCode = restjson.SanitizeErrorCode(code)
2546	}
2547
2548	var buff [1024]byte
2549	ringBuffer := smithyio.NewRingBuffer(buff[:])
2550
2551	body := io.TeeReader(errorBody, ringBuffer)
2552	decoder := json.NewDecoder(body)
2553	decoder.UseNumber()
2554	code, message, err := restjson.GetErrorInfo(decoder)
2555	if err != nil {
2556		var snapshot bytes.Buffer
2557		io.Copy(&snapshot, ringBuffer)
2558		err = &smithy.DeserializationError{
2559			Err:      fmt.Errorf("failed to decode response body, %w", err),
2560			Snapshot: snapshot.Bytes(),
2561		}
2562		return err
2563	}
2564
2565	errorBody.Seek(0, io.SeekStart)
2566	if len(code) != 0 {
2567		errorCode = restjson.SanitizeErrorCode(code)
2568	}
2569	if len(message) != 0 {
2570		errorMessage = message
2571	}
2572
2573	switch {
2574	case strings.EqualFold("InvalidArgumentException", errorCode):
2575		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
2576
2577	case strings.EqualFold("UnsupportedOperationException", errorCode):
2578		return awsAwsjson11_deserializeErrorUnsupportedOperationException(response, errorBody)
2579
2580	default:
2581		genericError := &smithy.GenericAPIError{
2582			Code:    errorCode,
2583			Message: errorMessage,
2584		}
2585		return genericError
2586
2587	}
2588}
2589
2590type awsAwsjson11_deserializeOpListTagsForResource struct {
2591}
2592
2593func (*awsAwsjson11_deserializeOpListTagsForResource) ID() string {
2594	return "OperationDeserializer"
2595}
2596
2597func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
2598	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
2599) {
2600	out, metadata, err = next.HandleDeserialize(ctx, in)
2601	if err != nil {
2602		return out, metadata, err
2603	}
2604
2605	response, ok := out.RawResponse.(*smithyhttp.Response)
2606	if !ok {
2607		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
2608	}
2609
2610	if response.StatusCode < 200 || response.StatusCode >= 300 {
2611		return out, metadata, awsAwsjson11_deserializeOpErrorListTagsForResource(response, &metadata)
2612	}
2613	output := &ListTagsForResourceOutput{}
2614	out.Result = output
2615
2616	var buff [1024]byte
2617	ringBuffer := smithyio.NewRingBuffer(buff[:])
2618
2619	body := io.TeeReader(response.Body, ringBuffer)
2620	decoder := json.NewDecoder(body)
2621	decoder.UseNumber()
2622	var shape interface{}
2623	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
2624		var snapshot bytes.Buffer
2625		io.Copy(&snapshot, ringBuffer)
2626		err = &smithy.DeserializationError{
2627			Err:      fmt.Errorf("failed to decode response body, %w", err),
2628			Snapshot: snapshot.Bytes(),
2629		}
2630		return out, metadata, err
2631	}
2632
2633	err = awsAwsjson11_deserializeOpDocumentListTagsForResourceOutput(&output, shape)
2634	if err != nil {
2635		var snapshot bytes.Buffer
2636		io.Copy(&snapshot, ringBuffer)
2637		err = &smithy.DeserializationError{
2638			Err:      fmt.Errorf("failed to decode response body, %w", err),
2639			Snapshot: snapshot.Bytes(),
2640		}
2641		return out, metadata, err
2642	}
2643
2644	return out, metadata, err
2645}
2646
2647func awsAwsjson11_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error {
2648	var errorBuffer bytes.Buffer
2649	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
2650		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
2651	}
2652	errorBody := bytes.NewReader(errorBuffer.Bytes())
2653
2654	errorCode := "UnknownError"
2655	errorMessage := errorCode
2656
2657	code := response.Header.Get("X-Amzn-ErrorType")
2658	if len(code) != 0 {
2659		errorCode = restjson.SanitizeErrorCode(code)
2660	}
2661
2662	var buff [1024]byte
2663	ringBuffer := smithyio.NewRingBuffer(buff[:])
2664
2665	body := io.TeeReader(errorBody, ringBuffer)
2666	decoder := json.NewDecoder(body)
2667	decoder.UseNumber()
2668	code, message, err := restjson.GetErrorInfo(decoder)
2669	if err != nil {
2670		var snapshot bytes.Buffer
2671		io.Copy(&snapshot, ringBuffer)
2672		err = &smithy.DeserializationError{
2673			Err:      fmt.Errorf("failed to decode response body, %w", err),
2674			Snapshot: snapshot.Bytes(),
2675		}
2676		return err
2677	}
2678
2679	errorBody.Seek(0, io.SeekStart)
2680	if len(code) != 0 {
2681		errorCode = restjson.SanitizeErrorCode(code)
2682	}
2683	if len(message) != 0 {
2684		errorMessage = message
2685	}
2686
2687	switch {
2688	case strings.EqualFold("ConcurrentModificationException", errorCode):
2689		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
2690
2691	case strings.EqualFold("InvalidArgumentException", errorCode):
2692		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
2693
2694	case strings.EqualFold("ResourceNotFoundException", errorCode):
2695		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
2696
2697	default:
2698		genericError := &smithy.GenericAPIError{
2699			Code:    errorCode,
2700			Message: errorMessage,
2701		}
2702		return genericError
2703
2704	}
2705}
2706
2707type awsAwsjson11_deserializeOpStartApplication struct {
2708}
2709
2710func (*awsAwsjson11_deserializeOpStartApplication) ID() string {
2711	return "OperationDeserializer"
2712}
2713
2714func (m *awsAwsjson11_deserializeOpStartApplication) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
2715	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
2716) {
2717	out, metadata, err = next.HandleDeserialize(ctx, in)
2718	if err != nil {
2719		return out, metadata, err
2720	}
2721
2722	response, ok := out.RawResponse.(*smithyhttp.Response)
2723	if !ok {
2724		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
2725	}
2726
2727	if response.StatusCode < 200 || response.StatusCode >= 300 {
2728		return out, metadata, awsAwsjson11_deserializeOpErrorStartApplication(response, &metadata)
2729	}
2730	output := &StartApplicationOutput{}
2731	out.Result = output
2732
2733	var buff [1024]byte
2734	ringBuffer := smithyio.NewRingBuffer(buff[:])
2735
2736	body := io.TeeReader(response.Body, ringBuffer)
2737	decoder := json.NewDecoder(body)
2738	decoder.UseNumber()
2739	var shape interface{}
2740	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
2741		var snapshot bytes.Buffer
2742		io.Copy(&snapshot, ringBuffer)
2743		err = &smithy.DeserializationError{
2744			Err:      fmt.Errorf("failed to decode response body, %w", err),
2745			Snapshot: snapshot.Bytes(),
2746		}
2747		return out, metadata, err
2748	}
2749
2750	err = awsAwsjson11_deserializeOpDocumentStartApplicationOutput(&output, shape)
2751	if err != nil {
2752		var snapshot bytes.Buffer
2753		io.Copy(&snapshot, ringBuffer)
2754		err = &smithy.DeserializationError{
2755			Err:      fmt.Errorf("failed to decode response body, %w", err),
2756			Snapshot: snapshot.Bytes(),
2757		}
2758		return out, metadata, err
2759	}
2760
2761	return out, metadata, err
2762}
2763
2764func awsAwsjson11_deserializeOpErrorStartApplication(response *smithyhttp.Response, metadata *middleware.Metadata) error {
2765	var errorBuffer bytes.Buffer
2766	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
2767		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
2768	}
2769	errorBody := bytes.NewReader(errorBuffer.Bytes())
2770
2771	errorCode := "UnknownError"
2772	errorMessage := errorCode
2773
2774	code := response.Header.Get("X-Amzn-ErrorType")
2775	if len(code) != 0 {
2776		errorCode = restjson.SanitizeErrorCode(code)
2777	}
2778
2779	var buff [1024]byte
2780	ringBuffer := smithyio.NewRingBuffer(buff[:])
2781
2782	body := io.TeeReader(errorBody, ringBuffer)
2783	decoder := json.NewDecoder(body)
2784	decoder.UseNumber()
2785	code, message, err := restjson.GetErrorInfo(decoder)
2786	if err != nil {
2787		var snapshot bytes.Buffer
2788		io.Copy(&snapshot, ringBuffer)
2789		err = &smithy.DeserializationError{
2790			Err:      fmt.Errorf("failed to decode response body, %w", err),
2791			Snapshot: snapshot.Bytes(),
2792		}
2793		return err
2794	}
2795
2796	errorBody.Seek(0, io.SeekStart)
2797	if len(code) != 0 {
2798		errorCode = restjson.SanitizeErrorCode(code)
2799	}
2800	if len(message) != 0 {
2801		errorMessage = message
2802	}
2803
2804	switch {
2805	case strings.EqualFold("InvalidApplicationConfigurationException", errorCode):
2806		return awsAwsjson11_deserializeErrorInvalidApplicationConfigurationException(response, errorBody)
2807
2808	case strings.EqualFold("InvalidArgumentException", errorCode):
2809		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
2810
2811	case strings.EqualFold("InvalidRequestException", errorCode):
2812		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
2813
2814	case strings.EqualFold("ResourceInUseException", errorCode):
2815		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
2816
2817	case strings.EqualFold("ResourceNotFoundException", errorCode):
2818		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
2819
2820	default:
2821		genericError := &smithy.GenericAPIError{
2822			Code:    errorCode,
2823			Message: errorMessage,
2824		}
2825		return genericError
2826
2827	}
2828}
2829
2830type awsAwsjson11_deserializeOpStopApplication struct {
2831}
2832
2833func (*awsAwsjson11_deserializeOpStopApplication) ID() string {
2834	return "OperationDeserializer"
2835}
2836
2837func (m *awsAwsjson11_deserializeOpStopApplication) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
2838	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
2839) {
2840	out, metadata, err = next.HandleDeserialize(ctx, in)
2841	if err != nil {
2842		return out, metadata, err
2843	}
2844
2845	response, ok := out.RawResponse.(*smithyhttp.Response)
2846	if !ok {
2847		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
2848	}
2849
2850	if response.StatusCode < 200 || response.StatusCode >= 300 {
2851		return out, metadata, awsAwsjson11_deserializeOpErrorStopApplication(response, &metadata)
2852	}
2853	output := &StopApplicationOutput{}
2854	out.Result = output
2855
2856	var buff [1024]byte
2857	ringBuffer := smithyio.NewRingBuffer(buff[:])
2858
2859	body := io.TeeReader(response.Body, ringBuffer)
2860	decoder := json.NewDecoder(body)
2861	decoder.UseNumber()
2862	var shape interface{}
2863	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
2864		var snapshot bytes.Buffer
2865		io.Copy(&snapshot, ringBuffer)
2866		err = &smithy.DeserializationError{
2867			Err:      fmt.Errorf("failed to decode response body, %w", err),
2868			Snapshot: snapshot.Bytes(),
2869		}
2870		return out, metadata, err
2871	}
2872
2873	err = awsAwsjson11_deserializeOpDocumentStopApplicationOutput(&output, shape)
2874	if err != nil {
2875		var snapshot bytes.Buffer
2876		io.Copy(&snapshot, ringBuffer)
2877		err = &smithy.DeserializationError{
2878			Err:      fmt.Errorf("failed to decode response body, %w", err),
2879			Snapshot: snapshot.Bytes(),
2880		}
2881		return out, metadata, err
2882	}
2883
2884	return out, metadata, err
2885}
2886
2887func awsAwsjson11_deserializeOpErrorStopApplication(response *smithyhttp.Response, metadata *middleware.Metadata) error {
2888	var errorBuffer bytes.Buffer
2889	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
2890		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
2891	}
2892	errorBody := bytes.NewReader(errorBuffer.Bytes())
2893
2894	errorCode := "UnknownError"
2895	errorMessage := errorCode
2896
2897	code := response.Header.Get("X-Amzn-ErrorType")
2898	if len(code) != 0 {
2899		errorCode = restjson.SanitizeErrorCode(code)
2900	}
2901
2902	var buff [1024]byte
2903	ringBuffer := smithyio.NewRingBuffer(buff[:])
2904
2905	body := io.TeeReader(errorBody, ringBuffer)
2906	decoder := json.NewDecoder(body)
2907	decoder.UseNumber()
2908	code, message, err := restjson.GetErrorInfo(decoder)
2909	if err != nil {
2910		var snapshot bytes.Buffer
2911		io.Copy(&snapshot, ringBuffer)
2912		err = &smithy.DeserializationError{
2913			Err:      fmt.Errorf("failed to decode response body, %w", err),
2914			Snapshot: snapshot.Bytes(),
2915		}
2916		return err
2917	}
2918
2919	errorBody.Seek(0, io.SeekStart)
2920	if len(code) != 0 {
2921		errorCode = restjson.SanitizeErrorCode(code)
2922	}
2923	if len(message) != 0 {
2924		errorMessage = message
2925	}
2926
2927	switch {
2928	case strings.EqualFold("ConcurrentModificationException", errorCode):
2929		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
2930
2931	case strings.EqualFold("InvalidApplicationConfigurationException", errorCode):
2932		return awsAwsjson11_deserializeErrorInvalidApplicationConfigurationException(response, errorBody)
2933
2934	case strings.EqualFold("InvalidArgumentException", errorCode):
2935		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
2936
2937	case strings.EqualFold("InvalidRequestException", errorCode):
2938		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
2939
2940	case strings.EqualFold("ResourceInUseException", errorCode):
2941		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
2942
2943	case strings.EqualFold("ResourceNotFoundException", errorCode):
2944		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
2945
2946	default:
2947		genericError := &smithy.GenericAPIError{
2948			Code:    errorCode,
2949			Message: errorMessage,
2950		}
2951		return genericError
2952
2953	}
2954}
2955
2956type awsAwsjson11_deserializeOpTagResource struct {
2957}
2958
2959func (*awsAwsjson11_deserializeOpTagResource) ID() string {
2960	return "OperationDeserializer"
2961}
2962
2963func (m *awsAwsjson11_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
2964	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
2965) {
2966	out, metadata, err = next.HandleDeserialize(ctx, in)
2967	if err != nil {
2968		return out, metadata, err
2969	}
2970
2971	response, ok := out.RawResponse.(*smithyhttp.Response)
2972	if !ok {
2973		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
2974	}
2975
2976	if response.StatusCode < 200 || response.StatusCode >= 300 {
2977		return out, metadata, awsAwsjson11_deserializeOpErrorTagResource(response, &metadata)
2978	}
2979	output := &TagResourceOutput{}
2980	out.Result = output
2981
2982	var buff [1024]byte
2983	ringBuffer := smithyio.NewRingBuffer(buff[:])
2984
2985	body := io.TeeReader(response.Body, ringBuffer)
2986	decoder := json.NewDecoder(body)
2987	decoder.UseNumber()
2988	var shape interface{}
2989	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
2990		var snapshot bytes.Buffer
2991		io.Copy(&snapshot, ringBuffer)
2992		err = &smithy.DeserializationError{
2993			Err:      fmt.Errorf("failed to decode response body, %w", err),
2994			Snapshot: snapshot.Bytes(),
2995		}
2996		return out, metadata, err
2997	}
2998
2999	err = awsAwsjson11_deserializeOpDocumentTagResourceOutput(&output, shape)
3000	if err != nil {
3001		var snapshot bytes.Buffer
3002		io.Copy(&snapshot, ringBuffer)
3003		err = &smithy.DeserializationError{
3004			Err:      fmt.Errorf("failed to decode response body, %w", err),
3005			Snapshot: snapshot.Bytes(),
3006		}
3007		return out, metadata, err
3008	}
3009
3010	return out, metadata, err
3011}
3012
3013func awsAwsjson11_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error {
3014	var errorBuffer bytes.Buffer
3015	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
3016		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
3017	}
3018	errorBody := bytes.NewReader(errorBuffer.Bytes())
3019
3020	errorCode := "UnknownError"
3021	errorMessage := errorCode
3022
3023	code := response.Header.Get("X-Amzn-ErrorType")
3024	if len(code) != 0 {
3025		errorCode = restjson.SanitizeErrorCode(code)
3026	}
3027
3028	var buff [1024]byte
3029	ringBuffer := smithyio.NewRingBuffer(buff[:])
3030
3031	body := io.TeeReader(errorBody, ringBuffer)
3032	decoder := json.NewDecoder(body)
3033	decoder.UseNumber()
3034	code, message, err := restjson.GetErrorInfo(decoder)
3035	if err != nil {
3036		var snapshot bytes.Buffer
3037		io.Copy(&snapshot, ringBuffer)
3038		err = &smithy.DeserializationError{
3039			Err:      fmt.Errorf("failed to decode response body, %w", err),
3040			Snapshot: snapshot.Bytes(),
3041		}
3042		return err
3043	}
3044
3045	errorBody.Seek(0, io.SeekStart)
3046	if len(code) != 0 {
3047		errorCode = restjson.SanitizeErrorCode(code)
3048	}
3049	if len(message) != 0 {
3050		errorMessage = message
3051	}
3052
3053	switch {
3054	case strings.EqualFold("ConcurrentModificationException", errorCode):
3055		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
3056
3057	case strings.EqualFold("InvalidArgumentException", errorCode):
3058		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
3059
3060	case strings.EqualFold("ResourceInUseException", errorCode):
3061		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
3062
3063	case strings.EqualFold("ResourceNotFoundException", errorCode):
3064		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
3065
3066	case strings.EqualFold("TooManyTagsException", errorCode):
3067		return awsAwsjson11_deserializeErrorTooManyTagsException(response, errorBody)
3068
3069	default:
3070		genericError := &smithy.GenericAPIError{
3071			Code:    errorCode,
3072			Message: errorMessage,
3073		}
3074		return genericError
3075
3076	}
3077}
3078
3079type awsAwsjson11_deserializeOpUntagResource struct {
3080}
3081
3082func (*awsAwsjson11_deserializeOpUntagResource) ID() string {
3083	return "OperationDeserializer"
3084}
3085
3086func (m *awsAwsjson11_deserializeOpUntagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
3087	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
3088) {
3089	out, metadata, err = next.HandleDeserialize(ctx, in)
3090	if err != nil {
3091		return out, metadata, err
3092	}
3093
3094	response, ok := out.RawResponse.(*smithyhttp.Response)
3095	if !ok {
3096		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
3097	}
3098
3099	if response.StatusCode < 200 || response.StatusCode >= 300 {
3100		return out, metadata, awsAwsjson11_deserializeOpErrorUntagResource(response, &metadata)
3101	}
3102	output := &UntagResourceOutput{}
3103	out.Result = output
3104
3105	var buff [1024]byte
3106	ringBuffer := smithyio.NewRingBuffer(buff[:])
3107
3108	body := io.TeeReader(response.Body, ringBuffer)
3109	decoder := json.NewDecoder(body)
3110	decoder.UseNumber()
3111	var shape interface{}
3112	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3113		var snapshot bytes.Buffer
3114		io.Copy(&snapshot, ringBuffer)
3115		err = &smithy.DeserializationError{
3116			Err:      fmt.Errorf("failed to decode response body, %w", err),
3117			Snapshot: snapshot.Bytes(),
3118		}
3119		return out, metadata, err
3120	}
3121
3122	err = awsAwsjson11_deserializeOpDocumentUntagResourceOutput(&output, shape)
3123	if err != nil {
3124		var snapshot bytes.Buffer
3125		io.Copy(&snapshot, ringBuffer)
3126		err = &smithy.DeserializationError{
3127			Err:      fmt.Errorf("failed to decode response body, %w", err),
3128			Snapshot: snapshot.Bytes(),
3129		}
3130		return out, metadata, err
3131	}
3132
3133	return out, metadata, err
3134}
3135
3136func awsAwsjson11_deserializeOpErrorUntagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error {
3137	var errorBuffer bytes.Buffer
3138	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
3139		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
3140	}
3141	errorBody := bytes.NewReader(errorBuffer.Bytes())
3142
3143	errorCode := "UnknownError"
3144	errorMessage := errorCode
3145
3146	code := response.Header.Get("X-Amzn-ErrorType")
3147	if len(code) != 0 {
3148		errorCode = restjson.SanitizeErrorCode(code)
3149	}
3150
3151	var buff [1024]byte
3152	ringBuffer := smithyio.NewRingBuffer(buff[:])
3153
3154	body := io.TeeReader(errorBody, ringBuffer)
3155	decoder := json.NewDecoder(body)
3156	decoder.UseNumber()
3157	code, message, err := restjson.GetErrorInfo(decoder)
3158	if err != nil {
3159		var snapshot bytes.Buffer
3160		io.Copy(&snapshot, ringBuffer)
3161		err = &smithy.DeserializationError{
3162			Err:      fmt.Errorf("failed to decode response body, %w", err),
3163			Snapshot: snapshot.Bytes(),
3164		}
3165		return err
3166	}
3167
3168	errorBody.Seek(0, io.SeekStart)
3169	if len(code) != 0 {
3170		errorCode = restjson.SanitizeErrorCode(code)
3171	}
3172	if len(message) != 0 {
3173		errorMessage = message
3174	}
3175
3176	switch {
3177	case strings.EqualFold("ConcurrentModificationException", errorCode):
3178		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
3179
3180	case strings.EqualFold("InvalidArgumentException", errorCode):
3181		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
3182
3183	case strings.EqualFold("ResourceInUseException", errorCode):
3184		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
3185
3186	case strings.EqualFold("ResourceNotFoundException", errorCode):
3187		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
3188
3189	case strings.EqualFold("TooManyTagsException", errorCode):
3190		return awsAwsjson11_deserializeErrorTooManyTagsException(response, errorBody)
3191
3192	default:
3193		genericError := &smithy.GenericAPIError{
3194			Code:    errorCode,
3195			Message: errorMessage,
3196		}
3197		return genericError
3198
3199	}
3200}
3201
3202type awsAwsjson11_deserializeOpUpdateApplication struct {
3203}
3204
3205func (*awsAwsjson11_deserializeOpUpdateApplication) ID() string {
3206	return "OperationDeserializer"
3207}
3208
3209func (m *awsAwsjson11_deserializeOpUpdateApplication) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
3210	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
3211) {
3212	out, metadata, err = next.HandleDeserialize(ctx, in)
3213	if err != nil {
3214		return out, metadata, err
3215	}
3216
3217	response, ok := out.RawResponse.(*smithyhttp.Response)
3218	if !ok {
3219		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
3220	}
3221
3222	if response.StatusCode < 200 || response.StatusCode >= 300 {
3223		return out, metadata, awsAwsjson11_deserializeOpErrorUpdateApplication(response, &metadata)
3224	}
3225	output := &UpdateApplicationOutput{}
3226	out.Result = output
3227
3228	var buff [1024]byte
3229	ringBuffer := smithyio.NewRingBuffer(buff[:])
3230
3231	body := io.TeeReader(response.Body, ringBuffer)
3232	decoder := json.NewDecoder(body)
3233	decoder.UseNumber()
3234	var shape interface{}
3235	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3236		var snapshot bytes.Buffer
3237		io.Copy(&snapshot, ringBuffer)
3238		err = &smithy.DeserializationError{
3239			Err:      fmt.Errorf("failed to decode response body, %w", err),
3240			Snapshot: snapshot.Bytes(),
3241		}
3242		return out, metadata, err
3243	}
3244
3245	err = awsAwsjson11_deserializeOpDocumentUpdateApplicationOutput(&output, shape)
3246	if err != nil {
3247		var snapshot bytes.Buffer
3248		io.Copy(&snapshot, ringBuffer)
3249		err = &smithy.DeserializationError{
3250			Err:      fmt.Errorf("failed to decode response body, %w", err),
3251			Snapshot: snapshot.Bytes(),
3252		}
3253		return out, metadata, err
3254	}
3255
3256	return out, metadata, err
3257}
3258
3259func awsAwsjson11_deserializeOpErrorUpdateApplication(response *smithyhttp.Response, metadata *middleware.Metadata) error {
3260	var errorBuffer bytes.Buffer
3261	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
3262		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
3263	}
3264	errorBody := bytes.NewReader(errorBuffer.Bytes())
3265
3266	errorCode := "UnknownError"
3267	errorMessage := errorCode
3268
3269	code := response.Header.Get("X-Amzn-ErrorType")
3270	if len(code) != 0 {
3271		errorCode = restjson.SanitizeErrorCode(code)
3272	}
3273
3274	var buff [1024]byte
3275	ringBuffer := smithyio.NewRingBuffer(buff[:])
3276
3277	body := io.TeeReader(errorBody, ringBuffer)
3278	decoder := json.NewDecoder(body)
3279	decoder.UseNumber()
3280	code, message, err := restjson.GetErrorInfo(decoder)
3281	if err != nil {
3282		var snapshot bytes.Buffer
3283		io.Copy(&snapshot, ringBuffer)
3284		err = &smithy.DeserializationError{
3285			Err:      fmt.Errorf("failed to decode response body, %w", err),
3286			Snapshot: snapshot.Bytes(),
3287		}
3288		return err
3289	}
3290
3291	errorBody.Seek(0, io.SeekStart)
3292	if len(code) != 0 {
3293		errorCode = restjson.SanitizeErrorCode(code)
3294	}
3295	if len(message) != 0 {
3296		errorMessage = message
3297	}
3298
3299	switch {
3300	case strings.EqualFold("CodeValidationException", errorCode):
3301		return awsAwsjson11_deserializeErrorCodeValidationException(response, errorBody)
3302
3303	case strings.EqualFold("ConcurrentModificationException", errorCode):
3304		return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody)
3305
3306	case strings.EqualFold("InvalidApplicationConfigurationException", errorCode):
3307		return awsAwsjson11_deserializeErrorInvalidApplicationConfigurationException(response, errorBody)
3308
3309	case strings.EqualFold("InvalidArgumentException", errorCode):
3310		return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody)
3311
3312	case strings.EqualFold("InvalidRequestException", errorCode):
3313		return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody)
3314
3315	case strings.EqualFold("ResourceInUseException", errorCode):
3316		return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody)
3317
3318	case strings.EqualFold("ResourceNotFoundException", errorCode):
3319		return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody)
3320
3321	default:
3322		genericError := &smithy.GenericAPIError{
3323			Code:    errorCode,
3324			Message: errorMessage,
3325		}
3326		return genericError
3327
3328	}
3329}
3330
3331func awsAwsjson11_deserializeErrorCodeValidationException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
3332	var buff [1024]byte
3333	ringBuffer := smithyio.NewRingBuffer(buff[:])
3334
3335	body := io.TeeReader(errorBody, ringBuffer)
3336	decoder := json.NewDecoder(body)
3337	decoder.UseNumber()
3338	var shape interface{}
3339	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3340		var snapshot bytes.Buffer
3341		io.Copy(&snapshot, ringBuffer)
3342		err = &smithy.DeserializationError{
3343			Err:      fmt.Errorf("failed to decode response body, %w", err),
3344			Snapshot: snapshot.Bytes(),
3345		}
3346		return err
3347	}
3348
3349	output := &types.CodeValidationException{}
3350	err := awsAwsjson11_deserializeDocumentCodeValidationException(&output, shape)
3351
3352	if err != nil {
3353		var snapshot bytes.Buffer
3354		io.Copy(&snapshot, ringBuffer)
3355		err = &smithy.DeserializationError{
3356			Err:      fmt.Errorf("failed to decode response body, %w", err),
3357			Snapshot: snapshot.Bytes(),
3358		}
3359		return err
3360	}
3361
3362	errorBody.Seek(0, io.SeekStart)
3363	return output
3364}
3365
3366func awsAwsjson11_deserializeErrorConcurrentModificationException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
3367	var buff [1024]byte
3368	ringBuffer := smithyio.NewRingBuffer(buff[:])
3369
3370	body := io.TeeReader(errorBody, ringBuffer)
3371	decoder := json.NewDecoder(body)
3372	decoder.UseNumber()
3373	var shape interface{}
3374	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3375		var snapshot bytes.Buffer
3376		io.Copy(&snapshot, ringBuffer)
3377		err = &smithy.DeserializationError{
3378			Err:      fmt.Errorf("failed to decode response body, %w", err),
3379			Snapshot: snapshot.Bytes(),
3380		}
3381		return err
3382	}
3383
3384	output := &types.ConcurrentModificationException{}
3385	err := awsAwsjson11_deserializeDocumentConcurrentModificationException(&output, shape)
3386
3387	if err != nil {
3388		var snapshot bytes.Buffer
3389		io.Copy(&snapshot, ringBuffer)
3390		err = &smithy.DeserializationError{
3391			Err:      fmt.Errorf("failed to decode response body, %w", err),
3392			Snapshot: snapshot.Bytes(),
3393		}
3394		return err
3395	}
3396
3397	errorBody.Seek(0, io.SeekStart)
3398	return output
3399}
3400
3401func awsAwsjson11_deserializeErrorInvalidApplicationConfigurationException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
3402	var buff [1024]byte
3403	ringBuffer := smithyio.NewRingBuffer(buff[:])
3404
3405	body := io.TeeReader(errorBody, ringBuffer)
3406	decoder := json.NewDecoder(body)
3407	decoder.UseNumber()
3408	var shape interface{}
3409	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3410		var snapshot bytes.Buffer
3411		io.Copy(&snapshot, ringBuffer)
3412		err = &smithy.DeserializationError{
3413			Err:      fmt.Errorf("failed to decode response body, %w", err),
3414			Snapshot: snapshot.Bytes(),
3415		}
3416		return err
3417	}
3418
3419	output := &types.InvalidApplicationConfigurationException{}
3420	err := awsAwsjson11_deserializeDocumentInvalidApplicationConfigurationException(&output, shape)
3421
3422	if err != nil {
3423		var snapshot bytes.Buffer
3424		io.Copy(&snapshot, ringBuffer)
3425		err = &smithy.DeserializationError{
3426			Err:      fmt.Errorf("failed to decode response body, %w", err),
3427			Snapshot: snapshot.Bytes(),
3428		}
3429		return err
3430	}
3431
3432	errorBody.Seek(0, io.SeekStart)
3433	return output
3434}
3435
3436func awsAwsjson11_deserializeErrorInvalidArgumentException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
3437	var buff [1024]byte
3438	ringBuffer := smithyio.NewRingBuffer(buff[:])
3439
3440	body := io.TeeReader(errorBody, ringBuffer)
3441	decoder := json.NewDecoder(body)
3442	decoder.UseNumber()
3443	var shape interface{}
3444	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3445		var snapshot bytes.Buffer
3446		io.Copy(&snapshot, ringBuffer)
3447		err = &smithy.DeserializationError{
3448			Err:      fmt.Errorf("failed to decode response body, %w", err),
3449			Snapshot: snapshot.Bytes(),
3450		}
3451		return err
3452	}
3453
3454	output := &types.InvalidArgumentException{}
3455	err := awsAwsjson11_deserializeDocumentInvalidArgumentException(&output, shape)
3456
3457	if err != nil {
3458		var snapshot bytes.Buffer
3459		io.Copy(&snapshot, ringBuffer)
3460		err = &smithy.DeserializationError{
3461			Err:      fmt.Errorf("failed to decode response body, %w", err),
3462			Snapshot: snapshot.Bytes(),
3463		}
3464		return err
3465	}
3466
3467	errorBody.Seek(0, io.SeekStart)
3468	return output
3469}
3470
3471func awsAwsjson11_deserializeErrorInvalidRequestException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
3472	var buff [1024]byte
3473	ringBuffer := smithyio.NewRingBuffer(buff[:])
3474
3475	body := io.TeeReader(errorBody, ringBuffer)
3476	decoder := json.NewDecoder(body)
3477	decoder.UseNumber()
3478	var shape interface{}
3479	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3480		var snapshot bytes.Buffer
3481		io.Copy(&snapshot, ringBuffer)
3482		err = &smithy.DeserializationError{
3483			Err:      fmt.Errorf("failed to decode response body, %w", err),
3484			Snapshot: snapshot.Bytes(),
3485		}
3486		return err
3487	}
3488
3489	output := &types.InvalidRequestException{}
3490	err := awsAwsjson11_deserializeDocumentInvalidRequestException(&output, shape)
3491
3492	if err != nil {
3493		var snapshot bytes.Buffer
3494		io.Copy(&snapshot, ringBuffer)
3495		err = &smithy.DeserializationError{
3496			Err:      fmt.Errorf("failed to decode response body, %w", err),
3497			Snapshot: snapshot.Bytes(),
3498		}
3499		return err
3500	}
3501
3502	errorBody.Seek(0, io.SeekStart)
3503	return output
3504}
3505
3506func awsAwsjson11_deserializeErrorLimitExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
3507	var buff [1024]byte
3508	ringBuffer := smithyio.NewRingBuffer(buff[:])
3509
3510	body := io.TeeReader(errorBody, ringBuffer)
3511	decoder := json.NewDecoder(body)
3512	decoder.UseNumber()
3513	var shape interface{}
3514	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3515		var snapshot bytes.Buffer
3516		io.Copy(&snapshot, ringBuffer)
3517		err = &smithy.DeserializationError{
3518			Err:      fmt.Errorf("failed to decode response body, %w", err),
3519			Snapshot: snapshot.Bytes(),
3520		}
3521		return err
3522	}
3523
3524	output := &types.LimitExceededException{}
3525	err := awsAwsjson11_deserializeDocumentLimitExceededException(&output, shape)
3526
3527	if err != nil {
3528		var snapshot bytes.Buffer
3529		io.Copy(&snapshot, ringBuffer)
3530		err = &smithy.DeserializationError{
3531			Err:      fmt.Errorf("failed to decode response body, %w", err),
3532			Snapshot: snapshot.Bytes(),
3533		}
3534		return err
3535	}
3536
3537	errorBody.Seek(0, io.SeekStart)
3538	return output
3539}
3540
3541func awsAwsjson11_deserializeErrorResourceInUseException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
3542	var buff [1024]byte
3543	ringBuffer := smithyio.NewRingBuffer(buff[:])
3544
3545	body := io.TeeReader(errorBody, ringBuffer)
3546	decoder := json.NewDecoder(body)
3547	decoder.UseNumber()
3548	var shape interface{}
3549	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3550		var snapshot bytes.Buffer
3551		io.Copy(&snapshot, ringBuffer)
3552		err = &smithy.DeserializationError{
3553			Err:      fmt.Errorf("failed to decode response body, %w", err),
3554			Snapshot: snapshot.Bytes(),
3555		}
3556		return err
3557	}
3558
3559	output := &types.ResourceInUseException{}
3560	err := awsAwsjson11_deserializeDocumentResourceInUseException(&output, shape)
3561
3562	if err != nil {
3563		var snapshot bytes.Buffer
3564		io.Copy(&snapshot, ringBuffer)
3565		err = &smithy.DeserializationError{
3566			Err:      fmt.Errorf("failed to decode response body, %w", err),
3567			Snapshot: snapshot.Bytes(),
3568		}
3569		return err
3570	}
3571
3572	errorBody.Seek(0, io.SeekStart)
3573	return output
3574}
3575
3576func awsAwsjson11_deserializeErrorResourceNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
3577	var buff [1024]byte
3578	ringBuffer := smithyio.NewRingBuffer(buff[:])
3579
3580	body := io.TeeReader(errorBody, ringBuffer)
3581	decoder := json.NewDecoder(body)
3582	decoder.UseNumber()
3583	var shape interface{}
3584	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3585		var snapshot bytes.Buffer
3586		io.Copy(&snapshot, ringBuffer)
3587		err = &smithy.DeserializationError{
3588			Err:      fmt.Errorf("failed to decode response body, %w", err),
3589			Snapshot: snapshot.Bytes(),
3590		}
3591		return err
3592	}
3593
3594	output := &types.ResourceNotFoundException{}
3595	err := awsAwsjson11_deserializeDocumentResourceNotFoundException(&output, shape)
3596
3597	if err != nil {
3598		var snapshot bytes.Buffer
3599		io.Copy(&snapshot, ringBuffer)
3600		err = &smithy.DeserializationError{
3601			Err:      fmt.Errorf("failed to decode response body, %w", err),
3602			Snapshot: snapshot.Bytes(),
3603		}
3604		return err
3605	}
3606
3607	errorBody.Seek(0, io.SeekStart)
3608	return output
3609}
3610
3611func awsAwsjson11_deserializeErrorResourceProvisionedThroughputExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
3612	var buff [1024]byte
3613	ringBuffer := smithyio.NewRingBuffer(buff[:])
3614
3615	body := io.TeeReader(errorBody, ringBuffer)
3616	decoder := json.NewDecoder(body)
3617	decoder.UseNumber()
3618	var shape interface{}
3619	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3620		var snapshot bytes.Buffer
3621		io.Copy(&snapshot, ringBuffer)
3622		err = &smithy.DeserializationError{
3623			Err:      fmt.Errorf("failed to decode response body, %w", err),
3624			Snapshot: snapshot.Bytes(),
3625		}
3626		return err
3627	}
3628
3629	output := &types.ResourceProvisionedThroughputExceededException{}
3630	err := awsAwsjson11_deserializeDocumentResourceProvisionedThroughputExceededException(&output, shape)
3631
3632	if err != nil {
3633		var snapshot bytes.Buffer
3634		io.Copy(&snapshot, ringBuffer)
3635		err = &smithy.DeserializationError{
3636			Err:      fmt.Errorf("failed to decode response body, %w", err),
3637			Snapshot: snapshot.Bytes(),
3638		}
3639		return err
3640	}
3641
3642	errorBody.Seek(0, io.SeekStart)
3643	return output
3644}
3645
3646func awsAwsjson11_deserializeErrorServiceUnavailableException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
3647	var buff [1024]byte
3648	ringBuffer := smithyio.NewRingBuffer(buff[:])
3649
3650	body := io.TeeReader(errorBody, ringBuffer)
3651	decoder := json.NewDecoder(body)
3652	decoder.UseNumber()
3653	var shape interface{}
3654	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3655		var snapshot bytes.Buffer
3656		io.Copy(&snapshot, ringBuffer)
3657		err = &smithy.DeserializationError{
3658			Err:      fmt.Errorf("failed to decode response body, %w", err),
3659			Snapshot: snapshot.Bytes(),
3660		}
3661		return err
3662	}
3663
3664	output := &types.ServiceUnavailableException{}
3665	err := awsAwsjson11_deserializeDocumentServiceUnavailableException(&output, shape)
3666
3667	if err != nil {
3668		var snapshot bytes.Buffer
3669		io.Copy(&snapshot, ringBuffer)
3670		err = &smithy.DeserializationError{
3671			Err:      fmt.Errorf("failed to decode response body, %w", err),
3672			Snapshot: snapshot.Bytes(),
3673		}
3674		return err
3675	}
3676
3677	errorBody.Seek(0, io.SeekStart)
3678	return output
3679}
3680
3681func awsAwsjson11_deserializeErrorTooManyTagsException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
3682	var buff [1024]byte
3683	ringBuffer := smithyio.NewRingBuffer(buff[:])
3684
3685	body := io.TeeReader(errorBody, ringBuffer)
3686	decoder := json.NewDecoder(body)
3687	decoder.UseNumber()
3688	var shape interface{}
3689	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3690		var snapshot bytes.Buffer
3691		io.Copy(&snapshot, ringBuffer)
3692		err = &smithy.DeserializationError{
3693			Err:      fmt.Errorf("failed to decode response body, %w", err),
3694			Snapshot: snapshot.Bytes(),
3695		}
3696		return err
3697	}
3698
3699	output := &types.TooManyTagsException{}
3700	err := awsAwsjson11_deserializeDocumentTooManyTagsException(&output, shape)
3701
3702	if err != nil {
3703		var snapshot bytes.Buffer
3704		io.Copy(&snapshot, ringBuffer)
3705		err = &smithy.DeserializationError{
3706			Err:      fmt.Errorf("failed to decode response body, %w", err),
3707			Snapshot: snapshot.Bytes(),
3708		}
3709		return err
3710	}
3711
3712	errorBody.Seek(0, io.SeekStart)
3713	return output
3714}
3715
3716func awsAwsjson11_deserializeErrorUnableToDetectSchemaException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
3717	var buff [1024]byte
3718	ringBuffer := smithyio.NewRingBuffer(buff[:])
3719
3720	body := io.TeeReader(errorBody, ringBuffer)
3721	decoder := json.NewDecoder(body)
3722	decoder.UseNumber()
3723	var shape interface{}
3724	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3725		var snapshot bytes.Buffer
3726		io.Copy(&snapshot, ringBuffer)
3727		err = &smithy.DeserializationError{
3728			Err:      fmt.Errorf("failed to decode response body, %w", err),
3729			Snapshot: snapshot.Bytes(),
3730		}
3731		return err
3732	}
3733
3734	output := &types.UnableToDetectSchemaException{}
3735	err := awsAwsjson11_deserializeDocumentUnableToDetectSchemaException(&output, shape)
3736
3737	if err != nil {
3738		var snapshot bytes.Buffer
3739		io.Copy(&snapshot, ringBuffer)
3740		err = &smithy.DeserializationError{
3741			Err:      fmt.Errorf("failed to decode response body, %w", err),
3742			Snapshot: snapshot.Bytes(),
3743		}
3744		return err
3745	}
3746
3747	errorBody.Seek(0, io.SeekStart)
3748	return output
3749}
3750
3751func awsAwsjson11_deserializeErrorUnsupportedOperationException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
3752	var buff [1024]byte
3753	ringBuffer := smithyio.NewRingBuffer(buff[:])
3754
3755	body := io.TeeReader(errorBody, ringBuffer)
3756	decoder := json.NewDecoder(body)
3757	decoder.UseNumber()
3758	var shape interface{}
3759	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
3760		var snapshot bytes.Buffer
3761		io.Copy(&snapshot, ringBuffer)
3762		err = &smithy.DeserializationError{
3763			Err:      fmt.Errorf("failed to decode response body, %w", err),
3764			Snapshot: snapshot.Bytes(),
3765		}
3766		return err
3767	}
3768
3769	output := &types.UnsupportedOperationException{}
3770	err := awsAwsjson11_deserializeDocumentUnsupportedOperationException(&output, shape)
3771
3772	if err != nil {
3773		var snapshot bytes.Buffer
3774		io.Copy(&snapshot, ringBuffer)
3775		err = &smithy.DeserializationError{
3776			Err:      fmt.Errorf("failed to decode response body, %w", err),
3777			Snapshot: snapshot.Bytes(),
3778		}
3779		return err
3780	}
3781
3782	errorBody.Seek(0, io.SeekStart)
3783	return output
3784}
3785
3786func awsAwsjson11_deserializeDocumentApplicationCodeConfigurationDescription(v **types.ApplicationCodeConfigurationDescription, value interface{}) error {
3787	if v == nil {
3788		return fmt.Errorf("unexpected nil of type %T", v)
3789	}
3790	if value == nil {
3791		return nil
3792	}
3793
3794	shape, ok := value.(map[string]interface{})
3795	if !ok {
3796		return fmt.Errorf("unexpected JSON type %v", value)
3797	}
3798
3799	var sv *types.ApplicationCodeConfigurationDescription
3800	if *v == nil {
3801		sv = &types.ApplicationCodeConfigurationDescription{}
3802	} else {
3803		sv = *v
3804	}
3805
3806	for key, value := range shape {
3807		switch key {
3808		case "CodeContentDescription":
3809			if err := awsAwsjson11_deserializeDocumentCodeContentDescription(&sv.CodeContentDescription, value); err != nil {
3810				return err
3811			}
3812
3813		case "CodeContentType":
3814			if value != nil {
3815				jtv, ok := value.(string)
3816				if !ok {
3817					return fmt.Errorf("expected CodeContentType to be of type string, got %T instead", value)
3818				}
3819				sv.CodeContentType = types.CodeContentType(jtv)
3820			}
3821
3822		default:
3823			_, _ = key, value
3824
3825		}
3826	}
3827	*v = sv
3828	return nil
3829}
3830
3831func awsAwsjson11_deserializeDocumentApplicationConfigurationDescription(v **types.ApplicationConfigurationDescription, value interface{}) error {
3832	if v == nil {
3833		return fmt.Errorf("unexpected nil of type %T", v)
3834	}
3835	if value == nil {
3836		return nil
3837	}
3838
3839	shape, ok := value.(map[string]interface{})
3840	if !ok {
3841		return fmt.Errorf("unexpected JSON type %v", value)
3842	}
3843
3844	var sv *types.ApplicationConfigurationDescription
3845	if *v == nil {
3846		sv = &types.ApplicationConfigurationDescription{}
3847	} else {
3848		sv = *v
3849	}
3850
3851	for key, value := range shape {
3852		switch key {
3853		case "ApplicationCodeConfigurationDescription":
3854			if err := awsAwsjson11_deserializeDocumentApplicationCodeConfigurationDescription(&sv.ApplicationCodeConfigurationDescription, value); err != nil {
3855				return err
3856			}
3857
3858		case "ApplicationSnapshotConfigurationDescription":
3859			if err := awsAwsjson11_deserializeDocumentApplicationSnapshotConfigurationDescription(&sv.ApplicationSnapshotConfigurationDescription, value); err != nil {
3860				return err
3861			}
3862
3863		case "EnvironmentPropertyDescriptions":
3864			if err := awsAwsjson11_deserializeDocumentEnvironmentPropertyDescriptions(&sv.EnvironmentPropertyDescriptions, value); err != nil {
3865				return err
3866			}
3867
3868		case "FlinkApplicationConfigurationDescription":
3869			if err := awsAwsjson11_deserializeDocumentFlinkApplicationConfigurationDescription(&sv.FlinkApplicationConfigurationDescription, value); err != nil {
3870				return err
3871			}
3872
3873		case "RunConfigurationDescription":
3874			if err := awsAwsjson11_deserializeDocumentRunConfigurationDescription(&sv.RunConfigurationDescription, value); err != nil {
3875				return err
3876			}
3877
3878		case "SqlApplicationConfigurationDescription":
3879			if err := awsAwsjson11_deserializeDocumentSqlApplicationConfigurationDescription(&sv.SqlApplicationConfigurationDescription, value); err != nil {
3880				return err
3881			}
3882
3883		case "VpcConfigurationDescriptions":
3884			if err := awsAwsjson11_deserializeDocumentVpcConfigurationDescriptions(&sv.VpcConfigurationDescriptions, value); err != nil {
3885				return err
3886			}
3887
3888		default:
3889			_, _ = key, value
3890
3891		}
3892	}
3893	*v = sv
3894	return nil
3895}
3896
3897func awsAwsjson11_deserializeDocumentApplicationDetail(v **types.ApplicationDetail, value interface{}) error {
3898	if v == nil {
3899		return fmt.Errorf("unexpected nil of type %T", v)
3900	}
3901	if value == nil {
3902		return nil
3903	}
3904
3905	shape, ok := value.(map[string]interface{})
3906	if !ok {
3907		return fmt.Errorf("unexpected JSON type %v", value)
3908	}
3909
3910	var sv *types.ApplicationDetail
3911	if *v == nil {
3912		sv = &types.ApplicationDetail{}
3913	} else {
3914		sv = *v
3915	}
3916
3917	for key, value := range shape {
3918		switch key {
3919		case "ApplicationARN":
3920			if value != nil {
3921				jtv, ok := value.(string)
3922				if !ok {
3923					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
3924				}
3925				sv.ApplicationARN = ptr.String(jtv)
3926			}
3927
3928		case "ApplicationConfigurationDescription":
3929			if err := awsAwsjson11_deserializeDocumentApplicationConfigurationDescription(&sv.ApplicationConfigurationDescription, value); err != nil {
3930				return err
3931			}
3932
3933		case "ApplicationDescription":
3934			if value != nil {
3935				jtv, ok := value.(string)
3936				if !ok {
3937					return fmt.Errorf("expected ApplicationDescription to be of type string, got %T instead", value)
3938				}
3939				sv.ApplicationDescription = ptr.String(jtv)
3940			}
3941
3942		case "ApplicationName":
3943			if value != nil {
3944				jtv, ok := value.(string)
3945				if !ok {
3946					return fmt.Errorf("expected ApplicationName to be of type string, got %T instead", value)
3947				}
3948				sv.ApplicationName = ptr.String(jtv)
3949			}
3950
3951		case "ApplicationStatus":
3952			if value != nil {
3953				jtv, ok := value.(string)
3954				if !ok {
3955					return fmt.Errorf("expected ApplicationStatus to be of type string, got %T instead", value)
3956				}
3957				sv.ApplicationStatus = types.ApplicationStatus(jtv)
3958			}
3959
3960		case "ApplicationVersionId":
3961			if value != nil {
3962				jtv, ok := value.(json.Number)
3963				if !ok {
3964					return fmt.Errorf("expected ApplicationVersionId to be json.Number, got %T instead", value)
3965				}
3966				i64, err := jtv.Int64()
3967				if err != nil {
3968					return err
3969				}
3970				sv.ApplicationVersionId = ptr.Int64(i64)
3971			}
3972
3973		case "CloudWatchLoggingOptionDescriptions":
3974			if err := awsAwsjson11_deserializeDocumentCloudWatchLoggingOptionDescriptions(&sv.CloudWatchLoggingOptionDescriptions, value); err != nil {
3975				return err
3976			}
3977
3978		case "CreateTimestamp":
3979			if value != nil {
3980				jtv, ok := value.(json.Number)
3981				if !ok {
3982					return fmt.Errorf("expected Timestamp to be json.Number, got %T instead", value)
3983				}
3984				f64, err := jtv.Float64()
3985				if err != nil {
3986					return err
3987				}
3988				sv.CreateTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64))
3989			}
3990
3991		case "LastUpdateTimestamp":
3992			if value != nil {
3993				jtv, ok := value.(json.Number)
3994				if !ok {
3995					return fmt.Errorf("expected Timestamp to be json.Number, got %T instead", value)
3996				}
3997				f64, err := jtv.Float64()
3998				if err != nil {
3999					return err
4000				}
4001				sv.LastUpdateTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64))
4002			}
4003
4004		case "RuntimeEnvironment":
4005			if value != nil {
4006				jtv, ok := value.(string)
4007				if !ok {
4008					return fmt.Errorf("expected RuntimeEnvironment to be of type string, got %T instead", value)
4009				}
4010				sv.RuntimeEnvironment = types.RuntimeEnvironment(jtv)
4011			}
4012
4013		case "ServiceExecutionRole":
4014			if value != nil {
4015				jtv, ok := value.(string)
4016				if !ok {
4017					return fmt.Errorf("expected RoleARN to be of type string, got %T instead", value)
4018				}
4019				sv.ServiceExecutionRole = ptr.String(jtv)
4020			}
4021
4022		default:
4023			_, _ = key, value
4024
4025		}
4026	}
4027	*v = sv
4028	return nil
4029}
4030
4031func awsAwsjson11_deserializeDocumentApplicationRestoreConfiguration(v **types.ApplicationRestoreConfiguration, value interface{}) error {
4032	if v == nil {
4033		return fmt.Errorf("unexpected nil of type %T", v)
4034	}
4035	if value == nil {
4036		return nil
4037	}
4038
4039	shape, ok := value.(map[string]interface{})
4040	if !ok {
4041		return fmt.Errorf("unexpected JSON type %v", value)
4042	}
4043
4044	var sv *types.ApplicationRestoreConfiguration
4045	if *v == nil {
4046		sv = &types.ApplicationRestoreConfiguration{}
4047	} else {
4048		sv = *v
4049	}
4050
4051	for key, value := range shape {
4052		switch key {
4053		case "ApplicationRestoreType":
4054			if value != nil {
4055				jtv, ok := value.(string)
4056				if !ok {
4057					return fmt.Errorf("expected ApplicationRestoreType to be of type string, got %T instead", value)
4058				}
4059				sv.ApplicationRestoreType = types.ApplicationRestoreType(jtv)
4060			}
4061
4062		case "SnapshotName":
4063			if value != nil {
4064				jtv, ok := value.(string)
4065				if !ok {
4066					return fmt.Errorf("expected SnapshotName to be of type string, got %T instead", value)
4067				}
4068				sv.SnapshotName = ptr.String(jtv)
4069			}
4070
4071		default:
4072			_, _ = key, value
4073
4074		}
4075	}
4076	*v = sv
4077	return nil
4078}
4079
4080func awsAwsjson11_deserializeDocumentApplicationSnapshotConfigurationDescription(v **types.ApplicationSnapshotConfigurationDescription, value interface{}) error {
4081	if v == nil {
4082		return fmt.Errorf("unexpected nil of type %T", v)
4083	}
4084	if value == nil {
4085		return nil
4086	}
4087
4088	shape, ok := value.(map[string]interface{})
4089	if !ok {
4090		return fmt.Errorf("unexpected JSON type %v", value)
4091	}
4092
4093	var sv *types.ApplicationSnapshotConfigurationDescription
4094	if *v == nil {
4095		sv = &types.ApplicationSnapshotConfigurationDescription{}
4096	} else {
4097		sv = *v
4098	}
4099
4100	for key, value := range shape {
4101		switch key {
4102		case "SnapshotsEnabled":
4103			if value != nil {
4104				jtv, ok := value.(bool)
4105				if !ok {
4106					return fmt.Errorf("expected BooleanObject to be of type *bool, got %T instead", value)
4107				}
4108				sv.SnapshotsEnabled = ptr.Bool(jtv)
4109			}
4110
4111		default:
4112			_, _ = key, value
4113
4114		}
4115	}
4116	*v = sv
4117	return nil
4118}
4119
4120func awsAwsjson11_deserializeDocumentApplicationSummaries(v *[]types.ApplicationSummary, value interface{}) error {
4121	if v == nil {
4122		return fmt.Errorf("unexpected nil of type %T", v)
4123	}
4124	if value == nil {
4125		return nil
4126	}
4127
4128	shape, ok := value.([]interface{})
4129	if !ok {
4130		return fmt.Errorf("unexpected JSON type %v", value)
4131	}
4132
4133	var cv []types.ApplicationSummary
4134	if *v == nil {
4135		cv = []types.ApplicationSummary{}
4136	} else {
4137		cv = *v
4138	}
4139
4140	for _, value := range shape {
4141		var col types.ApplicationSummary
4142		destAddr := &col
4143		if err := awsAwsjson11_deserializeDocumentApplicationSummary(&destAddr, value); err != nil {
4144			return err
4145		}
4146		col = *destAddr
4147		cv = append(cv, col)
4148
4149	}
4150	*v = cv
4151	return nil
4152}
4153
4154func awsAwsjson11_deserializeDocumentApplicationSummary(v **types.ApplicationSummary, value interface{}) error {
4155	if v == nil {
4156		return fmt.Errorf("unexpected nil of type %T", v)
4157	}
4158	if value == nil {
4159		return nil
4160	}
4161
4162	shape, ok := value.(map[string]interface{})
4163	if !ok {
4164		return fmt.Errorf("unexpected JSON type %v", value)
4165	}
4166
4167	var sv *types.ApplicationSummary
4168	if *v == nil {
4169		sv = &types.ApplicationSummary{}
4170	} else {
4171		sv = *v
4172	}
4173
4174	for key, value := range shape {
4175		switch key {
4176		case "ApplicationARN":
4177			if value != nil {
4178				jtv, ok := value.(string)
4179				if !ok {
4180					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
4181				}
4182				sv.ApplicationARN = ptr.String(jtv)
4183			}
4184
4185		case "ApplicationName":
4186			if value != nil {
4187				jtv, ok := value.(string)
4188				if !ok {
4189					return fmt.Errorf("expected ApplicationName to be of type string, got %T instead", value)
4190				}
4191				sv.ApplicationName = ptr.String(jtv)
4192			}
4193
4194		case "ApplicationStatus":
4195			if value != nil {
4196				jtv, ok := value.(string)
4197				if !ok {
4198					return fmt.Errorf("expected ApplicationStatus to be of type string, got %T instead", value)
4199				}
4200				sv.ApplicationStatus = types.ApplicationStatus(jtv)
4201			}
4202
4203		case "ApplicationVersionId":
4204			if value != nil {
4205				jtv, ok := value.(json.Number)
4206				if !ok {
4207					return fmt.Errorf("expected ApplicationVersionId to be json.Number, got %T instead", value)
4208				}
4209				i64, err := jtv.Int64()
4210				if err != nil {
4211					return err
4212				}
4213				sv.ApplicationVersionId = ptr.Int64(i64)
4214			}
4215
4216		case "RuntimeEnvironment":
4217			if value != nil {
4218				jtv, ok := value.(string)
4219				if !ok {
4220					return fmt.Errorf("expected RuntimeEnvironment to be of type string, got %T instead", value)
4221				}
4222				sv.RuntimeEnvironment = types.RuntimeEnvironment(jtv)
4223			}
4224
4225		default:
4226			_, _ = key, value
4227
4228		}
4229	}
4230	*v = sv
4231	return nil
4232}
4233
4234func awsAwsjson11_deserializeDocumentCheckpointConfigurationDescription(v **types.CheckpointConfigurationDescription, value interface{}) error {
4235	if v == nil {
4236		return fmt.Errorf("unexpected nil of type %T", v)
4237	}
4238	if value == nil {
4239		return nil
4240	}
4241
4242	shape, ok := value.(map[string]interface{})
4243	if !ok {
4244		return fmt.Errorf("unexpected JSON type %v", value)
4245	}
4246
4247	var sv *types.CheckpointConfigurationDescription
4248	if *v == nil {
4249		sv = &types.CheckpointConfigurationDescription{}
4250	} else {
4251		sv = *v
4252	}
4253
4254	for key, value := range shape {
4255		switch key {
4256		case "CheckpointingEnabled":
4257			if value != nil {
4258				jtv, ok := value.(bool)
4259				if !ok {
4260					return fmt.Errorf("expected BooleanObject to be of type *bool, got %T instead", value)
4261				}
4262				sv.CheckpointingEnabled = ptr.Bool(jtv)
4263			}
4264
4265		case "CheckpointInterval":
4266			if value != nil {
4267				jtv, ok := value.(json.Number)
4268				if !ok {
4269					return fmt.Errorf("expected CheckpointInterval to be json.Number, got %T instead", value)
4270				}
4271				i64, err := jtv.Int64()
4272				if err != nil {
4273					return err
4274				}
4275				sv.CheckpointInterval = ptr.Int64(i64)
4276			}
4277
4278		case "ConfigurationType":
4279			if value != nil {
4280				jtv, ok := value.(string)
4281				if !ok {
4282					return fmt.Errorf("expected ConfigurationType to be of type string, got %T instead", value)
4283				}
4284				sv.ConfigurationType = types.ConfigurationType(jtv)
4285			}
4286
4287		case "MinPauseBetweenCheckpoints":
4288			if value != nil {
4289				jtv, ok := value.(json.Number)
4290				if !ok {
4291					return fmt.Errorf("expected MinPauseBetweenCheckpoints to be json.Number, got %T instead", value)
4292				}
4293				i64, err := jtv.Int64()
4294				if err != nil {
4295					return err
4296				}
4297				sv.MinPauseBetweenCheckpoints = ptr.Int64(i64)
4298			}
4299
4300		default:
4301			_, _ = key, value
4302
4303		}
4304	}
4305	*v = sv
4306	return nil
4307}
4308
4309func awsAwsjson11_deserializeDocumentCloudWatchLoggingOptionDescription(v **types.CloudWatchLoggingOptionDescription, value interface{}) error {
4310	if v == nil {
4311		return fmt.Errorf("unexpected nil of type %T", v)
4312	}
4313	if value == nil {
4314		return nil
4315	}
4316
4317	shape, ok := value.(map[string]interface{})
4318	if !ok {
4319		return fmt.Errorf("unexpected JSON type %v", value)
4320	}
4321
4322	var sv *types.CloudWatchLoggingOptionDescription
4323	if *v == nil {
4324		sv = &types.CloudWatchLoggingOptionDescription{}
4325	} else {
4326		sv = *v
4327	}
4328
4329	for key, value := range shape {
4330		switch key {
4331		case "CloudWatchLoggingOptionId":
4332			if value != nil {
4333				jtv, ok := value.(string)
4334				if !ok {
4335					return fmt.Errorf("expected Id to be of type string, got %T instead", value)
4336				}
4337				sv.CloudWatchLoggingOptionId = ptr.String(jtv)
4338			}
4339
4340		case "LogStreamARN":
4341			if value != nil {
4342				jtv, ok := value.(string)
4343				if !ok {
4344					return fmt.Errorf("expected LogStreamARN to be of type string, got %T instead", value)
4345				}
4346				sv.LogStreamARN = ptr.String(jtv)
4347			}
4348
4349		case "RoleARN":
4350			if value != nil {
4351				jtv, ok := value.(string)
4352				if !ok {
4353					return fmt.Errorf("expected RoleARN to be of type string, got %T instead", value)
4354				}
4355				sv.RoleARN = ptr.String(jtv)
4356			}
4357
4358		default:
4359			_, _ = key, value
4360
4361		}
4362	}
4363	*v = sv
4364	return nil
4365}
4366
4367func awsAwsjson11_deserializeDocumentCloudWatchLoggingOptionDescriptions(v *[]types.CloudWatchLoggingOptionDescription, value interface{}) error {
4368	if v == nil {
4369		return fmt.Errorf("unexpected nil of type %T", v)
4370	}
4371	if value == nil {
4372		return nil
4373	}
4374
4375	shape, ok := value.([]interface{})
4376	if !ok {
4377		return fmt.Errorf("unexpected JSON type %v", value)
4378	}
4379
4380	var cv []types.CloudWatchLoggingOptionDescription
4381	if *v == nil {
4382		cv = []types.CloudWatchLoggingOptionDescription{}
4383	} else {
4384		cv = *v
4385	}
4386
4387	for _, value := range shape {
4388		var col types.CloudWatchLoggingOptionDescription
4389		destAddr := &col
4390		if err := awsAwsjson11_deserializeDocumentCloudWatchLoggingOptionDescription(&destAddr, value); err != nil {
4391			return err
4392		}
4393		col = *destAddr
4394		cv = append(cv, col)
4395
4396	}
4397	*v = cv
4398	return nil
4399}
4400
4401func awsAwsjson11_deserializeDocumentCodeContentDescription(v **types.CodeContentDescription, value interface{}) error {
4402	if v == nil {
4403		return fmt.Errorf("unexpected nil of type %T", v)
4404	}
4405	if value == nil {
4406		return nil
4407	}
4408
4409	shape, ok := value.(map[string]interface{})
4410	if !ok {
4411		return fmt.Errorf("unexpected JSON type %v", value)
4412	}
4413
4414	var sv *types.CodeContentDescription
4415	if *v == nil {
4416		sv = &types.CodeContentDescription{}
4417	} else {
4418		sv = *v
4419	}
4420
4421	for key, value := range shape {
4422		switch key {
4423		case "CodeMD5":
4424			if value != nil {
4425				jtv, ok := value.(string)
4426				if !ok {
4427					return fmt.Errorf("expected CodeMD5 to be of type string, got %T instead", value)
4428				}
4429				sv.CodeMD5 = ptr.String(jtv)
4430			}
4431
4432		case "CodeSize":
4433			if value != nil {
4434				jtv, ok := value.(json.Number)
4435				if !ok {
4436					return fmt.Errorf("expected CodeSize to be json.Number, got %T instead", value)
4437				}
4438				i64, err := jtv.Int64()
4439				if err != nil {
4440					return err
4441				}
4442				sv.CodeSize = ptr.Int64(i64)
4443			}
4444
4445		case "S3ApplicationCodeLocationDescription":
4446			if err := awsAwsjson11_deserializeDocumentS3ApplicationCodeLocationDescription(&sv.S3ApplicationCodeLocationDescription, value); err != nil {
4447				return err
4448			}
4449
4450		case "TextContent":
4451			if value != nil {
4452				jtv, ok := value.(string)
4453				if !ok {
4454					return fmt.Errorf("expected TextContent to be of type string, got %T instead", value)
4455				}
4456				sv.TextContent = ptr.String(jtv)
4457			}
4458
4459		default:
4460			_, _ = key, value
4461
4462		}
4463	}
4464	*v = sv
4465	return nil
4466}
4467
4468func awsAwsjson11_deserializeDocumentCodeValidationException(v **types.CodeValidationException, value interface{}) error {
4469	if v == nil {
4470		return fmt.Errorf("unexpected nil of type %T", v)
4471	}
4472	if value == nil {
4473		return nil
4474	}
4475
4476	shape, ok := value.(map[string]interface{})
4477	if !ok {
4478		return fmt.Errorf("unexpected JSON type %v", value)
4479	}
4480
4481	var sv *types.CodeValidationException
4482	if *v == nil {
4483		sv = &types.CodeValidationException{}
4484	} else {
4485		sv = *v
4486	}
4487
4488	for key, value := range shape {
4489		switch key {
4490		case "Message":
4491			if value != nil {
4492				jtv, ok := value.(string)
4493				if !ok {
4494					return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value)
4495				}
4496				sv.Message = ptr.String(jtv)
4497			}
4498
4499		default:
4500			_, _ = key, value
4501
4502		}
4503	}
4504	*v = sv
4505	return nil
4506}
4507
4508func awsAwsjson11_deserializeDocumentConcurrentModificationException(v **types.ConcurrentModificationException, value interface{}) error {
4509	if v == nil {
4510		return fmt.Errorf("unexpected nil of type %T", v)
4511	}
4512	if value == nil {
4513		return nil
4514	}
4515
4516	shape, ok := value.(map[string]interface{})
4517	if !ok {
4518		return fmt.Errorf("unexpected JSON type %v", value)
4519	}
4520
4521	var sv *types.ConcurrentModificationException
4522	if *v == nil {
4523		sv = &types.ConcurrentModificationException{}
4524	} else {
4525		sv = *v
4526	}
4527
4528	for key, value := range shape {
4529		switch key {
4530		case "Message":
4531			if value != nil {
4532				jtv, ok := value.(string)
4533				if !ok {
4534					return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value)
4535				}
4536				sv.Message = ptr.String(jtv)
4537			}
4538
4539		default:
4540			_, _ = key, value
4541
4542		}
4543	}
4544	*v = sv
4545	return nil
4546}
4547
4548func awsAwsjson11_deserializeDocumentCSVMappingParameters(v **types.CSVMappingParameters, value interface{}) error {
4549	if v == nil {
4550		return fmt.Errorf("unexpected nil of type %T", v)
4551	}
4552	if value == nil {
4553		return nil
4554	}
4555
4556	shape, ok := value.(map[string]interface{})
4557	if !ok {
4558		return fmt.Errorf("unexpected JSON type %v", value)
4559	}
4560
4561	var sv *types.CSVMappingParameters
4562	if *v == nil {
4563		sv = &types.CSVMappingParameters{}
4564	} else {
4565		sv = *v
4566	}
4567
4568	for key, value := range shape {
4569		switch key {
4570		case "RecordColumnDelimiter":
4571			if value != nil {
4572				jtv, ok := value.(string)
4573				if !ok {
4574					return fmt.Errorf("expected RecordColumnDelimiter to be of type string, got %T instead", value)
4575				}
4576				sv.RecordColumnDelimiter = ptr.String(jtv)
4577			}
4578
4579		case "RecordRowDelimiter":
4580			if value != nil {
4581				jtv, ok := value.(string)
4582				if !ok {
4583					return fmt.Errorf("expected RecordRowDelimiter to be of type string, got %T instead", value)
4584				}
4585				sv.RecordRowDelimiter = ptr.String(jtv)
4586			}
4587
4588		default:
4589			_, _ = key, value
4590
4591		}
4592	}
4593	*v = sv
4594	return nil
4595}
4596
4597func awsAwsjson11_deserializeDocumentDestinationSchema(v **types.DestinationSchema, value interface{}) error {
4598	if v == nil {
4599		return fmt.Errorf("unexpected nil of type %T", v)
4600	}
4601	if value == nil {
4602		return nil
4603	}
4604
4605	shape, ok := value.(map[string]interface{})
4606	if !ok {
4607		return fmt.Errorf("unexpected JSON type %v", value)
4608	}
4609
4610	var sv *types.DestinationSchema
4611	if *v == nil {
4612		sv = &types.DestinationSchema{}
4613	} else {
4614		sv = *v
4615	}
4616
4617	for key, value := range shape {
4618		switch key {
4619		case "RecordFormatType":
4620			if value != nil {
4621				jtv, ok := value.(string)
4622				if !ok {
4623					return fmt.Errorf("expected RecordFormatType to be of type string, got %T instead", value)
4624				}
4625				sv.RecordFormatType = types.RecordFormatType(jtv)
4626			}
4627
4628		default:
4629			_, _ = key, value
4630
4631		}
4632	}
4633	*v = sv
4634	return nil
4635}
4636
4637func awsAwsjson11_deserializeDocumentEnvironmentPropertyDescriptions(v **types.EnvironmentPropertyDescriptions, value interface{}) error {
4638	if v == nil {
4639		return fmt.Errorf("unexpected nil of type %T", v)
4640	}
4641	if value == nil {
4642		return nil
4643	}
4644
4645	shape, ok := value.(map[string]interface{})
4646	if !ok {
4647		return fmt.Errorf("unexpected JSON type %v", value)
4648	}
4649
4650	var sv *types.EnvironmentPropertyDescriptions
4651	if *v == nil {
4652		sv = &types.EnvironmentPropertyDescriptions{}
4653	} else {
4654		sv = *v
4655	}
4656
4657	for key, value := range shape {
4658		switch key {
4659		case "PropertyGroupDescriptions":
4660			if err := awsAwsjson11_deserializeDocumentPropertyGroups(&sv.PropertyGroupDescriptions, value); err != nil {
4661				return err
4662			}
4663
4664		default:
4665			_, _ = key, value
4666
4667		}
4668	}
4669	*v = sv
4670	return nil
4671}
4672
4673func awsAwsjson11_deserializeDocumentFlinkApplicationConfigurationDescription(v **types.FlinkApplicationConfigurationDescription, value interface{}) error {
4674	if v == nil {
4675		return fmt.Errorf("unexpected nil of type %T", v)
4676	}
4677	if value == nil {
4678		return nil
4679	}
4680
4681	shape, ok := value.(map[string]interface{})
4682	if !ok {
4683		return fmt.Errorf("unexpected JSON type %v", value)
4684	}
4685
4686	var sv *types.FlinkApplicationConfigurationDescription
4687	if *v == nil {
4688		sv = &types.FlinkApplicationConfigurationDescription{}
4689	} else {
4690		sv = *v
4691	}
4692
4693	for key, value := range shape {
4694		switch key {
4695		case "CheckpointConfigurationDescription":
4696			if err := awsAwsjson11_deserializeDocumentCheckpointConfigurationDescription(&sv.CheckpointConfigurationDescription, value); err != nil {
4697				return err
4698			}
4699
4700		case "JobPlanDescription":
4701			if value != nil {
4702				jtv, ok := value.(string)
4703				if !ok {
4704					return fmt.Errorf("expected JobPlanDescription to be of type string, got %T instead", value)
4705				}
4706				sv.JobPlanDescription = ptr.String(jtv)
4707			}
4708
4709		case "MonitoringConfigurationDescription":
4710			if err := awsAwsjson11_deserializeDocumentMonitoringConfigurationDescription(&sv.MonitoringConfigurationDescription, value); err != nil {
4711				return err
4712			}
4713
4714		case "ParallelismConfigurationDescription":
4715			if err := awsAwsjson11_deserializeDocumentParallelismConfigurationDescription(&sv.ParallelismConfigurationDescription, value); err != nil {
4716				return err
4717			}
4718
4719		default:
4720			_, _ = key, value
4721
4722		}
4723	}
4724	*v = sv
4725	return nil
4726}
4727
4728func awsAwsjson11_deserializeDocumentFlinkRunConfiguration(v **types.FlinkRunConfiguration, value interface{}) error {
4729	if v == nil {
4730		return fmt.Errorf("unexpected nil of type %T", v)
4731	}
4732	if value == nil {
4733		return nil
4734	}
4735
4736	shape, ok := value.(map[string]interface{})
4737	if !ok {
4738		return fmt.Errorf("unexpected JSON type %v", value)
4739	}
4740
4741	var sv *types.FlinkRunConfiguration
4742	if *v == nil {
4743		sv = &types.FlinkRunConfiguration{}
4744	} else {
4745		sv = *v
4746	}
4747
4748	for key, value := range shape {
4749		switch key {
4750		case "AllowNonRestoredState":
4751			if value != nil {
4752				jtv, ok := value.(bool)
4753				if !ok {
4754					return fmt.Errorf("expected BooleanObject to be of type *bool, got %T instead", value)
4755				}
4756				sv.AllowNonRestoredState = ptr.Bool(jtv)
4757			}
4758
4759		default:
4760			_, _ = key, value
4761
4762		}
4763	}
4764	*v = sv
4765	return nil
4766}
4767
4768func awsAwsjson11_deserializeDocumentInAppStreamNames(v *[]string, value interface{}) error {
4769	if v == nil {
4770		return fmt.Errorf("unexpected nil of type %T", v)
4771	}
4772	if value == nil {
4773		return nil
4774	}
4775
4776	shape, ok := value.([]interface{})
4777	if !ok {
4778		return fmt.Errorf("unexpected JSON type %v", value)
4779	}
4780
4781	var cv []string
4782	if *v == nil {
4783		cv = []string{}
4784	} else {
4785		cv = *v
4786	}
4787
4788	for _, value := range shape {
4789		var col string
4790		if value != nil {
4791			jtv, ok := value.(string)
4792			if !ok {
4793				return fmt.Errorf("expected InAppStreamName to be of type string, got %T instead", value)
4794			}
4795			col = jtv
4796		}
4797		cv = append(cv, col)
4798
4799	}
4800	*v = cv
4801	return nil
4802}
4803
4804func awsAwsjson11_deserializeDocumentInputDescription(v **types.InputDescription, value interface{}) error {
4805	if v == nil {
4806		return fmt.Errorf("unexpected nil of type %T", v)
4807	}
4808	if value == nil {
4809		return nil
4810	}
4811
4812	shape, ok := value.(map[string]interface{})
4813	if !ok {
4814		return fmt.Errorf("unexpected JSON type %v", value)
4815	}
4816
4817	var sv *types.InputDescription
4818	if *v == nil {
4819		sv = &types.InputDescription{}
4820	} else {
4821		sv = *v
4822	}
4823
4824	for key, value := range shape {
4825		switch key {
4826		case "InAppStreamNames":
4827			if err := awsAwsjson11_deserializeDocumentInAppStreamNames(&sv.InAppStreamNames, value); err != nil {
4828				return err
4829			}
4830
4831		case "InputId":
4832			if value != nil {
4833				jtv, ok := value.(string)
4834				if !ok {
4835					return fmt.Errorf("expected Id to be of type string, got %T instead", value)
4836				}
4837				sv.InputId = ptr.String(jtv)
4838			}
4839
4840		case "InputParallelism":
4841			if err := awsAwsjson11_deserializeDocumentInputParallelism(&sv.InputParallelism, value); err != nil {
4842				return err
4843			}
4844
4845		case "InputProcessingConfigurationDescription":
4846			if err := awsAwsjson11_deserializeDocumentInputProcessingConfigurationDescription(&sv.InputProcessingConfigurationDescription, value); err != nil {
4847				return err
4848			}
4849
4850		case "InputSchema":
4851			if err := awsAwsjson11_deserializeDocumentSourceSchema(&sv.InputSchema, value); err != nil {
4852				return err
4853			}
4854
4855		case "InputStartingPositionConfiguration":
4856			if err := awsAwsjson11_deserializeDocumentInputStartingPositionConfiguration(&sv.InputStartingPositionConfiguration, value); err != nil {
4857				return err
4858			}
4859
4860		case "KinesisFirehoseInputDescription":
4861			if err := awsAwsjson11_deserializeDocumentKinesisFirehoseInputDescription(&sv.KinesisFirehoseInputDescription, value); err != nil {
4862				return err
4863			}
4864
4865		case "KinesisStreamsInputDescription":
4866			if err := awsAwsjson11_deserializeDocumentKinesisStreamsInputDescription(&sv.KinesisStreamsInputDescription, value); err != nil {
4867				return err
4868			}
4869
4870		case "NamePrefix":
4871			if value != nil {
4872				jtv, ok := value.(string)
4873				if !ok {
4874					return fmt.Errorf("expected InAppStreamName to be of type string, got %T instead", value)
4875				}
4876				sv.NamePrefix = ptr.String(jtv)
4877			}
4878
4879		default:
4880			_, _ = key, value
4881
4882		}
4883	}
4884	*v = sv
4885	return nil
4886}
4887
4888func awsAwsjson11_deserializeDocumentInputDescriptions(v *[]types.InputDescription, value interface{}) error {
4889	if v == nil {
4890		return fmt.Errorf("unexpected nil of type %T", v)
4891	}
4892	if value == nil {
4893		return nil
4894	}
4895
4896	shape, ok := value.([]interface{})
4897	if !ok {
4898		return fmt.Errorf("unexpected JSON type %v", value)
4899	}
4900
4901	var cv []types.InputDescription
4902	if *v == nil {
4903		cv = []types.InputDescription{}
4904	} else {
4905		cv = *v
4906	}
4907
4908	for _, value := range shape {
4909		var col types.InputDescription
4910		destAddr := &col
4911		if err := awsAwsjson11_deserializeDocumentInputDescription(&destAddr, value); err != nil {
4912			return err
4913		}
4914		col = *destAddr
4915		cv = append(cv, col)
4916
4917	}
4918	*v = cv
4919	return nil
4920}
4921
4922func awsAwsjson11_deserializeDocumentInputLambdaProcessorDescription(v **types.InputLambdaProcessorDescription, value interface{}) error {
4923	if v == nil {
4924		return fmt.Errorf("unexpected nil of type %T", v)
4925	}
4926	if value == nil {
4927		return nil
4928	}
4929
4930	shape, ok := value.(map[string]interface{})
4931	if !ok {
4932		return fmt.Errorf("unexpected JSON type %v", value)
4933	}
4934
4935	var sv *types.InputLambdaProcessorDescription
4936	if *v == nil {
4937		sv = &types.InputLambdaProcessorDescription{}
4938	} else {
4939		sv = *v
4940	}
4941
4942	for key, value := range shape {
4943		switch key {
4944		case "ResourceARN":
4945			if value != nil {
4946				jtv, ok := value.(string)
4947				if !ok {
4948					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
4949				}
4950				sv.ResourceARN = ptr.String(jtv)
4951			}
4952
4953		case "RoleARN":
4954			if value != nil {
4955				jtv, ok := value.(string)
4956				if !ok {
4957					return fmt.Errorf("expected RoleARN to be of type string, got %T instead", value)
4958				}
4959				sv.RoleARN = ptr.String(jtv)
4960			}
4961
4962		default:
4963			_, _ = key, value
4964
4965		}
4966	}
4967	*v = sv
4968	return nil
4969}
4970
4971func awsAwsjson11_deserializeDocumentInputParallelism(v **types.InputParallelism, value interface{}) error {
4972	if v == nil {
4973		return fmt.Errorf("unexpected nil of type %T", v)
4974	}
4975	if value == nil {
4976		return nil
4977	}
4978
4979	shape, ok := value.(map[string]interface{})
4980	if !ok {
4981		return fmt.Errorf("unexpected JSON type %v", value)
4982	}
4983
4984	var sv *types.InputParallelism
4985	if *v == nil {
4986		sv = &types.InputParallelism{}
4987	} else {
4988		sv = *v
4989	}
4990
4991	for key, value := range shape {
4992		switch key {
4993		case "Count":
4994			if value != nil {
4995				jtv, ok := value.(json.Number)
4996				if !ok {
4997					return fmt.Errorf("expected InputParallelismCount to be json.Number, got %T instead", value)
4998				}
4999				i64, err := jtv.Int64()
5000				if err != nil {
5001					return err
5002				}
5003				sv.Count = ptr.Int32(int32(i64))
5004			}
5005
5006		default:
5007			_, _ = key, value
5008
5009		}
5010	}
5011	*v = sv
5012	return nil
5013}
5014
5015func awsAwsjson11_deserializeDocumentInputProcessingConfigurationDescription(v **types.InputProcessingConfigurationDescription, value interface{}) error {
5016	if v == nil {
5017		return fmt.Errorf("unexpected nil of type %T", v)
5018	}
5019	if value == nil {
5020		return nil
5021	}
5022
5023	shape, ok := value.(map[string]interface{})
5024	if !ok {
5025		return fmt.Errorf("unexpected JSON type %v", value)
5026	}
5027
5028	var sv *types.InputProcessingConfigurationDescription
5029	if *v == nil {
5030		sv = &types.InputProcessingConfigurationDescription{}
5031	} else {
5032		sv = *v
5033	}
5034
5035	for key, value := range shape {
5036		switch key {
5037		case "InputLambdaProcessorDescription":
5038			if err := awsAwsjson11_deserializeDocumentInputLambdaProcessorDescription(&sv.InputLambdaProcessorDescription, value); err != nil {
5039				return err
5040			}
5041
5042		default:
5043			_, _ = key, value
5044
5045		}
5046	}
5047	*v = sv
5048	return nil
5049}
5050
5051func awsAwsjson11_deserializeDocumentInputStartingPositionConfiguration(v **types.InputStartingPositionConfiguration, value interface{}) error {
5052	if v == nil {
5053		return fmt.Errorf("unexpected nil of type %T", v)
5054	}
5055	if value == nil {
5056		return nil
5057	}
5058
5059	shape, ok := value.(map[string]interface{})
5060	if !ok {
5061		return fmt.Errorf("unexpected JSON type %v", value)
5062	}
5063
5064	var sv *types.InputStartingPositionConfiguration
5065	if *v == nil {
5066		sv = &types.InputStartingPositionConfiguration{}
5067	} else {
5068		sv = *v
5069	}
5070
5071	for key, value := range shape {
5072		switch key {
5073		case "InputStartingPosition":
5074			if value != nil {
5075				jtv, ok := value.(string)
5076				if !ok {
5077					return fmt.Errorf("expected InputStartingPosition to be of type string, got %T instead", value)
5078				}
5079				sv.InputStartingPosition = types.InputStartingPosition(jtv)
5080			}
5081
5082		default:
5083			_, _ = key, value
5084
5085		}
5086	}
5087	*v = sv
5088	return nil
5089}
5090
5091func awsAwsjson11_deserializeDocumentInvalidApplicationConfigurationException(v **types.InvalidApplicationConfigurationException, value interface{}) error {
5092	if v == nil {
5093		return fmt.Errorf("unexpected nil of type %T", v)
5094	}
5095	if value == nil {
5096		return nil
5097	}
5098
5099	shape, ok := value.(map[string]interface{})
5100	if !ok {
5101		return fmt.Errorf("unexpected JSON type %v", value)
5102	}
5103
5104	var sv *types.InvalidApplicationConfigurationException
5105	if *v == nil {
5106		sv = &types.InvalidApplicationConfigurationException{}
5107	} else {
5108		sv = *v
5109	}
5110
5111	for key, value := range shape {
5112		switch key {
5113		case "Message":
5114			if value != nil {
5115				jtv, ok := value.(string)
5116				if !ok {
5117					return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value)
5118				}
5119				sv.Message = ptr.String(jtv)
5120			}
5121
5122		default:
5123			_, _ = key, value
5124
5125		}
5126	}
5127	*v = sv
5128	return nil
5129}
5130
5131func awsAwsjson11_deserializeDocumentInvalidArgumentException(v **types.InvalidArgumentException, value interface{}) error {
5132	if v == nil {
5133		return fmt.Errorf("unexpected nil of type %T", v)
5134	}
5135	if value == nil {
5136		return nil
5137	}
5138
5139	shape, ok := value.(map[string]interface{})
5140	if !ok {
5141		return fmt.Errorf("unexpected JSON type %v", value)
5142	}
5143
5144	var sv *types.InvalidArgumentException
5145	if *v == nil {
5146		sv = &types.InvalidArgumentException{}
5147	} else {
5148		sv = *v
5149	}
5150
5151	for key, value := range shape {
5152		switch key {
5153		case "Message":
5154			if value != nil {
5155				jtv, ok := value.(string)
5156				if !ok {
5157					return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value)
5158				}
5159				sv.Message = ptr.String(jtv)
5160			}
5161
5162		default:
5163			_, _ = key, value
5164
5165		}
5166	}
5167	*v = sv
5168	return nil
5169}
5170
5171func awsAwsjson11_deserializeDocumentInvalidRequestException(v **types.InvalidRequestException, value interface{}) error {
5172	if v == nil {
5173		return fmt.Errorf("unexpected nil of type %T", v)
5174	}
5175	if value == nil {
5176		return nil
5177	}
5178
5179	shape, ok := value.(map[string]interface{})
5180	if !ok {
5181		return fmt.Errorf("unexpected JSON type %v", value)
5182	}
5183
5184	var sv *types.InvalidRequestException
5185	if *v == nil {
5186		sv = &types.InvalidRequestException{}
5187	} else {
5188		sv = *v
5189	}
5190
5191	for key, value := range shape {
5192		switch key {
5193		case "Message":
5194			if value != nil {
5195				jtv, ok := value.(string)
5196				if !ok {
5197					return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value)
5198				}
5199				sv.Message = ptr.String(jtv)
5200			}
5201
5202		default:
5203			_, _ = key, value
5204
5205		}
5206	}
5207	*v = sv
5208	return nil
5209}
5210
5211func awsAwsjson11_deserializeDocumentJSONMappingParameters(v **types.JSONMappingParameters, value interface{}) error {
5212	if v == nil {
5213		return fmt.Errorf("unexpected nil of type %T", v)
5214	}
5215	if value == nil {
5216		return nil
5217	}
5218
5219	shape, ok := value.(map[string]interface{})
5220	if !ok {
5221		return fmt.Errorf("unexpected JSON type %v", value)
5222	}
5223
5224	var sv *types.JSONMappingParameters
5225	if *v == nil {
5226		sv = &types.JSONMappingParameters{}
5227	} else {
5228		sv = *v
5229	}
5230
5231	for key, value := range shape {
5232		switch key {
5233		case "RecordRowPath":
5234			if value != nil {
5235				jtv, ok := value.(string)
5236				if !ok {
5237					return fmt.Errorf("expected RecordRowPath to be of type string, got %T instead", value)
5238				}
5239				sv.RecordRowPath = ptr.String(jtv)
5240			}
5241
5242		default:
5243			_, _ = key, value
5244
5245		}
5246	}
5247	*v = sv
5248	return nil
5249}
5250
5251func awsAwsjson11_deserializeDocumentKinesisFirehoseInputDescription(v **types.KinesisFirehoseInputDescription, value interface{}) error {
5252	if v == nil {
5253		return fmt.Errorf("unexpected nil of type %T", v)
5254	}
5255	if value == nil {
5256		return nil
5257	}
5258
5259	shape, ok := value.(map[string]interface{})
5260	if !ok {
5261		return fmt.Errorf("unexpected JSON type %v", value)
5262	}
5263
5264	var sv *types.KinesisFirehoseInputDescription
5265	if *v == nil {
5266		sv = &types.KinesisFirehoseInputDescription{}
5267	} else {
5268		sv = *v
5269	}
5270
5271	for key, value := range shape {
5272		switch key {
5273		case "ResourceARN":
5274			if value != nil {
5275				jtv, ok := value.(string)
5276				if !ok {
5277					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
5278				}
5279				sv.ResourceARN = ptr.String(jtv)
5280			}
5281
5282		case "RoleARN":
5283			if value != nil {
5284				jtv, ok := value.(string)
5285				if !ok {
5286					return fmt.Errorf("expected RoleARN to be of type string, got %T instead", value)
5287				}
5288				sv.RoleARN = ptr.String(jtv)
5289			}
5290
5291		default:
5292			_, _ = key, value
5293
5294		}
5295	}
5296	*v = sv
5297	return nil
5298}
5299
5300func awsAwsjson11_deserializeDocumentKinesisFirehoseOutputDescription(v **types.KinesisFirehoseOutputDescription, value interface{}) error {
5301	if v == nil {
5302		return fmt.Errorf("unexpected nil of type %T", v)
5303	}
5304	if value == nil {
5305		return nil
5306	}
5307
5308	shape, ok := value.(map[string]interface{})
5309	if !ok {
5310		return fmt.Errorf("unexpected JSON type %v", value)
5311	}
5312
5313	var sv *types.KinesisFirehoseOutputDescription
5314	if *v == nil {
5315		sv = &types.KinesisFirehoseOutputDescription{}
5316	} else {
5317		sv = *v
5318	}
5319
5320	for key, value := range shape {
5321		switch key {
5322		case "ResourceARN":
5323			if value != nil {
5324				jtv, ok := value.(string)
5325				if !ok {
5326					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
5327				}
5328				sv.ResourceARN = ptr.String(jtv)
5329			}
5330
5331		case "RoleARN":
5332			if value != nil {
5333				jtv, ok := value.(string)
5334				if !ok {
5335					return fmt.Errorf("expected RoleARN to be of type string, got %T instead", value)
5336				}
5337				sv.RoleARN = ptr.String(jtv)
5338			}
5339
5340		default:
5341			_, _ = key, value
5342
5343		}
5344	}
5345	*v = sv
5346	return nil
5347}
5348
5349func awsAwsjson11_deserializeDocumentKinesisStreamsInputDescription(v **types.KinesisStreamsInputDescription, value interface{}) error {
5350	if v == nil {
5351		return fmt.Errorf("unexpected nil of type %T", v)
5352	}
5353	if value == nil {
5354		return nil
5355	}
5356
5357	shape, ok := value.(map[string]interface{})
5358	if !ok {
5359		return fmt.Errorf("unexpected JSON type %v", value)
5360	}
5361
5362	var sv *types.KinesisStreamsInputDescription
5363	if *v == nil {
5364		sv = &types.KinesisStreamsInputDescription{}
5365	} else {
5366		sv = *v
5367	}
5368
5369	for key, value := range shape {
5370		switch key {
5371		case "ResourceARN":
5372			if value != nil {
5373				jtv, ok := value.(string)
5374				if !ok {
5375					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
5376				}
5377				sv.ResourceARN = ptr.String(jtv)
5378			}
5379
5380		case "RoleARN":
5381			if value != nil {
5382				jtv, ok := value.(string)
5383				if !ok {
5384					return fmt.Errorf("expected RoleARN to be of type string, got %T instead", value)
5385				}
5386				sv.RoleARN = ptr.String(jtv)
5387			}
5388
5389		default:
5390			_, _ = key, value
5391
5392		}
5393	}
5394	*v = sv
5395	return nil
5396}
5397
5398func awsAwsjson11_deserializeDocumentKinesisStreamsOutputDescription(v **types.KinesisStreamsOutputDescription, value interface{}) error {
5399	if v == nil {
5400		return fmt.Errorf("unexpected nil of type %T", v)
5401	}
5402	if value == nil {
5403		return nil
5404	}
5405
5406	shape, ok := value.(map[string]interface{})
5407	if !ok {
5408		return fmt.Errorf("unexpected JSON type %v", value)
5409	}
5410
5411	var sv *types.KinesisStreamsOutputDescription
5412	if *v == nil {
5413		sv = &types.KinesisStreamsOutputDescription{}
5414	} else {
5415		sv = *v
5416	}
5417
5418	for key, value := range shape {
5419		switch key {
5420		case "ResourceARN":
5421			if value != nil {
5422				jtv, ok := value.(string)
5423				if !ok {
5424					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
5425				}
5426				sv.ResourceARN = ptr.String(jtv)
5427			}
5428
5429		case "RoleARN":
5430			if value != nil {
5431				jtv, ok := value.(string)
5432				if !ok {
5433					return fmt.Errorf("expected RoleARN to be of type string, got %T instead", value)
5434				}
5435				sv.RoleARN = ptr.String(jtv)
5436			}
5437
5438		default:
5439			_, _ = key, value
5440
5441		}
5442	}
5443	*v = sv
5444	return nil
5445}
5446
5447func awsAwsjson11_deserializeDocumentLambdaOutputDescription(v **types.LambdaOutputDescription, value interface{}) error {
5448	if v == nil {
5449		return fmt.Errorf("unexpected nil of type %T", v)
5450	}
5451	if value == nil {
5452		return nil
5453	}
5454
5455	shape, ok := value.(map[string]interface{})
5456	if !ok {
5457		return fmt.Errorf("unexpected JSON type %v", value)
5458	}
5459
5460	var sv *types.LambdaOutputDescription
5461	if *v == nil {
5462		sv = &types.LambdaOutputDescription{}
5463	} else {
5464		sv = *v
5465	}
5466
5467	for key, value := range shape {
5468		switch key {
5469		case "ResourceARN":
5470			if value != nil {
5471				jtv, ok := value.(string)
5472				if !ok {
5473					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
5474				}
5475				sv.ResourceARN = ptr.String(jtv)
5476			}
5477
5478		case "RoleARN":
5479			if value != nil {
5480				jtv, ok := value.(string)
5481				if !ok {
5482					return fmt.Errorf("expected RoleARN to be of type string, got %T instead", value)
5483				}
5484				sv.RoleARN = ptr.String(jtv)
5485			}
5486
5487		default:
5488			_, _ = key, value
5489
5490		}
5491	}
5492	*v = sv
5493	return nil
5494}
5495
5496func awsAwsjson11_deserializeDocumentLimitExceededException(v **types.LimitExceededException, value interface{}) error {
5497	if v == nil {
5498		return fmt.Errorf("unexpected nil of type %T", v)
5499	}
5500	if value == nil {
5501		return nil
5502	}
5503
5504	shape, ok := value.(map[string]interface{})
5505	if !ok {
5506		return fmt.Errorf("unexpected JSON type %v", value)
5507	}
5508
5509	var sv *types.LimitExceededException
5510	if *v == nil {
5511		sv = &types.LimitExceededException{}
5512	} else {
5513		sv = *v
5514	}
5515
5516	for key, value := range shape {
5517		switch key {
5518		case "Message":
5519			if value != nil {
5520				jtv, ok := value.(string)
5521				if !ok {
5522					return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value)
5523				}
5524				sv.Message = ptr.String(jtv)
5525			}
5526
5527		default:
5528			_, _ = key, value
5529
5530		}
5531	}
5532	*v = sv
5533	return nil
5534}
5535
5536func awsAwsjson11_deserializeDocumentMappingParameters(v **types.MappingParameters, value interface{}) error {
5537	if v == nil {
5538		return fmt.Errorf("unexpected nil of type %T", v)
5539	}
5540	if value == nil {
5541		return nil
5542	}
5543
5544	shape, ok := value.(map[string]interface{})
5545	if !ok {
5546		return fmt.Errorf("unexpected JSON type %v", value)
5547	}
5548
5549	var sv *types.MappingParameters
5550	if *v == nil {
5551		sv = &types.MappingParameters{}
5552	} else {
5553		sv = *v
5554	}
5555
5556	for key, value := range shape {
5557		switch key {
5558		case "CSVMappingParameters":
5559			if err := awsAwsjson11_deserializeDocumentCSVMappingParameters(&sv.CSVMappingParameters, value); err != nil {
5560				return err
5561			}
5562
5563		case "JSONMappingParameters":
5564			if err := awsAwsjson11_deserializeDocumentJSONMappingParameters(&sv.JSONMappingParameters, value); err != nil {
5565				return err
5566			}
5567
5568		default:
5569			_, _ = key, value
5570
5571		}
5572	}
5573	*v = sv
5574	return nil
5575}
5576
5577func awsAwsjson11_deserializeDocumentMonitoringConfigurationDescription(v **types.MonitoringConfigurationDescription, value interface{}) error {
5578	if v == nil {
5579		return fmt.Errorf("unexpected nil of type %T", v)
5580	}
5581	if value == nil {
5582		return nil
5583	}
5584
5585	shape, ok := value.(map[string]interface{})
5586	if !ok {
5587		return fmt.Errorf("unexpected JSON type %v", value)
5588	}
5589
5590	var sv *types.MonitoringConfigurationDescription
5591	if *v == nil {
5592		sv = &types.MonitoringConfigurationDescription{}
5593	} else {
5594		sv = *v
5595	}
5596
5597	for key, value := range shape {
5598		switch key {
5599		case "ConfigurationType":
5600			if value != nil {
5601				jtv, ok := value.(string)
5602				if !ok {
5603					return fmt.Errorf("expected ConfigurationType to be of type string, got %T instead", value)
5604				}
5605				sv.ConfigurationType = types.ConfigurationType(jtv)
5606			}
5607
5608		case "LogLevel":
5609			if value != nil {
5610				jtv, ok := value.(string)
5611				if !ok {
5612					return fmt.Errorf("expected LogLevel to be of type string, got %T instead", value)
5613				}
5614				sv.LogLevel = types.LogLevel(jtv)
5615			}
5616
5617		case "MetricsLevel":
5618			if value != nil {
5619				jtv, ok := value.(string)
5620				if !ok {
5621					return fmt.Errorf("expected MetricsLevel to be of type string, got %T instead", value)
5622				}
5623				sv.MetricsLevel = types.MetricsLevel(jtv)
5624			}
5625
5626		default:
5627			_, _ = key, value
5628
5629		}
5630	}
5631	*v = sv
5632	return nil
5633}
5634
5635func awsAwsjson11_deserializeDocumentOutputDescription(v **types.OutputDescription, value interface{}) error {
5636	if v == nil {
5637		return fmt.Errorf("unexpected nil of type %T", v)
5638	}
5639	if value == nil {
5640		return nil
5641	}
5642
5643	shape, ok := value.(map[string]interface{})
5644	if !ok {
5645		return fmt.Errorf("unexpected JSON type %v", value)
5646	}
5647
5648	var sv *types.OutputDescription
5649	if *v == nil {
5650		sv = &types.OutputDescription{}
5651	} else {
5652		sv = *v
5653	}
5654
5655	for key, value := range shape {
5656		switch key {
5657		case "DestinationSchema":
5658			if err := awsAwsjson11_deserializeDocumentDestinationSchema(&sv.DestinationSchema, value); err != nil {
5659				return err
5660			}
5661
5662		case "KinesisFirehoseOutputDescription":
5663			if err := awsAwsjson11_deserializeDocumentKinesisFirehoseOutputDescription(&sv.KinesisFirehoseOutputDescription, value); err != nil {
5664				return err
5665			}
5666
5667		case "KinesisStreamsOutputDescription":
5668			if err := awsAwsjson11_deserializeDocumentKinesisStreamsOutputDescription(&sv.KinesisStreamsOutputDescription, value); err != nil {
5669				return err
5670			}
5671
5672		case "LambdaOutputDescription":
5673			if err := awsAwsjson11_deserializeDocumentLambdaOutputDescription(&sv.LambdaOutputDescription, value); err != nil {
5674				return err
5675			}
5676
5677		case "Name":
5678			if value != nil {
5679				jtv, ok := value.(string)
5680				if !ok {
5681					return fmt.Errorf("expected InAppStreamName to be of type string, got %T instead", value)
5682				}
5683				sv.Name = ptr.String(jtv)
5684			}
5685
5686		case "OutputId":
5687			if value != nil {
5688				jtv, ok := value.(string)
5689				if !ok {
5690					return fmt.Errorf("expected Id to be of type string, got %T instead", value)
5691				}
5692				sv.OutputId = ptr.String(jtv)
5693			}
5694
5695		default:
5696			_, _ = key, value
5697
5698		}
5699	}
5700	*v = sv
5701	return nil
5702}
5703
5704func awsAwsjson11_deserializeDocumentOutputDescriptions(v *[]types.OutputDescription, value interface{}) error {
5705	if v == nil {
5706		return fmt.Errorf("unexpected nil of type %T", v)
5707	}
5708	if value == nil {
5709		return nil
5710	}
5711
5712	shape, ok := value.([]interface{})
5713	if !ok {
5714		return fmt.Errorf("unexpected JSON type %v", value)
5715	}
5716
5717	var cv []types.OutputDescription
5718	if *v == nil {
5719		cv = []types.OutputDescription{}
5720	} else {
5721		cv = *v
5722	}
5723
5724	for _, value := range shape {
5725		var col types.OutputDescription
5726		destAddr := &col
5727		if err := awsAwsjson11_deserializeDocumentOutputDescription(&destAddr, value); err != nil {
5728			return err
5729		}
5730		col = *destAddr
5731		cv = append(cv, col)
5732
5733	}
5734	*v = cv
5735	return nil
5736}
5737
5738func awsAwsjson11_deserializeDocumentParallelismConfigurationDescription(v **types.ParallelismConfigurationDescription, value interface{}) error {
5739	if v == nil {
5740		return fmt.Errorf("unexpected nil of type %T", v)
5741	}
5742	if value == nil {
5743		return nil
5744	}
5745
5746	shape, ok := value.(map[string]interface{})
5747	if !ok {
5748		return fmt.Errorf("unexpected JSON type %v", value)
5749	}
5750
5751	var sv *types.ParallelismConfigurationDescription
5752	if *v == nil {
5753		sv = &types.ParallelismConfigurationDescription{}
5754	} else {
5755		sv = *v
5756	}
5757
5758	for key, value := range shape {
5759		switch key {
5760		case "AutoScalingEnabled":
5761			if value != nil {
5762				jtv, ok := value.(bool)
5763				if !ok {
5764					return fmt.Errorf("expected BooleanObject to be of type *bool, got %T instead", value)
5765				}
5766				sv.AutoScalingEnabled = ptr.Bool(jtv)
5767			}
5768
5769		case "ConfigurationType":
5770			if value != nil {
5771				jtv, ok := value.(string)
5772				if !ok {
5773					return fmt.Errorf("expected ConfigurationType to be of type string, got %T instead", value)
5774				}
5775				sv.ConfigurationType = types.ConfigurationType(jtv)
5776			}
5777
5778		case "CurrentParallelism":
5779			if value != nil {
5780				jtv, ok := value.(json.Number)
5781				if !ok {
5782					return fmt.Errorf("expected Parallelism to be json.Number, got %T instead", value)
5783				}
5784				i64, err := jtv.Int64()
5785				if err != nil {
5786					return err
5787				}
5788				sv.CurrentParallelism = ptr.Int32(int32(i64))
5789			}
5790
5791		case "Parallelism":
5792			if value != nil {
5793				jtv, ok := value.(json.Number)
5794				if !ok {
5795					return fmt.Errorf("expected Parallelism to be json.Number, got %T instead", value)
5796				}
5797				i64, err := jtv.Int64()
5798				if err != nil {
5799					return err
5800				}
5801				sv.Parallelism = ptr.Int32(int32(i64))
5802			}
5803
5804		case "ParallelismPerKPU":
5805			if value != nil {
5806				jtv, ok := value.(json.Number)
5807				if !ok {
5808					return fmt.Errorf("expected ParallelismPerKPU to be json.Number, got %T instead", value)
5809				}
5810				i64, err := jtv.Int64()
5811				if err != nil {
5812					return err
5813				}
5814				sv.ParallelismPerKPU = ptr.Int32(int32(i64))
5815			}
5816
5817		default:
5818			_, _ = key, value
5819
5820		}
5821	}
5822	*v = sv
5823	return nil
5824}
5825
5826func awsAwsjson11_deserializeDocumentParsedInputRecord(v *[]string, value interface{}) error {
5827	if v == nil {
5828		return fmt.Errorf("unexpected nil of type %T", v)
5829	}
5830	if value == nil {
5831		return nil
5832	}
5833
5834	shape, ok := value.([]interface{})
5835	if !ok {
5836		return fmt.Errorf("unexpected JSON type %v", value)
5837	}
5838
5839	var cv []string
5840	if *v == nil {
5841		cv = []string{}
5842	} else {
5843		cv = *v
5844	}
5845
5846	for _, value := range shape {
5847		var col string
5848		if value != nil {
5849			jtv, ok := value.(string)
5850			if !ok {
5851				return fmt.Errorf("expected ParsedInputRecordField to be of type string, got %T instead", value)
5852			}
5853			col = jtv
5854		}
5855		cv = append(cv, col)
5856
5857	}
5858	*v = cv
5859	return nil
5860}
5861
5862func awsAwsjson11_deserializeDocumentParsedInputRecords(v *[][]string, value interface{}) error {
5863	if v == nil {
5864		return fmt.Errorf("unexpected nil of type %T", v)
5865	}
5866	if value == nil {
5867		return nil
5868	}
5869
5870	shape, ok := value.([]interface{})
5871	if !ok {
5872		return fmt.Errorf("unexpected JSON type %v", value)
5873	}
5874
5875	var cv [][]string
5876	if *v == nil {
5877		cv = [][]string{}
5878	} else {
5879		cv = *v
5880	}
5881
5882	for _, value := range shape {
5883		var col []string
5884		if err := awsAwsjson11_deserializeDocumentParsedInputRecord(&col, value); err != nil {
5885			return err
5886		}
5887		cv = append(cv, col)
5888
5889	}
5890	*v = cv
5891	return nil
5892}
5893
5894func awsAwsjson11_deserializeDocumentProcessedInputRecords(v *[]string, value interface{}) error {
5895	if v == nil {
5896		return fmt.Errorf("unexpected nil of type %T", v)
5897	}
5898	if value == nil {
5899		return nil
5900	}
5901
5902	shape, ok := value.([]interface{})
5903	if !ok {
5904		return fmt.Errorf("unexpected JSON type %v", value)
5905	}
5906
5907	var cv []string
5908	if *v == nil {
5909		cv = []string{}
5910	} else {
5911		cv = *v
5912	}
5913
5914	for _, value := range shape {
5915		var col string
5916		if value != nil {
5917			jtv, ok := value.(string)
5918			if !ok {
5919				return fmt.Errorf("expected ProcessedInputRecord to be of type string, got %T instead", value)
5920			}
5921			col = jtv
5922		}
5923		cv = append(cv, col)
5924
5925	}
5926	*v = cv
5927	return nil
5928}
5929
5930func awsAwsjson11_deserializeDocumentPropertyGroup(v **types.PropertyGroup, value interface{}) error {
5931	if v == nil {
5932		return fmt.Errorf("unexpected nil of type %T", v)
5933	}
5934	if value == nil {
5935		return nil
5936	}
5937
5938	shape, ok := value.(map[string]interface{})
5939	if !ok {
5940		return fmt.Errorf("unexpected JSON type %v", value)
5941	}
5942
5943	var sv *types.PropertyGroup
5944	if *v == nil {
5945		sv = &types.PropertyGroup{}
5946	} else {
5947		sv = *v
5948	}
5949
5950	for key, value := range shape {
5951		switch key {
5952		case "PropertyGroupId":
5953			if value != nil {
5954				jtv, ok := value.(string)
5955				if !ok {
5956					return fmt.Errorf("expected Id to be of type string, got %T instead", value)
5957				}
5958				sv.PropertyGroupId = ptr.String(jtv)
5959			}
5960
5961		case "PropertyMap":
5962			if err := awsAwsjson11_deserializeDocumentPropertyMap(&sv.PropertyMap, value); err != nil {
5963				return err
5964			}
5965
5966		default:
5967			_, _ = key, value
5968
5969		}
5970	}
5971	*v = sv
5972	return nil
5973}
5974
5975func awsAwsjson11_deserializeDocumentPropertyGroups(v *[]types.PropertyGroup, value interface{}) error {
5976	if v == nil {
5977		return fmt.Errorf("unexpected nil of type %T", v)
5978	}
5979	if value == nil {
5980		return nil
5981	}
5982
5983	shape, ok := value.([]interface{})
5984	if !ok {
5985		return fmt.Errorf("unexpected JSON type %v", value)
5986	}
5987
5988	var cv []types.PropertyGroup
5989	if *v == nil {
5990		cv = []types.PropertyGroup{}
5991	} else {
5992		cv = *v
5993	}
5994
5995	for _, value := range shape {
5996		var col types.PropertyGroup
5997		destAddr := &col
5998		if err := awsAwsjson11_deserializeDocumentPropertyGroup(&destAddr, value); err != nil {
5999			return err
6000		}
6001		col = *destAddr
6002		cv = append(cv, col)
6003
6004	}
6005	*v = cv
6006	return nil
6007}
6008
6009func awsAwsjson11_deserializeDocumentPropertyMap(v *map[string]string, value interface{}) error {
6010	if v == nil {
6011		return fmt.Errorf("unexpected nil of type %T", v)
6012	}
6013	if value == nil {
6014		return nil
6015	}
6016
6017	shape, ok := value.(map[string]interface{})
6018	if !ok {
6019		return fmt.Errorf("unexpected JSON type %v", value)
6020	}
6021
6022	var mv map[string]string
6023	if *v == nil {
6024		mv = map[string]string{}
6025	} else {
6026		mv = *v
6027	}
6028
6029	for key, value := range shape {
6030		var parsedVal string
6031		if value != nil {
6032			jtv, ok := value.(string)
6033			if !ok {
6034				return fmt.Errorf("expected PropertyValue to be of type string, got %T instead", value)
6035			}
6036			parsedVal = jtv
6037		}
6038		mv[key] = parsedVal
6039
6040	}
6041	*v = mv
6042	return nil
6043}
6044
6045func awsAwsjson11_deserializeDocumentRawInputRecords(v *[]string, value interface{}) error {
6046	if v == nil {
6047		return fmt.Errorf("unexpected nil of type %T", v)
6048	}
6049	if value == nil {
6050		return nil
6051	}
6052
6053	shape, ok := value.([]interface{})
6054	if !ok {
6055		return fmt.Errorf("unexpected JSON type %v", value)
6056	}
6057
6058	var cv []string
6059	if *v == nil {
6060		cv = []string{}
6061	} else {
6062		cv = *v
6063	}
6064
6065	for _, value := range shape {
6066		var col string
6067		if value != nil {
6068			jtv, ok := value.(string)
6069			if !ok {
6070				return fmt.Errorf("expected RawInputRecord to be of type string, got %T instead", value)
6071			}
6072			col = jtv
6073		}
6074		cv = append(cv, col)
6075
6076	}
6077	*v = cv
6078	return nil
6079}
6080
6081func awsAwsjson11_deserializeDocumentRecordColumn(v **types.RecordColumn, value interface{}) error {
6082	if v == nil {
6083		return fmt.Errorf("unexpected nil of type %T", v)
6084	}
6085	if value == nil {
6086		return nil
6087	}
6088
6089	shape, ok := value.(map[string]interface{})
6090	if !ok {
6091		return fmt.Errorf("unexpected JSON type %v", value)
6092	}
6093
6094	var sv *types.RecordColumn
6095	if *v == nil {
6096		sv = &types.RecordColumn{}
6097	} else {
6098		sv = *v
6099	}
6100
6101	for key, value := range shape {
6102		switch key {
6103		case "Mapping":
6104			if value != nil {
6105				jtv, ok := value.(string)
6106				if !ok {
6107					return fmt.Errorf("expected RecordColumnMapping to be of type string, got %T instead", value)
6108				}
6109				sv.Mapping = ptr.String(jtv)
6110			}
6111
6112		case "Name":
6113			if value != nil {
6114				jtv, ok := value.(string)
6115				if !ok {
6116					return fmt.Errorf("expected RecordColumnName to be of type string, got %T instead", value)
6117				}
6118				sv.Name = ptr.String(jtv)
6119			}
6120
6121		case "SqlType":
6122			if value != nil {
6123				jtv, ok := value.(string)
6124				if !ok {
6125					return fmt.Errorf("expected RecordColumnSqlType to be of type string, got %T instead", value)
6126				}
6127				sv.SqlType = ptr.String(jtv)
6128			}
6129
6130		default:
6131			_, _ = key, value
6132
6133		}
6134	}
6135	*v = sv
6136	return nil
6137}
6138
6139func awsAwsjson11_deserializeDocumentRecordColumns(v *[]types.RecordColumn, value interface{}) error {
6140	if v == nil {
6141		return fmt.Errorf("unexpected nil of type %T", v)
6142	}
6143	if value == nil {
6144		return nil
6145	}
6146
6147	shape, ok := value.([]interface{})
6148	if !ok {
6149		return fmt.Errorf("unexpected JSON type %v", value)
6150	}
6151
6152	var cv []types.RecordColumn
6153	if *v == nil {
6154		cv = []types.RecordColumn{}
6155	} else {
6156		cv = *v
6157	}
6158
6159	for _, value := range shape {
6160		var col types.RecordColumn
6161		destAddr := &col
6162		if err := awsAwsjson11_deserializeDocumentRecordColumn(&destAddr, value); err != nil {
6163			return err
6164		}
6165		col = *destAddr
6166		cv = append(cv, col)
6167
6168	}
6169	*v = cv
6170	return nil
6171}
6172
6173func awsAwsjson11_deserializeDocumentRecordFormat(v **types.RecordFormat, value interface{}) error {
6174	if v == nil {
6175		return fmt.Errorf("unexpected nil of type %T", v)
6176	}
6177	if value == nil {
6178		return nil
6179	}
6180
6181	shape, ok := value.(map[string]interface{})
6182	if !ok {
6183		return fmt.Errorf("unexpected JSON type %v", value)
6184	}
6185
6186	var sv *types.RecordFormat
6187	if *v == nil {
6188		sv = &types.RecordFormat{}
6189	} else {
6190		sv = *v
6191	}
6192
6193	for key, value := range shape {
6194		switch key {
6195		case "MappingParameters":
6196			if err := awsAwsjson11_deserializeDocumentMappingParameters(&sv.MappingParameters, value); err != nil {
6197				return err
6198			}
6199
6200		case "RecordFormatType":
6201			if value != nil {
6202				jtv, ok := value.(string)
6203				if !ok {
6204					return fmt.Errorf("expected RecordFormatType to be of type string, got %T instead", value)
6205				}
6206				sv.RecordFormatType = types.RecordFormatType(jtv)
6207			}
6208
6209		default:
6210			_, _ = key, value
6211
6212		}
6213	}
6214	*v = sv
6215	return nil
6216}
6217
6218func awsAwsjson11_deserializeDocumentReferenceDataSourceDescription(v **types.ReferenceDataSourceDescription, value interface{}) error {
6219	if v == nil {
6220		return fmt.Errorf("unexpected nil of type %T", v)
6221	}
6222	if value == nil {
6223		return nil
6224	}
6225
6226	shape, ok := value.(map[string]interface{})
6227	if !ok {
6228		return fmt.Errorf("unexpected JSON type %v", value)
6229	}
6230
6231	var sv *types.ReferenceDataSourceDescription
6232	if *v == nil {
6233		sv = &types.ReferenceDataSourceDescription{}
6234	} else {
6235		sv = *v
6236	}
6237
6238	for key, value := range shape {
6239		switch key {
6240		case "ReferenceId":
6241			if value != nil {
6242				jtv, ok := value.(string)
6243				if !ok {
6244					return fmt.Errorf("expected Id to be of type string, got %T instead", value)
6245				}
6246				sv.ReferenceId = ptr.String(jtv)
6247			}
6248
6249		case "ReferenceSchema":
6250			if err := awsAwsjson11_deserializeDocumentSourceSchema(&sv.ReferenceSchema, value); err != nil {
6251				return err
6252			}
6253
6254		case "S3ReferenceDataSourceDescription":
6255			if err := awsAwsjson11_deserializeDocumentS3ReferenceDataSourceDescription(&sv.S3ReferenceDataSourceDescription, value); err != nil {
6256				return err
6257			}
6258
6259		case "TableName":
6260			if value != nil {
6261				jtv, ok := value.(string)
6262				if !ok {
6263					return fmt.Errorf("expected InAppTableName to be of type string, got %T instead", value)
6264				}
6265				sv.TableName = ptr.String(jtv)
6266			}
6267
6268		default:
6269			_, _ = key, value
6270
6271		}
6272	}
6273	*v = sv
6274	return nil
6275}
6276
6277func awsAwsjson11_deserializeDocumentReferenceDataSourceDescriptions(v *[]types.ReferenceDataSourceDescription, value interface{}) error {
6278	if v == nil {
6279		return fmt.Errorf("unexpected nil of type %T", v)
6280	}
6281	if value == nil {
6282		return nil
6283	}
6284
6285	shape, ok := value.([]interface{})
6286	if !ok {
6287		return fmt.Errorf("unexpected JSON type %v", value)
6288	}
6289
6290	var cv []types.ReferenceDataSourceDescription
6291	if *v == nil {
6292		cv = []types.ReferenceDataSourceDescription{}
6293	} else {
6294		cv = *v
6295	}
6296
6297	for _, value := range shape {
6298		var col types.ReferenceDataSourceDescription
6299		destAddr := &col
6300		if err := awsAwsjson11_deserializeDocumentReferenceDataSourceDescription(&destAddr, value); err != nil {
6301			return err
6302		}
6303		col = *destAddr
6304		cv = append(cv, col)
6305
6306	}
6307	*v = cv
6308	return nil
6309}
6310
6311func awsAwsjson11_deserializeDocumentResourceInUseException(v **types.ResourceInUseException, value interface{}) error {
6312	if v == nil {
6313		return fmt.Errorf("unexpected nil of type %T", v)
6314	}
6315	if value == nil {
6316		return nil
6317	}
6318
6319	shape, ok := value.(map[string]interface{})
6320	if !ok {
6321		return fmt.Errorf("unexpected JSON type %v", value)
6322	}
6323
6324	var sv *types.ResourceInUseException
6325	if *v == nil {
6326		sv = &types.ResourceInUseException{}
6327	} else {
6328		sv = *v
6329	}
6330
6331	for key, value := range shape {
6332		switch key {
6333		case "Message":
6334			if value != nil {
6335				jtv, ok := value.(string)
6336				if !ok {
6337					return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value)
6338				}
6339				sv.Message = ptr.String(jtv)
6340			}
6341
6342		default:
6343			_, _ = key, value
6344
6345		}
6346	}
6347	*v = sv
6348	return nil
6349}
6350
6351func awsAwsjson11_deserializeDocumentResourceNotFoundException(v **types.ResourceNotFoundException, value interface{}) error {
6352	if v == nil {
6353		return fmt.Errorf("unexpected nil of type %T", v)
6354	}
6355	if value == nil {
6356		return nil
6357	}
6358
6359	shape, ok := value.(map[string]interface{})
6360	if !ok {
6361		return fmt.Errorf("unexpected JSON type %v", value)
6362	}
6363
6364	var sv *types.ResourceNotFoundException
6365	if *v == nil {
6366		sv = &types.ResourceNotFoundException{}
6367	} else {
6368		sv = *v
6369	}
6370
6371	for key, value := range shape {
6372		switch key {
6373		case "Message":
6374			if value != nil {
6375				jtv, ok := value.(string)
6376				if !ok {
6377					return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value)
6378				}
6379				sv.Message = ptr.String(jtv)
6380			}
6381
6382		default:
6383			_, _ = key, value
6384
6385		}
6386	}
6387	*v = sv
6388	return nil
6389}
6390
6391func awsAwsjson11_deserializeDocumentResourceProvisionedThroughputExceededException(v **types.ResourceProvisionedThroughputExceededException, value interface{}) error {
6392	if v == nil {
6393		return fmt.Errorf("unexpected nil of type %T", v)
6394	}
6395	if value == nil {
6396		return nil
6397	}
6398
6399	shape, ok := value.(map[string]interface{})
6400	if !ok {
6401		return fmt.Errorf("unexpected JSON type %v", value)
6402	}
6403
6404	var sv *types.ResourceProvisionedThroughputExceededException
6405	if *v == nil {
6406		sv = &types.ResourceProvisionedThroughputExceededException{}
6407	} else {
6408		sv = *v
6409	}
6410
6411	for key, value := range shape {
6412		switch key {
6413		case "Message":
6414			if value != nil {
6415				jtv, ok := value.(string)
6416				if !ok {
6417					return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value)
6418				}
6419				sv.Message = ptr.String(jtv)
6420			}
6421
6422		default:
6423			_, _ = key, value
6424
6425		}
6426	}
6427	*v = sv
6428	return nil
6429}
6430
6431func awsAwsjson11_deserializeDocumentRunConfigurationDescription(v **types.RunConfigurationDescription, value interface{}) error {
6432	if v == nil {
6433		return fmt.Errorf("unexpected nil of type %T", v)
6434	}
6435	if value == nil {
6436		return nil
6437	}
6438
6439	shape, ok := value.(map[string]interface{})
6440	if !ok {
6441		return fmt.Errorf("unexpected JSON type %v", value)
6442	}
6443
6444	var sv *types.RunConfigurationDescription
6445	if *v == nil {
6446		sv = &types.RunConfigurationDescription{}
6447	} else {
6448		sv = *v
6449	}
6450
6451	for key, value := range shape {
6452		switch key {
6453		case "ApplicationRestoreConfigurationDescription":
6454			if err := awsAwsjson11_deserializeDocumentApplicationRestoreConfiguration(&sv.ApplicationRestoreConfigurationDescription, value); err != nil {
6455				return err
6456			}
6457
6458		case "FlinkRunConfigurationDescription":
6459			if err := awsAwsjson11_deserializeDocumentFlinkRunConfiguration(&sv.FlinkRunConfigurationDescription, value); err != nil {
6460				return err
6461			}
6462
6463		default:
6464			_, _ = key, value
6465
6466		}
6467	}
6468	*v = sv
6469	return nil
6470}
6471
6472func awsAwsjson11_deserializeDocumentS3ApplicationCodeLocationDescription(v **types.S3ApplicationCodeLocationDescription, value interface{}) error {
6473	if v == nil {
6474		return fmt.Errorf("unexpected nil of type %T", v)
6475	}
6476	if value == nil {
6477		return nil
6478	}
6479
6480	shape, ok := value.(map[string]interface{})
6481	if !ok {
6482		return fmt.Errorf("unexpected JSON type %v", value)
6483	}
6484
6485	var sv *types.S3ApplicationCodeLocationDescription
6486	if *v == nil {
6487		sv = &types.S3ApplicationCodeLocationDescription{}
6488	} else {
6489		sv = *v
6490	}
6491
6492	for key, value := range shape {
6493		switch key {
6494		case "BucketARN":
6495			if value != nil {
6496				jtv, ok := value.(string)
6497				if !ok {
6498					return fmt.Errorf("expected BucketARN to be of type string, got %T instead", value)
6499				}
6500				sv.BucketARN = ptr.String(jtv)
6501			}
6502
6503		case "FileKey":
6504			if value != nil {
6505				jtv, ok := value.(string)
6506				if !ok {
6507					return fmt.Errorf("expected FileKey to be of type string, got %T instead", value)
6508				}
6509				sv.FileKey = ptr.String(jtv)
6510			}
6511
6512		case "ObjectVersion":
6513			if value != nil {
6514				jtv, ok := value.(string)
6515				if !ok {
6516					return fmt.Errorf("expected ObjectVersion to be of type string, got %T instead", value)
6517				}
6518				sv.ObjectVersion = ptr.String(jtv)
6519			}
6520
6521		default:
6522			_, _ = key, value
6523
6524		}
6525	}
6526	*v = sv
6527	return nil
6528}
6529
6530func awsAwsjson11_deserializeDocumentS3ReferenceDataSourceDescription(v **types.S3ReferenceDataSourceDescription, value interface{}) error {
6531	if v == nil {
6532		return fmt.Errorf("unexpected nil of type %T", v)
6533	}
6534	if value == nil {
6535		return nil
6536	}
6537
6538	shape, ok := value.(map[string]interface{})
6539	if !ok {
6540		return fmt.Errorf("unexpected JSON type %v", value)
6541	}
6542
6543	var sv *types.S3ReferenceDataSourceDescription
6544	if *v == nil {
6545		sv = &types.S3ReferenceDataSourceDescription{}
6546	} else {
6547		sv = *v
6548	}
6549
6550	for key, value := range shape {
6551		switch key {
6552		case "BucketARN":
6553			if value != nil {
6554				jtv, ok := value.(string)
6555				if !ok {
6556					return fmt.Errorf("expected BucketARN to be of type string, got %T instead", value)
6557				}
6558				sv.BucketARN = ptr.String(jtv)
6559			}
6560
6561		case "FileKey":
6562			if value != nil {
6563				jtv, ok := value.(string)
6564				if !ok {
6565					return fmt.Errorf("expected FileKey to be of type string, got %T instead", value)
6566				}
6567				sv.FileKey = ptr.String(jtv)
6568			}
6569
6570		case "ReferenceRoleARN":
6571			if value != nil {
6572				jtv, ok := value.(string)
6573				if !ok {
6574					return fmt.Errorf("expected RoleARN to be of type string, got %T instead", value)
6575				}
6576				sv.ReferenceRoleARN = ptr.String(jtv)
6577			}
6578
6579		default:
6580			_, _ = key, value
6581
6582		}
6583	}
6584	*v = sv
6585	return nil
6586}
6587
6588func awsAwsjson11_deserializeDocumentSecurityGroupIds(v *[]string, value interface{}) error {
6589	if v == nil {
6590		return fmt.Errorf("unexpected nil of type %T", v)
6591	}
6592	if value == nil {
6593		return nil
6594	}
6595
6596	shape, ok := value.([]interface{})
6597	if !ok {
6598		return fmt.Errorf("unexpected JSON type %v", value)
6599	}
6600
6601	var cv []string
6602	if *v == nil {
6603		cv = []string{}
6604	} else {
6605		cv = *v
6606	}
6607
6608	for _, value := range shape {
6609		var col string
6610		if value != nil {
6611			jtv, ok := value.(string)
6612			if !ok {
6613				return fmt.Errorf("expected SecurityGroupId to be of type string, got %T instead", value)
6614			}
6615			col = jtv
6616		}
6617		cv = append(cv, col)
6618
6619	}
6620	*v = cv
6621	return nil
6622}
6623
6624func awsAwsjson11_deserializeDocumentServiceUnavailableException(v **types.ServiceUnavailableException, value interface{}) error {
6625	if v == nil {
6626		return fmt.Errorf("unexpected nil of type %T", v)
6627	}
6628	if value == nil {
6629		return nil
6630	}
6631
6632	shape, ok := value.(map[string]interface{})
6633	if !ok {
6634		return fmt.Errorf("unexpected JSON type %v", value)
6635	}
6636
6637	var sv *types.ServiceUnavailableException
6638	if *v == nil {
6639		sv = &types.ServiceUnavailableException{}
6640	} else {
6641		sv = *v
6642	}
6643
6644	for key, value := range shape {
6645		switch key {
6646		case "Message":
6647			if value != nil {
6648				jtv, ok := value.(string)
6649				if !ok {
6650					return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value)
6651				}
6652				sv.Message = ptr.String(jtv)
6653			}
6654
6655		default:
6656			_, _ = key, value
6657
6658		}
6659	}
6660	*v = sv
6661	return nil
6662}
6663
6664func awsAwsjson11_deserializeDocumentSnapshotDetails(v **types.SnapshotDetails, value interface{}) error {
6665	if v == nil {
6666		return fmt.Errorf("unexpected nil of type %T", v)
6667	}
6668	if value == nil {
6669		return nil
6670	}
6671
6672	shape, ok := value.(map[string]interface{})
6673	if !ok {
6674		return fmt.Errorf("unexpected JSON type %v", value)
6675	}
6676
6677	var sv *types.SnapshotDetails
6678	if *v == nil {
6679		sv = &types.SnapshotDetails{}
6680	} else {
6681		sv = *v
6682	}
6683
6684	for key, value := range shape {
6685		switch key {
6686		case "ApplicationVersionId":
6687			if value != nil {
6688				jtv, ok := value.(json.Number)
6689				if !ok {
6690					return fmt.Errorf("expected ApplicationVersionId to be json.Number, got %T instead", value)
6691				}
6692				i64, err := jtv.Int64()
6693				if err != nil {
6694					return err
6695				}
6696				sv.ApplicationVersionId = ptr.Int64(i64)
6697			}
6698
6699		case "SnapshotCreationTimestamp":
6700			if value != nil {
6701				jtv, ok := value.(json.Number)
6702				if !ok {
6703					return fmt.Errorf("expected Timestamp to be json.Number, got %T instead", value)
6704				}
6705				f64, err := jtv.Float64()
6706				if err != nil {
6707					return err
6708				}
6709				sv.SnapshotCreationTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64))
6710			}
6711
6712		case "SnapshotName":
6713			if value != nil {
6714				jtv, ok := value.(string)
6715				if !ok {
6716					return fmt.Errorf("expected SnapshotName to be of type string, got %T instead", value)
6717				}
6718				sv.SnapshotName = ptr.String(jtv)
6719			}
6720
6721		case "SnapshotStatus":
6722			if value != nil {
6723				jtv, ok := value.(string)
6724				if !ok {
6725					return fmt.Errorf("expected SnapshotStatus to be of type string, got %T instead", value)
6726				}
6727				sv.SnapshotStatus = types.SnapshotStatus(jtv)
6728			}
6729
6730		default:
6731			_, _ = key, value
6732
6733		}
6734	}
6735	*v = sv
6736	return nil
6737}
6738
6739func awsAwsjson11_deserializeDocumentSnapshotSummaries(v *[]types.SnapshotDetails, value interface{}) error {
6740	if v == nil {
6741		return fmt.Errorf("unexpected nil of type %T", v)
6742	}
6743	if value == nil {
6744		return nil
6745	}
6746
6747	shape, ok := value.([]interface{})
6748	if !ok {
6749		return fmt.Errorf("unexpected JSON type %v", value)
6750	}
6751
6752	var cv []types.SnapshotDetails
6753	if *v == nil {
6754		cv = []types.SnapshotDetails{}
6755	} else {
6756		cv = *v
6757	}
6758
6759	for _, value := range shape {
6760		var col types.SnapshotDetails
6761		destAddr := &col
6762		if err := awsAwsjson11_deserializeDocumentSnapshotDetails(&destAddr, value); err != nil {
6763			return err
6764		}
6765		col = *destAddr
6766		cv = append(cv, col)
6767
6768	}
6769	*v = cv
6770	return nil
6771}
6772
6773func awsAwsjson11_deserializeDocumentSourceSchema(v **types.SourceSchema, value interface{}) error {
6774	if v == nil {
6775		return fmt.Errorf("unexpected nil of type %T", v)
6776	}
6777	if value == nil {
6778		return nil
6779	}
6780
6781	shape, ok := value.(map[string]interface{})
6782	if !ok {
6783		return fmt.Errorf("unexpected JSON type %v", value)
6784	}
6785
6786	var sv *types.SourceSchema
6787	if *v == nil {
6788		sv = &types.SourceSchema{}
6789	} else {
6790		sv = *v
6791	}
6792
6793	for key, value := range shape {
6794		switch key {
6795		case "RecordColumns":
6796			if err := awsAwsjson11_deserializeDocumentRecordColumns(&sv.RecordColumns, value); err != nil {
6797				return err
6798			}
6799
6800		case "RecordEncoding":
6801			if value != nil {
6802				jtv, ok := value.(string)
6803				if !ok {
6804					return fmt.Errorf("expected RecordEncoding to be of type string, got %T instead", value)
6805				}
6806				sv.RecordEncoding = ptr.String(jtv)
6807			}
6808
6809		case "RecordFormat":
6810			if err := awsAwsjson11_deserializeDocumentRecordFormat(&sv.RecordFormat, value); err != nil {
6811				return err
6812			}
6813
6814		default:
6815			_, _ = key, value
6816
6817		}
6818	}
6819	*v = sv
6820	return nil
6821}
6822
6823func awsAwsjson11_deserializeDocumentSqlApplicationConfigurationDescription(v **types.SqlApplicationConfigurationDescription, value interface{}) error {
6824	if v == nil {
6825		return fmt.Errorf("unexpected nil of type %T", v)
6826	}
6827	if value == nil {
6828		return nil
6829	}
6830
6831	shape, ok := value.(map[string]interface{})
6832	if !ok {
6833		return fmt.Errorf("unexpected JSON type %v", value)
6834	}
6835
6836	var sv *types.SqlApplicationConfigurationDescription
6837	if *v == nil {
6838		sv = &types.SqlApplicationConfigurationDescription{}
6839	} else {
6840		sv = *v
6841	}
6842
6843	for key, value := range shape {
6844		switch key {
6845		case "InputDescriptions":
6846			if err := awsAwsjson11_deserializeDocumentInputDescriptions(&sv.InputDescriptions, value); err != nil {
6847				return err
6848			}
6849
6850		case "OutputDescriptions":
6851			if err := awsAwsjson11_deserializeDocumentOutputDescriptions(&sv.OutputDescriptions, value); err != nil {
6852				return err
6853			}
6854
6855		case "ReferenceDataSourceDescriptions":
6856			if err := awsAwsjson11_deserializeDocumentReferenceDataSourceDescriptions(&sv.ReferenceDataSourceDescriptions, value); err != nil {
6857				return err
6858			}
6859
6860		default:
6861			_, _ = key, value
6862
6863		}
6864	}
6865	*v = sv
6866	return nil
6867}
6868
6869func awsAwsjson11_deserializeDocumentSubnetIds(v *[]string, value interface{}) error {
6870	if v == nil {
6871		return fmt.Errorf("unexpected nil of type %T", v)
6872	}
6873	if value == nil {
6874		return nil
6875	}
6876
6877	shape, ok := value.([]interface{})
6878	if !ok {
6879		return fmt.Errorf("unexpected JSON type %v", value)
6880	}
6881
6882	var cv []string
6883	if *v == nil {
6884		cv = []string{}
6885	} else {
6886		cv = *v
6887	}
6888
6889	for _, value := range shape {
6890		var col string
6891		if value != nil {
6892			jtv, ok := value.(string)
6893			if !ok {
6894				return fmt.Errorf("expected SubnetId to be of type string, got %T instead", value)
6895			}
6896			col = jtv
6897		}
6898		cv = append(cv, col)
6899
6900	}
6901	*v = cv
6902	return nil
6903}
6904
6905func awsAwsjson11_deserializeDocumentTag(v **types.Tag, value interface{}) error {
6906	if v == nil {
6907		return fmt.Errorf("unexpected nil of type %T", v)
6908	}
6909	if value == nil {
6910		return nil
6911	}
6912
6913	shape, ok := value.(map[string]interface{})
6914	if !ok {
6915		return fmt.Errorf("unexpected JSON type %v", value)
6916	}
6917
6918	var sv *types.Tag
6919	if *v == nil {
6920		sv = &types.Tag{}
6921	} else {
6922		sv = *v
6923	}
6924
6925	for key, value := range shape {
6926		switch key {
6927		case "Key":
6928			if value != nil {
6929				jtv, ok := value.(string)
6930				if !ok {
6931					return fmt.Errorf("expected TagKey to be of type string, got %T instead", value)
6932				}
6933				sv.Key = ptr.String(jtv)
6934			}
6935
6936		case "Value":
6937			if value != nil {
6938				jtv, ok := value.(string)
6939				if !ok {
6940					return fmt.Errorf("expected TagValue to be of type string, got %T instead", value)
6941				}
6942				sv.Value = ptr.String(jtv)
6943			}
6944
6945		default:
6946			_, _ = key, value
6947
6948		}
6949	}
6950	*v = sv
6951	return nil
6952}
6953
6954func awsAwsjson11_deserializeDocumentTags(v *[]types.Tag, value interface{}) error {
6955	if v == nil {
6956		return fmt.Errorf("unexpected nil of type %T", v)
6957	}
6958	if value == nil {
6959		return nil
6960	}
6961
6962	shape, ok := value.([]interface{})
6963	if !ok {
6964		return fmt.Errorf("unexpected JSON type %v", value)
6965	}
6966
6967	var cv []types.Tag
6968	if *v == nil {
6969		cv = []types.Tag{}
6970	} else {
6971		cv = *v
6972	}
6973
6974	for _, value := range shape {
6975		var col types.Tag
6976		destAddr := &col
6977		if err := awsAwsjson11_deserializeDocumentTag(&destAddr, value); err != nil {
6978			return err
6979		}
6980		col = *destAddr
6981		cv = append(cv, col)
6982
6983	}
6984	*v = cv
6985	return nil
6986}
6987
6988func awsAwsjson11_deserializeDocumentTooManyTagsException(v **types.TooManyTagsException, value interface{}) error {
6989	if v == nil {
6990		return fmt.Errorf("unexpected nil of type %T", v)
6991	}
6992	if value == nil {
6993		return nil
6994	}
6995
6996	shape, ok := value.(map[string]interface{})
6997	if !ok {
6998		return fmt.Errorf("unexpected JSON type %v", value)
6999	}
7000
7001	var sv *types.TooManyTagsException
7002	if *v == nil {
7003		sv = &types.TooManyTagsException{}
7004	} else {
7005		sv = *v
7006	}
7007
7008	for key, value := range shape {
7009		switch key {
7010		case "message":
7011			if value != nil {
7012				jtv, ok := value.(string)
7013				if !ok {
7014					return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value)
7015				}
7016				sv.Message = ptr.String(jtv)
7017			}
7018
7019		default:
7020			_, _ = key, value
7021
7022		}
7023	}
7024	*v = sv
7025	return nil
7026}
7027
7028func awsAwsjson11_deserializeDocumentUnableToDetectSchemaException(v **types.UnableToDetectSchemaException, value interface{}) error {
7029	if v == nil {
7030		return fmt.Errorf("unexpected nil of type %T", v)
7031	}
7032	if value == nil {
7033		return nil
7034	}
7035
7036	shape, ok := value.(map[string]interface{})
7037	if !ok {
7038		return fmt.Errorf("unexpected JSON type %v", value)
7039	}
7040
7041	var sv *types.UnableToDetectSchemaException
7042	if *v == nil {
7043		sv = &types.UnableToDetectSchemaException{}
7044	} else {
7045		sv = *v
7046	}
7047
7048	for key, value := range shape {
7049		switch key {
7050		case "Message":
7051			if value != nil {
7052				jtv, ok := value.(string)
7053				if !ok {
7054					return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value)
7055				}
7056				sv.Message = ptr.String(jtv)
7057			}
7058
7059		case "ProcessedInputRecords":
7060			if err := awsAwsjson11_deserializeDocumentProcessedInputRecords(&sv.ProcessedInputRecords, value); err != nil {
7061				return err
7062			}
7063
7064		case "RawInputRecords":
7065			if err := awsAwsjson11_deserializeDocumentRawInputRecords(&sv.RawInputRecords, value); err != nil {
7066				return err
7067			}
7068
7069		default:
7070			_, _ = key, value
7071
7072		}
7073	}
7074	*v = sv
7075	return nil
7076}
7077
7078func awsAwsjson11_deserializeDocumentUnsupportedOperationException(v **types.UnsupportedOperationException, value interface{}) error {
7079	if v == nil {
7080		return fmt.Errorf("unexpected nil of type %T", v)
7081	}
7082	if value == nil {
7083		return nil
7084	}
7085
7086	shape, ok := value.(map[string]interface{})
7087	if !ok {
7088		return fmt.Errorf("unexpected JSON type %v", value)
7089	}
7090
7091	var sv *types.UnsupportedOperationException
7092	if *v == nil {
7093		sv = &types.UnsupportedOperationException{}
7094	} else {
7095		sv = *v
7096	}
7097
7098	for key, value := range shape {
7099		switch key {
7100		case "Message":
7101			if value != nil {
7102				jtv, ok := value.(string)
7103				if !ok {
7104					return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value)
7105				}
7106				sv.Message = ptr.String(jtv)
7107			}
7108
7109		default:
7110			_, _ = key, value
7111
7112		}
7113	}
7114	*v = sv
7115	return nil
7116}
7117
7118func awsAwsjson11_deserializeDocumentVpcConfigurationDescription(v **types.VpcConfigurationDescription, value interface{}) error {
7119	if v == nil {
7120		return fmt.Errorf("unexpected nil of type %T", v)
7121	}
7122	if value == nil {
7123		return nil
7124	}
7125
7126	shape, ok := value.(map[string]interface{})
7127	if !ok {
7128		return fmt.Errorf("unexpected JSON type %v", value)
7129	}
7130
7131	var sv *types.VpcConfigurationDescription
7132	if *v == nil {
7133		sv = &types.VpcConfigurationDescription{}
7134	} else {
7135		sv = *v
7136	}
7137
7138	for key, value := range shape {
7139		switch key {
7140		case "SecurityGroupIds":
7141			if err := awsAwsjson11_deserializeDocumentSecurityGroupIds(&sv.SecurityGroupIds, value); err != nil {
7142				return err
7143			}
7144
7145		case "SubnetIds":
7146			if err := awsAwsjson11_deserializeDocumentSubnetIds(&sv.SubnetIds, value); err != nil {
7147				return err
7148			}
7149
7150		case "VpcConfigurationId":
7151			if value != nil {
7152				jtv, ok := value.(string)
7153				if !ok {
7154					return fmt.Errorf("expected Id to be of type string, got %T instead", value)
7155				}
7156				sv.VpcConfigurationId = ptr.String(jtv)
7157			}
7158
7159		case "VpcId":
7160			if value != nil {
7161				jtv, ok := value.(string)
7162				if !ok {
7163					return fmt.Errorf("expected VpcId to be of type string, got %T instead", value)
7164				}
7165				sv.VpcId = ptr.String(jtv)
7166			}
7167
7168		default:
7169			_, _ = key, value
7170
7171		}
7172	}
7173	*v = sv
7174	return nil
7175}
7176
7177func awsAwsjson11_deserializeDocumentVpcConfigurationDescriptions(v *[]types.VpcConfigurationDescription, value interface{}) error {
7178	if v == nil {
7179		return fmt.Errorf("unexpected nil of type %T", v)
7180	}
7181	if value == nil {
7182		return nil
7183	}
7184
7185	shape, ok := value.([]interface{})
7186	if !ok {
7187		return fmt.Errorf("unexpected JSON type %v", value)
7188	}
7189
7190	var cv []types.VpcConfigurationDescription
7191	if *v == nil {
7192		cv = []types.VpcConfigurationDescription{}
7193	} else {
7194		cv = *v
7195	}
7196
7197	for _, value := range shape {
7198		var col types.VpcConfigurationDescription
7199		destAddr := &col
7200		if err := awsAwsjson11_deserializeDocumentVpcConfigurationDescription(&destAddr, value); err != nil {
7201			return err
7202		}
7203		col = *destAddr
7204		cv = append(cv, col)
7205
7206	}
7207	*v = cv
7208	return nil
7209}
7210
7211func awsAwsjson11_deserializeOpDocumentAddApplicationCloudWatchLoggingOptionOutput(v **AddApplicationCloudWatchLoggingOptionOutput, value interface{}) error {
7212	if v == nil {
7213		return fmt.Errorf("unexpected nil of type %T", v)
7214	}
7215	if value == nil {
7216		return nil
7217	}
7218
7219	shape, ok := value.(map[string]interface{})
7220	if !ok {
7221		return fmt.Errorf("unexpected JSON type %v", value)
7222	}
7223
7224	var sv *AddApplicationCloudWatchLoggingOptionOutput
7225	if *v == nil {
7226		sv = &AddApplicationCloudWatchLoggingOptionOutput{}
7227	} else {
7228		sv = *v
7229	}
7230
7231	for key, value := range shape {
7232		switch key {
7233		case "ApplicationARN":
7234			if value != nil {
7235				jtv, ok := value.(string)
7236				if !ok {
7237					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
7238				}
7239				sv.ApplicationARN = ptr.String(jtv)
7240			}
7241
7242		case "ApplicationVersionId":
7243			if value != nil {
7244				jtv, ok := value.(json.Number)
7245				if !ok {
7246					return fmt.Errorf("expected ApplicationVersionId to be json.Number, got %T instead", value)
7247				}
7248				i64, err := jtv.Int64()
7249				if err != nil {
7250					return err
7251				}
7252				sv.ApplicationVersionId = ptr.Int64(i64)
7253			}
7254
7255		case "CloudWatchLoggingOptionDescriptions":
7256			if err := awsAwsjson11_deserializeDocumentCloudWatchLoggingOptionDescriptions(&sv.CloudWatchLoggingOptionDescriptions, value); err != nil {
7257				return err
7258			}
7259
7260		default:
7261			_, _ = key, value
7262
7263		}
7264	}
7265	*v = sv
7266	return nil
7267}
7268
7269func awsAwsjson11_deserializeOpDocumentAddApplicationInputOutput(v **AddApplicationInputOutput, value interface{}) error {
7270	if v == nil {
7271		return fmt.Errorf("unexpected nil of type %T", v)
7272	}
7273	if value == nil {
7274		return nil
7275	}
7276
7277	shape, ok := value.(map[string]interface{})
7278	if !ok {
7279		return fmt.Errorf("unexpected JSON type %v", value)
7280	}
7281
7282	var sv *AddApplicationInputOutput
7283	if *v == nil {
7284		sv = &AddApplicationInputOutput{}
7285	} else {
7286		sv = *v
7287	}
7288
7289	for key, value := range shape {
7290		switch key {
7291		case "ApplicationARN":
7292			if value != nil {
7293				jtv, ok := value.(string)
7294				if !ok {
7295					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
7296				}
7297				sv.ApplicationARN = ptr.String(jtv)
7298			}
7299
7300		case "ApplicationVersionId":
7301			if value != nil {
7302				jtv, ok := value.(json.Number)
7303				if !ok {
7304					return fmt.Errorf("expected ApplicationVersionId to be json.Number, got %T instead", value)
7305				}
7306				i64, err := jtv.Int64()
7307				if err != nil {
7308					return err
7309				}
7310				sv.ApplicationVersionId = ptr.Int64(i64)
7311			}
7312
7313		case "InputDescriptions":
7314			if err := awsAwsjson11_deserializeDocumentInputDescriptions(&sv.InputDescriptions, value); err != nil {
7315				return err
7316			}
7317
7318		default:
7319			_, _ = key, value
7320
7321		}
7322	}
7323	*v = sv
7324	return nil
7325}
7326
7327func awsAwsjson11_deserializeOpDocumentAddApplicationInputProcessingConfigurationOutput(v **AddApplicationInputProcessingConfigurationOutput, value interface{}) error {
7328	if v == nil {
7329		return fmt.Errorf("unexpected nil of type %T", v)
7330	}
7331	if value == nil {
7332		return nil
7333	}
7334
7335	shape, ok := value.(map[string]interface{})
7336	if !ok {
7337		return fmt.Errorf("unexpected JSON type %v", value)
7338	}
7339
7340	var sv *AddApplicationInputProcessingConfigurationOutput
7341	if *v == nil {
7342		sv = &AddApplicationInputProcessingConfigurationOutput{}
7343	} else {
7344		sv = *v
7345	}
7346
7347	for key, value := range shape {
7348		switch key {
7349		case "ApplicationARN":
7350			if value != nil {
7351				jtv, ok := value.(string)
7352				if !ok {
7353					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
7354				}
7355				sv.ApplicationARN = ptr.String(jtv)
7356			}
7357
7358		case "ApplicationVersionId":
7359			if value != nil {
7360				jtv, ok := value.(json.Number)
7361				if !ok {
7362					return fmt.Errorf("expected ApplicationVersionId to be json.Number, got %T instead", value)
7363				}
7364				i64, err := jtv.Int64()
7365				if err != nil {
7366					return err
7367				}
7368				sv.ApplicationVersionId = ptr.Int64(i64)
7369			}
7370
7371		case "InputId":
7372			if value != nil {
7373				jtv, ok := value.(string)
7374				if !ok {
7375					return fmt.Errorf("expected Id to be of type string, got %T instead", value)
7376				}
7377				sv.InputId = ptr.String(jtv)
7378			}
7379
7380		case "InputProcessingConfigurationDescription":
7381			if err := awsAwsjson11_deserializeDocumentInputProcessingConfigurationDescription(&sv.InputProcessingConfigurationDescription, value); err != nil {
7382				return err
7383			}
7384
7385		default:
7386			_, _ = key, value
7387
7388		}
7389	}
7390	*v = sv
7391	return nil
7392}
7393
7394func awsAwsjson11_deserializeOpDocumentAddApplicationOutputOutput(v **AddApplicationOutputOutput, value interface{}) error {
7395	if v == nil {
7396		return fmt.Errorf("unexpected nil of type %T", v)
7397	}
7398	if value == nil {
7399		return nil
7400	}
7401
7402	shape, ok := value.(map[string]interface{})
7403	if !ok {
7404		return fmt.Errorf("unexpected JSON type %v", value)
7405	}
7406
7407	var sv *AddApplicationOutputOutput
7408	if *v == nil {
7409		sv = &AddApplicationOutputOutput{}
7410	} else {
7411		sv = *v
7412	}
7413
7414	for key, value := range shape {
7415		switch key {
7416		case "ApplicationARN":
7417			if value != nil {
7418				jtv, ok := value.(string)
7419				if !ok {
7420					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
7421				}
7422				sv.ApplicationARN = ptr.String(jtv)
7423			}
7424
7425		case "ApplicationVersionId":
7426			if value != nil {
7427				jtv, ok := value.(json.Number)
7428				if !ok {
7429					return fmt.Errorf("expected ApplicationVersionId to be json.Number, got %T instead", value)
7430				}
7431				i64, err := jtv.Int64()
7432				if err != nil {
7433					return err
7434				}
7435				sv.ApplicationVersionId = ptr.Int64(i64)
7436			}
7437
7438		case "OutputDescriptions":
7439			if err := awsAwsjson11_deserializeDocumentOutputDescriptions(&sv.OutputDescriptions, value); err != nil {
7440				return err
7441			}
7442
7443		default:
7444			_, _ = key, value
7445
7446		}
7447	}
7448	*v = sv
7449	return nil
7450}
7451
7452func awsAwsjson11_deserializeOpDocumentAddApplicationReferenceDataSourceOutput(v **AddApplicationReferenceDataSourceOutput, value interface{}) error {
7453	if v == nil {
7454		return fmt.Errorf("unexpected nil of type %T", v)
7455	}
7456	if value == nil {
7457		return nil
7458	}
7459
7460	shape, ok := value.(map[string]interface{})
7461	if !ok {
7462		return fmt.Errorf("unexpected JSON type %v", value)
7463	}
7464
7465	var sv *AddApplicationReferenceDataSourceOutput
7466	if *v == nil {
7467		sv = &AddApplicationReferenceDataSourceOutput{}
7468	} else {
7469		sv = *v
7470	}
7471
7472	for key, value := range shape {
7473		switch key {
7474		case "ApplicationARN":
7475			if value != nil {
7476				jtv, ok := value.(string)
7477				if !ok {
7478					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
7479				}
7480				sv.ApplicationARN = ptr.String(jtv)
7481			}
7482
7483		case "ApplicationVersionId":
7484			if value != nil {
7485				jtv, ok := value.(json.Number)
7486				if !ok {
7487					return fmt.Errorf("expected ApplicationVersionId to be json.Number, got %T instead", value)
7488				}
7489				i64, err := jtv.Int64()
7490				if err != nil {
7491					return err
7492				}
7493				sv.ApplicationVersionId = ptr.Int64(i64)
7494			}
7495
7496		case "ReferenceDataSourceDescriptions":
7497			if err := awsAwsjson11_deserializeDocumentReferenceDataSourceDescriptions(&sv.ReferenceDataSourceDescriptions, value); err != nil {
7498				return err
7499			}
7500
7501		default:
7502			_, _ = key, value
7503
7504		}
7505	}
7506	*v = sv
7507	return nil
7508}
7509
7510func awsAwsjson11_deserializeOpDocumentAddApplicationVpcConfigurationOutput(v **AddApplicationVpcConfigurationOutput, value interface{}) error {
7511	if v == nil {
7512		return fmt.Errorf("unexpected nil of type %T", v)
7513	}
7514	if value == nil {
7515		return nil
7516	}
7517
7518	shape, ok := value.(map[string]interface{})
7519	if !ok {
7520		return fmt.Errorf("unexpected JSON type %v", value)
7521	}
7522
7523	var sv *AddApplicationVpcConfigurationOutput
7524	if *v == nil {
7525		sv = &AddApplicationVpcConfigurationOutput{}
7526	} else {
7527		sv = *v
7528	}
7529
7530	for key, value := range shape {
7531		switch key {
7532		case "ApplicationARN":
7533			if value != nil {
7534				jtv, ok := value.(string)
7535				if !ok {
7536					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
7537				}
7538				sv.ApplicationARN = ptr.String(jtv)
7539			}
7540
7541		case "ApplicationVersionId":
7542			if value != nil {
7543				jtv, ok := value.(json.Number)
7544				if !ok {
7545					return fmt.Errorf("expected ApplicationVersionId to be json.Number, got %T instead", value)
7546				}
7547				i64, err := jtv.Int64()
7548				if err != nil {
7549					return err
7550				}
7551				sv.ApplicationVersionId = ptr.Int64(i64)
7552			}
7553
7554		case "VpcConfigurationDescription":
7555			if err := awsAwsjson11_deserializeDocumentVpcConfigurationDescription(&sv.VpcConfigurationDescription, value); err != nil {
7556				return err
7557			}
7558
7559		default:
7560			_, _ = key, value
7561
7562		}
7563	}
7564	*v = sv
7565	return nil
7566}
7567
7568func awsAwsjson11_deserializeOpDocumentCreateApplicationOutput(v **CreateApplicationOutput, value interface{}) error {
7569	if v == nil {
7570		return fmt.Errorf("unexpected nil of type %T", v)
7571	}
7572	if value == nil {
7573		return nil
7574	}
7575
7576	shape, ok := value.(map[string]interface{})
7577	if !ok {
7578		return fmt.Errorf("unexpected JSON type %v", value)
7579	}
7580
7581	var sv *CreateApplicationOutput
7582	if *v == nil {
7583		sv = &CreateApplicationOutput{}
7584	} else {
7585		sv = *v
7586	}
7587
7588	for key, value := range shape {
7589		switch key {
7590		case "ApplicationDetail":
7591			if err := awsAwsjson11_deserializeDocumentApplicationDetail(&sv.ApplicationDetail, value); err != nil {
7592				return err
7593			}
7594
7595		default:
7596			_, _ = key, value
7597
7598		}
7599	}
7600	*v = sv
7601	return nil
7602}
7603
7604func awsAwsjson11_deserializeOpDocumentCreateApplicationPresignedUrlOutput(v **CreateApplicationPresignedUrlOutput, value interface{}) error {
7605	if v == nil {
7606		return fmt.Errorf("unexpected nil of type %T", v)
7607	}
7608	if value == nil {
7609		return nil
7610	}
7611
7612	shape, ok := value.(map[string]interface{})
7613	if !ok {
7614		return fmt.Errorf("unexpected JSON type %v", value)
7615	}
7616
7617	var sv *CreateApplicationPresignedUrlOutput
7618	if *v == nil {
7619		sv = &CreateApplicationPresignedUrlOutput{}
7620	} else {
7621		sv = *v
7622	}
7623
7624	for key, value := range shape {
7625		switch key {
7626		case "AuthorizedUrl":
7627			if value != nil {
7628				jtv, ok := value.(string)
7629				if !ok {
7630					return fmt.Errorf("expected AuthorizedUrl to be of type string, got %T instead", value)
7631				}
7632				sv.AuthorizedUrl = ptr.String(jtv)
7633			}
7634
7635		default:
7636			_, _ = key, value
7637
7638		}
7639	}
7640	*v = sv
7641	return nil
7642}
7643
7644func awsAwsjson11_deserializeOpDocumentCreateApplicationSnapshotOutput(v **CreateApplicationSnapshotOutput, value interface{}) error {
7645	if v == nil {
7646		return fmt.Errorf("unexpected nil of type %T", v)
7647	}
7648	if value == nil {
7649		return nil
7650	}
7651
7652	shape, ok := value.(map[string]interface{})
7653	if !ok {
7654		return fmt.Errorf("unexpected JSON type %v", value)
7655	}
7656
7657	var sv *CreateApplicationSnapshotOutput
7658	if *v == nil {
7659		sv = &CreateApplicationSnapshotOutput{}
7660	} else {
7661		sv = *v
7662	}
7663
7664	for key, value := range shape {
7665		switch key {
7666		default:
7667			_, _ = key, value
7668
7669		}
7670	}
7671	*v = sv
7672	return nil
7673}
7674
7675func awsAwsjson11_deserializeOpDocumentDeleteApplicationCloudWatchLoggingOptionOutput(v **DeleteApplicationCloudWatchLoggingOptionOutput, value interface{}) error {
7676	if v == nil {
7677		return fmt.Errorf("unexpected nil of type %T", v)
7678	}
7679	if value == nil {
7680		return nil
7681	}
7682
7683	shape, ok := value.(map[string]interface{})
7684	if !ok {
7685		return fmt.Errorf("unexpected JSON type %v", value)
7686	}
7687
7688	var sv *DeleteApplicationCloudWatchLoggingOptionOutput
7689	if *v == nil {
7690		sv = &DeleteApplicationCloudWatchLoggingOptionOutput{}
7691	} else {
7692		sv = *v
7693	}
7694
7695	for key, value := range shape {
7696		switch key {
7697		case "ApplicationARN":
7698			if value != nil {
7699				jtv, ok := value.(string)
7700				if !ok {
7701					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
7702				}
7703				sv.ApplicationARN = ptr.String(jtv)
7704			}
7705
7706		case "ApplicationVersionId":
7707			if value != nil {
7708				jtv, ok := value.(json.Number)
7709				if !ok {
7710					return fmt.Errorf("expected ApplicationVersionId to be json.Number, got %T instead", value)
7711				}
7712				i64, err := jtv.Int64()
7713				if err != nil {
7714					return err
7715				}
7716				sv.ApplicationVersionId = ptr.Int64(i64)
7717			}
7718
7719		case "CloudWatchLoggingOptionDescriptions":
7720			if err := awsAwsjson11_deserializeDocumentCloudWatchLoggingOptionDescriptions(&sv.CloudWatchLoggingOptionDescriptions, value); err != nil {
7721				return err
7722			}
7723
7724		default:
7725			_, _ = key, value
7726
7727		}
7728	}
7729	*v = sv
7730	return nil
7731}
7732
7733func awsAwsjson11_deserializeOpDocumentDeleteApplicationInputProcessingConfigurationOutput(v **DeleteApplicationInputProcessingConfigurationOutput, value interface{}) error {
7734	if v == nil {
7735		return fmt.Errorf("unexpected nil of type %T", v)
7736	}
7737	if value == nil {
7738		return nil
7739	}
7740
7741	shape, ok := value.(map[string]interface{})
7742	if !ok {
7743		return fmt.Errorf("unexpected JSON type %v", value)
7744	}
7745
7746	var sv *DeleteApplicationInputProcessingConfigurationOutput
7747	if *v == nil {
7748		sv = &DeleteApplicationInputProcessingConfigurationOutput{}
7749	} else {
7750		sv = *v
7751	}
7752
7753	for key, value := range shape {
7754		switch key {
7755		case "ApplicationARN":
7756			if value != nil {
7757				jtv, ok := value.(string)
7758				if !ok {
7759					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
7760				}
7761				sv.ApplicationARN = ptr.String(jtv)
7762			}
7763
7764		case "ApplicationVersionId":
7765			if value != nil {
7766				jtv, ok := value.(json.Number)
7767				if !ok {
7768					return fmt.Errorf("expected ApplicationVersionId to be json.Number, got %T instead", value)
7769				}
7770				i64, err := jtv.Int64()
7771				if err != nil {
7772					return err
7773				}
7774				sv.ApplicationVersionId = ptr.Int64(i64)
7775			}
7776
7777		default:
7778			_, _ = key, value
7779
7780		}
7781	}
7782	*v = sv
7783	return nil
7784}
7785
7786func awsAwsjson11_deserializeOpDocumentDeleteApplicationOutput(v **DeleteApplicationOutput, value interface{}) error {
7787	if v == nil {
7788		return fmt.Errorf("unexpected nil of type %T", v)
7789	}
7790	if value == nil {
7791		return nil
7792	}
7793
7794	shape, ok := value.(map[string]interface{})
7795	if !ok {
7796		return fmt.Errorf("unexpected JSON type %v", value)
7797	}
7798
7799	var sv *DeleteApplicationOutput
7800	if *v == nil {
7801		sv = &DeleteApplicationOutput{}
7802	} else {
7803		sv = *v
7804	}
7805
7806	for key, value := range shape {
7807		switch key {
7808		default:
7809			_, _ = key, value
7810
7811		}
7812	}
7813	*v = sv
7814	return nil
7815}
7816
7817func awsAwsjson11_deserializeOpDocumentDeleteApplicationOutputOutput(v **DeleteApplicationOutputOutput, value interface{}) error {
7818	if v == nil {
7819		return fmt.Errorf("unexpected nil of type %T", v)
7820	}
7821	if value == nil {
7822		return nil
7823	}
7824
7825	shape, ok := value.(map[string]interface{})
7826	if !ok {
7827		return fmt.Errorf("unexpected JSON type %v", value)
7828	}
7829
7830	var sv *DeleteApplicationOutputOutput
7831	if *v == nil {
7832		sv = &DeleteApplicationOutputOutput{}
7833	} else {
7834		sv = *v
7835	}
7836
7837	for key, value := range shape {
7838		switch key {
7839		case "ApplicationARN":
7840			if value != nil {
7841				jtv, ok := value.(string)
7842				if !ok {
7843					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
7844				}
7845				sv.ApplicationARN = ptr.String(jtv)
7846			}
7847
7848		case "ApplicationVersionId":
7849			if value != nil {
7850				jtv, ok := value.(json.Number)
7851				if !ok {
7852					return fmt.Errorf("expected ApplicationVersionId to be json.Number, got %T instead", value)
7853				}
7854				i64, err := jtv.Int64()
7855				if err != nil {
7856					return err
7857				}
7858				sv.ApplicationVersionId = ptr.Int64(i64)
7859			}
7860
7861		default:
7862			_, _ = key, value
7863
7864		}
7865	}
7866	*v = sv
7867	return nil
7868}
7869
7870func awsAwsjson11_deserializeOpDocumentDeleteApplicationReferenceDataSourceOutput(v **DeleteApplicationReferenceDataSourceOutput, value interface{}) error {
7871	if v == nil {
7872		return fmt.Errorf("unexpected nil of type %T", v)
7873	}
7874	if value == nil {
7875		return nil
7876	}
7877
7878	shape, ok := value.(map[string]interface{})
7879	if !ok {
7880		return fmt.Errorf("unexpected JSON type %v", value)
7881	}
7882
7883	var sv *DeleteApplicationReferenceDataSourceOutput
7884	if *v == nil {
7885		sv = &DeleteApplicationReferenceDataSourceOutput{}
7886	} else {
7887		sv = *v
7888	}
7889
7890	for key, value := range shape {
7891		switch key {
7892		case "ApplicationARN":
7893			if value != nil {
7894				jtv, ok := value.(string)
7895				if !ok {
7896					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
7897				}
7898				sv.ApplicationARN = ptr.String(jtv)
7899			}
7900
7901		case "ApplicationVersionId":
7902			if value != nil {
7903				jtv, ok := value.(json.Number)
7904				if !ok {
7905					return fmt.Errorf("expected ApplicationVersionId to be json.Number, got %T instead", value)
7906				}
7907				i64, err := jtv.Int64()
7908				if err != nil {
7909					return err
7910				}
7911				sv.ApplicationVersionId = ptr.Int64(i64)
7912			}
7913
7914		default:
7915			_, _ = key, value
7916
7917		}
7918	}
7919	*v = sv
7920	return nil
7921}
7922
7923func awsAwsjson11_deserializeOpDocumentDeleteApplicationSnapshotOutput(v **DeleteApplicationSnapshotOutput, value interface{}) error {
7924	if v == nil {
7925		return fmt.Errorf("unexpected nil of type %T", v)
7926	}
7927	if value == nil {
7928		return nil
7929	}
7930
7931	shape, ok := value.(map[string]interface{})
7932	if !ok {
7933		return fmt.Errorf("unexpected JSON type %v", value)
7934	}
7935
7936	var sv *DeleteApplicationSnapshotOutput
7937	if *v == nil {
7938		sv = &DeleteApplicationSnapshotOutput{}
7939	} else {
7940		sv = *v
7941	}
7942
7943	for key, value := range shape {
7944		switch key {
7945		default:
7946			_, _ = key, value
7947
7948		}
7949	}
7950	*v = sv
7951	return nil
7952}
7953
7954func awsAwsjson11_deserializeOpDocumentDeleteApplicationVpcConfigurationOutput(v **DeleteApplicationVpcConfigurationOutput, value interface{}) error {
7955	if v == nil {
7956		return fmt.Errorf("unexpected nil of type %T", v)
7957	}
7958	if value == nil {
7959		return nil
7960	}
7961
7962	shape, ok := value.(map[string]interface{})
7963	if !ok {
7964		return fmt.Errorf("unexpected JSON type %v", value)
7965	}
7966
7967	var sv *DeleteApplicationVpcConfigurationOutput
7968	if *v == nil {
7969		sv = &DeleteApplicationVpcConfigurationOutput{}
7970	} else {
7971		sv = *v
7972	}
7973
7974	for key, value := range shape {
7975		switch key {
7976		case "ApplicationARN":
7977			if value != nil {
7978				jtv, ok := value.(string)
7979				if !ok {
7980					return fmt.Errorf("expected ResourceARN to be of type string, got %T instead", value)
7981				}
7982				sv.ApplicationARN = ptr.String(jtv)
7983			}
7984
7985		case "ApplicationVersionId":
7986			if value != nil {
7987				jtv, ok := value.(json.Number)
7988				if !ok {
7989					return fmt.Errorf("expected ApplicationVersionId to be json.Number, got %T instead", value)
7990				}
7991				i64, err := jtv.Int64()
7992				if err != nil {
7993					return err
7994				}
7995				sv.ApplicationVersionId = ptr.Int64(i64)
7996			}
7997
7998		default:
7999			_, _ = key, value
8000
8001		}
8002	}
8003	*v = sv
8004	return nil
8005}
8006
8007func awsAwsjson11_deserializeOpDocumentDescribeApplicationOutput(v **DescribeApplicationOutput, value interface{}) error {
8008	if v == nil {
8009		return fmt.Errorf("unexpected nil of type %T", v)
8010	}
8011	if value == nil {
8012		return nil
8013	}
8014
8015	shape, ok := value.(map[string]interface{})
8016	if !ok {
8017		return fmt.Errorf("unexpected JSON type %v", value)
8018	}
8019
8020	var sv *DescribeApplicationOutput
8021	if *v == nil {
8022		sv = &DescribeApplicationOutput{}
8023	} else {
8024		sv = *v
8025	}
8026
8027	for key, value := range shape {
8028		switch key {
8029		case "ApplicationDetail":
8030			if err := awsAwsjson11_deserializeDocumentApplicationDetail(&sv.ApplicationDetail, value); err != nil {
8031				return err
8032			}
8033
8034		default:
8035			_, _ = key, value
8036
8037		}
8038	}
8039	*v = sv
8040	return nil
8041}
8042
8043func awsAwsjson11_deserializeOpDocumentDescribeApplicationSnapshotOutput(v **DescribeApplicationSnapshotOutput, value interface{}) error {
8044	if v == nil {
8045		return fmt.Errorf("unexpected nil of type %T", v)
8046	}
8047	if value == nil {
8048		return nil
8049	}
8050
8051	shape, ok := value.(map[string]interface{})
8052	if !ok {
8053		return fmt.Errorf("unexpected JSON type %v", value)
8054	}
8055
8056	var sv *DescribeApplicationSnapshotOutput
8057	if *v == nil {
8058		sv = &DescribeApplicationSnapshotOutput{}
8059	} else {
8060		sv = *v
8061	}
8062
8063	for key, value := range shape {
8064		switch key {
8065		case "SnapshotDetails":
8066			if err := awsAwsjson11_deserializeDocumentSnapshotDetails(&sv.SnapshotDetails, value); err != nil {
8067				return err
8068			}
8069
8070		default:
8071			_, _ = key, value
8072
8073		}
8074	}
8075	*v = sv
8076	return nil
8077}
8078
8079func awsAwsjson11_deserializeOpDocumentDiscoverInputSchemaOutput(v **DiscoverInputSchemaOutput, value interface{}) error {
8080	if v == nil {
8081		return fmt.Errorf("unexpected nil of type %T", v)
8082	}
8083	if value == nil {
8084		return nil
8085	}
8086
8087	shape, ok := value.(map[string]interface{})
8088	if !ok {
8089		return fmt.Errorf("unexpected JSON type %v", value)
8090	}
8091
8092	var sv *DiscoverInputSchemaOutput
8093	if *v == nil {
8094		sv = &DiscoverInputSchemaOutput{}
8095	} else {
8096		sv = *v
8097	}
8098
8099	for key, value := range shape {
8100		switch key {
8101		case "InputSchema":
8102			if err := awsAwsjson11_deserializeDocumentSourceSchema(&sv.InputSchema, value); err != nil {
8103				return err
8104			}
8105
8106		case "ParsedInputRecords":
8107			if err := awsAwsjson11_deserializeDocumentParsedInputRecords(&sv.ParsedInputRecords, value); err != nil {
8108				return err
8109			}
8110
8111		case "ProcessedInputRecords":
8112			if err := awsAwsjson11_deserializeDocumentProcessedInputRecords(&sv.ProcessedInputRecords, value); err != nil {
8113				return err
8114			}
8115
8116		case "RawInputRecords":
8117			if err := awsAwsjson11_deserializeDocumentRawInputRecords(&sv.RawInputRecords, value); err != nil {
8118				return err
8119			}
8120
8121		default:
8122			_, _ = key, value
8123
8124		}
8125	}
8126	*v = sv
8127	return nil
8128}
8129
8130func awsAwsjson11_deserializeOpDocumentListApplicationSnapshotsOutput(v **ListApplicationSnapshotsOutput, value interface{}) error {
8131	if v == nil {
8132		return fmt.Errorf("unexpected nil of type %T", v)
8133	}
8134	if value == nil {
8135		return nil
8136	}
8137
8138	shape, ok := value.(map[string]interface{})
8139	if !ok {
8140		return fmt.Errorf("unexpected JSON type %v", value)
8141	}
8142
8143	var sv *ListApplicationSnapshotsOutput
8144	if *v == nil {
8145		sv = &ListApplicationSnapshotsOutput{}
8146	} else {
8147		sv = *v
8148	}
8149
8150	for key, value := range shape {
8151		switch key {
8152		case "NextToken":
8153			if value != nil {
8154				jtv, ok := value.(string)
8155				if !ok {
8156					return fmt.Errorf("expected NextToken to be of type string, got %T instead", value)
8157				}
8158				sv.NextToken = ptr.String(jtv)
8159			}
8160
8161		case "SnapshotSummaries":
8162			if err := awsAwsjson11_deserializeDocumentSnapshotSummaries(&sv.SnapshotSummaries, value); err != nil {
8163				return err
8164			}
8165
8166		default:
8167			_, _ = key, value
8168
8169		}
8170	}
8171	*v = sv
8172	return nil
8173}
8174
8175func awsAwsjson11_deserializeOpDocumentListApplicationsOutput(v **ListApplicationsOutput, value interface{}) error {
8176	if v == nil {
8177		return fmt.Errorf("unexpected nil of type %T", v)
8178	}
8179	if value == nil {
8180		return nil
8181	}
8182
8183	shape, ok := value.(map[string]interface{})
8184	if !ok {
8185		return fmt.Errorf("unexpected JSON type %v", value)
8186	}
8187
8188	var sv *ListApplicationsOutput
8189	if *v == nil {
8190		sv = &ListApplicationsOutput{}
8191	} else {
8192		sv = *v
8193	}
8194
8195	for key, value := range shape {
8196		switch key {
8197		case "ApplicationSummaries":
8198			if err := awsAwsjson11_deserializeDocumentApplicationSummaries(&sv.ApplicationSummaries, value); err != nil {
8199				return err
8200			}
8201
8202		case "NextToken":
8203			if value != nil {
8204				jtv, ok := value.(string)
8205				if !ok {
8206					return fmt.Errorf("expected ApplicationName to be of type string, got %T instead", value)
8207				}
8208				sv.NextToken = ptr.String(jtv)
8209			}
8210
8211		default:
8212			_, _ = key, value
8213
8214		}
8215	}
8216	*v = sv
8217	return nil
8218}
8219
8220func awsAwsjson11_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsForResourceOutput, value interface{}) error {
8221	if v == nil {
8222		return fmt.Errorf("unexpected nil of type %T", v)
8223	}
8224	if value == nil {
8225		return nil
8226	}
8227
8228	shape, ok := value.(map[string]interface{})
8229	if !ok {
8230		return fmt.Errorf("unexpected JSON type %v", value)
8231	}
8232
8233	var sv *ListTagsForResourceOutput
8234	if *v == nil {
8235		sv = &ListTagsForResourceOutput{}
8236	} else {
8237		sv = *v
8238	}
8239
8240	for key, value := range shape {
8241		switch key {
8242		case "Tags":
8243			if err := awsAwsjson11_deserializeDocumentTags(&sv.Tags, value); err != nil {
8244				return err
8245			}
8246
8247		default:
8248			_, _ = key, value
8249
8250		}
8251	}
8252	*v = sv
8253	return nil
8254}
8255
8256func awsAwsjson11_deserializeOpDocumentStartApplicationOutput(v **StartApplicationOutput, value interface{}) error {
8257	if v == nil {
8258		return fmt.Errorf("unexpected nil of type %T", v)
8259	}
8260	if value == nil {
8261		return nil
8262	}
8263
8264	shape, ok := value.(map[string]interface{})
8265	if !ok {
8266		return fmt.Errorf("unexpected JSON type %v", value)
8267	}
8268
8269	var sv *StartApplicationOutput
8270	if *v == nil {
8271		sv = &StartApplicationOutput{}
8272	} else {
8273		sv = *v
8274	}
8275
8276	for key, value := range shape {
8277		switch key {
8278		default:
8279			_, _ = key, value
8280
8281		}
8282	}
8283	*v = sv
8284	return nil
8285}
8286
8287func awsAwsjson11_deserializeOpDocumentStopApplicationOutput(v **StopApplicationOutput, value interface{}) error {
8288	if v == nil {
8289		return fmt.Errorf("unexpected nil of type %T", v)
8290	}
8291	if value == nil {
8292		return nil
8293	}
8294
8295	shape, ok := value.(map[string]interface{})
8296	if !ok {
8297		return fmt.Errorf("unexpected JSON type %v", value)
8298	}
8299
8300	var sv *StopApplicationOutput
8301	if *v == nil {
8302		sv = &StopApplicationOutput{}
8303	} else {
8304		sv = *v
8305	}
8306
8307	for key, value := range shape {
8308		switch key {
8309		default:
8310			_, _ = key, value
8311
8312		}
8313	}
8314	*v = sv
8315	return nil
8316}
8317
8318func awsAwsjson11_deserializeOpDocumentTagResourceOutput(v **TagResourceOutput, value interface{}) error {
8319	if v == nil {
8320		return fmt.Errorf("unexpected nil of type %T", v)
8321	}
8322	if value == nil {
8323		return nil
8324	}
8325
8326	shape, ok := value.(map[string]interface{})
8327	if !ok {
8328		return fmt.Errorf("unexpected JSON type %v", value)
8329	}
8330
8331	var sv *TagResourceOutput
8332	if *v == nil {
8333		sv = &TagResourceOutput{}
8334	} else {
8335		sv = *v
8336	}
8337
8338	for key, value := range shape {
8339		switch key {
8340		default:
8341			_, _ = key, value
8342
8343		}
8344	}
8345	*v = sv
8346	return nil
8347}
8348
8349func awsAwsjson11_deserializeOpDocumentUntagResourceOutput(v **UntagResourceOutput, value interface{}) error {
8350	if v == nil {
8351		return fmt.Errorf("unexpected nil of type %T", v)
8352	}
8353	if value == nil {
8354		return nil
8355	}
8356
8357	shape, ok := value.(map[string]interface{})
8358	if !ok {
8359		return fmt.Errorf("unexpected JSON type %v", value)
8360	}
8361
8362	var sv *UntagResourceOutput
8363	if *v == nil {
8364		sv = &UntagResourceOutput{}
8365	} else {
8366		sv = *v
8367	}
8368
8369	for key, value := range shape {
8370		switch key {
8371		default:
8372			_, _ = key, value
8373
8374		}
8375	}
8376	*v = sv
8377	return nil
8378}
8379
8380func awsAwsjson11_deserializeOpDocumentUpdateApplicationOutput(v **UpdateApplicationOutput, value interface{}) error {
8381	if v == nil {
8382		return fmt.Errorf("unexpected nil of type %T", v)
8383	}
8384	if value == nil {
8385		return nil
8386	}
8387
8388	shape, ok := value.(map[string]interface{})
8389	if !ok {
8390		return fmt.Errorf("unexpected JSON type %v", value)
8391	}
8392
8393	var sv *UpdateApplicationOutput
8394	if *v == nil {
8395		sv = &UpdateApplicationOutput{}
8396	} else {
8397		sv = *v
8398	}
8399
8400	for key, value := range shape {
8401		switch key {
8402		case "ApplicationDetail":
8403			if err := awsAwsjson11_deserializeDocumentApplicationDetail(&sv.ApplicationDetail, value); err != nil {
8404				return err
8405			}
8406
8407		default:
8408			_, _ = key, value
8409
8410		}
8411	}
8412	*v = sv
8413	return nil
8414}
8415