1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package iotsecuretunneling 4 5import ( 6 "bytes" 7 "context" 8 "fmt" 9 "github.com/aws/aws-sdk-go-v2/service/iotsecuretunneling/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 awsAwsjson11_serializeOpCloseTunnel struct { 18} 19 20func (*awsAwsjson11_serializeOpCloseTunnel) ID() string { 21 return "OperationSerializer" 22} 23 24func (m *awsAwsjson11_serializeOpCloseTunnel) 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.(*CloseTunnelInput) 33 _ = input 34 if !ok { 35 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 36 } 37 38 request.Request.URL.Path = "/" 39 request.Request.Method = "POST" 40 httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 41 if err != nil { 42 return out, metadata, &smithy.SerializationError{Err: err} 43 } 44 httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") 45 httpBindingEncoder.SetHeader("X-Amz-Target").String("IoTSecuredTunneling.CloseTunnel") 46 47 jsonEncoder := smithyjson.NewEncoder() 48 if err := awsAwsjson11_serializeOpDocumentCloseTunnelInput(input, jsonEncoder.Value); err != nil { 49 return out, metadata, &smithy.SerializationError{Err: err} 50 } 51 52 if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { 53 return out, metadata, &smithy.SerializationError{Err: err} 54 } 55 56 if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { 57 return out, metadata, &smithy.SerializationError{Err: err} 58 } 59 in.Request = request 60 61 return next.HandleSerialize(ctx, in) 62} 63 64type awsAwsjson11_serializeOpDescribeTunnel struct { 65} 66 67func (*awsAwsjson11_serializeOpDescribeTunnel) ID() string { 68 return "OperationSerializer" 69} 70 71func (m *awsAwsjson11_serializeOpDescribeTunnel) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 72 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 73) { 74 request, ok := in.Request.(*smithyhttp.Request) 75 if !ok { 76 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 77 } 78 79 input, ok := in.Parameters.(*DescribeTunnelInput) 80 _ = input 81 if !ok { 82 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 83 } 84 85 request.Request.URL.Path = "/" 86 request.Request.Method = "POST" 87 httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 88 if err != nil { 89 return out, metadata, &smithy.SerializationError{Err: err} 90 } 91 httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") 92 httpBindingEncoder.SetHeader("X-Amz-Target").String("IoTSecuredTunneling.DescribeTunnel") 93 94 jsonEncoder := smithyjson.NewEncoder() 95 if err := awsAwsjson11_serializeOpDocumentDescribeTunnelInput(input, jsonEncoder.Value); err != nil { 96 return out, metadata, &smithy.SerializationError{Err: err} 97 } 98 99 if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { 100 return out, metadata, &smithy.SerializationError{Err: err} 101 } 102 103 if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { 104 return out, metadata, &smithy.SerializationError{Err: err} 105 } 106 in.Request = request 107 108 return next.HandleSerialize(ctx, in) 109} 110 111type awsAwsjson11_serializeOpListTagsForResource struct { 112} 113 114func (*awsAwsjson11_serializeOpListTagsForResource) ID() string { 115 return "OperationSerializer" 116} 117 118func (m *awsAwsjson11_serializeOpListTagsForResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 119 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 120) { 121 request, ok := in.Request.(*smithyhttp.Request) 122 if !ok { 123 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 124 } 125 126 input, ok := in.Parameters.(*ListTagsForResourceInput) 127 _ = input 128 if !ok { 129 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 130 } 131 132 request.Request.URL.Path = "/" 133 request.Request.Method = "POST" 134 httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 135 if err != nil { 136 return out, metadata, &smithy.SerializationError{Err: err} 137 } 138 httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") 139 httpBindingEncoder.SetHeader("X-Amz-Target").String("IoTSecuredTunneling.ListTagsForResource") 140 141 jsonEncoder := smithyjson.NewEncoder() 142 if err := awsAwsjson11_serializeOpDocumentListTagsForResourceInput(input, jsonEncoder.Value); err != nil { 143 return out, metadata, &smithy.SerializationError{Err: err} 144 } 145 146 if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { 147 return out, metadata, &smithy.SerializationError{Err: err} 148 } 149 150 if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { 151 return out, metadata, &smithy.SerializationError{Err: err} 152 } 153 in.Request = request 154 155 return next.HandleSerialize(ctx, in) 156} 157 158type awsAwsjson11_serializeOpListTunnels struct { 159} 160 161func (*awsAwsjson11_serializeOpListTunnels) ID() string { 162 return "OperationSerializer" 163} 164 165func (m *awsAwsjson11_serializeOpListTunnels) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 166 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 167) { 168 request, ok := in.Request.(*smithyhttp.Request) 169 if !ok { 170 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 171 } 172 173 input, ok := in.Parameters.(*ListTunnelsInput) 174 _ = input 175 if !ok { 176 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 177 } 178 179 request.Request.URL.Path = "/" 180 request.Request.Method = "POST" 181 httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 182 if err != nil { 183 return out, metadata, &smithy.SerializationError{Err: err} 184 } 185 httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") 186 httpBindingEncoder.SetHeader("X-Amz-Target").String("IoTSecuredTunneling.ListTunnels") 187 188 jsonEncoder := smithyjson.NewEncoder() 189 if err := awsAwsjson11_serializeOpDocumentListTunnelsInput(input, jsonEncoder.Value); err != nil { 190 return out, metadata, &smithy.SerializationError{Err: err} 191 } 192 193 if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { 194 return out, metadata, &smithy.SerializationError{Err: err} 195 } 196 197 if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { 198 return out, metadata, &smithy.SerializationError{Err: err} 199 } 200 in.Request = request 201 202 return next.HandleSerialize(ctx, in) 203} 204 205type awsAwsjson11_serializeOpOpenTunnel struct { 206} 207 208func (*awsAwsjson11_serializeOpOpenTunnel) ID() string { 209 return "OperationSerializer" 210} 211 212func (m *awsAwsjson11_serializeOpOpenTunnel) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 213 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 214) { 215 request, ok := in.Request.(*smithyhttp.Request) 216 if !ok { 217 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 218 } 219 220 input, ok := in.Parameters.(*OpenTunnelInput) 221 _ = input 222 if !ok { 223 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 224 } 225 226 request.Request.URL.Path = "/" 227 request.Request.Method = "POST" 228 httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 229 if err != nil { 230 return out, metadata, &smithy.SerializationError{Err: err} 231 } 232 httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") 233 httpBindingEncoder.SetHeader("X-Amz-Target").String("IoTSecuredTunneling.OpenTunnel") 234 235 jsonEncoder := smithyjson.NewEncoder() 236 if err := awsAwsjson11_serializeOpDocumentOpenTunnelInput(input, jsonEncoder.Value); err != nil { 237 return out, metadata, &smithy.SerializationError{Err: err} 238 } 239 240 if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { 241 return out, metadata, &smithy.SerializationError{Err: err} 242 } 243 244 if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { 245 return out, metadata, &smithy.SerializationError{Err: err} 246 } 247 in.Request = request 248 249 return next.HandleSerialize(ctx, in) 250} 251 252type awsAwsjson11_serializeOpTagResource struct { 253} 254 255func (*awsAwsjson11_serializeOpTagResource) ID() string { 256 return "OperationSerializer" 257} 258 259func (m *awsAwsjson11_serializeOpTagResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 260 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 261) { 262 request, ok := in.Request.(*smithyhttp.Request) 263 if !ok { 264 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 265 } 266 267 input, ok := in.Parameters.(*TagResourceInput) 268 _ = input 269 if !ok { 270 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 271 } 272 273 request.Request.URL.Path = "/" 274 request.Request.Method = "POST" 275 httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 276 if err != nil { 277 return out, metadata, &smithy.SerializationError{Err: err} 278 } 279 httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") 280 httpBindingEncoder.SetHeader("X-Amz-Target").String("IoTSecuredTunneling.TagResource") 281 282 jsonEncoder := smithyjson.NewEncoder() 283 if err := awsAwsjson11_serializeOpDocumentTagResourceInput(input, jsonEncoder.Value); err != nil { 284 return out, metadata, &smithy.SerializationError{Err: err} 285 } 286 287 if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { 288 return out, metadata, &smithy.SerializationError{Err: err} 289 } 290 291 if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { 292 return out, metadata, &smithy.SerializationError{Err: err} 293 } 294 in.Request = request 295 296 return next.HandleSerialize(ctx, in) 297} 298 299type awsAwsjson11_serializeOpUntagResource struct { 300} 301 302func (*awsAwsjson11_serializeOpUntagResource) ID() string { 303 return "OperationSerializer" 304} 305 306func (m *awsAwsjson11_serializeOpUntagResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 307 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 308) { 309 request, ok := in.Request.(*smithyhttp.Request) 310 if !ok { 311 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 312 } 313 314 input, ok := in.Parameters.(*UntagResourceInput) 315 _ = input 316 if !ok { 317 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 318 } 319 320 request.Request.URL.Path = "/" 321 request.Request.Method = "POST" 322 httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 323 if err != nil { 324 return out, metadata, &smithy.SerializationError{Err: err} 325 } 326 httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") 327 httpBindingEncoder.SetHeader("X-Amz-Target").String("IoTSecuredTunneling.UntagResource") 328 329 jsonEncoder := smithyjson.NewEncoder() 330 if err := awsAwsjson11_serializeOpDocumentUntagResourceInput(input, jsonEncoder.Value); err != nil { 331 return out, metadata, &smithy.SerializationError{Err: err} 332 } 333 334 if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { 335 return out, metadata, &smithy.SerializationError{Err: err} 336 } 337 338 if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { 339 return out, metadata, &smithy.SerializationError{Err: err} 340 } 341 in.Request = request 342 343 return next.HandleSerialize(ctx, in) 344} 345func awsAwsjson11_serializeDocumentDestinationConfig(v *types.DestinationConfig, value smithyjson.Value) error { 346 object := value.Object() 347 defer object.Close() 348 349 if v.Services != nil { 350 ok := object.Key("services") 351 if err := awsAwsjson11_serializeDocumentServiceList(v.Services, ok); err != nil { 352 return err 353 } 354 } 355 356 if v.ThingName != nil { 357 ok := object.Key("thingName") 358 ok.String(*v.ThingName) 359 } 360 361 return nil 362} 363 364func awsAwsjson11_serializeDocumentServiceList(v []string, value smithyjson.Value) error { 365 array := value.Array() 366 defer array.Close() 367 368 for i := range v { 369 av := array.Value() 370 av.String(v[i]) 371 } 372 return nil 373} 374 375func awsAwsjson11_serializeDocumentTag(v *types.Tag, value smithyjson.Value) error { 376 object := value.Object() 377 defer object.Close() 378 379 if v.Key != nil { 380 ok := object.Key("key") 381 ok.String(*v.Key) 382 } 383 384 if v.Value != nil { 385 ok := object.Key("value") 386 ok.String(*v.Value) 387 } 388 389 return nil 390} 391 392func awsAwsjson11_serializeDocumentTagKeyList(v []string, value smithyjson.Value) error { 393 array := value.Array() 394 defer array.Close() 395 396 for i := range v { 397 av := array.Value() 398 av.String(v[i]) 399 } 400 return nil 401} 402 403func awsAwsjson11_serializeDocumentTagList(v []types.Tag, value smithyjson.Value) error { 404 array := value.Array() 405 defer array.Close() 406 407 for i := range v { 408 av := array.Value() 409 if err := awsAwsjson11_serializeDocumentTag(&v[i], av); err != nil { 410 return err 411 } 412 } 413 return nil 414} 415 416func awsAwsjson11_serializeDocumentTimeoutConfig(v *types.TimeoutConfig, value smithyjson.Value) error { 417 object := value.Object() 418 defer object.Close() 419 420 if v.MaxLifetimeTimeoutMinutes != 0 { 421 ok := object.Key("maxLifetimeTimeoutMinutes") 422 ok.Integer(v.MaxLifetimeTimeoutMinutes) 423 } 424 425 return nil 426} 427 428func awsAwsjson11_serializeOpDocumentCloseTunnelInput(v *CloseTunnelInput, value smithyjson.Value) error { 429 object := value.Object() 430 defer object.Close() 431 432 if v.Delete { 433 ok := object.Key("delete") 434 ok.Boolean(v.Delete) 435 } 436 437 if v.TunnelId != nil { 438 ok := object.Key("tunnelId") 439 ok.String(*v.TunnelId) 440 } 441 442 return nil 443} 444 445func awsAwsjson11_serializeOpDocumentDescribeTunnelInput(v *DescribeTunnelInput, value smithyjson.Value) error { 446 object := value.Object() 447 defer object.Close() 448 449 if v.TunnelId != nil { 450 ok := object.Key("tunnelId") 451 ok.String(*v.TunnelId) 452 } 453 454 return nil 455} 456 457func awsAwsjson11_serializeOpDocumentListTagsForResourceInput(v *ListTagsForResourceInput, value smithyjson.Value) error { 458 object := value.Object() 459 defer object.Close() 460 461 if v.ResourceArn != nil { 462 ok := object.Key("resourceArn") 463 ok.String(*v.ResourceArn) 464 } 465 466 return nil 467} 468 469func awsAwsjson11_serializeOpDocumentListTunnelsInput(v *ListTunnelsInput, value smithyjson.Value) error { 470 object := value.Object() 471 defer object.Close() 472 473 if v.MaxResults != 0 { 474 ok := object.Key("maxResults") 475 ok.Integer(v.MaxResults) 476 } 477 478 if v.NextToken != nil { 479 ok := object.Key("nextToken") 480 ok.String(*v.NextToken) 481 } 482 483 if v.ThingName != nil { 484 ok := object.Key("thingName") 485 ok.String(*v.ThingName) 486 } 487 488 return nil 489} 490 491func awsAwsjson11_serializeOpDocumentOpenTunnelInput(v *OpenTunnelInput, value smithyjson.Value) error { 492 object := value.Object() 493 defer object.Close() 494 495 if v.Description != nil { 496 ok := object.Key("description") 497 ok.String(*v.Description) 498 } 499 500 if v.DestinationConfig != nil { 501 ok := object.Key("destinationConfig") 502 if err := awsAwsjson11_serializeDocumentDestinationConfig(v.DestinationConfig, ok); err != nil { 503 return err 504 } 505 } 506 507 if v.Tags != nil { 508 ok := object.Key("tags") 509 if err := awsAwsjson11_serializeDocumentTagList(v.Tags, ok); err != nil { 510 return err 511 } 512 } 513 514 if v.TimeoutConfig != nil { 515 ok := object.Key("timeoutConfig") 516 if err := awsAwsjson11_serializeDocumentTimeoutConfig(v.TimeoutConfig, ok); err != nil { 517 return err 518 } 519 } 520 521 return nil 522} 523 524func awsAwsjson11_serializeOpDocumentTagResourceInput(v *TagResourceInput, value smithyjson.Value) error { 525 object := value.Object() 526 defer object.Close() 527 528 if v.ResourceArn != nil { 529 ok := object.Key("resourceArn") 530 ok.String(*v.ResourceArn) 531 } 532 533 if v.Tags != nil { 534 ok := object.Key("tags") 535 if err := awsAwsjson11_serializeDocumentTagList(v.Tags, ok); err != nil { 536 return err 537 } 538 } 539 540 return nil 541} 542 543func awsAwsjson11_serializeOpDocumentUntagResourceInput(v *UntagResourceInput, value smithyjson.Value) error { 544 object := value.Object() 545 defer object.Close() 546 547 if v.ResourceArn != nil { 548 ok := object.Key("resourceArn") 549 ok.String(*v.ResourceArn) 550 } 551 552 if v.TagKeys != nil { 553 ok := object.Key("tagKeys") 554 if err := awsAwsjson11_serializeDocumentTagKeyList(v.TagKeys, ok); err != nil { 555 return err 556 } 557 } 558 559 return nil 560} 561