1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package computeoptimizer
4
5import (
6	"context"
7	"fmt"
8	smithy "github.com/aws/smithy-go"
9	"github.com/aws/smithy-go/middleware"
10)
11
12type validateOpExportAutoScalingGroupRecommendations struct {
13}
14
15func (*validateOpExportAutoScalingGroupRecommendations) ID() string {
16	return "OperationInputValidation"
17}
18
19func (m *validateOpExportAutoScalingGroupRecommendations) 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.(*ExportAutoScalingGroupRecommendationsInput)
23	if !ok {
24		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
25	}
26	if err := validateOpExportAutoScalingGroupRecommendationsInput(input); err != nil {
27		return out, metadata, err
28	}
29	return next.HandleInitialize(ctx, in)
30}
31
32type validateOpExportEC2InstanceRecommendations struct {
33}
34
35func (*validateOpExportEC2InstanceRecommendations) ID() string {
36	return "OperationInputValidation"
37}
38
39func (m *validateOpExportEC2InstanceRecommendations) 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.(*ExportEC2InstanceRecommendationsInput)
43	if !ok {
44		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
45	}
46	if err := validateOpExportEC2InstanceRecommendationsInput(input); err != nil {
47		return out, metadata, err
48	}
49	return next.HandleInitialize(ctx, in)
50}
51
52type validateOpGetEC2RecommendationProjectedMetrics struct {
53}
54
55func (*validateOpGetEC2RecommendationProjectedMetrics) ID() string {
56	return "OperationInputValidation"
57}
58
59func (m *validateOpGetEC2RecommendationProjectedMetrics) 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.(*GetEC2RecommendationProjectedMetricsInput)
63	if !ok {
64		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
65	}
66	if err := validateOpGetEC2RecommendationProjectedMetricsInput(input); err != nil {
67		return out, metadata, err
68	}
69	return next.HandleInitialize(ctx, in)
70}
71
72type validateOpUpdateEnrollmentStatus struct {
73}
74
75func (*validateOpUpdateEnrollmentStatus) ID() string {
76	return "OperationInputValidation"
77}
78
79func (m *validateOpUpdateEnrollmentStatus) 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.(*UpdateEnrollmentStatusInput)
83	if !ok {
84		return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
85	}
86	if err := validateOpUpdateEnrollmentStatusInput(input); err != nil {
87		return out, metadata, err
88	}
89	return next.HandleInitialize(ctx, in)
90}
91
92func addOpExportAutoScalingGroupRecommendationsValidationMiddleware(stack *middleware.Stack) error {
93	return stack.Initialize.Add(&validateOpExportAutoScalingGroupRecommendations{}, middleware.After)
94}
95
96func addOpExportEC2InstanceRecommendationsValidationMiddleware(stack *middleware.Stack) error {
97	return stack.Initialize.Add(&validateOpExportEC2InstanceRecommendations{}, middleware.After)
98}
99
100func addOpGetEC2RecommendationProjectedMetricsValidationMiddleware(stack *middleware.Stack) error {
101	return stack.Initialize.Add(&validateOpGetEC2RecommendationProjectedMetrics{}, middleware.After)
102}
103
104func addOpUpdateEnrollmentStatusValidationMiddleware(stack *middleware.Stack) error {
105	return stack.Initialize.Add(&validateOpUpdateEnrollmentStatus{}, middleware.After)
106}
107
108func validateOpExportAutoScalingGroupRecommendationsInput(v *ExportAutoScalingGroupRecommendationsInput) error {
109	if v == nil {
110		return nil
111	}
112	invalidParams := smithy.InvalidParamsError{Context: "ExportAutoScalingGroupRecommendationsInput"}
113	if v.S3DestinationConfig == nil {
114		invalidParams.Add(smithy.NewErrParamRequired("S3DestinationConfig"))
115	}
116	if invalidParams.Len() > 0 {
117		return invalidParams
118	} else {
119		return nil
120	}
121}
122
123func validateOpExportEC2InstanceRecommendationsInput(v *ExportEC2InstanceRecommendationsInput) error {
124	if v == nil {
125		return nil
126	}
127	invalidParams := smithy.InvalidParamsError{Context: "ExportEC2InstanceRecommendationsInput"}
128	if v.S3DestinationConfig == nil {
129		invalidParams.Add(smithy.NewErrParamRequired("S3DestinationConfig"))
130	}
131	if invalidParams.Len() > 0 {
132		return invalidParams
133	} else {
134		return nil
135	}
136}
137
138func validateOpGetEC2RecommendationProjectedMetricsInput(v *GetEC2RecommendationProjectedMetricsInput) error {
139	if v == nil {
140		return nil
141	}
142	invalidParams := smithy.InvalidParamsError{Context: "GetEC2RecommendationProjectedMetricsInput"}
143	if v.InstanceArn == nil {
144		invalidParams.Add(smithy.NewErrParamRequired("InstanceArn"))
145	}
146	if len(v.Stat) == 0 {
147		invalidParams.Add(smithy.NewErrParamRequired("Stat"))
148	}
149	if v.StartTime == nil {
150		invalidParams.Add(smithy.NewErrParamRequired("StartTime"))
151	}
152	if v.EndTime == nil {
153		invalidParams.Add(smithy.NewErrParamRequired("EndTime"))
154	}
155	if invalidParams.Len() > 0 {
156		return invalidParams
157	} else {
158		return nil
159	}
160}
161
162func validateOpUpdateEnrollmentStatusInput(v *UpdateEnrollmentStatusInput) error {
163	if v == nil {
164		return nil
165	}
166	invalidParams := smithy.InvalidParamsError{Context: "UpdateEnrollmentStatusInput"}
167	if len(v.Status) == 0 {
168		invalidParams.Add(smithy.NewErrParamRequired("Status"))
169	}
170	if invalidParams.Len() > 0 {
171		return invalidParams
172	} else {
173		return nil
174	}
175}
176