1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package detective
4
5import (
6	"bytes"
7	"context"
8	"fmt"
9	"github.com/aws/aws-sdk-go-v2/service/detective/types"
10	smithy "github.com/aws/smithy-go"
11	"github.com/aws/smithy-go/encoding/httpbinding"
12	smithyjson "github.com/aws/smithy-go/encoding/json"
13	"github.com/aws/smithy-go/middleware"
14	smithyhttp "github.com/aws/smithy-go/transport/http"
15)
16
17type awsRestjson1_serializeOpAcceptInvitation struct {
18}
19
20func (*awsRestjson1_serializeOpAcceptInvitation) ID() string {
21	return "OperationSerializer"
22}
23
24func (m *awsRestjson1_serializeOpAcceptInvitation) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
25	out middleware.SerializeOutput, metadata middleware.Metadata, err error,
26) {
27	request, ok := in.Request.(*smithyhttp.Request)
28	if !ok {
29		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
30	}
31
32	input, ok := in.Parameters.(*AcceptInvitationInput)
33	_ = input
34	if !ok {
35		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
36	}
37
38	opPath, opQuery := httpbinding.SplitURI("/invitation")
39	request.URL.Path = opPath
40	if len(request.URL.RawQuery) > 0 {
41		request.URL.RawQuery = "&" + opQuery
42	} else {
43		request.URL.RawQuery = opQuery
44	}
45
46	request.Method = "PUT"
47	restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
48	if err != nil {
49		return out, metadata, &smithy.SerializationError{Err: err}
50	}
51
52	restEncoder.SetHeader("Content-Type").String("application/json")
53
54	jsonEncoder := smithyjson.NewEncoder()
55	if err := awsRestjson1_serializeOpDocumentAcceptInvitationInput(input, jsonEncoder.Value); err != nil {
56		return out, metadata, &smithy.SerializationError{Err: err}
57	}
58
59	if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
60		return out, metadata, &smithy.SerializationError{Err: err}
61	}
62
63	if request.Request, err = restEncoder.Encode(request.Request); err != nil {
64		return out, metadata, &smithy.SerializationError{Err: err}
65	}
66	in.Request = request
67
68	return next.HandleSerialize(ctx, in)
69}
70func awsRestjson1_serializeOpHttpBindingsAcceptInvitationInput(v *AcceptInvitationInput, encoder *httpbinding.Encoder) error {
71	if v == nil {
72		return fmt.Errorf("unsupported serialization of nil %T", v)
73	}
74
75	return nil
76}
77
78func awsRestjson1_serializeOpDocumentAcceptInvitationInput(v *AcceptInvitationInput, value smithyjson.Value) error {
79	object := value.Object()
80	defer object.Close()
81
82	if v.GraphArn != nil {
83		ok := object.Key("GraphArn")
84		ok.String(*v.GraphArn)
85	}
86
87	return nil
88}
89
90type awsRestjson1_serializeOpCreateGraph struct {
91}
92
93func (*awsRestjson1_serializeOpCreateGraph) ID() string {
94	return "OperationSerializer"
95}
96
97func (m *awsRestjson1_serializeOpCreateGraph) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
98	out middleware.SerializeOutput, metadata middleware.Metadata, err error,
99) {
100	request, ok := in.Request.(*smithyhttp.Request)
101	if !ok {
102		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
103	}
104
105	input, ok := in.Parameters.(*CreateGraphInput)
106	_ = input
107	if !ok {
108		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
109	}
110
111	opPath, opQuery := httpbinding.SplitURI("/graph")
112	request.URL.Path = opPath
113	if len(request.URL.RawQuery) > 0 {
114		request.URL.RawQuery = "&" + opQuery
115	} else {
116		request.URL.RawQuery = opQuery
117	}
118
119	request.Method = "POST"
120	restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
121	if err != nil {
122		return out, metadata, &smithy.SerializationError{Err: err}
123	}
124
125	if request.Request, err = restEncoder.Encode(request.Request); err != nil {
126		return out, metadata, &smithy.SerializationError{Err: err}
127	}
128	in.Request = request
129
130	return next.HandleSerialize(ctx, in)
131}
132func awsRestjson1_serializeOpHttpBindingsCreateGraphInput(v *CreateGraphInput, encoder *httpbinding.Encoder) error {
133	if v == nil {
134		return fmt.Errorf("unsupported serialization of nil %T", v)
135	}
136
137	return nil
138}
139
140type awsRestjson1_serializeOpCreateMembers struct {
141}
142
143func (*awsRestjson1_serializeOpCreateMembers) ID() string {
144	return "OperationSerializer"
145}
146
147func (m *awsRestjson1_serializeOpCreateMembers) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
148	out middleware.SerializeOutput, metadata middleware.Metadata, err error,
149) {
150	request, ok := in.Request.(*smithyhttp.Request)
151	if !ok {
152		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
153	}
154
155	input, ok := in.Parameters.(*CreateMembersInput)
156	_ = input
157	if !ok {
158		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
159	}
160
161	opPath, opQuery := httpbinding.SplitURI("/graph/members")
162	request.URL.Path = opPath
163	if len(request.URL.RawQuery) > 0 {
164		request.URL.RawQuery = "&" + opQuery
165	} else {
166		request.URL.RawQuery = opQuery
167	}
168
169	request.Method = "POST"
170	restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
171	if err != nil {
172		return out, metadata, &smithy.SerializationError{Err: err}
173	}
174
175	restEncoder.SetHeader("Content-Type").String("application/json")
176
177	jsonEncoder := smithyjson.NewEncoder()
178	if err := awsRestjson1_serializeOpDocumentCreateMembersInput(input, jsonEncoder.Value); err != nil {
179		return out, metadata, &smithy.SerializationError{Err: err}
180	}
181
182	if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
183		return out, metadata, &smithy.SerializationError{Err: err}
184	}
185
186	if request.Request, err = restEncoder.Encode(request.Request); err != nil {
187		return out, metadata, &smithy.SerializationError{Err: err}
188	}
189	in.Request = request
190
191	return next.HandleSerialize(ctx, in)
192}
193func awsRestjson1_serializeOpHttpBindingsCreateMembersInput(v *CreateMembersInput, encoder *httpbinding.Encoder) error {
194	if v == nil {
195		return fmt.Errorf("unsupported serialization of nil %T", v)
196	}
197
198	return nil
199}
200
201func awsRestjson1_serializeOpDocumentCreateMembersInput(v *CreateMembersInput, value smithyjson.Value) error {
202	object := value.Object()
203	defer object.Close()
204
205	if v.Accounts != nil {
206		ok := object.Key("Accounts")
207		if err := awsRestjson1_serializeDocumentAccountList(v.Accounts, ok); err != nil {
208			return err
209		}
210	}
211
212	if v.GraphArn != nil {
213		ok := object.Key("GraphArn")
214		ok.String(*v.GraphArn)
215	}
216
217	if v.Message != nil {
218		ok := object.Key("Message")
219		ok.String(*v.Message)
220	}
221
222	return nil
223}
224
225type awsRestjson1_serializeOpDeleteGraph struct {
226}
227
228func (*awsRestjson1_serializeOpDeleteGraph) ID() string {
229	return "OperationSerializer"
230}
231
232func (m *awsRestjson1_serializeOpDeleteGraph) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
233	out middleware.SerializeOutput, metadata middleware.Metadata, err error,
234) {
235	request, ok := in.Request.(*smithyhttp.Request)
236	if !ok {
237		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
238	}
239
240	input, ok := in.Parameters.(*DeleteGraphInput)
241	_ = input
242	if !ok {
243		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
244	}
245
246	opPath, opQuery := httpbinding.SplitURI("/graph/removal")
247	request.URL.Path = opPath
248	if len(request.URL.RawQuery) > 0 {
249		request.URL.RawQuery = "&" + opQuery
250	} else {
251		request.URL.RawQuery = opQuery
252	}
253
254	request.Method = "POST"
255	restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
256	if err != nil {
257		return out, metadata, &smithy.SerializationError{Err: err}
258	}
259
260	restEncoder.SetHeader("Content-Type").String("application/json")
261
262	jsonEncoder := smithyjson.NewEncoder()
263	if err := awsRestjson1_serializeOpDocumentDeleteGraphInput(input, jsonEncoder.Value); err != nil {
264		return out, metadata, &smithy.SerializationError{Err: err}
265	}
266
267	if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
268		return out, metadata, &smithy.SerializationError{Err: err}
269	}
270
271	if request.Request, err = restEncoder.Encode(request.Request); err != nil {
272		return out, metadata, &smithy.SerializationError{Err: err}
273	}
274	in.Request = request
275
276	return next.HandleSerialize(ctx, in)
277}
278func awsRestjson1_serializeOpHttpBindingsDeleteGraphInput(v *DeleteGraphInput, encoder *httpbinding.Encoder) error {
279	if v == nil {
280		return fmt.Errorf("unsupported serialization of nil %T", v)
281	}
282
283	return nil
284}
285
286func awsRestjson1_serializeOpDocumentDeleteGraphInput(v *DeleteGraphInput, value smithyjson.Value) error {
287	object := value.Object()
288	defer object.Close()
289
290	if v.GraphArn != nil {
291		ok := object.Key("GraphArn")
292		ok.String(*v.GraphArn)
293	}
294
295	return nil
296}
297
298type awsRestjson1_serializeOpDeleteMembers struct {
299}
300
301func (*awsRestjson1_serializeOpDeleteMembers) ID() string {
302	return "OperationSerializer"
303}
304
305func (m *awsRestjson1_serializeOpDeleteMembers) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
306	out middleware.SerializeOutput, metadata middleware.Metadata, err error,
307) {
308	request, ok := in.Request.(*smithyhttp.Request)
309	if !ok {
310		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
311	}
312
313	input, ok := in.Parameters.(*DeleteMembersInput)
314	_ = input
315	if !ok {
316		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
317	}
318
319	opPath, opQuery := httpbinding.SplitURI("/graph/members/removal")
320	request.URL.Path = opPath
321	if len(request.URL.RawQuery) > 0 {
322		request.URL.RawQuery = "&" + opQuery
323	} else {
324		request.URL.RawQuery = opQuery
325	}
326
327	request.Method = "POST"
328	restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
329	if err != nil {
330		return out, metadata, &smithy.SerializationError{Err: err}
331	}
332
333	restEncoder.SetHeader("Content-Type").String("application/json")
334
335	jsonEncoder := smithyjson.NewEncoder()
336	if err := awsRestjson1_serializeOpDocumentDeleteMembersInput(input, jsonEncoder.Value); err != nil {
337		return out, metadata, &smithy.SerializationError{Err: err}
338	}
339
340	if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
341		return out, metadata, &smithy.SerializationError{Err: err}
342	}
343
344	if request.Request, err = restEncoder.Encode(request.Request); err != nil {
345		return out, metadata, &smithy.SerializationError{Err: err}
346	}
347	in.Request = request
348
349	return next.HandleSerialize(ctx, in)
350}
351func awsRestjson1_serializeOpHttpBindingsDeleteMembersInput(v *DeleteMembersInput, encoder *httpbinding.Encoder) error {
352	if v == nil {
353		return fmt.Errorf("unsupported serialization of nil %T", v)
354	}
355
356	return nil
357}
358
359func awsRestjson1_serializeOpDocumentDeleteMembersInput(v *DeleteMembersInput, value smithyjson.Value) error {
360	object := value.Object()
361	defer object.Close()
362
363	if v.AccountIds != nil {
364		ok := object.Key("AccountIds")
365		if err := awsRestjson1_serializeDocumentAccountIdList(v.AccountIds, ok); err != nil {
366			return err
367		}
368	}
369
370	if v.GraphArn != nil {
371		ok := object.Key("GraphArn")
372		ok.String(*v.GraphArn)
373	}
374
375	return nil
376}
377
378type awsRestjson1_serializeOpDisassociateMembership struct {
379}
380
381func (*awsRestjson1_serializeOpDisassociateMembership) ID() string {
382	return "OperationSerializer"
383}
384
385func (m *awsRestjson1_serializeOpDisassociateMembership) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
386	out middleware.SerializeOutput, metadata middleware.Metadata, err error,
387) {
388	request, ok := in.Request.(*smithyhttp.Request)
389	if !ok {
390		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
391	}
392
393	input, ok := in.Parameters.(*DisassociateMembershipInput)
394	_ = input
395	if !ok {
396		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
397	}
398
399	opPath, opQuery := httpbinding.SplitURI("/membership/removal")
400	request.URL.Path = opPath
401	if len(request.URL.RawQuery) > 0 {
402		request.URL.RawQuery = "&" + opQuery
403	} else {
404		request.URL.RawQuery = opQuery
405	}
406
407	request.Method = "POST"
408	restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
409	if err != nil {
410		return out, metadata, &smithy.SerializationError{Err: err}
411	}
412
413	restEncoder.SetHeader("Content-Type").String("application/json")
414
415	jsonEncoder := smithyjson.NewEncoder()
416	if err := awsRestjson1_serializeOpDocumentDisassociateMembershipInput(input, jsonEncoder.Value); err != nil {
417		return out, metadata, &smithy.SerializationError{Err: err}
418	}
419
420	if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
421		return out, metadata, &smithy.SerializationError{Err: err}
422	}
423
424	if request.Request, err = restEncoder.Encode(request.Request); err != nil {
425		return out, metadata, &smithy.SerializationError{Err: err}
426	}
427	in.Request = request
428
429	return next.HandleSerialize(ctx, in)
430}
431func awsRestjson1_serializeOpHttpBindingsDisassociateMembershipInput(v *DisassociateMembershipInput, encoder *httpbinding.Encoder) error {
432	if v == nil {
433		return fmt.Errorf("unsupported serialization of nil %T", v)
434	}
435
436	return nil
437}
438
439func awsRestjson1_serializeOpDocumentDisassociateMembershipInput(v *DisassociateMembershipInput, value smithyjson.Value) error {
440	object := value.Object()
441	defer object.Close()
442
443	if v.GraphArn != nil {
444		ok := object.Key("GraphArn")
445		ok.String(*v.GraphArn)
446	}
447
448	return nil
449}
450
451type awsRestjson1_serializeOpGetMembers struct {
452}
453
454func (*awsRestjson1_serializeOpGetMembers) ID() string {
455	return "OperationSerializer"
456}
457
458func (m *awsRestjson1_serializeOpGetMembers) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
459	out middleware.SerializeOutput, metadata middleware.Metadata, err error,
460) {
461	request, ok := in.Request.(*smithyhttp.Request)
462	if !ok {
463		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
464	}
465
466	input, ok := in.Parameters.(*GetMembersInput)
467	_ = input
468	if !ok {
469		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
470	}
471
472	opPath, opQuery := httpbinding.SplitURI("/graph/members/get")
473	request.URL.Path = opPath
474	if len(request.URL.RawQuery) > 0 {
475		request.URL.RawQuery = "&" + opQuery
476	} else {
477		request.URL.RawQuery = opQuery
478	}
479
480	request.Method = "POST"
481	restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
482	if err != nil {
483		return out, metadata, &smithy.SerializationError{Err: err}
484	}
485
486	restEncoder.SetHeader("Content-Type").String("application/json")
487
488	jsonEncoder := smithyjson.NewEncoder()
489	if err := awsRestjson1_serializeOpDocumentGetMembersInput(input, jsonEncoder.Value); err != nil {
490		return out, metadata, &smithy.SerializationError{Err: err}
491	}
492
493	if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
494		return out, metadata, &smithy.SerializationError{Err: err}
495	}
496
497	if request.Request, err = restEncoder.Encode(request.Request); err != nil {
498		return out, metadata, &smithy.SerializationError{Err: err}
499	}
500	in.Request = request
501
502	return next.HandleSerialize(ctx, in)
503}
504func awsRestjson1_serializeOpHttpBindingsGetMembersInput(v *GetMembersInput, encoder *httpbinding.Encoder) error {
505	if v == nil {
506		return fmt.Errorf("unsupported serialization of nil %T", v)
507	}
508
509	return nil
510}
511
512func awsRestjson1_serializeOpDocumentGetMembersInput(v *GetMembersInput, value smithyjson.Value) error {
513	object := value.Object()
514	defer object.Close()
515
516	if v.AccountIds != nil {
517		ok := object.Key("AccountIds")
518		if err := awsRestjson1_serializeDocumentAccountIdList(v.AccountIds, ok); err != nil {
519			return err
520		}
521	}
522
523	if v.GraphArn != nil {
524		ok := object.Key("GraphArn")
525		ok.String(*v.GraphArn)
526	}
527
528	return nil
529}
530
531type awsRestjson1_serializeOpListGraphs struct {
532}
533
534func (*awsRestjson1_serializeOpListGraphs) ID() string {
535	return "OperationSerializer"
536}
537
538func (m *awsRestjson1_serializeOpListGraphs) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
539	out middleware.SerializeOutput, metadata middleware.Metadata, err error,
540) {
541	request, ok := in.Request.(*smithyhttp.Request)
542	if !ok {
543		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
544	}
545
546	input, ok := in.Parameters.(*ListGraphsInput)
547	_ = input
548	if !ok {
549		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
550	}
551
552	opPath, opQuery := httpbinding.SplitURI("/graphs/list")
553	request.URL.Path = opPath
554	if len(request.URL.RawQuery) > 0 {
555		request.URL.RawQuery = "&" + opQuery
556	} else {
557		request.URL.RawQuery = opQuery
558	}
559
560	request.Method = "POST"
561	restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
562	if err != nil {
563		return out, metadata, &smithy.SerializationError{Err: err}
564	}
565
566	restEncoder.SetHeader("Content-Type").String("application/json")
567
568	jsonEncoder := smithyjson.NewEncoder()
569	if err := awsRestjson1_serializeOpDocumentListGraphsInput(input, jsonEncoder.Value); err != nil {
570		return out, metadata, &smithy.SerializationError{Err: err}
571	}
572
573	if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
574		return out, metadata, &smithy.SerializationError{Err: err}
575	}
576
577	if request.Request, err = restEncoder.Encode(request.Request); err != nil {
578		return out, metadata, &smithy.SerializationError{Err: err}
579	}
580	in.Request = request
581
582	return next.HandleSerialize(ctx, in)
583}
584func awsRestjson1_serializeOpHttpBindingsListGraphsInput(v *ListGraphsInput, encoder *httpbinding.Encoder) error {
585	if v == nil {
586		return fmt.Errorf("unsupported serialization of nil %T", v)
587	}
588
589	return nil
590}
591
592func awsRestjson1_serializeOpDocumentListGraphsInput(v *ListGraphsInput, value smithyjson.Value) error {
593	object := value.Object()
594	defer object.Close()
595
596	if v.MaxResults != nil {
597		ok := object.Key("MaxResults")
598		ok.Integer(*v.MaxResults)
599	}
600
601	if v.NextToken != nil {
602		ok := object.Key("NextToken")
603		ok.String(*v.NextToken)
604	}
605
606	return nil
607}
608
609type awsRestjson1_serializeOpListInvitations struct {
610}
611
612func (*awsRestjson1_serializeOpListInvitations) ID() string {
613	return "OperationSerializer"
614}
615
616func (m *awsRestjson1_serializeOpListInvitations) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
617	out middleware.SerializeOutput, metadata middleware.Metadata, err error,
618) {
619	request, ok := in.Request.(*smithyhttp.Request)
620	if !ok {
621		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
622	}
623
624	input, ok := in.Parameters.(*ListInvitationsInput)
625	_ = input
626	if !ok {
627		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
628	}
629
630	opPath, opQuery := httpbinding.SplitURI("/invitations/list")
631	request.URL.Path = opPath
632	if len(request.URL.RawQuery) > 0 {
633		request.URL.RawQuery = "&" + opQuery
634	} else {
635		request.URL.RawQuery = opQuery
636	}
637
638	request.Method = "POST"
639	restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
640	if err != nil {
641		return out, metadata, &smithy.SerializationError{Err: err}
642	}
643
644	restEncoder.SetHeader("Content-Type").String("application/json")
645
646	jsonEncoder := smithyjson.NewEncoder()
647	if err := awsRestjson1_serializeOpDocumentListInvitationsInput(input, jsonEncoder.Value); err != nil {
648		return out, metadata, &smithy.SerializationError{Err: err}
649	}
650
651	if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
652		return out, metadata, &smithy.SerializationError{Err: err}
653	}
654
655	if request.Request, err = restEncoder.Encode(request.Request); err != nil {
656		return out, metadata, &smithy.SerializationError{Err: err}
657	}
658	in.Request = request
659
660	return next.HandleSerialize(ctx, in)
661}
662func awsRestjson1_serializeOpHttpBindingsListInvitationsInput(v *ListInvitationsInput, encoder *httpbinding.Encoder) error {
663	if v == nil {
664		return fmt.Errorf("unsupported serialization of nil %T", v)
665	}
666
667	return nil
668}
669
670func awsRestjson1_serializeOpDocumentListInvitationsInput(v *ListInvitationsInput, value smithyjson.Value) error {
671	object := value.Object()
672	defer object.Close()
673
674	if v.MaxResults != nil {
675		ok := object.Key("MaxResults")
676		ok.Integer(*v.MaxResults)
677	}
678
679	if v.NextToken != nil {
680		ok := object.Key("NextToken")
681		ok.String(*v.NextToken)
682	}
683
684	return nil
685}
686
687type awsRestjson1_serializeOpListMembers struct {
688}
689
690func (*awsRestjson1_serializeOpListMembers) ID() string {
691	return "OperationSerializer"
692}
693
694func (m *awsRestjson1_serializeOpListMembers) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
695	out middleware.SerializeOutput, metadata middleware.Metadata, err error,
696) {
697	request, ok := in.Request.(*smithyhttp.Request)
698	if !ok {
699		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
700	}
701
702	input, ok := in.Parameters.(*ListMembersInput)
703	_ = input
704	if !ok {
705		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
706	}
707
708	opPath, opQuery := httpbinding.SplitURI("/graph/members/list")
709	request.URL.Path = opPath
710	if len(request.URL.RawQuery) > 0 {
711		request.URL.RawQuery = "&" + opQuery
712	} else {
713		request.URL.RawQuery = opQuery
714	}
715
716	request.Method = "POST"
717	restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
718	if err != nil {
719		return out, metadata, &smithy.SerializationError{Err: err}
720	}
721
722	restEncoder.SetHeader("Content-Type").String("application/json")
723
724	jsonEncoder := smithyjson.NewEncoder()
725	if err := awsRestjson1_serializeOpDocumentListMembersInput(input, jsonEncoder.Value); err != nil {
726		return out, metadata, &smithy.SerializationError{Err: err}
727	}
728
729	if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
730		return out, metadata, &smithy.SerializationError{Err: err}
731	}
732
733	if request.Request, err = restEncoder.Encode(request.Request); err != nil {
734		return out, metadata, &smithy.SerializationError{Err: err}
735	}
736	in.Request = request
737
738	return next.HandleSerialize(ctx, in)
739}
740func awsRestjson1_serializeOpHttpBindingsListMembersInput(v *ListMembersInput, encoder *httpbinding.Encoder) error {
741	if v == nil {
742		return fmt.Errorf("unsupported serialization of nil %T", v)
743	}
744
745	return nil
746}
747
748func awsRestjson1_serializeOpDocumentListMembersInput(v *ListMembersInput, value smithyjson.Value) error {
749	object := value.Object()
750	defer object.Close()
751
752	if v.GraphArn != nil {
753		ok := object.Key("GraphArn")
754		ok.String(*v.GraphArn)
755	}
756
757	if v.MaxResults != nil {
758		ok := object.Key("MaxResults")
759		ok.Integer(*v.MaxResults)
760	}
761
762	if v.NextToken != nil {
763		ok := object.Key("NextToken")
764		ok.String(*v.NextToken)
765	}
766
767	return nil
768}
769
770type awsRestjson1_serializeOpRejectInvitation struct {
771}
772
773func (*awsRestjson1_serializeOpRejectInvitation) ID() string {
774	return "OperationSerializer"
775}
776
777func (m *awsRestjson1_serializeOpRejectInvitation) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
778	out middleware.SerializeOutput, metadata middleware.Metadata, err error,
779) {
780	request, ok := in.Request.(*smithyhttp.Request)
781	if !ok {
782		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
783	}
784
785	input, ok := in.Parameters.(*RejectInvitationInput)
786	_ = input
787	if !ok {
788		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
789	}
790
791	opPath, opQuery := httpbinding.SplitURI("/invitation/removal")
792	request.URL.Path = opPath
793	if len(request.URL.RawQuery) > 0 {
794		request.URL.RawQuery = "&" + opQuery
795	} else {
796		request.URL.RawQuery = opQuery
797	}
798
799	request.Method = "POST"
800	restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
801	if err != nil {
802		return out, metadata, &smithy.SerializationError{Err: err}
803	}
804
805	restEncoder.SetHeader("Content-Type").String("application/json")
806
807	jsonEncoder := smithyjson.NewEncoder()
808	if err := awsRestjson1_serializeOpDocumentRejectInvitationInput(input, jsonEncoder.Value); err != nil {
809		return out, metadata, &smithy.SerializationError{Err: err}
810	}
811
812	if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
813		return out, metadata, &smithy.SerializationError{Err: err}
814	}
815
816	if request.Request, err = restEncoder.Encode(request.Request); err != nil {
817		return out, metadata, &smithy.SerializationError{Err: err}
818	}
819	in.Request = request
820
821	return next.HandleSerialize(ctx, in)
822}
823func awsRestjson1_serializeOpHttpBindingsRejectInvitationInput(v *RejectInvitationInput, encoder *httpbinding.Encoder) error {
824	if v == nil {
825		return fmt.Errorf("unsupported serialization of nil %T", v)
826	}
827
828	return nil
829}
830
831func awsRestjson1_serializeOpDocumentRejectInvitationInput(v *RejectInvitationInput, value smithyjson.Value) error {
832	object := value.Object()
833	defer object.Close()
834
835	if v.GraphArn != nil {
836		ok := object.Key("GraphArn")
837		ok.String(*v.GraphArn)
838	}
839
840	return nil
841}
842
843type awsRestjson1_serializeOpStartMonitoringMember struct {
844}
845
846func (*awsRestjson1_serializeOpStartMonitoringMember) ID() string {
847	return "OperationSerializer"
848}
849
850func (m *awsRestjson1_serializeOpStartMonitoringMember) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
851	out middleware.SerializeOutput, metadata middleware.Metadata, err error,
852) {
853	request, ok := in.Request.(*smithyhttp.Request)
854	if !ok {
855		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
856	}
857
858	input, ok := in.Parameters.(*StartMonitoringMemberInput)
859	_ = input
860	if !ok {
861		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
862	}
863
864	opPath, opQuery := httpbinding.SplitURI("/graph/member/monitoringstate")
865	request.URL.Path = opPath
866	if len(request.URL.RawQuery) > 0 {
867		request.URL.RawQuery = "&" + opQuery
868	} else {
869		request.URL.RawQuery = opQuery
870	}
871
872	request.Method = "POST"
873	restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
874	if err != nil {
875		return out, metadata, &smithy.SerializationError{Err: err}
876	}
877
878	restEncoder.SetHeader("Content-Type").String("application/json")
879
880	jsonEncoder := smithyjson.NewEncoder()
881	if err := awsRestjson1_serializeOpDocumentStartMonitoringMemberInput(input, jsonEncoder.Value); err != nil {
882		return out, metadata, &smithy.SerializationError{Err: err}
883	}
884
885	if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
886		return out, metadata, &smithy.SerializationError{Err: err}
887	}
888
889	if request.Request, err = restEncoder.Encode(request.Request); err != nil {
890		return out, metadata, &smithy.SerializationError{Err: err}
891	}
892	in.Request = request
893
894	return next.HandleSerialize(ctx, in)
895}
896func awsRestjson1_serializeOpHttpBindingsStartMonitoringMemberInput(v *StartMonitoringMemberInput, encoder *httpbinding.Encoder) error {
897	if v == nil {
898		return fmt.Errorf("unsupported serialization of nil %T", v)
899	}
900
901	return nil
902}
903
904func awsRestjson1_serializeOpDocumentStartMonitoringMemberInput(v *StartMonitoringMemberInput, value smithyjson.Value) error {
905	object := value.Object()
906	defer object.Close()
907
908	if v.AccountId != nil {
909		ok := object.Key("AccountId")
910		ok.String(*v.AccountId)
911	}
912
913	if v.GraphArn != nil {
914		ok := object.Key("GraphArn")
915		ok.String(*v.GraphArn)
916	}
917
918	return nil
919}
920
921func awsRestjson1_serializeDocumentAccount(v *types.Account, value smithyjson.Value) error {
922	object := value.Object()
923	defer object.Close()
924
925	if v.AccountId != nil {
926		ok := object.Key("AccountId")
927		ok.String(*v.AccountId)
928	}
929
930	if v.EmailAddress != nil {
931		ok := object.Key("EmailAddress")
932		ok.String(*v.EmailAddress)
933	}
934
935	return nil
936}
937
938func awsRestjson1_serializeDocumentAccountIdList(v []string, value smithyjson.Value) error {
939	array := value.Array()
940	defer array.Close()
941
942	for i := range v {
943		av := array.Value()
944		av.String(v[i])
945	}
946	return nil
947}
948
949func awsRestjson1_serializeDocumentAccountList(v []types.Account, value smithyjson.Value) error {
950	array := value.Array()
951	defer array.Close()
952
953	for i := range v {
954		av := array.Value()
955		if err := awsRestjson1_serializeDocumentAccount(&v[i], av); err != nil {
956			return err
957		}
958	}
959	return nil
960}
961