// Code generated by smithy-go-codegen DO NOT EDIT. package scheduler import ( "bytes" "context" "fmt" "github.com/aws/aws-sdk-go-v2/service/scheduler/types" smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/encoding/httpbinding" smithyjson "github.com/aws/smithy-go/encoding/json" "github.com/aws/smithy-go/middleware" smithytime "github.com/aws/smithy-go/time" smithyhttp "github.com/aws/smithy-go/transport/http" ) type awsRestjson1_serializeOpCreateSchedule struct { } func (*awsRestjson1_serializeOpCreateSchedule) ID() string { return "OperationSerializer" } func (m *awsRestjson1_serializeOpCreateSchedule) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } input, ok := in.Parameters.(*CreateScheduleInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } opPath, opQuery := httpbinding.SplitURI("/schedules/{Name}") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "POST" restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) if err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if err := awsRestjson1_serializeOpHttpBindingsCreateScheduleInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } restEncoder.SetHeader("Content-Type").String("application/json") jsonEncoder := smithyjson.NewEncoder() if err := awsRestjson1_serializeOpDocumentCreateScheduleInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request.Request, err = restEncoder.Encode(request.Request); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } in.Request = request return next.HandleSerialize(ctx, in) } func awsRestjson1_serializeOpHttpBindingsCreateScheduleInput(v *CreateScheduleInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } if v.Name == nil || len(*v.Name) == 0 { return &smithy.SerializationError{Err: fmt.Errorf("input member Name must not be empty")} } if v.Name != nil { if err := encoder.SetURI("Name").String(*v.Name); err != nil { return err } } return nil } func awsRestjson1_serializeOpDocumentCreateScheduleInput(v *CreateScheduleInput, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.ClientToken != nil { ok := object.Key("ClientToken") ok.String(*v.ClientToken) } if v.Description != nil { ok := object.Key("Description") ok.String(*v.Description) } if v.EndDate != nil { ok := object.Key("EndDate") ok.Double(smithytime.FormatEpochSeconds(*v.EndDate)) } if v.FlexibleTimeWindow != nil { ok := object.Key("FlexibleTimeWindow") if err := awsRestjson1_serializeDocumentFlexibleTimeWindow(v.FlexibleTimeWindow, ok); err != nil { return err } } if v.GroupName != nil { ok := object.Key("GroupName") ok.String(*v.GroupName) } if v.KmsKeyArn != nil { ok := object.Key("KmsKeyArn") ok.String(*v.KmsKeyArn) } if v.ScheduleExpression != nil { ok := object.Key("ScheduleExpression") ok.String(*v.ScheduleExpression) } if v.ScheduleExpressionTimezone != nil { ok := object.Key("ScheduleExpressionTimezone") ok.String(*v.ScheduleExpressionTimezone) } if v.StartDate != nil { ok := object.Key("StartDate") ok.Double(smithytime.FormatEpochSeconds(*v.StartDate)) } if len(v.State) > 0 { ok := object.Key("State") ok.String(string(v.State)) } if v.Target != nil { ok := object.Key("Target") if err := awsRestjson1_serializeDocumentTarget(v.Target, ok); err != nil { return err } } return nil } type awsRestjson1_serializeOpCreateScheduleGroup struct { } func (*awsRestjson1_serializeOpCreateScheduleGroup) ID() string { return "OperationSerializer" } func (m *awsRestjson1_serializeOpCreateScheduleGroup) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } input, ok := in.Parameters.(*CreateScheduleGroupInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } opPath, opQuery := httpbinding.SplitURI("/schedule-groups/{Name}") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "POST" restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) if err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if err := awsRestjson1_serializeOpHttpBindingsCreateScheduleGroupInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } restEncoder.SetHeader("Content-Type").String("application/json") jsonEncoder := smithyjson.NewEncoder() if err := awsRestjson1_serializeOpDocumentCreateScheduleGroupInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request.Request, err = restEncoder.Encode(request.Request); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } in.Request = request return next.HandleSerialize(ctx, in) } func awsRestjson1_serializeOpHttpBindingsCreateScheduleGroupInput(v *CreateScheduleGroupInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } if v.Name == nil || len(*v.Name) == 0 { return &smithy.SerializationError{Err: fmt.Errorf("input member Name must not be empty")} } if v.Name != nil { if err := encoder.SetURI("Name").String(*v.Name); err != nil { return err } } return nil } func awsRestjson1_serializeOpDocumentCreateScheduleGroupInput(v *CreateScheduleGroupInput, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.ClientToken != nil { ok := object.Key("ClientToken") ok.String(*v.ClientToken) } if v.Tags != nil { ok := object.Key("Tags") if err := awsRestjson1_serializeDocumentTagList(v.Tags, ok); err != nil { return err } } return nil } type awsRestjson1_serializeOpDeleteSchedule struct { } func (*awsRestjson1_serializeOpDeleteSchedule) ID() string { return "OperationSerializer" } func (m *awsRestjson1_serializeOpDeleteSchedule) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } input, ok := in.Parameters.(*DeleteScheduleInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } opPath, opQuery := httpbinding.SplitURI("/schedules/{Name}") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "DELETE" restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) if err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if err := awsRestjson1_serializeOpHttpBindingsDeleteScheduleInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request.Request, err = restEncoder.Encode(request.Request); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } in.Request = request return next.HandleSerialize(ctx, in) } func awsRestjson1_serializeOpHttpBindingsDeleteScheduleInput(v *DeleteScheduleInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } if v.ClientToken != nil { encoder.SetQuery("clientToken").String(*v.ClientToken) } if v.GroupName != nil { encoder.SetQuery("groupName").String(*v.GroupName) } if v.Name == nil || len(*v.Name) == 0 { return &smithy.SerializationError{Err: fmt.Errorf("input member Name must not be empty")} } if v.Name != nil { if err := encoder.SetURI("Name").String(*v.Name); err != nil { return err } } return nil } type awsRestjson1_serializeOpDeleteScheduleGroup struct { } func (*awsRestjson1_serializeOpDeleteScheduleGroup) ID() string { return "OperationSerializer" } func (m *awsRestjson1_serializeOpDeleteScheduleGroup) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } input, ok := in.Parameters.(*DeleteScheduleGroupInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } opPath, opQuery := httpbinding.SplitURI("/schedule-groups/{Name}") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "DELETE" restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) if err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if err := awsRestjson1_serializeOpHttpBindingsDeleteScheduleGroupInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request.Request, err = restEncoder.Encode(request.Request); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } in.Request = request return next.HandleSerialize(ctx, in) } func awsRestjson1_serializeOpHttpBindingsDeleteScheduleGroupInput(v *DeleteScheduleGroupInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } if v.ClientToken != nil { encoder.SetQuery("clientToken").String(*v.ClientToken) } if v.Name == nil || len(*v.Name) == 0 { return &smithy.SerializationError{Err: fmt.Errorf("input member Name must not be empty")} } if v.Name != nil { if err := encoder.SetURI("Name").String(*v.Name); err != nil { return err } } return nil } type awsRestjson1_serializeOpGetSchedule struct { } func (*awsRestjson1_serializeOpGetSchedule) ID() string { return "OperationSerializer" } func (m *awsRestjson1_serializeOpGetSchedule) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } input, ok := in.Parameters.(*GetScheduleInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } opPath, opQuery := httpbinding.SplitURI("/schedules/{Name}") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "GET" restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) if err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if err := awsRestjson1_serializeOpHttpBindingsGetScheduleInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request.Request, err = restEncoder.Encode(request.Request); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } in.Request = request return next.HandleSerialize(ctx, in) } func awsRestjson1_serializeOpHttpBindingsGetScheduleInput(v *GetScheduleInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } if v.GroupName != nil { encoder.SetQuery("groupName").String(*v.GroupName) } if v.Name == nil || len(*v.Name) == 0 { return &smithy.SerializationError{Err: fmt.Errorf("input member Name must not be empty")} } if v.Name != nil { if err := encoder.SetURI("Name").String(*v.Name); err != nil { return err } } return nil } type awsRestjson1_serializeOpGetScheduleGroup struct { } func (*awsRestjson1_serializeOpGetScheduleGroup) ID() string { return "OperationSerializer" } func (m *awsRestjson1_serializeOpGetScheduleGroup) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } input, ok := in.Parameters.(*GetScheduleGroupInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } opPath, opQuery := httpbinding.SplitURI("/schedule-groups/{Name}") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "GET" restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) if err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if err := awsRestjson1_serializeOpHttpBindingsGetScheduleGroupInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request.Request, err = restEncoder.Encode(request.Request); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } in.Request = request return next.HandleSerialize(ctx, in) } func awsRestjson1_serializeOpHttpBindingsGetScheduleGroupInput(v *GetScheduleGroupInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } if v.Name == nil || len(*v.Name) == 0 { return &smithy.SerializationError{Err: fmt.Errorf("input member Name must not be empty")} } if v.Name != nil { if err := encoder.SetURI("Name").String(*v.Name); err != nil { return err } } return nil } type awsRestjson1_serializeOpListScheduleGroups struct { } func (*awsRestjson1_serializeOpListScheduleGroups) ID() string { return "OperationSerializer" } func (m *awsRestjson1_serializeOpListScheduleGroups) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } input, ok := in.Parameters.(*ListScheduleGroupsInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } opPath, opQuery := httpbinding.SplitURI("/schedule-groups") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "GET" restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) if err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if err := awsRestjson1_serializeOpHttpBindingsListScheduleGroupsInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request.Request, err = restEncoder.Encode(request.Request); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } in.Request = request return next.HandleSerialize(ctx, in) } func awsRestjson1_serializeOpHttpBindingsListScheduleGroupsInput(v *ListScheduleGroupsInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } if v.MaxResults != nil { encoder.SetQuery("MaxResults").Integer(*v.MaxResults) } if v.NamePrefix != nil { encoder.SetQuery("NamePrefix").String(*v.NamePrefix) } if v.NextToken != nil { encoder.SetQuery("NextToken").String(*v.NextToken) } return nil } type awsRestjson1_serializeOpListSchedules struct { } func (*awsRestjson1_serializeOpListSchedules) ID() string { return "OperationSerializer" } func (m *awsRestjson1_serializeOpListSchedules) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } input, ok := in.Parameters.(*ListSchedulesInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } opPath, opQuery := httpbinding.SplitURI("/schedules") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "GET" restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) if err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if err := awsRestjson1_serializeOpHttpBindingsListSchedulesInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request.Request, err = restEncoder.Encode(request.Request); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } in.Request = request return next.HandleSerialize(ctx, in) } func awsRestjson1_serializeOpHttpBindingsListSchedulesInput(v *ListSchedulesInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } if v.GroupName != nil { encoder.SetQuery("ScheduleGroup").String(*v.GroupName) } if v.MaxResults != nil { encoder.SetQuery("MaxResults").Integer(*v.MaxResults) } if v.NamePrefix != nil { encoder.SetQuery("NamePrefix").String(*v.NamePrefix) } if v.NextToken != nil { encoder.SetQuery("NextToken").String(*v.NextToken) } if len(v.State) > 0 { encoder.SetQuery("State").String(string(v.State)) } return nil } type awsRestjson1_serializeOpListTagsForResource struct { } func (*awsRestjson1_serializeOpListTagsForResource) ID() string { return "OperationSerializer" } func (m *awsRestjson1_serializeOpListTagsForResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } input, ok := in.Parameters.(*ListTagsForResourceInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } opPath, opQuery := httpbinding.SplitURI("/tags/{ResourceArn}") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "GET" restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) if err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if err := awsRestjson1_serializeOpHttpBindingsListTagsForResourceInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request.Request, err = restEncoder.Encode(request.Request); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } in.Request = request return next.HandleSerialize(ctx, in) } func awsRestjson1_serializeOpHttpBindingsListTagsForResourceInput(v *ListTagsForResourceInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } if v.ResourceArn == nil || len(*v.ResourceArn) == 0 { return &smithy.SerializationError{Err: fmt.Errorf("input member ResourceArn must not be empty")} } if v.ResourceArn != nil { if err := encoder.SetURI("ResourceArn").String(*v.ResourceArn); err != nil { return err } } return nil } type awsRestjson1_serializeOpTagResource struct { } func (*awsRestjson1_serializeOpTagResource) ID() string { return "OperationSerializer" } func (m *awsRestjson1_serializeOpTagResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } input, ok := in.Parameters.(*TagResourceInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } opPath, opQuery := httpbinding.SplitURI("/tags/{ResourceArn}") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "POST" restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) if err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if err := awsRestjson1_serializeOpHttpBindingsTagResourceInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } restEncoder.SetHeader("Content-Type").String("application/json") jsonEncoder := smithyjson.NewEncoder() if err := awsRestjson1_serializeOpDocumentTagResourceInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request.Request, err = restEncoder.Encode(request.Request); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } in.Request = request return next.HandleSerialize(ctx, in) } func awsRestjson1_serializeOpHttpBindingsTagResourceInput(v *TagResourceInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } if v.ResourceArn == nil || len(*v.ResourceArn) == 0 { return &smithy.SerializationError{Err: fmt.Errorf("input member ResourceArn must not be empty")} } if v.ResourceArn != nil { if err := encoder.SetURI("ResourceArn").String(*v.ResourceArn); err != nil { return err } } return nil } func awsRestjson1_serializeOpDocumentTagResourceInput(v *TagResourceInput, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.Tags != nil { ok := object.Key("Tags") if err := awsRestjson1_serializeDocumentTagList(v.Tags, ok); err != nil { return err } } return nil } type awsRestjson1_serializeOpUntagResource struct { } func (*awsRestjson1_serializeOpUntagResource) ID() string { return "OperationSerializer" } func (m *awsRestjson1_serializeOpUntagResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } input, ok := in.Parameters.(*UntagResourceInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } opPath, opQuery := httpbinding.SplitURI("/tags/{ResourceArn}") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "DELETE" restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) if err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if err := awsRestjson1_serializeOpHttpBindingsUntagResourceInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request.Request, err = restEncoder.Encode(request.Request); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } in.Request = request return next.HandleSerialize(ctx, in) } func awsRestjson1_serializeOpHttpBindingsUntagResourceInput(v *UntagResourceInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } if v.ResourceArn == nil || len(*v.ResourceArn) == 0 { return &smithy.SerializationError{Err: fmt.Errorf("input member ResourceArn must not be empty")} } if v.ResourceArn != nil { if err := encoder.SetURI("ResourceArn").String(*v.ResourceArn); err != nil { return err } } if v.TagKeys != nil { for i := range v.TagKeys { encoder.AddQuery("TagKeys").String(v.TagKeys[i]) } } return nil } type awsRestjson1_serializeOpUpdateSchedule struct { } func (*awsRestjson1_serializeOpUpdateSchedule) ID() string { return "OperationSerializer" } func (m *awsRestjson1_serializeOpUpdateSchedule) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } input, ok := in.Parameters.(*UpdateScheduleInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } opPath, opQuery := httpbinding.SplitURI("/schedules/{Name}") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "PUT" restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) if err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if err := awsRestjson1_serializeOpHttpBindingsUpdateScheduleInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } restEncoder.SetHeader("Content-Type").String("application/json") jsonEncoder := smithyjson.NewEncoder() if err := awsRestjson1_serializeOpDocumentUpdateScheduleInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } if request.Request, err = restEncoder.Encode(request.Request); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } in.Request = request return next.HandleSerialize(ctx, in) } func awsRestjson1_serializeOpHttpBindingsUpdateScheduleInput(v *UpdateScheduleInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } if v.Name == nil || len(*v.Name) == 0 { return &smithy.SerializationError{Err: fmt.Errorf("input member Name must not be empty")} } if v.Name != nil { if err := encoder.SetURI("Name").String(*v.Name); err != nil { return err } } return nil } func awsRestjson1_serializeOpDocumentUpdateScheduleInput(v *UpdateScheduleInput, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.ClientToken != nil { ok := object.Key("ClientToken") ok.String(*v.ClientToken) } if v.Description != nil { ok := object.Key("Description") ok.String(*v.Description) } if v.EndDate != nil { ok := object.Key("EndDate") ok.Double(smithytime.FormatEpochSeconds(*v.EndDate)) } if v.FlexibleTimeWindow != nil { ok := object.Key("FlexibleTimeWindow") if err := awsRestjson1_serializeDocumentFlexibleTimeWindow(v.FlexibleTimeWindow, ok); err != nil { return err } } if v.GroupName != nil { ok := object.Key("GroupName") ok.String(*v.GroupName) } if v.KmsKeyArn != nil { ok := object.Key("KmsKeyArn") ok.String(*v.KmsKeyArn) } if v.ScheduleExpression != nil { ok := object.Key("ScheduleExpression") ok.String(*v.ScheduleExpression) } if v.ScheduleExpressionTimezone != nil { ok := object.Key("ScheduleExpressionTimezone") ok.String(*v.ScheduleExpressionTimezone) } if v.StartDate != nil { ok := object.Key("StartDate") ok.Double(smithytime.FormatEpochSeconds(*v.StartDate)) } if len(v.State) > 0 { ok := object.Key("State") ok.String(string(v.State)) } if v.Target != nil { ok := object.Key("Target") if err := awsRestjson1_serializeDocumentTarget(v.Target, ok); err != nil { return err } } return nil } func awsRestjson1_serializeDocumentAwsVpcConfiguration(v *types.AwsVpcConfiguration, value smithyjson.Value) error { object := value.Object() defer object.Close() if len(v.AssignPublicIp) > 0 { ok := object.Key("AssignPublicIp") ok.String(string(v.AssignPublicIp)) } if v.SecurityGroups != nil { ok := object.Key("SecurityGroups") if err := awsRestjson1_serializeDocumentSecurityGroups(v.SecurityGroups, ok); err != nil { return err } } if v.Subnets != nil { ok := object.Key("Subnets") if err := awsRestjson1_serializeDocumentSubnets(v.Subnets, ok); err != nil { return err } } return nil } func awsRestjson1_serializeDocumentCapacityProviderStrategy(v []types.CapacityProviderStrategyItem, value smithyjson.Value) error { array := value.Array() defer array.Close() for i := range v { av := array.Value() if err := awsRestjson1_serializeDocumentCapacityProviderStrategyItem(&v[i], av); err != nil { return err } } return nil } func awsRestjson1_serializeDocumentCapacityProviderStrategyItem(v *types.CapacityProviderStrategyItem, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.Base != 0 { ok := object.Key("base") ok.Integer(v.Base) } if v.CapacityProvider != nil { ok := object.Key("capacityProvider") ok.String(*v.CapacityProvider) } if v.Weight != 0 { ok := object.Key("weight") ok.Integer(v.Weight) } return nil } func awsRestjson1_serializeDocumentDeadLetterConfig(v *types.DeadLetterConfig, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.Arn != nil { ok := object.Key("Arn") ok.String(*v.Arn) } return nil } func awsRestjson1_serializeDocumentEcsParameters(v *types.EcsParameters, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.CapacityProviderStrategy != nil { ok := object.Key("CapacityProviderStrategy") if err := awsRestjson1_serializeDocumentCapacityProviderStrategy(v.CapacityProviderStrategy, ok); err != nil { return err } } if v.EnableECSManagedTags != nil { ok := object.Key("EnableECSManagedTags") ok.Boolean(*v.EnableECSManagedTags) } if v.EnableExecuteCommand != nil { ok := object.Key("EnableExecuteCommand") ok.Boolean(*v.EnableExecuteCommand) } if v.Group != nil { ok := object.Key("Group") ok.String(*v.Group) } if len(v.LaunchType) > 0 { ok := object.Key("LaunchType") ok.String(string(v.LaunchType)) } if v.NetworkConfiguration != nil { ok := object.Key("NetworkConfiguration") if err := awsRestjson1_serializeDocumentNetworkConfiguration(v.NetworkConfiguration, ok); err != nil { return err } } if v.PlacementConstraints != nil { ok := object.Key("PlacementConstraints") if err := awsRestjson1_serializeDocumentPlacementConstraints(v.PlacementConstraints, ok); err != nil { return err } } if v.PlacementStrategy != nil { ok := object.Key("PlacementStrategy") if err := awsRestjson1_serializeDocumentPlacementStrategies(v.PlacementStrategy, ok); err != nil { return err } } if v.PlatformVersion != nil { ok := object.Key("PlatformVersion") ok.String(*v.PlatformVersion) } if len(v.PropagateTags) > 0 { ok := object.Key("PropagateTags") ok.String(string(v.PropagateTags)) } if v.ReferenceId != nil { ok := object.Key("ReferenceId") ok.String(*v.ReferenceId) } if v.Tags != nil { ok := object.Key("Tags") if err := awsRestjson1_serializeDocumentTags(v.Tags, ok); err != nil { return err } } if v.TaskCount != nil { ok := object.Key("TaskCount") ok.Integer(*v.TaskCount) } if v.TaskDefinitionArn != nil { ok := object.Key("TaskDefinitionArn") ok.String(*v.TaskDefinitionArn) } return nil } func awsRestjson1_serializeDocumentEventBridgeParameters(v *types.EventBridgeParameters, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.DetailType != nil { ok := object.Key("DetailType") ok.String(*v.DetailType) } if v.Source != nil { ok := object.Key("Source") ok.String(*v.Source) } return nil } func awsRestjson1_serializeDocumentFlexibleTimeWindow(v *types.FlexibleTimeWindow, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.MaximumWindowInMinutes != nil { ok := object.Key("MaximumWindowInMinutes") ok.Integer(*v.MaximumWindowInMinutes) } if len(v.Mode) > 0 { ok := object.Key("Mode") ok.String(string(v.Mode)) } return nil } func awsRestjson1_serializeDocumentKinesisParameters(v *types.KinesisParameters, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.PartitionKey != nil { ok := object.Key("PartitionKey") ok.String(*v.PartitionKey) } return nil } func awsRestjson1_serializeDocumentNetworkConfiguration(v *types.NetworkConfiguration, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.AwsvpcConfiguration != nil { ok := object.Key("awsvpcConfiguration") if err := awsRestjson1_serializeDocumentAwsVpcConfiguration(v.AwsvpcConfiguration, ok); err != nil { return err } } return nil } func awsRestjson1_serializeDocumentPlacementConstraint(v *types.PlacementConstraint, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.Expression != nil { ok := object.Key("expression") ok.String(*v.Expression) } if len(v.Type) > 0 { ok := object.Key("type") ok.String(string(v.Type)) } return nil } func awsRestjson1_serializeDocumentPlacementConstraints(v []types.PlacementConstraint, value smithyjson.Value) error { array := value.Array() defer array.Close() for i := range v { av := array.Value() if err := awsRestjson1_serializeDocumentPlacementConstraint(&v[i], av); err != nil { return err } } return nil } func awsRestjson1_serializeDocumentPlacementStrategies(v []types.PlacementStrategy, value smithyjson.Value) error { array := value.Array() defer array.Close() for i := range v { av := array.Value() if err := awsRestjson1_serializeDocumentPlacementStrategy(&v[i], av); err != nil { return err } } return nil } func awsRestjson1_serializeDocumentPlacementStrategy(v *types.PlacementStrategy, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.Field != nil { ok := object.Key("field") ok.String(*v.Field) } if len(v.Type) > 0 { ok := object.Key("type") ok.String(string(v.Type)) } return nil } func awsRestjson1_serializeDocumentRetryPolicy(v *types.RetryPolicy, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.MaximumEventAgeInSeconds != nil { ok := object.Key("MaximumEventAgeInSeconds") ok.Integer(*v.MaximumEventAgeInSeconds) } if v.MaximumRetryAttempts != nil { ok := object.Key("MaximumRetryAttempts") ok.Integer(*v.MaximumRetryAttempts) } return nil } func awsRestjson1_serializeDocumentSageMakerPipelineParameter(v *types.SageMakerPipelineParameter, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.Name != nil { ok := object.Key("Name") ok.String(*v.Name) } if v.Value != nil { ok := object.Key("Value") ok.String(*v.Value) } return nil } func awsRestjson1_serializeDocumentSageMakerPipelineParameterList(v []types.SageMakerPipelineParameter, value smithyjson.Value) error { array := value.Array() defer array.Close() for i := range v { av := array.Value() if err := awsRestjson1_serializeDocumentSageMakerPipelineParameter(&v[i], av); err != nil { return err } } return nil } func awsRestjson1_serializeDocumentSageMakerPipelineParameters(v *types.SageMakerPipelineParameters, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.PipelineParameterList != nil { ok := object.Key("PipelineParameterList") if err := awsRestjson1_serializeDocumentSageMakerPipelineParameterList(v.PipelineParameterList, ok); err != nil { return err } } return nil } func awsRestjson1_serializeDocumentSecurityGroups(v []string, value smithyjson.Value) error { array := value.Array() defer array.Close() for i := range v { av := array.Value() av.String(v[i]) } return nil } func awsRestjson1_serializeDocumentSqsParameters(v *types.SqsParameters, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.MessageGroupId != nil { ok := object.Key("MessageGroupId") ok.String(*v.MessageGroupId) } return nil } func awsRestjson1_serializeDocumentSubnets(v []string, value smithyjson.Value) error { array := value.Array() defer array.Close() for i := range v { av := array.Value() av.String(v[i]) } return nil } func awsRestjson1_serializeDocumentTag(v *types.Tag, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.Key != nil { ok := object.Key("Key") ok.String(*v.Key) } if v.Value != nil { ok := object.Key("Value") ok.String(*v.Value) } return nil } func awsRestjson1_serializeDocumentTagList(v []types.Tag, value smithyjson.Value) error { array := value.Array() defer array.Close() for i := range v { av := array.Value() if err := awsRestjson1_serializeDocumentTag(&v[i], av); err != nil { return err } } return nil } func awsRestjson1_serializeDocumentTagMap(v map[string]string, value smithyjson.Value) error { object := value.Object() defer object.Close() for key := range v { om := object.Key(key) om.String(v[key]) } return nil } func awsRestjson1_serializeDocumentTags(v []map[string]string, value smithyjson.Value) error { array := value.Array() defer array.Close() for i := range v { av := array.Value() if vv := v[i]; vv == nil { continue } if err := awsRestjson1_serializeDocumentTagMap(v[i], av); err != nil { return err } } return nil } func awsRestjson1_serializeDocumentTarget(v *types.Target, value smithyjson.Value) error { object := value.Object() defer object.Close() if v.Arn != nil { ok := object.Key("Arn") ok.String(*v.Arn) } if v.DeadLetterConfig != nil { ok := object.Key("DeadLetterConfig") if err := awsRestjson1_serializeDocumentDeadLetterConfig(v.DeadLetterConfig, ok); err != nil { return err } } if v.EcsParameters != nil { ok := object.Key("EcsParameters") if err := awsRestjson1_serializeDocumentEcsParameters(v.EcsParameters, ok); err != nil { return err } } if v.EventBridgeParameters != nil { ok := object.Key("EventBridgeParameters") if err := awsRestjson1_serializeDocumentEventBridgeParameters(v.EventBridgeParameters, ok); err != nil { return err } } if v.Input != nil { ok := object.Key("Input") ok.String(*v.Input) } if v.KinesisParameters != nil { ok := object.Key("KinesisParameters") if err := awsRestjson1_serializeDocumentKinesisParameters(v.KinesisParameters, ok); err != nil { return err } } if v.RetryPolicy != nil { ok := object.Key("RetryPolicy") if err := awsRestjson1_serializeDocumentRetryPolicy(v.RetryPolicy, ok); err != nil { return err } } if v.RoleArn != nil { ok := object.Key("RoleArn") ok.String(*v.RoleArn) } if v.SageMakerPipelineParameters != nil { ok := object.Key("SageMakerPipelineParameters") if err := awsRestjson1_serializeDocumentSageMakerPipelineParameters(v.SageMakerPipelineParameters, ok); err != nil { return err } } if v.SqsParameters != nil { ok := object.Key("SqsParameters") if err := awsRestjson1_serializeDocumentSqsParameters(v.SqsParameters, ok); err != nil { return err } } return nil }