1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package savingsplans
4
5import (
6	"context"
7	"fmt"
8	smithy "github.com/aws/smithy-go"
9	"github.com/aws/smithy-go/middleware"
10)
11
12type validateOpCreateSavingsPlan struct {
13}
14
15func (*validateOpCreateSavingsPlan) ID() string {
16	return "OperationInputValidation"
17}
18
19func (m *validateOpCreateSavingsPlan) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
20	out middleware.InitializeOutput, metadata middleware.Metadata, err error,
21) {
22	input, ok := in.Parameters.(*CreateSavingsPlanInput)
23	if !ok {
24		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
25	}
26	if err := validateOpCreateSavingsPlanInput(input); err != nil {
27		return out, metadata, err
28	}
29	return next.HandleInitialize(ctx, in)
30}
31
32type validateOpDeleteQueuedSavingsPlan struct {
33}
34
35func (*validateOpDeleteQueuedSavingsPlan) ID() string {
36	return "OperationInputValidation"
37}
38
39func (m *validateOpDeleteQueuedSavingsPlan) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
40	out middleware.InitializeOutput, metadata middleware.Metadata, err error,
41) {
42	input, ok := in.Parameters.(*DeleteQueuedSavingsPlanInput)
43	if !ok {
44		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
45	}
46	if err := validateOpDeleteQueuedSavingsPlanInput(input); err != nil {
47		return out, metadata, err
48	}
49	return next.HandleInitialize(ctx, in)
50}
51
52type validateOpDescribeSavingsPlanRates struct {
53}
54
55func (*validateOpDescribeSavingsPlanRates) ID() string {
56	return "OperationInputValidation"
57}
58
59func (m *validateOpDescribeSavingsPlanRates) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
60	out middleware.InitializeOutput, metadata middleware.Metadata, err error,
61) {
62	input, ok := in.Parameters.(*DescribeSavingsPlanRatesInput)
63	if !ok {
64		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
65	}
66	if err := validateOpDescribeSavingsPlanRatesInput(input); err != nil {
67		return out, metadata, err
68	}
69	return next.HandleInitialize(ctx, in)
70}
71
72type validateOpListTagsForResource struct {
73}
74
75func (*validateOpListTagsForResource) ID() string {
76	return "OperationInputValidation"
77}
78
79func (m *validateOpListTagsForResource) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
80	out middleware.InitializeOutput, metadata middleware.Metadata, err error,
81) {
82	input, ok := in.Parameters.(*ListTagsForResourceInput)
83	if !ok {
84		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
85	}
86	if err := validateOpListTagsForResourceInput(input); err != nil {
87		return out, metadata, err
88	}
89	return next.HandleInitialize(ctx, in)
90}
91
92type validateOpTagResource struct {
93}
94
95func (*validateOpTagResource) ID() string {
96	return "OperationInputValidation"
97}
98
99func (m *validateOpTagResource) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
100	out middleware.InitializeOutput, metadata middleware.Metadata, err error,
101) {
102	input, ok := in.Parameters.(*TagResourceInput)
103	if !ok {
104		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
105	}
106	if err := validateOpTagResourceInput(input); err != nil {
107		return out, metadata, err
108	}
109	return next.HandleInitialize(ctx, in)
110}
111
112type validateOpUntagResource struct {
113}
114
115func (*validateOpUntagResource) ID() string {
116	return "OperationInputValidation"
117}
118
119func (m *validateOpUntagResource) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
120	out middleware.InitializeOutput, metadata middleware.Metadata, err error,
121) {
122	input, ok := in.Parameters.(*UntagResourceInput)
123	if !ok {
124		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
125	}
126	if err := validateOpUntagResourceInput(input); err != nil {
127		return out, metadata, err
128	}
129	return next.HandleInitialize(ctx, in)
130}
131
132func addOpCreateSavingsPlanValidationMiddleware(stack *middleware.Stack) error {
133	return stack.Initialize.Add(&validateOpCreateSavingsPlan{}, middleware.After)
134}
135
136func addOpDeleteQueuedSavingsPlanValidationMiddleware(stack *middleware.Stack) error {
137	return stack.Initialize.Add(&validateOpDeleteQueuedSavingsPlan{}, middleware.After)
138}
139
140func addOpDescribeSavingsPlanRatesValidationMiddleware(stack *middleware.Stack) error {
141	return stack.Initialize.Add(&validateOpDescribeSavingsPlanRates{}, middleware.After)
142}
143
144func addOpListTagsForResourceValidationMiddleware(stack *middleware.Stack) error {
145	return stack.Initialize.Add(&validateOpListTagsForResource{}, middleware.After)
146}
147
148func addOpTagResourceValidationMiddleware(stack *middleware.Stack) error {
149	return stack.Initialize.Add(&validateOpTagResource{}, middleware.After)
150}
151
152func addOpUntagResourceValidationMiddleware(stack *middleware.Stack) error {
153	return stack.Initialize.Add(&validateOpUntagResource{}, middleware.After)
154}
155
156func validateOpCreateSavingsPlanInput(v *CreateSavingsPlanInput) error {
157	if v == nil {
158		return nil
159	}
160	invalidParams := smithy.InvalidParamsError{Context: "CreateSavingsPlanInput"}
161	if v.SavingsPlanOfferingId == nil {
162		invalidParams.Add(smithy.NewErrParamRequired("SavingsPlanOfferingId"))
163	}
164	if v.Commitment == nil {
165		invalidParams.Add(smithy.NewErrParamRequired("Commitment"))
166	}
167	if invalidParams.Len() > 0 {
168		return invalidParams
169	} else {
170		return nil
171	}
172}
173
174func validateOpDeleteQueuedSavingsPlanInput(v *DeleteQueuedSavingsPlanInput) error {
175	if v == nil {
176		return nil
177	}
178	invalidParams := smithy.InvalidParamsError{Context: "DeleteQueuedSavingsPlanInput"}
179	if v.SavingsPlanId == nil {
180		invalidParams.Add(smithy.NewErrParamRequired("SavingsPlanId"))
181	}
182	if invalidParams.Len() > 0 {
183		return invalidParams
184	} else {
185		return nil
186	}
187}
188
189func validateOpDescribeSavingsPlanRatesInput(v *DescribeSavingsPlanRatesInput) error {
190	if v == nil {
191		return nil
192	}
193	invalidParams := smithy.InvalidParamsError{Context: "DescribeSavingsPlanRatesInput"}
194	if v.SavingsPlanId == nil {
195		invalidParams.Add(smithy.NewErrParamRequired("SavingsPlanId"))
196	}
197	if invalidParams.Len() > 0 {
198		return invalidParams
199	} else {
200		return nil
201	}
202}
203
204func validateOpListTagsForResourceInput(v *ListTagsForResourceInput) error {
205	if v == nil {
206		return nil
207	}
208	invalidParams := smithy.InvalidParamsError{Context: "ListTagsForResourceInput"}
209	if v.ResourceArn == nil {
210		invalidParams.Add(smithy.NewErrParamRequired("ResourceArn"))
211	}
212	if invalidParams.Len() > 0 {
213		return invalidParams
214	} else {
215		return nil
216	}
217}
218
219func validateOpTagResourceInput(v *TagResourceInput) error {
220	if v == nil {
221		return nil
222	}
223	invalidParams := smithy.InvalidParamsError{Context: "TagResourceInput"}
224	if v.ResourceArn == nil {
225		invalidParams.Add(smithy.NewErrParamRequired("ResourceArn"))
226	}
227	if v.Tags == nil {
228		invalidParams.Add(smithy.NewErrParamRequired("Tags"))
229	}
230	if invalidParams.Len() > 0 {
231		return invalidParams
232	} else {
233		return nil
234	}
235}
236
237func validateOpUntagResourceInput(v *UntagResourceInput) error {
238	if v == nil {
239		return nil
240	}
241	invalidParams := smithy.InvalidParamsError{Context: "UntagResourceInput"}
242	if v.ResourceArn == nil {
243		invalidParams.Add(smithy.NewErrParamRequired("ResourceArn"))
244	}
245	if v.TagKeys == nil {
246		invalidParams.Add(smithy.NewErrParamRequired("TagKeys"))
247	}
248	if invalidParams.Len() > 0 {
249		return invalidParams
250	} else {
251		return nil
252	}
253}
254