// Code generated by smithy-go-codegen DO NOT EDIT. package kinesisvideowebrtcstorage import ( "context" "fmt" smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" ) type validateOpJoinStorageSession struct { } func (*validateOpJoinStorageSession) ID() string { return "OperationInputValidation" } func (m *validateOpJoinStorageSession) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( out middleware.InitializeOutput, metadata middleware.Metadata, err error, ) { input, ok := in.Parameters.(*JoinStorageSessionInput) if !ok { return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) } if err := validateOpJoinStorageSessionInput(input); err != nil { return out, metadata, err } return next.HandleInitialize(ctx, in) } func addOpJoinStorageSessionValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpJoinStorageSession{}, middleware.After) } func validateOpJoinStorageSessionInput(v *JoinStorageSessionInput) error { if v == nil { return nil } invalidParams := smithy.InvalidParamsError{Context: "JoinStorageSessionInput"} if v.ChannelArn == nil { invalidParams.Add(smithy.NewErrParamRequired("ChannelArn")) } if invalidParams.Len() > 0 { return invalidParams } else { return nil } }