1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package iotsecuretunneling
4
5import (
6	"context"
7	"fmt"
8	"github.com/aws/aws-sdk-go-v2/service/iotsecuretunneling/types"
9	smithy "github.com/aws/smithy-go"
10	"github.com/aws/smithy-go/middleware"
11)
12
13type validateOpCloseTunnel struct {
14}
15
16func (*validateOpCloseTunnel) ID() string {
17	return "OperationInputValidation"
18}
19
20func (m *validateOpCloseTunnel) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
21	out middleware.InitializeOutput, metadata middleware.Metadata, err error,
22) {
23	input, ok := in.Parameters.(*CloseTunnelInput)
24	if !ok {
25		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
26	}
27	if err := validateOpCloseTunnelInput(input); err != nil {
28		return out, metadata, err
29	}
30	return next.HandleInitialize(ctx, in)
31}
32
33type validateOpDescribeTunnel struct {
34}
35
36func (*validateOpDescribeTunnel) ID() string {
37	return "OperationInputValidation"
38}
39
40func (m *validateOpDescribeTunnel) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
41	out middleware.InitializeOutput, metadata middleware.Metadata, err error,
42) {
43	input, ok := in.Parameters.(*DescribeTunnelInput)
44	if !ok {
45		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
46	}
47	if err := validateOpDescribeTunnelInput(input); err != nil {
48		return out, metadata, err
49	}
50	return next.HandleInitialize(ctx, in)
51}
52
53type validateOpListTagsForResource struct {
54}
55
56func (*validateOpListTagsForResource) ID() string {
57	return "OperationInputValidation"
58}
59
60func (m *validateOpListTagsForResource) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
61	out middleware.InitializeOutput, metadata middleware.Metadata, err error,
62) {
63	input, ok := in.Parameters.(*ListTagsForResourceInput)
64	if !ok {
65		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
66	}
67	if err := validateOpListTagsForResourceInput(input); err != nil {
68		return out, metadata, err
69	}
70	return next.HandleInitialize(ctx, in)
71}
72
73type validateOpOpenTunnel struct {
74}
75
76func (*validateOpOpenTunnel) ID() string {
77	return "OperationInputValidation"
78}
79
80func (m *validateOpOpenTunnel) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
81	out middleware.InitializeOutput, metadata middleware.Metadata, err error,
82) {
83	input, ok := in.Parameters.(*OpenTunnelInput)
84	if !ok {
85		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
86	}
87	if err := validateOpOpenTunnelInput(input); err != nil {
88		return out, metadata, err
89	}
90	return next.HandleInitialize(ctx, in)
91}
92
93type validateOpTagResource struct {
94}
95
96func (*validateOpTagResource) ID() string {
97	return "OperationInputValidation"
98}
99
100func (m *validateOpTagResource) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
101	out middleware.InitializeOutput, metadata middleware.Metadata, err error,
102) {
103	input, ok := in.Parameters.(*TagResourceInput)
104	if !ok {
105		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
106	}
107	if err := validateOpTagResourceInput(input); err != nil {
108		return out, metadata, err
109	}
110	return next.HandleInitialize(ctx, in)
111}
112
113type validateOpUntagResource struct {
114}
115
116func (*validateOpUntagResource) ID() string {
117	return "OperationInputValidation"
118}
119
120func (m *validateOpUntagResource) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
121	out middleware.InitializeOutput, metadata middleware.Metadata, err error,
122) {
123	input, ok := in.Parameters.(*UntagResourceInput)
124	if !ok {
125		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
126	}
127	if err := validateOpUntagResourceInput(input); err != nil {
128		return out, metadata, err
129	}
130	return next.HandleInitialize(ctx, in)
131}
132
133func addOpCloseTunnelValidationMiddleware(stack *middleware.Stack) error {
134	return stack.Initialize.Add(&validateOpCloseTunnel{}, middleware.After)
135}
136
137func addOpDescribeTunnelValidationMiddleware(stack *middleware.Stack) error {
138	return stack.Initialize.Add(&validateOpDescribeTunnel{}, middleware.After)
139}
140
141func addOpListTagsForResourceValidationMiddleware(stack *middleware.Stack) error {
142	return stack.Initialize.Add(&validateOpListTagsForResource{}, middleware.After)
143}
144
145func addOpOpenTunnelValidationMiddleware(stack *middleware.Stack) error {
146	return stack.Initialize.Add(&validateOpOpenTunnel{}, middleware.After)
147}
148
149func addOpTagResourceValidationMiddleware(stack *middleware.Stack) error {
150	return stack.Initialize.Add(&validateOpTagResource{}, middleware.After)
151}
152
153func addOpUntagResourceValidationMiddleware(stack *middleware.Stack) error {
154	return stack.Initialize.Add(&validateOpUntagResource{}, middleware.After)
155}
156
157func validateDestinationConfig(v *types.DestinationConfig) error {
158	if v == nil {
159		return nil
160	}
161	invalidParams := smithy.InvalidParamsError{Context: "DestinationConfig"}
162	if v.Services == nil {
163		invalidParams.Add(smithy.NewErrParamRequired("Services"))
164	}
165	if invalidParams.Len() > 0 {
166		return invalidParams
167	} else {
168		return nil
169	}
170}
171
172func validateTag(v *types.Tag) error {
173	if v == nil {
174		return nil
175	}
176	invalidParams := smithy.InvalidParamsError{Context: "Tag"}
177	if v.Key == nil {
178		invalidParams.Add(smithy.NewErrParamRequired("Key"))
179	}
180	if v.Value == nil {
181		invalidParams.Add(smithy.NewErrParamRequired("Value"))
182	}
183	if invalidParams.Len() > 0 {
184		return invalidParams
185	} else {
186		return nil
187	}
188}
189
190func validateTagList(v []types.Tag) error {
191	if v == nil {
192		return nil
193	}
194	invalidParams := smithy.InvalidParamsError{Context: "TagList"}
195	for i := range v {
196		if err := validateTag(&v[i]); err != nil {
197			invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError))
198		}
199	}
200	if invalidParams.Len() > 0 {
201		return invalidParams
202	} else {
203		return nil
204	}
205}
206
207func validateOpCloseTunnelInput(v *CloseTunnelInput) error {
208	if v == nil {
209		return nil
210	}
211	invalidParams := smithy.InvalidParamsError{Context: "CloseTunnelInput"}
212	if v.TunnelId == nil {
213		invalidParams.Add(smithy.NewErrParamRequired("TunnelId"))
214	}
215	if invalidParams.Len() > 0 {
216		return invalidParams
217	} else {
218		return nil
219	}
220}
221
222func validateOpDescribeTunnelInput(v *DescribeTunnelInput) error {
223	if v == nil {
224		return nil
225	}
226	invalidParams := smithy.InvalidParamsError{Context: "DescribeTunnelInput"}
227	if v.TunnelId == nil {
228		invalidParams.Add(smithy.NewErrParamRequired("TunnelId"))
229	}
230	if invalidParams.Len() > 0 {
231		return invalidParams
232	} else {
233		return nil
234	}
235}
236
237func validateOpListTagsForResourceInput(v *ListTagsForResourceInput) error {
238	if v == nil {
239		return nil
240	}
241	invalidParams := smithy.InvalidParamsError{Context: "ListTagsForResourceInput"}
242	if v.ResourceArn == nil {
243		invalidParams.Add(smithy.NewErrParamRequired("ResourceArn"))
244	}
245	if invalidParams.Len() > 0 {
246		return invalidParams
247	} else {
248		return nil
249	}
250}
251
252func validateOpOpenTunnelInput(v *OpenTunnelInput) error {
253	if v == nil {
254		return nil
255	}
256	invalidParams := smithy.InvalidParamsError{Context: "OpenTunnelInput"}
257	if v.Tags != nil {
258		if err := validateTagList(v.Tags); err != nil {
259			invalidParams.AddNested("Tags", err.(smithy.InvalidParamsError))
260		}
261	}
262	if v.DestinationConfig != nil {
263		if err := validateDestinationConfig(v.DestinationConfig); err != nil {
264			invalidParams.AddNested("DestinationConfig", err.(smithy.InvalidParamsError))
265		}
266	}
267	if invalidParams.Len() > 0 {
268		return invalidParams
269	} else {
270		return nil
271	}
272}
273
274func validateOpTagResourceInput(v *TagResourceInput) error {
275	if v == nil {
276		return nil
277	}
278	invalidParams := smithy.InvalidParamsError{Context: "TagResourceInput"}
279	if v.ResourceArn == nil {
280		invalidParams.Add(smithy.NewErrParamRequired("ResourceArn"))
281	}
282	if v.Tags == nil {
283		invalidParams.Add(smithy.NewErrParamRequired("Tags"))
284	} else if v.Tags != nil {
285		if err := validateTagList(v.Tags); err != nil {
286			invalidParams.AddNested("Tags", err.(smithy.InvalidParamsError))
287		}
288	}
289	if invalidParams.Len() > 0 {
290		return invalidParams
291	} else {
292		return nil
293	}
294}
295
296func validateOpUntagResourceInput(v *UntagResourceInput) error {
297	if v == nil {
298		return nil
299	}
300	invalidParams := smithy.InvalidParamsError{Context: "UntagResourceInput"}
301	if v.ResourceArn == nil {
302		invalidParams.Add(smithy.NewErrParamRequired("ResourceArn"))
303	}
304	if v.TagKeys == nil {
305		invalidParams.Add(smithy.NewErrParamRequired("TagKeys"))
306	}
307	if invalidParams.Len() > 0 {
308		return invalidParams
309	} else {
310		return nil
311	}
312}
313