mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-11-04 10:03:42 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			1152 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			1152 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Code generated by smithy-go-codegen DO NOT EDIT.
 | 
						|
 | 
						|
package sso
 | 
						|
 | 
						|
import (
 | 
						|
	"bytes"
 | 
						|
	"context"
 | 
						|
	"encoding/json"
 | 
						|
	"fmt"
 | 
						|
	"github.com/aws/aws-sdk-go-v2/aws/protocol/restjson"
 | 
						|
	"github.com/aws/aws-sdk-go-v2/service/sso/types"
 | 
						|
	smithy "github.com/aws/smithy-go"
 | 
						|
	smithyio "github.com/aws/smithy-go/io"
 | 
						|
	"github.com/aws/smithy-go/middleware"
 | 
						|
	"github.com/aws/smithy-go/ptr"
 | 
						|
	smithyhttp "github.com/aws/smithy-go/transport/http"
 | 
						|
	"io"
 | 
						|
	"io/ioutil"
 | 
						|
	"strings"
 | 
						|
)
 | 
						|
 | 
						|
type awsRestjson1_deserializeOpGetRoleCredentials struct {
 | 
						|
}
 | 
						|
 | 
						|
func (*awsRestjson1_deserializeOpGetRoleCredentials) ID() string {
 | 
						|
	return "OperationDeserializer"
 | 
						|
}
 | 
						|
 | 
						|
func (m *awsRestjson1_deserializeOpGetRoleCredentials) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
 | 
						|
	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
 | 
						|
) {
 | 
						|
	out, metadata, err = next.HandleDeserialize(ctx, in)
 | 
						|
	if err != nil {
 | 
						|
		return out, metadata, err
 | 
						|
	}
 | 
						|
 | 
						|
	response, ok := out.RawResponse.(*smithyhttp.Response)
 | 
						|
	if !ok {
 | 
						|
		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
 | 
						|
	}
 | 
						|
 | 
						|
	if response.StatusCode < 200 || response.StatusCode >= 300 {
 | 
						|
		return out, metadata, awsRestjson1_deserializeOpErrorGetRoleCredentials(response, &metadata)
 | 
						|
	}
 | 
						|
	output := &GetRoleCredentialsOutput{}
 | 
						|
	out.Result = output
 | 
						|
 | 
						|
	var buff [1024]byte
 | 
						|
	ringBuffer := smithyio.NewRingBuffer(buff[:])
 | 
						|
 | 
						|
	body := io.TeeReader(response.Body, ringBuffer)
 | 
						|
 | 
						|
	decoder := json.NewDecoder(body)
 | 
						|
	decoder.UseNumber()
 | 
						|
	var shape interface{}
 | 
						|
	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return out, metadata, err
 | 
						|
	}
 | 
						|
 | 
						|
	err = awsRestjson1_deserializeOpDocumentGetRoleCredentialsOutput(&output, shape)
 | 
						|
	if err != nil {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		return out, metadata, &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body with invalid JSON, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	return out, metadata, err
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeOpErrorGetRoleCredentials(response *smithyhttp.Response, metadata *middleware.Metadata) error {
 | 
						|
	var errorBuffer bytes.Buffer
 | 
						|
	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
 | 
						|
		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
 | 
						|
	}
 | 
						|
	errorBody := bytes.NewReader(errorBuffer.Bytes())
 | 
						|
 | 
						|
	errorCode := "UnknownError"
 | 
						|
	errorMessage := errorCode
 | 
						|
 | 
						|
	headerCode := response.Header.Get("X-Amzn-ErrorType")
 | 
						|
	if len(headerCode) != 0 {
 | 
						|
		errorCode = restjson.SanitizeErrorCode(headerCode)
 | 
						|
	}
 | 
						|
 | 
						|
	var buff [1024]byte
 | 
						|
	ringBuffer := smithyio.NewRingBuffer(buff[:])
 | 
						|
 | 
						|
	body := io.TeeReader(errorBody, ringBuffer)
 | 
						|
	decoder := json.NewDecoder(body)
 | 
						|
	decoder.UseNumber()
 | 
						|
	jsonCode, message, err := restjson.GetErrorInfo(decoder)
 | 
						|
	if err != nil {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	errorBody.Seek(0, io.SeekStart)
 | 
						|
	if len(headerCode) == 0 && len(jsonCode) != 0 {
 | 
						|
		errorCode = restjson.SanitizeErrorCode(jsonCode)
 | 
						|
	}
 | 
						|
	if len(message) != 0 {
 | 
						|
		errorMessage = message
 | 
						|
	}
 | 
						|
 | 
						|
	switch {
 | 
						|
	case strings.EqualFold("InvalidRequestException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorInvalidRequestException(response, errorBody)
 | 
						|
 | 
						|
	case strings.EqualFold("ResourceNotFoundException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody)
 | 
						|
 | 
						|
	case strings.EqualFold("TooManyRequestsException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorTooManyRequestsException(response, errorBody)
 | 
						|
 | 
						|
	case strings.EqualFold("UnauthorizedException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorUnauthorizedException(response, errorBody)
 | 
						|
 | 
						|
	default:
 | 
						|
		genericError := &smithy.GenericAPIError{
 | 
						|
			Code:    errorCode,
 | 
						|
			Message: errorMessage,
 | 
						|
		}
 | 
						|
		return genericError
 | 
						|
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeOpDocumentGetRoleCredentialsOutput(v **GetRoleCredentialsOutput, value interface{}) error {
 | 
						|
	if v == nil {
 | 
						|
		return fmt.Errorf("unexpected nil of type %T", v)
 | 
						|
	}
 | 
						|
	if value == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
 | 
						|
	shape, ok := value.(map[string]interface{})
 | 
						|
	if !ok {
 | 
						|
		return fmt.Errorf("unexpected JSON type %v", value)
 | 
						|
	}
 | 
						|
 | 
						|
	var sv *GetRoleCredentialsOutput
 | 
						|
	if *v == nil {
 | 
						|
		sv = &GetRoleCredentialsOutput{}
 | 
						|
	} else {
 | 
						|
		sv = *v
 | 
						|
	}
 | 
						|
 | 
						|
	for key, value := range shape {
 | 
						|
		switch key {
 | 
						|
		case "roleCredentials":
 | 
						|
			if err := awsRestjson1_deserializeDocumentRoleCredentials(&sv.RoleCredentials, value); err != nil {
 | 
						|
				return err
 | 
						|
			}
 | 
						|
 | 
						|
		default:
 | 
						|
			_, _ = key, value
 | 
						|
 | 
						|
		}
 | 
						|
	}
 | 
						|
	*v = sv
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type awsRestjson1_deserializeOpListAccountRoles struct {
 | 
						|
}
 | 
						|
 | 
						|
func (*awsRestjson1_deserializeOpListAccountRoles) ID() string {
 | 
						|
	return "OperationDeserializer"
 | 
						|
}
 | 
						|
 | 
						|
func (m *awsRestjson1_deserializeOpListAccountRoles) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
 | 
						|
	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
 | 
						|
) {
 | 
						|
	out, metadata, err = next.HandleDeserialize(ctx, in)
 | 
						|
	if err != nil {
 | 
						|
		return out, metadata, err
 | 
						|
	}
 | 
						|
 | 
						|
	response, ok := out.RawResponse.(*smithyhttp.Response)
 | 
						|
	if !ok {
 | 
						|
		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
 | 
						|
	}
 | 
						|
 | 
						|
	if response.StatusCode < 200 || response.StatusCode >= 300 {
 | 
						|
		return out, metadata, awsRestjson1_deserializeOpErrorListAccountRoles(response, &metadata)
 | 
						|
	}
 | 
						|
	output := &ListAccountRolesOutput{}
 | 
						|
	out.Result = output
 | 
						|
 | 
						|
	var buff [1024]byte
 | 
						|
	ringBuffer := smithyio.NewRingBuffer(buff[:])
 | 
						|
 | 
						|
	body := io.TeeReader(response.Body, ringBuffer)
 | 
						|
 | 
						|
	decoder := json.NewDecoder(body)
 | 
						|
	decoder.UseNumber()
 | 
						|
	var shape interface{}
 | 
						|
	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return out, metadata, err
 | 
						|
	}
 | 
						|
 | 
						|
	err = awsRestjson1_deserializeOpDocumentListAccountRolesOutput(&output, shape)
 | 
						|
	if err != nil {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		return out, metadata, &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body with invalid JSON, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	return out, metadata, err
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeOpErrorListAccountRoles(response *smithyhttp.Response, metadata *middleware.Metadata) error {
 | 
						|
	var errorBuffer bytes.Buffer
 | 
						|
	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
 | 
						|
		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
 | 
						|
	}
 | 
						|
	errorBody := bytes.NewReader(errorBuffer.Bytes())
 | 
						|
 | 
						|
	errorCode := "UnknownError"
 | 
						|
	errorMessage := errorCode
 | 
						|
 | 
						|
	headerCode := response.Header.Get("X-Amzn-ErrorType")
 | 
						|
	if len(headerCode) != 0 {
 | 
						|
		errorCode = restjson.SanitizeErrorCode(headerCode)
 | 
						|
	}
 | 
						|
 | 
						|
	var buff [1024]byte
 | 
						|
	ringBuffer := smithyio.NewRingBuffer(buff[:])
 | 
						|
 | 
						|
	body := io.TeeReader(errorBody, ringBuffer)
 | 
						|
	decoder := json.NewDecoder(body)
 | 
						|
	decoder.UseNumber()
 | 
						|
	jsonCode, message, err := restjson.GetErrorInfo(decoder)
 | 
						|
	if err != nil {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	errorBody.Seek(0, io.SeekStart)
 | 
						|
	if len(headerCode) == 0 && len(jsonCode) != 0 {
 | 
						|
		errorCode = restjson.SanitizeErrorCode(jsonCode)
 | 
						|
	}
 | 
						|
	if len(message) != 0 {
 | 
						|
		errorMessage = message
 | 
						|
	}
 | 
						|
 | 
						|
	switch {
 | 
						|
	case strings.EqualFold("InvalidRequestException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorInvalidRequestException(response, errorBody)
 | 
						|
 | 
						|
	case strings.EqualFold("ResourceNotFoundException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody)
 | 
						|
 | 
						|
	case strings.EqualFold("TooManyRequestsException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorTooManyRequestsException(response, errorBody)
 | 
						|
 | 
						|
	case strings.EqualFold("UnauthorizedException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorUnauthorizedException(response, errorBody)
 | 
						|
 | 
						|
	default:
 | 
						|
		genericError := &smithy.GenericAPIError{
 | 
						|
			Code:    errorCode,
 | 
						|
			Message: errorMessage,
 | 
						|
		}
 | 
						|
		return genericError
 | 
						|
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeOpDocumentListAccountRolesOutput(v **ListAccountRolesOutput, value interface{}) error {
 | 
						|
	if v == nil {
 | 
						|
		return fmt.Errorf("unexpected nil of type %T", v)
 | 
						|
	}
 | 
						|
	if value == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
 | 
						|
	shape, ok := value.(map[string]interface{})
 | 
						|
	if !ok {
 | 
						|
		return fmt.Errorf("unexpected JSON type %v", value)
 | 
						|
	}
 | 
						|
 | 
						|
	var sv *ListAccountRolesOutput
 | 
						|
	if *v == nil {
 | 
						|
		sv = &ListAccountRolesOutput{}
 | 
						|
	} else {
 | 
						|
		sv = *v
 | 
						|
	}
 | 
						|
 | 
						|
	for key, value := range shape {
 | 
						|
		switch key {
 | 
						|
		case "nextToken":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(string)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected NextTokenType to be of type string, got %T instead", value)
 | 
						|
				}
 | 
						|
				sv.NextToken = ptr.String(jtv)
 | 
						|
			}
 | 
						|
 | 
						|
		case "roleList":
 | 
						|
			if err := awsRestjson1_deserializeDocumentRoleListType(&sv.RoleList, value); err != nil {
 | 
						|
				return err
 | 
						|
			}
 | 
						|
 | 
						|
		default:
 | 
						|
			_, _ = key, value
 | 
						|
 | 
						|
		}
 | 
						|
	}
 | 
						|
	*v = sv
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type awsRestjson1_deserializeOpListAccounts struct {
 | 
						|
}
 | 
						|
 | 
						|
func (*awsRestjson1_deserializeOpListAccounts) ID() string {
 | 
						|
	return "OperationDeserializer"
 | 
						|
}
 | 
						|
 | 
						|
func (m *awsRestjson1_deserializeOpListAccounts) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
 | 
						|
	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
 | 
						|
) {
 | 
						|
	out, metadata, err = next.HandleDeserialize(ctx, in)
 | 
						|
	if err != nil {
 | 
						|
		return out, metadata, err
 | 
						|
	}
 | 
						|
 | 
						|
	response, ok := out.RawResponse.(*smithyhttp.Response)
 | 
						|
	if !ok {
 | 
						|
		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
 | 
						|
	}
 | 
						|
 | 
						|
	if response.StatusCode < 200 || response.StatusCode >= 300 {
 | 
						|
		return out, metadata, awsRestjson1_deserializeOpErrorListAccounts(response, &metadata)
 | 
						|
	}
 | 
						|
	output := &ListAccountsOutput{}
 | 
						|
	out.Result = output
 | 
						|
 | 
						|
	var buff [1024]byte
 | 
						|
	ringBuffer := smithyio.NewRingBuffer(buff[:])
 | 
						|
 | 
						|
	body := io.TeeReader(response.Body, ringBuffer)
 | 
						|
 | 
						|
	decoder := json.NewDecoder(body)
 | 
						|
	decoder.UseNumber()
 | 
						|
	var shape interface{}
 | 
						|
	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return out, metadata, err
 | 
						|
	}
 | 
						|
 | 
						|
	err = awsRestjson1_deserializeOpDocumentListAccountsOutput(&output, shape)
 | 
						|
	if err != nil {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		return out, metadata, &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body with invalid JSON, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	return out, metadata, err
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeOpErrorListAccounts(response *smithyhttp.Response, metadata *middleware.Metadata) error {
 | 
						|
	var errorBuffer bytes.Buffer
 | 
						|
	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
 | 
						|
		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
 | 
						|
	}
 | 
						|
	errorBody := bytes.NewReader(errorBuffer.Bytes())
 | 
						|
 | 
						|
	errorCode := "UnknownError"
 | 
						|
	errorMessage := errorCode
 | 
						|
 | 
						|
	headerCode := response.Header.Get("X-Amzn-ErrorType")
 | 
						|
	if len(headerCode) != 0 {
 | 
						|
		errorCode = restjson.SanitizeErrorCode(headerCode)
 | 
						|
	}
 | 
						|
 | 
						|
	var buff [1024]byte
 | 
						|
	ringBuffer := smithyio.NewRingBuffer(buff[:])
 | 
						|
 | 
						|
	body := io.TeeReader(errorBody, ringBuffer)
 | 
						|
	decoder := json.NewDecoder(body)
 | 
						|
	decoder.UseNumber()
 | 
						|
	jsonCode, message, err := restjson.GetErrorInfo(decoder)
 | 
						|
	if err != nil {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	errorBody.Seek(0, io.SeekStart)
 | 
						|
	if len(headerCode) == 0 && len(jsonCode) != 0 {
 | 
						|
		errorCode = restjson.SanitizeErrorCode(jsonCode)
 | 
						|
	}
 | 
						|
	if len(message) != 0 {
 | 
						|
		errorMessage = message
 | 
						|
	}
 | 
						|
 | 
						|
	switch {
 | 
						|
	case strings.EqualFold("InvalidRequestException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorInvalidRequestException(response, errorBody)
 | 
						|
 | 
						|
	case strings.EqualFold("ResourceNotFoundException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody)
 | 
						|
 | 
						|
	case strings.EqualFold("TooManyRequestsException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorTooManyRequestsException(response, errorBody)
 | 
						|
 | 
						|
	case strings.EqualFold("UnauthorizedException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorUnauthorizedException(response, errorBody)
 | 
						|
 | 
						|
	default:
 | 
						|
		genericError := &smithy.GenericAPIError{
 | 
						|
			Code:    errorCode,
 | 
						|
			Message: errorMessage,
 | 
						|
		}
 | 
						|
		return genericError
 | 
						|
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeOpDocumentListAccountsOutput(v **ListAccountsOutput, value interface{}) error {
 | 
						|
	if v == nil {
 | 
						|
		return fmt.Errorf("unexpected nil of type %T", v)
 | 
						|
	}
 | 
						|
	if value == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
 | 
						|
	shape, ok := value.(map[string]interface{})
 | 
						|
	if !ok {
 | 
						|
		return fmt.Errorf("unexpected JSON type %v", value)
 | 
						|
	}
 | 
						|
 | 
						|
	var sv *ListAccountsOutput
 | 
						|
	if *v == nil {
 | 
						|
		sv = &ListAccountsOutput{}
 | 
						|
	} else {
 | 
						|
		sv = *v
 | 
						|
	}
 | 
						|
 | 
						|
	for key, value := range shape {
 | 
						|
		switch key {
 | 
						|
		case "accountList":
 | 
						|
			if err := awsRestjson1_deserializeDocumentAccountListType(&sv.AccountList, value); err != nil {
 | 
						|
				return err
 | 
						|
			}
 | 
						|
 | 
						|
		case "nextToken":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(string)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected NextTokenType to be of type string, got %T instead", value)
 | 
						|
				}
 | 
						|
				sv.NextToken = ptr.String(jtv)
 | 
						|
			}
 | 
						|
 | 
						|
		default:
 | 
						|
			_, _ = key, value
 | 
						|
 | 
						|
		}
 | 
						|
	}
 | 
						|
	*v = sv
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type awsRestjson1_deserializeOpLogout struct {
 | 
						|
}
 | 
						|
 | 
						|
func (*awsRestjson1_deserializeOpLogout) ID() string {
 | 
						|
	return "OperationDeserializer"
 | 
						|
}
 | 
						|
 | 
						|
func (m *awsRestjson1_deserializeOpLogout) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
 | 
						|
	out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
 | 
						|
) {
 | 
						|
	out, metadata, err = next.HandleDeserialize(ctx, in)
 | 
						|
	if err != nil {
 | 
						|
		return out, metadata, err
 | 
						|
	}
 | 
						|
 | 
						|
	response, ok := out.RawResponse.(*smithyhttp.Response)
 | 
						|
	if !ok {
 | 
						|
		return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
 | 
						|
	}
 | 
						|
 | 
						|
	if response.StatusCode < 200 || response.StatusCode >= 300 {
 | 
						|
		return out, metadata, awsRestjson1_deserializeOpErrorLogout(response, &metadata)
 | 
						|
	}
 | 
						|
	output := &LogoutOutput{}
 | 
						|
	out.Result = output
 | 
						|
 | 
						|
	if _, err = io.Copy(ioutil.Discard, response.Body); err != nil {
 | 
						|
		return out, metadata, &smithy.DeserializationError{
 | 
						|
			Err: fmt.Errorf("failed to discard response body, %w", err),
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	return out, metadata, err
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeOpErrorLogout(response *smithyhttp.Response, metadata *middleware.Metadata) error {
 | 
						|
	var errorBuffer bytes.Buffer
 | 
						|
	if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
 | 
						|
		return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
 | 
						|
	}
 | 
						|
	errorBody := bytes.NewReader(errorBuffer.Bytes())
 | 
						|
 | 
						|
	errorCode := "UnknownError"
 | 
						|
	errorMessage := errorCode
 | 
						|
 | 
						|
	headerCode := response.Header.Get("X-Amzn-ErrorType")
 | 
						|
	if len(headerCode) != 0 {
 | 
						|
		errorCode = restjson.SanitizeErrorCode(headerCode)
 | 
						|
	}
 | 
						|
 | 
						|
	var buff [1024]byte
 | 
						|
	ringBuffer := smithyio.NewRingBuffer(buff[:])
 | 
						|
 | 
						|
	body := io.TeeReader(errorBody, ringBuffer)
 | 
						|
	decoder := json.NewDecoder(body)
 | 
						|
	decoder.UseNumber()
 | 
						|
	jsonCode, message, err := restjson.GetErrorInfo(decoder)
 | 
						|
	if err != nil {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	errorBody.Seek(0, io.SeekStart)
 | 
						|
	if len(headerCode) == 0 && len(jsonCode) != 0 {
 | 
						|
		errorCode = restjson.SanitizeErrorCode(jsonCode)
 | 
						|
	}
 | 
						|
	if len(message) != 0 {
 | 
						|
		errorMessage = message
 | 
						|
	}
 | 
						|
 | 
						|
	switch {
 | 
						|
	case strings.EqualFold("InvalidRequestException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorInvalidRequestException(response, errorBody)
 | 
						|
 | 
						|
	case strings.EqualFold("TooManyRequestsException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorTooManyRequestsException(response, errorBody)
 | 
						|
 | 
						|
	case strings.EqualFold("UnauthorizedException", errorCode):
 | 
						|
		return awsRestjson1_deserializeErrorUnauthorizedException(response, errorBody)
 | 
						|
 | 
						|
	default:
 | 
						|
		genericError := &smithy.GenericAPIError{
 | 
						|
			Code:    errorCode,
 | 
						|
			Message: errorMessage,
 | 
						|
		}
 | 
						|
		return genericError
 | 
						|
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeErrorInvalidRequestException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
 | 
						|
	output := &types.InvalidRequestException{}
 | 
						|
	var buff [1024]byte
 | 
						|
	ringBuffer := smithyio.NewRingBuffer(buff[:])
 | 
						|
 | 
						|
	body := io.TeeReader(errorBody, ringBuffer)
 | 
						|
	decoder := json.NewDecoder(body)
 | 
						|
	decoder.UseNumber()
 | 
						|
	var shape interface{}
 | 
						|
	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	err := awsRestjson1_deserializeDocumentInvalidRequestException(&output, shape)
 | 
						|
 | 
						|
	if err != nil {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	errorBody.Seek(0, io.SeekStart)
 | 
						|
 | 
						|
	return output
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeErrorResourceNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
 | 
						|
	output := &types.ResourceNotFoundException{}
 | 
						|
	var buff [1024]byte
 | 
						|
	ringBuffer := smithyio.NewRingBuffer(buff[:])
 | 
						|
 | 
						|
	body := io.TeeReader(errorBody, ringBuffer)
 | 
						|
	decoder := json.NewDecoder(body)
 | 
						|
	decoder.UseNumber()
 | 
						|
	var shape interface{}
 | 
						|
	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	err := awsRestjson1_deserializeDocumentResourceNotFoundException(&output, shape)
 | 
						|
 | 
						|
	if err != nil {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	errorBody.Seek(0, io.SeekStart)
 | 
						|
 | 
						|
	return output
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeErrorTooManyRequestsException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
 | 
						|
	output := &types.TooManyRequestsException{}
 | 
						|
	var buff [1024]byte
 | 
						|
	ringBuffer := smithyio.NewRingBuffer(buff[:])
 | 
						|
 | 
						|
	body := io.TeeReader(errorBody, ringBuffer)
 | 
						|
	decoder := json.NewDecoder(body)
 | 
						|
	decoder.UseNumber()
 | 
						|
	var shape interface{}
 | 
						|
	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	err := awsRestjson1_deserializeDocumentTooManyRequestsException(&output, shape)
 | 
						|
 | 
						|
	if err != nil {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	errorBody.Seek(0, io.SeekStart)
 | 
						|
 | 
						|
	return output
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeErrorUnauthorizedException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
 | 
						|
	output := &types.UnauthorizedException{}
 | 
						|
	var buff [1024]byte
 | 
						|
	ringBuffer := smithyio.NewRingBuffer(buff[:])
 | 
						|
 | 
						|
	body := io.TeeReader(errorBody, ringBuffer)
 | 
						|
	decoder := json.NewDecoder(body)
 | 
						|
	decoder.UseNumber()
 | 
						|
	var shape interface{}
 | 
						|
	if err := decoder.Decode(&shape); err != nil && err != io.EOF {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	err := awsRestjson1_deserializeDocumentUnauthorizedException(&output, shape)
 | 
						|
 | 
						|
	if err != nil {
 | 
						|
		var snapshot bytes.Buffer
 | 
						|
		io.Copy(&snapshot, ringBuffer)
 | 
						|
		err = &smithy.DeserializationError{
 | 
						|
			Err:      fmt.Errorf("failed to decode response body, %w", err),
 | 
						|
			Snapshot: snapshot.Bytes(),
 | 
						|
		}
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	errorBody.Seek(0, io.SeekStart)
 | 
						|
 | 
						|
	return output
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeDocumentAccountInfo(v **types.AccountInfo, value interface{}) error {
 | 
						|
	if v == nil {
 | 
						|
		return fmt.Errorf("unexpected nil of type %T", v)
 | 
						|
	}
 | 
						|
	if value == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
 | 
						|
	shape, ok := value.(map[string]interface{})
 | 
						|
	if !ok {
 | 
						|
		return fmt.Errorf("unexpected JSON type %v", value)
 | 
						|
	}
 | 
						|
 | 
						|
	var sv *types.AccountInfo
 | 
						|
	if *v == nil {
 | 
						|
		sv = &types.AccountInfo{}
 | 
						|
	} else {
 | 
						|
		sv = *v
 | 
						|
	}
 | 
						|
 | 
						|
	for key, value := range shape {
 | 
						|
		switch key {
 | 
						|
		case "accountId":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(string)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected AccountIdType to be of type string, got %T instead", value)
 | 
						|
				}
 | 
						|
				sv.AccountId = ptr.String(jtv)
 | 
						|
			}
 | 
						|
 | 
						|
		case "accountName":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(string)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected AccountNameType to be of type string, got %T instead", value)
 | 
						|
				}
 | 
						|
				sv.AccountName = ptr.String(jtv)
 | 
						|
			}
 | 
						|
 | 
						|
		case "emailAddress":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(string)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected EmailAddressType to be of type string, got %T instead", value)
 | 
						|
				}
 | 
						|
				sv.EmailAddress = ptr.String(jtv)
 | 
						|
			}
 | 
						|
 | 
						|
		default:
 | 
						|
			_, _ = key, value
 | 
						|
 | 
						|
		}
 | 
						|
	}
 | 
						|
	*v = sv
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeDocumentAccountListType(v *[]types.AccountInfo, value interface{}) error {
 | 
						|
	if v == nil {
 | 
						|
		return fmt.Errorf("unexpected nil of type %T", v)
 | 
						|
	}
 | 
						|
	if value == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
 | 
						|
	shape, ok := value.([]interface{})
 | 
						|
	if !ok {
 | 
						|
		return fmt.Errorf("unexpected JSON type %v", value)
 | 
						|
	}
 | 
						|
 | 
						|
	var cv []types.AccountInfo
 | 
						|
	if *v == nil {
 | 
						|
		cv = []types.AccountInfo{}
 | 
						|
	} else {
 | 
						|
		cv = *v
 | 
						|
	}
 | 
						|
 | 
						|
	for _, value := range shape {
 | 
						|
		var col types.AccountInfo
 | 
						|
		destAddr := &col
 | 
						|
		if err := awsRestjson1_deserializeDocumentAccountInfo(&destAddr, value); err != nil {
 | 
						|
			return err
 | 
						|
		}
 | 
						|
		col = *destAddr
 | 
						|
		cv = append(cv, col)
 | 
						|
 | 
						|
	}
 | 
						|
	*v = cv
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeDocumentInvalidRequestException(v **types.InvalidRequestException, value interface{}) error {
 | 
						|
	if v == nil {
 | 
						|
		return fmt.Errorf("unexpected nil of type %T", v)
 | 
						|
	}
 | 
						|
	if value == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
 | 
						|
	shape, ok := value.(map[string]interface{})
 | 
						|
	if !ok {
 | 
						|
		return fmt.Errorf("unexpected JSON type %v", value)
 | 
						|
	}
 | 
						|
 | 
						|
	var sv *types.InvalidRequestException
 | 
						|
	if *v == nil {
 | 
						|
		sv = &types.InvalidRequestException{}
 | 
						|
	} else {
 | 
						|
		sv = *v
 | 
						|
	}
 | 
						|
 | 
						|
	for key, value := range shape {
 | 
						|
		switch key {
 | 
						|
		case "message":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(string)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
 | 
						|
				}
 | 
						|
				sv.Message = ptr.String(jtv)
 | 
						|
			}
 | 
						|
 | 
						|
		default:
 | 
						|
			_, _ = key, value
 | 
						|
 | 
						|
		}
 | 
						|
	}
 | 
						|
	*v = sv
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeDocumentResourceNotFoundException(v **types.ResourceNotFoundException, value interface{}) error {
 | 
						|
	if v == nil {
 | 
						|
		return fmt.Errorf("unexpected nil of type %T", v)
 | 
						|
	}
 | 
						|
	if value == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
 | 
						|
	shape, ok := value.(map[string]interface{})
 | 
						|
	if !ok {
 | 
						|
		return fmt.Errorf("unexpected JSON type %v", value)
 | 
						|
	}
 | 
						|
 | 
						|
	var sv *types.ResourceNotFoundException
 | 
						|
	if *v == nil {
 | 
						|
		sv = &types.ResourceNotFoundException{}
 | 
						|
	} else {
 | 
						|
		sv = *v
 | 
						|
	}
 | 
						|
 | 
						|
	for key, value := range shape {
 | 
						|
		switch key {
 | 
						|
		case "message":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(string)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
 | 
						|
				}
 | 
						|
				sv.Message = ptr.String(jtv)
 | 
						|
			}
 | 
						|
 | 
						|
		default:
 | 
						|
			_, _ = key, value
 | 
						|
 | 
						|
		}
 | 
						|
	}
 | 
						|
	*v = sv
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeDocumentRoleCredentials(v **types.RoleCredentials, value interface{}) error {
 | 
						|
	if v == nil {
 | 
						|
		return fmt.Errorf("unexpected nil of type %T", v)
 | 
						|
	}
 | 
						|
	if value == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
 | 
						|
	shape, ok := value.(map[string]interface{})
 | 
						|
	if !ok {
 | 
						|
		return fmt.Errorf("unexpected JSON type %v", value)
 | 
						|
	}
 | 
						|
 | 
						|
	var sv *types.RoleCredentials
 | 
						|
	if *v == nil {
 | 
						|
		sv = &types.RoleCredentials{}
 | 
						|
	} else {
 | 
						|
		sv = *v
 | 
						|
	}
 | 
						|
 | 
						|
	for key, value := range shape {
 | 
						|
		switch key {
 | 
						|
		case "accessKeyId":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(string)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected AccessKeyType to be of type string, got %T instead", value)
 | 
						|
				}
 | 
						|
				sv.AccessKeyId = ptr.String(jtv)
 | 
						|
			}
 | 
						|
 | 
						|
		case "expiration":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(json.Number)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected ExpirationTimestampType to be json.Number, got %T instead", value)
 | 
						|
				}
 | 
						|
				i64, err := jtv.Int64()
 | 
						|
				if err != nil {
 | 
						|
					return err
 | 
						|
				}
 | 
						|
				sv.Expiration = i64
 | 
						|
			}
 | 
						|
 | 
						|
		case "secretAccessKey":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(string)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected SecretAccessKeyType to be of type string, got %T instead", value)
 | 
						|
				}
 | 
						|
				sv.SecretAccessKey = ptr.String(jtv)
 | 
						|
			}
 | 
						|
 | 
						|
		case "sessionToken":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(string)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected SessionTokenType to be of type string, got %T instead", value)
 | 
						|
				}
 | 
						|
				sv.SessionToken = ptr.String(jtv)
 | 
						|
			}
 | 
						|
 | 
						|
		default:
 | 
						|
			_, _ = key, value
 | 
						|
 | 
						|
		}
 | 
						|
	}
 | 
						|
	*v = sv
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeDocumentRoleInfo(v **types.RoleInfo, value interface{}) error {
 | 
						|
	if v == nil {
 | 
						|
		return fmt.Errorf("unexpected nil of type %T", v)
 | 
						|
	}
 | 
						|
	if value == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
 | 
						|
	shape, ok := value.(map[string]interface{})
 | 
						|
	if !ok {
 | 
						|
		return fmt.Errorf("unexpected JSON type %v", value)
 | 
						|
	}
 | 
						|
 | 
						|
	var sv *types.RoleInfo
 | 
						|
	if *v == nil {
 | 
						|
		sv = &types.RoleInfo{}
 | 
						|
	} else {
 | 
						|
		sv = *v
 | 
						|
	}
 | 
						|
 | 
						|
	for key, value := range shape {
 | 
						|
		switch key {
 | 
						|
		case "accountId":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(string)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected AccountIdType to be of type string, got %T instead", value)
 | 
						|
				}
 | 
						|
				sv.AccountId = ptr.String(jtv)
 | 
						|
			}
 | 
						|
 | 
						|
		case "roleName":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(string)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected RoleNameType to be of type string, got %T instead", value)
 | 
						|
				}
 | 
						|
				sv.RoleName = ptr.String(jtv)
 | 
						|
			}
 | 
						|
 | 
						|
		default:
 | 
						|
			_, _ = key, value
 | 
						|
 | 
						|
		}
 | 
						|
	}
 | 
						|
	*v = sv
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeDocumentRoleListType(v *[]types.RoleInfo, value interface{}) error {
 | 
						|
	if v == nil {
 | 
						|
		return fmt.Errorf("unexpected nil of type %T", v)
 | 
						|
	}
 | 
						|
	if value == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
 | 
						|
	shape, ok := value.([]interface{})
 | 
						|
	if !ok {
 | 
						|
		return fmt.Errorf("unexpected JSON type %v", value)
 | 
						|
	}
 | 
						|
 | 
						|
	var cv []types.RoleInfo
 | 
						|
	if *v == nil {
 | 
						|
		cv = []types.RoleInfo{}
 | 
						|
	} else {
 | 
						|
		cv = *v
 | 
						|
	}
 | 
						|
 | 
						|
	for _, value := range shape {
 | 
						|
		var col types.RoleInfo
 | 
						|
		destAddr := &col
 | 
						|
		if err := awsRestjson1_deserializeDocumentRoleInfo(&destAddr, value); err != nil {
 | 
						|
			return err
 | 
						|
		}
 | 
						|
		col = *destAddr
 | 
						|
		cv = append(cv, col)
 | 
						|
 | 
						|
	}
 | 
						|
	*v = cv
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeDocumentTooManyRequestsException(v **types.TooManyRequestsException, value interface{}) error {
 | 
						|
	if v == nil {
 | 
						|
		return fmt.Errorf("unexpected nil of type %T", v)
 | 
						|
	}
 | 
						|
	if value == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
 | 
						|
	shape, ok := value.(map[string]interface{})
 | 
						|
	if !ok {
 | 
						|
		return fmt.Errorf("unexpected JSON type %v", value)
 | 
						|
	}
 | 
						|
 | 
						|
	var sv *types.TooManyRequestsException
 | 
						|
	if *v == nil {
 | 
						|
		sv = &types.TooManyRequestsException{}
 | 
						|
	} else {
 | 
						|
		sv = *v
 | 
						|
	}
 | 
						|
 | 
						|
	for key, value := range shape {
 | 
						|
		switch key {
 | 
						|
		case "message":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(string)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
 | 
						|
				}
 | 
						|
				sv.Message = ptr.String(jtv)
 | 
						|
			}
 | 
						|
 | 
						|
		default:
 | 
						|
			_, _ = key, value
 | 
						|
 | 
						|
		}
 | 
						|
	}
 | 
						|
	*v = sv
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func awsRestjson1_deserializeDocumentUnauthorizedException(v **types.UnauthorizedException, value interface{}) error {
 | 
						|
	if v == nil {
 | 
						|
		return fmt.Errorf("unexpected nil of type %T", v)
 | 
						|
	}
 | 
						|
	if value == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
 | 
						|
	shape, ok := value.(map[string]interface{})
 | 
						|
	if !ok {
 | 
						|
		return fmt.Errorf("unexpected JSON type %v", value)
 | 
						|
	}
 | 
						|
 | 
						|
	var sv *types.UnauthorizedException
 | 
						|
	if *v == nil {
 | 
						|
		sv = &types.UnauthorizedException{}
 | 
						|
	} else {
 | 
						|
		sv = *v
 | 
						|
	}
 | 
						|
 | 
						|
	for key, value := range shape {
 | 
						|
		switch key {
 | 
						|
		case "message":
 | 
						|
			if value != nil {
 | 
						|
				jtv, ok := value.(string)
 | 
						|
				if !ok {
 | 
						|
					return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
 | 
						|
				}
 | 
						|
				sv.Message = ptr.String(jtv)
 | 
						|
			}
 | 
						|
 | 
						|
		default:
 | 
						|
			_, _ = key, value
 | 
						|
 | 
						|
		}
 | 
						|
	}
 | 
						|
	*v = sv
 | 
						|
	return nil
 | 
						|
}
 |