1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package elasticinference 4 5import ( 6 "bytes" 7 "context" 8 "fmt" 9 "github.com/aws/aws-sdk-go-v2/service/elasticinference/types" 10 smithy "github.com/aws/smithy-go" 11 "github.com/aws/smithy-go/encoding/httpbinding" 12 smithyjson "github.com/aws/smithy-go/encoding/json" 13 "github.com/aws/smithy-go/middleware" 14 smithyhttp "github.com/aws/smithy-go/transport/http" 15) 16 17type awsRestjson1_serializeOpDescribeAcceleratorOfferings struct { 18} 19 20func (*awsRestjson1_serializeOpDescribeAcceleratorOfferings) ID() string { 21 return "OperationSerializer" 22} 23 24func (m *awsRestjson1_serializeOpDescribeAcceleratorOfferings) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 25 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 26) { 27 request, ok := in.Request.(*smithyhttp.Request) 28 if !ok { 29 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 30 } 31 32 input, ok := in.Parameters.(*DescribeAcceleratorOfferingsInput) 33 _ = input 34 if !ok { 35 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 36 } 37 38 opPath, opQuery := httpbinding.SplitURI("/describe-accelerator-offerings") 39 request.URL.Path = opPath 40 if len(request.URL.RawQuery) > 0 { 41 request.URL.RawQuery = "&" + opQuery 42 } else { 43 request.URL.RawQuery = opQuery 44 } 45 46 request.Method = "POST" 47 restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 48 if err != nil { 49 return out, metadata, &smithy.SerializationError{Err: err} 50 } 51 52 restEncoder.SetHeader("Content-Type").String("application/json") 53 54 jsonEncoder := smithyjson.NewEncoder() 55 if err := awsRestjson1_serializeOpDocumentDescribeAcceleratorOfferingsInput(input, jsonEncoder.Value); err != nil { 56 return out, metadata, &smithy.SerializationError{Err: err} 57 } 58 59 if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { 60 return out, metadata, &smithy.SerializationError{Err: err} 61 } 62 63 if request.Request, err = restEncoder.Encode(request.Request); err != nil { 64 return out, metadata, &smithy.SerializationError{Err: err} 65 } 66 in.Request = request 67 68 return next.HandleSerialize(ctx, in) 69} 70func awsRestjson1_serializeOpHttpBindingsDescribeAcceleratorOfferingsInput(v *DescribeAcceleratorOfferingsInput, encoder *httpbinding.Encoder) error { 71 if v == nil { 72 return fmt.Errorf("unsupported serialization of nil %T", v) 73 } 74 75 return nil 76} 77 78func awsRestjson1_serializeOpDocumentDescribeAcceleratorOfferingsInput(v *DescribeAcceleratorOfferingsInput, value smithyjson.Value) error { 79 object := value.Object() 80 defer object.Close() 81 82 if v.AcceleratorTypes != nil { 83 ok := object.Key("acceleratorTypes") 84 if err := awsRestjson1_serializeDocumentAcceleratorTypeNameList(v.AcceleratorTypes, ok); err != nil { 85 return err 86 } 87 } 88 89 if len(v.LocationType) > 0 { 90 ok := object.Key("locationType") 91 ok.String(string(v.LocationType)) 92 } 93 94 return nil 95} 96 97type awsRestjson1_serializeOpDescribeAccelerators struct { 98} 99 100func (*awsRestjson1_serializeOpDescribeAccelerators) ID() string { 101 return "OperationSerializer" 102} 103 104func (m *awsRestjson1_serializeOpDescribeAccelerators) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 105 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 106) { 107 request, ok := in.Request.(*smithyhttp.Request) 108 if !ok { 109 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 110 } 111 112 input, ok := in.Parameters.(*DescribeAcceleratorsInput) 113 _ = input 114 if !ok { 115 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 116 } 117 118 opPath, opQuery := httpbinding.SplitURI("/describe-accelerators") 119 request.URL.Path = opPath 120 if len(request.URL.RawQuery) > 0 { 121 request.URL.RawQuery = "&" + opQuery 122 } else { 123 request.URL.RawQuery = opQuery 124 } 125 126 request.Method = "POST" 127 restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 128 if err != nil { 129 return out, metadata, &smithy.SerializationError{Err: err} 130 } 131 132 restEncoder.SetHeader("Content-Type").String("application/json") 133 134 jsonEncoder := smithyjson.NewEncoder() 135 if err := awsRestjson1_serializeOpDocumentDescribeAcceleratorsInput(input, jsonEncoder.Value); err != nil { 136 return out, metadata, &smithy.SerializationError{Err: err} 137 } 138 139 if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { 140 return out, metadata, &smithy.SerializationError{Err: err} 141 } 142 143 if request.Request, err = restEncoder.Encode(request.Request); err != nil { 144 return out, metadata, &smithy.SerializationError{Err: err} 145 } 146 in.Request = request 147 148 return next.HandleSerialize(ctx, in) 149} 150func awsRestjson1_serializeOpHttpBindingsDescribeAcceleratorsInput(v *DescribeAcceleratorsInput, encoder *httpbinding.Encoder) error { 151 if v == nil { 152 return fmt.Errorf("unsupported serialization of nil %T", v) 153 } 154 155 return nil 156} 157 158func awsRestjson1_serializeOpDocumentDescribeAcceleratorsInput(v *DescribeAcceleratorsInput, value smithyjson.Value) error { 159 object := value.Object() 160 defer object.Close() 161 162 if v.AcceleratorIds != nil { 163 ok := object.Key("acceleratorIds") 164 if err := awsRestjson1_serializeDocumentAcceleratorIdList(v.AcceleratorIds, ok); err != nil { 165 return err 166 } 167 } 168 169 if v.Filters != nil { 170 ok := object.Key("filters") 171 if err := awsRestjson1_serializeDocumentFilterList(v.Filters, ok); err != nil { 172 return err 173 } 174 } 175 176 if v.MaxResults != 0 { 177 ok := object.Key("maxResults") 178 ok.Integer(v.MaxResults) 179 } 180 181 if v.NextToken != nil { 182 ok := object.Key("nextToken") 183 ok.String(*v.NextToken) 184 } 185 186 return nil 187} 188 189type awsRestjson1_serializeOpDescribeAcceleratorTypes struct { 190} 191 192func (*awsRestjson1_serializeOpDescribeAcceleratorTypes) ID() string { 193 return "OperationSerializer" 194} 195 196func (m *awsRestjson1_serializeOpDescribeAcceleratorTypes) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 197 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 198) { 199 request, ok := in.Request.(*smithyhttp.Request) 200 if !ok { 201 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 202 } 203 204 input, ok := in.Parameters.(*DescribeAcceleratorTypesInput) 205 _ = input 206 if !ok { 207 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 208 } 209 210 opPath, opQuery := httpbinding.SplitURI("/describe-accelerator-types") 211 request.URL.Path = opPath 212 if len(request.URL.RawQuery) > 0 { 213 request.URL.RawQuery = "&" + opQuery 214 } else { 215 request.URL.RawQuery = opQuery 216 } 217 218 request.Method = "GET" 219 restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 220 if err != nil { 221 return out, metadata, &smithy.SerializationError{Err: err} 222 } 223 224 if request.Request, err = restEncoder.Encode(request.Request); err != nil { 225 return out, metadata, &smithy.SerializationError{Err: err} 226 } 227 in.Request = request 228 229 return next.HandleSerialize(ctx, in) 230} 231func awsRestjson1_serializeOpHttpBindingsDescribeAcceleratorTypesInput(v *DescribeAcceleratorTypesInput, encoder *httpbinding.Encoder) error { 232 if v == nil { 233 return fmt.Errorf("unsupported serialization of nil %T", v) 234 } 235 236 return nil 237} 238 239type awsRestjson1_serializeOpListTagsForResource struct { 240} 241 242func (*awsRestjson1_serializeOpListTagsForResource) ID() string { 243 return "OperationSerializer" 244} 245 246func (m *awsRestjson1_serializeOpListTagsForResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 247 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 248) { 249 request, ok := in.Request.(*smithyhttp.Request) 250 if !ok { 251 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 252 } 253 254 input, ok := in.Parameters.(*ListTagsForResourceInput) 255 _ = input 256 if !ok { 257 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 258 } 259 260 opPath, opQuery := httpbinding.SplitURI("/tags/{resourceArn}") 261 request.URL.Path = opPath 262 if len(request.URL.RawQuery) > 0 { 263 request.URL.RawQuery = "&" + opQuery 264 } else { 265 request.URL.RawQuery = opQuery 266 } 267 268 request.Method = "GET" 269 restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 270 if err != nil { 271 return out, metadata, &smithy.SerializationError{Err: err} 272 } 273 274 if err := awsRestjson1_serializeOpHttpBindingsListTagsForResourceInput(input, restEncoder); err != nil { 275 return out, metadata, &smithy.SerializationError{Err: err} 276 } 277 278 if request.Request, err = restEncoder.Encode(request.Request); err != nil { 279 return out, metadata, &smithy.SerializationError{Err: err} 280 } 281 in.Request = request 282 283 return next.HandleSerialize(ctx, in) 284} 285func awsRestjson1_serializeOpHttpBindingsListTagsForResourceInput(v *ListTagsForResourceInput, encoder *httpbinding.Encoder) error { 286 if v == nil { 287 return fmt.Errorf("unsupported serialization of nil %T", v) 288 } 289 290 if v.ResourceArn == nil || len(*v.ResourceArn) == 0 { 291 return &smithy.SerializationError{Err: fmt.Errorf("input member resourceArn must not be empty")} 292 } 293 if v.ResourceArn != nil { 294 if err := encoder.SetURI("resourceArn").String(*v.ResourceArn); err != nil { 295 return err 296 } 297 } 298 299 return nil 300} 301 302type awsRestjson1_serializeOpTagResource struct { 303} 304 305func (*awsRestjson1_serializeOpTagResource) ID() string { 306 return "OperationSerializer" 307} 308 309func (m *awsRestjson1_serializeOpTagResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 310 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 311) { 312 request, ok := in.Request.(*smithyhttp.Request) 313 if !ok { 314 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 315 } 316 317 input, ok := in.Parameters.(*TagResourceInput) 318 _ = input 319 if !ok { 320 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 321 } 322 323 opPath, opQuery := httpbinding.SplitURI("/tags/{resourceArn}") 324 request.URL.Path = opPath 325 if len(request.URL.RawQuery) > 0 { 326 request.URL.RawQuery = "&" + opQuery 327 } else { 328 request.URL.RawQuery = opQuery 329 } 330 331 request.Method = "POST" 332 restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 333 if err != nil { 334 return out, metadata, &smithy.SerializationError{Err: err} 335 } 336 337 if err := awsRestjson1_serializeOpHttpBindingsTagResourceInput(input, restEncoder); err != nil { 338 return out, metadata, &smithy.SerializationError{Err: err} 339 } 340 341 restEncoder.SetHeader("Content-Type").String("application/json") 342 343 jsonEncoder := smithyjson.NewEncoder() 344 if err := awsRestjson1_serializeOpDocumentTagResourceInput(input, jsonEncoder.Value); err != nil { 345 return out, metadata, &smithy.SerializationError{Err: err} 346 } 347 348 if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { 349 return out, metadata, &smithy.SerializationError{Err: err} 350 } 351 352 if request.Request, err = restEncoder.Encode(request.Request); err != nil { 353 return out, metadata, &smithy.SerializationError{Err: err} 354 } 355 in.Request = request 356 357 return next.HandleSerialize(ctx, in) 358} 359func awsRestjson1_serializeOpHttpBindingsTagResourceInput(v *TagResourceInput, encoder *httpbinding.Encoder) error { 360 if v == nil { 361 return fmt.Errorf("unsupported serialization of nil %T", v) 362 } 363 364 if v.ResourceArn == nil || len(*v.ResourceArn) == 0 { 365 return &smithy.SerializationError{Err: fmt.Errorf("input member resourceArn must not be empty")} 366 } 367 if v.ResourceArn != nil { 368 if err := encoder.SetURI("resourceArn").String(*v.ResourceArn); err != nil { 369 return err 370 } 371 } 372 373 return nil 374} 375 376func awsRestjson1_serializeOpDocumentTagResourceInput(v *TagResourceInput, value smithyjson.Value) error { 377 object := value.Object() 378 defer object.Close() 379 380 if v.Tags != nil { 381 ok := object.Key("tags") 382 if err := awsRestjson1_serializeDocumentTagMap(v.Tags, ok); err != nil { 383 return err 384 } 385 } 386 387 return nil 388} 389 390type awsRestjson1_serializeOpUntagResource struct { 391} 392 393func (*awsRestjson1_serializeOpUntagResource) ID() string { 394 return "OperationSerializer" 395} 396 397func (m *awsRestjson1_serializeOpUntagResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 398 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 399) { 400 request, ok := in.Request.(*smithyhttp.Request) 401 if !ok { 402 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 403 } 404 405 input, ok := in.Parameters.(*UntagResourceInput) 406 _ = input 407 if !ok { 408 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 409 } 410 411 opPath, opQuery := httpbinding.SplitURI("/tags/{resourceArn}") 412 request.URL.Path = opPath 413 if len(request.URL.RawQuery) > 0 { 414 request.URL.RawQuery = "&" + opQuery 415 } else { 416 request.URL.RawQuery = opQuery 417 } 418 419 request.Method = "DELETE" 420 restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 421 if err != nil { 422 return out, metadata, &smithy.SerializationError{Err: err} 423 } 424 425 if err := awsRestjson1_serializeOpHttpBindingsUntagResourceInput(input, restEncoder); err != nil { 426 return out, metadata, &smithy.SerializationError{Err: err} 427 } 428 429 if request.Request, err = restEncoder.Encode(request.Request); err != nil { 430 return out, metadata, &smithy.SerializationError{Err: err} 431 } 432 in.Request = request 433 434 return next.HandleSerialize(ctx, in) 435} 436func awsRestjson1_serializeOpHttpBindingsUntagResourceInput(v *UntagResourceInput, encoder *httpbinding.Encoder) error { 437 if v == nil { 438 return fmt.Errorf("unsupported serialization of nil %T", v) 439 } 440 441 if v.ResourceArn == nil || len(*v.ResourceArn) == 0 { 442 return &smithy.SerializationError{Err: fmt.Errorf("input member resourceArn must not be empty")} 443 } 444 if v.ResourceArn != nil { 445 if err := encoder.SetURI("resourceArn").String(*v.ResourceArn); err != nil { 446 return err 447 } 448 } 449 450 if v.TagKeys != nil { 451 for i := range v.TagKeys { 452 encoder.AddQuery("tagKeys").String(v.TagKeys[i]) 453 } 454 } 455 456 return nil 457} 458 459func awsRestjson1_serializeDocumentAcceleratorIdList(v []string, value smithyjson.Value) error { 460 array := value.Array() 461 defer array.Close() 462 463 for i := range v { 464 av := array.Value() 465 av.String(v[i]) 466 } 467 return nil 468} 469 470func awsRestjson1_serializeDocumentAcceleratorTypeNameList(v []string, value smithyjson.Value) error { 471 array := value.Array() 472 defer array.Close() 473 474 for i := range v { 475 av := array.Value() 476 av.String(v[i]) 477 } 478 return nil 479} 480 481func awsRestjson1_serializeDocumentFilter(v *types.Filter, value smithyjson.Value) error { 482 object := value.Object() 483 defer object.Close() 484 485 if v.Name != nil { 486 ok := object.Key("name") 487 ok.String(*v.Name) 488 } 489 490 if v.Values != nil { 491 ok := object.Key("values") 492 if err := awsRestjson1_serializeDocumentValueStringList(v.Values, ok); err != nil { 493 return err 494 } 495 } 496 497 return nil 498} 499 500func awsRestjson1_serializeDocumentFilterList(v []types.Filter, value smithyjson.Value) error { 501 array := value.Array() 502 defer array.Close() 503 504 for i := range v { 505 av := array.Value() 506 if err := awsRestjson1_serializeDocumentFilter(&v[i], av); err != nil { 507 return err 508 } 509 } 510 return nil 511} 512 513func awsRestjson1_serializeDocumentTagMap(v map[string]string, value smithyjson.Value) error { 514 object := value.Object() 515 defer object.Close() 516 517 for key := range v { 518 om := object.Key(key) 519 om.String(v[key]) 520 } 521 return nil 522} 523 524func awsRestjson1_serializeDocumentValueStringList(v []string, value smithyjson.Value) error { 525 array := value.Array() 526 defer array.Close() 527 528 for i := range v { 529 av := array.Value() 530 av.String(v[i]) 531 } 532 return nil 533} 534