deserializers.go 57 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244
  1. // Code generated by smithy-go-codegen DO NOT EDIT.
  2. package ssooidc
  3. import (
  4. "bytes"
  5. "context"
  6. "encoding/json"
  7. "fmt"
  8. "github.com/aws/aws-sdk-go-v2/aws/protocol/restjson"
  9. "github.com/aws/aws-sdk-go-v2/service/ssooidc/types"
  10. smithy "github.com/aws/smithy-go"
  11. smithyio "github.com/aws/smithy-go/io"
  12. "github.com/aws/smithy-go/middleware"
  13. "github.com/aws/smithy-go/ptr"
  14. "github.com/aws/smithy-go/tracing"
  15. smithyhttp "github.com/aws/smithy-go/transport/http"
  16. "io"
  17. "strings"
  18. )
  19. type awsRestjson1_deserializeOpCreateToken struct {
  20. }
  21. func (*awsRestjson1_deserializeOpCreateToken) ID() string {
  22. return "OperationDeserializer"
  23. }
  24. func (m *awsRestjson1_deserializeOpCreateToken) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
  25. out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
  26. ) {
  27. out, metadata, err = next.HandleDeserialize(ctx, in)
  28. if err != nil {
  29. return out, metadata, err
  30. }
  31. _, span := tracing.StartSpan(ctx, "OperationDeserializer")
  32. endTimer := startMetricTimer(ctx, "client.call.deserialization_duration")
  33. defer endTimer()
  34. defer span.End()
  35. response, ok := out.RawResponse.(*smithyhttp.Response)
  36. if !ok {
  37. return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
  38. }
  39. if response.StatusCode < 200 || response.StatusCode >= 300 {
  40. return out, metadata, awsRestjson1_deserializeOpErrorCreateToken(response, &metadata)
  41. }
  42. output := &CreateTokenOutput{}
  43. out.Result = output
  44. var buff [1024]byte
  45. ringBuffer := smithyio.NewRingBuffer(buff[:])
  46. body := io.TeeReader(response.Body, ringBuffer)
  47. decoder := json.NewDecoder(body)
  48. decoder.UseNumber()
  49. var shape interface{}
  50. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  51. var snapshot bytes.Buffer
  52. io.Copy(&snapshot, ringBuffer)
  53. err = &smithy.DeserializationError{
  54. Err: fmt.Errorf("failed to decode response body, %w", err),
  55. Snapshot: snapshot.Bytes(),
  56. }
  57. return out, metadata, err
  58. }
  59. err = awsRestjson1_deserializeOpDocumentCreateTokenOutput(&output, shape)
  60. if err != nil {
  61. var snapshot bytes.Buffer
  62. io.Copy(&snapshot, ringBuffer)
  63. return out, metadata, &smithy.DeserializationError{
  64. Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err),
  65. Snapshot: snapshot.Bytes(),
  66. }
  67. }
  68. span.End()
  69. return out, metadata, err
  70. }
  71. func awsRestjson1_deserializeOpErrorCreateToken(response *smithyhttp.Response, metadata *middleware.Metadata) error {
  72. var errorBuffer bytes.Buffer
  73. if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
  74. return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
  75. }
  76. errorBody := bytes.NewReader(errorBuffer.Bytes())
  77. errorCode := "UnknownError"
  78. errorMessage := errorCode
  79. headerCode := response.Header.Get("X-Amzn-ErrorType")
  80. if len(headerCode) != 0 {
  81. errorCode = restjson.SanitizeErrorCode(headerCode)
  82. }
  83. var buff [1024]byte
  84. ringBuffer := smithyio.NewRingBuffer(buff[:])
  85. body := io.TeeReader(errorBody, ringBuffer)
  86. decoder := json.NewDecoder(body)
  87. decoder.UseNumber()
  88. jsonCode, message, err := restjson.GetErrorInfo(decoder)
  89. if err != nil {
  90. var snapshot bytes.Buffer
  91. io.Copy(&snapshot, ringBuffer)
  92. err = &smithy.DeserializationError{
  93. Err: fmt.Errorf("failed to decode response body, %w", err),
  94. Snapshot: snapshot.Bytes(),
  95. }
  96. return err
  97. }
  98. errorBody.Seek(0, io.SeekStart)
  99. if len(headerCode) == 0 && len(jsonCode) != 0 {
  100. errorCode = restjson.SanitizeErrorCode(jsonCode)
  101. }
  102. if len(message) != 0 {
  103. errorMessage = message
  104. }
  105. switch {
  106. case strings.EqualFold("AccessDeniedException", errorCode):
  107. return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody)
  108. case strings.EqualFold("AuthorizationPendingException", errorCode):
  109. return awsRestjson1_deserializeErrorAuthorizationPendingException(response, errorBody)
  110. case strings.EqualFold("ExpiredTokenException", errorCode):
  111. return awsRestjson1_deserializeErrorExpiredTokenException(response, errorBody)
  112. case strings.EqualFold("InternalServerException", errorCode):
  113. return awsRestjson1_deserializeErrorInternalServerException(response, errorBody)
  114. case strings.EqualFold("InvalidClientException", errorCode):
  115. return awsRestjson1_deserializeErrorInvalidClientException(response, errorBody)
  116. case strings.EqualFold("InvalidGrantException", errorCode):
  117. return awsRestjson1_deserializeErrorInvalidGrantException(response, errorBody)
  118. case strings.EqualFold("InvalidRequestException", errorCode):
  119. return awsRestjson1_deserializeErrorInvalidRequestException(response, errorBody)
  120. case strings.EqualFold("InvalidScopeException", errorCode):
  121. return awsRestjson1_deserializeErrorInvalidScopeException(response, errorBody)
  122. case strings.EqualFold("SlowDownException", errorCode):
  123. return awsRestjson1_deserializeErrorSlowDownException(response, errorBody)
  124. case strings.EqualFold("UnauthorizedClientException", errorCode):
  125. return awsRestjson1_deserializeErrorUnauthorizedClientException(response, errorBody)
  126. case strings.EqualFold("UnsupportedGrantTypeException", errorCode):
  127. return awsRestjson1_deserializeErrorUnsupportedGrantTypeException(response, errorBody)
  128. default:
  129. genericError := &smithy.GenericAPIError{
  130. Code: errorCode,
  131. Message: errorMessage,
  132. }
  133. return genericError
  134. }
  135. }
  136. func awsRestjson1_deserializeOpDocumentCreateTokenOutput(v **CreateTokenOutput, value interface{}) error {
  137. if v == nil {
  138. return fmt.Errorf("unexpected nil of type %T", v)
  139. }
  140. if value == nil {
  141. return nil
  142. }
  143. shape, ok := value.(map[string]interface{})
  144. if !ok {
  145. return fmt.Errorf("unexpected JSON type %v", value)
  146. }
  147. var sv *CreateTokenOutput
  148. if *v == nil {
  149. sv = &CreateTokenOutput{}
  150. } else {
  151. sv = *v
  152. }
  153. for key, value := range shape {
  154. switch key {
  155. case "accessToken":
  156. if value != nil {
  157. jtv, ok := value.(string)
  158. if !ok {
  159. return fmt.Errorf("expected AccessToken to be of type string, got %T instead", value)
  160. }
  161. sv.AccessToken = ptr.String(jtv)
  162. }
  163. case "expiresIn":
  164. if value != nil {
  165. jtv, ok := value.(json.Number)
  166. if !ok {
  167. return fmt.Errorf("expected ExpirationInSeconds to be json.Number, got %T instead", value)
  168. }
  169. i64, err := jtv.Int64()
  170. if err != nil {
  171. return err
  172. }
  173. sv.ExpiresIn = int32(i64)
  174. }
  175. case "idToken":
  176. if value != nil {
  177. jtv, ok := value.(string)
  178. if !ok {
  179. return fmt.Errorf("expected IdToken to be of type string, got %T instead", value)
  180. }
  181. sv.IdToken = ptr.String(jtv)
  182. }
  183. case "refreshToken":
  184. if value != nil {
  185. jtv, ok := value.(string)
  186. if !ok {
  187. return fmt.Errorf("expected RefreshToken to be of type string, got %T instead", value)
  188. }
  189. sv.RefreshToken = ptr.String(jtv)
  190. }
  191. case "tokenType":
  192. if value != nil {
  193. jtv, ok := value.(string)
  194. if !ok {
  195. return fmt.Errorf("expected TokenType to be of type string, got %T instead", value)
  196. }
  197. sv.TokenType = ptr.String(jtv)
  198. }
  199. default:
  200. _, _ = key, value
  201. }
  202. }
  203. *v = sv
  204. return nil
  205. }
  206. type awsRestjson1_deserializeOpCreateTokenWithIAM struct {
  207. }
  208. func (*awsRestjson1_deserializeOpCreateTokenWithIAM) ID() string {
  209. return "OperationDeserializer"
  210. }
  211. func (m *awsRestjson1_deserializeOpCreateTokenWithIAM) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
  212. out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
  213. ) {
  214. out, metadata, err = next.HandleDeserialize(ctx, in)
  215. if err != nil {
  216. return out, metadata, err
  217. }
  218. _, span := tracing.StartSpan(ctx, "OperationDeserializer")
  219. endTimer := startMetricTimer(ctx, "client.call.deserialization_duration")
  220. defer endTimer()
  221. defer span.End()
  222. response, ok := out.RawResponse.(*smithyhttp.Response)
  223. if !ok {
  224. return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
  225. }
  226. if response.StatusCode < 200 || response.StatusCode >= 300 {
  227. return out, metadata, awsRestjson1_deserializeOpErrorCreateTokenWithIAM(response, &metadata)
  228. }
  229. output := &CreateTokenWithIAMOutput{}
  230. out.Result = output
  231. var buff [1024]byte
  232. ringBuffer := smithyio.NewRingBuffer(buff[:])
  233. body := io.TeeReader(response.Body, ringBuffer)
  234. decoder := json.NewDecoder(body)
  235. decoder.UseNumber()
  236. var shape interface{}
  237. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  238. var snapshot bytes.Buffer
  239. io.Copy(&snapshot, ringBuffer)
  240. err = &smithy.DeserializationError{
  241. Err: fmt.Errorf("failed to decode response body, %w", err),
  242. Snapshot: snapshot.Bytes(),
  243. }
  244. return out, metadata, err
  245. }
  246. err = awsRestjson1_deserializeOpDocumentCreateTokenWithIAMOutput(&output, shape)
  247. if err != nil {
  248. var snapshot bytes.Buffer
  249. io.Copy(&snapshot, ringBuffer)
  250. return out, metadata, &smithy.DeserializationError{
  251. Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err),
  252. Snapshot: snapshot.Bytes(),
  253. }
  254. }
  255. span.End()
  256. return out, metadata, err
  257. }
  258. func awsRestjson1_deserializeOpErrorCreateTokenWithIAM(response *smithyhttp.Response, metadata *middleware.Metadata) error {
  259. var errorBuffer bytes.Buffer
  260. if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
  261. return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
  262. }
  263. errorBody := bytes.NewReader(errorBuffer.Bytes())
  264. errorCode := "UnknownError"
  265. errorMessage := errorCode
  266. headerCode := response.Header.Get("X-Amzn-ErrorType")
  267. if len(headerCode) != 0 {
  268. errorCode = restjson.SanitizeErrorCode(headerCode)
  269. }
  270. var buff [1024]byte
  271. ringBuffer := smithyio.NewRingBuffer(buff[:])
  272. body := io.TeeReader(errorBody, ringBuffer)
  273. decoder := json.NewDecoder(body)
  274. decoder.UseNumber()
  275. jsonCode, message, err := restjson.GetErrorInfo(decoder)
  276. if err != nil {
  277. var snapshot bytes.Buffer
  278. io.Copy(&snapshot, ringBuffer)
  279. err = &smithy.DeserializationError{
  280. Err: fmt.Errorf("failed to decode response body, %w", err),
  281. Snapshot: snapshot.Bytes(),
  282. }
  283. return err
  284. }
  285. errorBody.Seek(0, io.SeekStart)
  286. if len(headerCode) == 0 && len(jsonCode) != 0 {
  287. errorCode = restjson.SanitizeErrorCode(jsonCode)
  288. }
  289. if len(message) != 0 {
  290. errorMessage = message
  291. }
  292. switch {
  293. case strings.EqualFold("AccessDeniedException", errorCode):
  294. return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody)
  295. case strings.EqualFold("AuthorizationPendingException", errorCode):
  296. return awsRestjson1_deserializeErrorAuthorizationPendingException(response, errorBody)
  297. case strings.EqualFold("ExpiredTokenException", errorCode):
  298. return awsRestjson1_deserializeErrorExpiredTokenException(response, errorBody)
  299. case strings.EqualFold("InternalServerException", errorCode):
  300. return awsRestjson1_deserializeErrorInternalServerException(response, errorBody)
  301. case strings.EqualFold("InvalidClientException", errorCode):
  302. return awsRestjson1_deserializeErrorInvalidClientException(response, errorBody)
  303. case strings.EqualFold("InvalidGrantException", errorCode):
  304. return awsRestjson1_deserializeErrorInvalidGrantException(response, errorBody)
  305. case strings.EqualFold("InvalidRequestException", errorCode):
  306. return awsRestjson1_deserializeErrorInvalidRequestException(response, errorBody)
  307. case strings.EqualFold("InvalidRequestRegionException", errorCode):
  308. return awsRestjson1_deserializeErrorInvalidRequestRegionException(response, errorBody)
  309. case strings.EqualFold("InvalidScopeException", errorCode):
  310. return awsRestjson1_deserializeErrorInvalidScopeException(response, errorBody)
  311. case strings.EqualFold("SlowDownException", errorCode):
  312. return awsRestjson1_deserializeErrorSlowDownException(response, errorBody)
  313. case strings.EqualFold("UnauthorizedClientException", errorCode):
  314. return awsRestjson1_deserializeErrorUnauthorizedClientException(response, errorBody)
  315. case strings.EqualFold("UnsupportedGrantTypeException", errorCode):
  316. return awsRestjson1_deserializeErrorUnsupportedGrantTypeException(response, errorBody)
  317. default:
  318. genericError := &smithy.GenericAPIError{
  319. Code: errorCode,
  320. Message: errorMessage,
  321. }
  322. return genericError
  323. }
  324. }
  325. func awsRestjson1_deserializeOpDocumentCreateTokenWithIAMOutput(v **CreateTokenWithIAMOutput, value interface{}) error {
  326. if v == nil {
  327. return fmt.Errorf("unexpected nil of type %T", v)
  328. }
  329. if value == nil {
  330. return nil
  331. }
  332. shape, ok := value.(map[string]interface{})
  333. if !ok {
  334. return fmt.Errorf("unexpected JSON type %v", value)
  335. }
  336. var sv *CreateTokenWithIAMOutput
  337. if *v == nil {
  338. sv = &CreateTokenWithIAMOutput{}
  339. } else {
  340. sv = *v
  341. }
  342. for key, value := range shape {
  343. switch key {
  344. case "accessToken":
  345. if value != nil {
  346. jtv, ok := value.(string)
  347. if !ok {
  348. return fmt.Errorf("expected AccessToken to be of type string, got %T instead", value)
  349. }
  350. sv.AccessToken = ptr.String(jtv)
  351. }
  352. case "awsAdditionalDetails":
  353. if err := awsRestjson1_deserializeDocumentAwsAdditionalDetails(&sv.AwsAdditionalDetails, value); err != nil {
  354. return err
  355. }
  356. case "expiresIn":
  357. if value != nil {
  358. jtv, ok := value.(json.Number)
  359. if !ok {
  360. return fmt.Errorf("expected ExpirationInSeconds to be json.Number, got %T instead", value)
  361. }
  362. i64, err := jtv.Int64()
  363. if err != nil {
  364. return err
  365. }
  366. sv.ExpiresIn = int32(i64)
  367. }
  368. case "idToken":
  369. if value != nil {
  370. jtv, ok := value.(string)
  371. if !ok {
  372. return fmt.Errorf("expected IdToken to be of type string, got %T instead", value)
  373. }
  374. sv.IdToken = ptr.String(jtv)
  375. }
  376. case "issuedTokenType":
  377. if value != nil {
  378. jtv, ok := value.(string)
  379. if !ok {
  380. return fmt.Errorf("expected TokenTypeURI to be of type string, got %T instead", value)
  381. }
  382. sv.IssuedTokenType = ptr.String(jtv)
  383. }
  384. case "refreshToken":
  385. if value != nil {
  386. jtv, ok := value.(string)
  387. if !ok {
  388. return fmt.Errorf("expected RefreshToken to be of type string, got %T instead", value)
  389. }
  390. sv.RefreshToken = ptr.String(jtv)
  391. }
  392. case "scope":
  393. if err := awsRestjson1_deserializeDocumentScopes(&sv.Scope, value); err != nil {
  394. return err
  395. }
  396. case "tokenType":
  397. if value != nil {
  398. jtv, ok := value.(string)
  399. if !ok {
  400. return fmt.Errorf("expected TokenType to be of type string, got %T instead", value)
  401. }
  402. sv.TokenType = ptr.String(jtv)
  403. }
  404. default:
  405. _, _ = key, value
  406. }
  407. }
  408. *v = sv
  409. return nil
  410. }
  411. type awsRestjson1_deserializeOpRegisterClient struct {
  412. }
  413. func (*awsRestjson1_deserializeOpRegisterClient) ID() string {
  414. return "OperationDeserializer"
  415. }
  416. func (m *awsRestjson1_deserializeOpRegisterClient) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
  417. out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
  418. ) {
  419. out, metadata, err = next.HandleDeserialize(ctx, in)
  420. if err != nil {
  421. return out, metadata, err
  422. }
  423. _, span := tracing.StartSpan(ctx, "OperationDeserializer")
  424. endTimer := startMetricTimer(ctx, "client.call.deserialization_duration")
  425. defer endTimer()
  426. defer span.End()
  427. response, ok := out.RawResponse.(*smithyhttp.Response)
  428. if !ok {
  429. return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
  430. }
  431. if response.StatusCode < 200 || response.StatusCode >= 300 {
  432. return out, metadata, awsRestjson1_deserializeOpErrorRegisterClient(response, &metadata)
  433. }
  434. output := &RegisterClientOutput{}
  435. out.Result = output
  436. var buff [1024]byte
  437. ringBuffer := smithyio.NewRingBuffer(buff[:])
  438. body := io.TeeReader(response.Body, ringBuffer)
  439. decoder := json.NewDecoder(body)
  440. decoder.UseNumber()
  441. var shape interface{}
  442. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  443. var snapshot bytes.Buffer
  444. io.Copy(&snapshot, ringBuffer)
  445. err = &smithy.DeserializationError{
  446. Err: fmt.Errorf("failed to decode response body, %w", err),
  447. Snapshot: snapshot.Bytes(),
  448. }
  449. return out, metadata, err
  450. }
  451. err = awsRestjson1_deserializeOpDocumentRegisterClientOutput(&output, shape)
  452. if err != nil {
  453. var snapshot bytes.Buffer
  454. io.Copy(&snapshot, ringBuffer)
  455. return out, metadata, &smithy.DeserializationError{
  456. Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err),
  457. Snapshot: snapshot.Bytes(),
  458. }
  459. }
  460. span.End()
  461. return out, metadata, err
  462. }
  463. func awsRestjson1_deserializeOpErrorRegisterClient(response *smithyhttp.Response, metadata *middleware.Metadata) error {
  464. var errorBuffer bytes.Buffer
  465. if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
  466. return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
  467. }
  468. errorBody := bytes.NewReader(errorBuffer.Bytes())
  469. errorCode := "UnknownError"
  470. errorMessage := errorCode
  471. headerCode := response.Header.Get("X-Amzn-ErrorType")
  472. if len(headerCode) != 0 {
  473. errorCode = restjson.SanitizeErrorCode(headerCode)
  474. }
  475. var buff [1024]byte
  476. ringBuffer := smithyio.NewRingBuffer(buff[:])
  477. body := io.TeeReader(errorBody, ringBuffer)
  478. decoder := json.NewDecoder(body)
  479. decoder.UseNumber()
  480. jsonCode, message, err := restjson.GetErrorInfo(decoder)
  481. if err != nil {
  482. var snapshot bytes.Buffer
  483. io.Copy(&snapshot, ringBuffer)
  484. err = &smithy.DeserializationError{
  485. Err: fmt.Errorf("failed to decode response body, %w", err),
  486. Snapshot: snapshot.Bytes(),
  487. }
  488. return err
  489. }
  490. errorBody.Seek(0, io.SeekStart)
  491. if len(headerCode) == 0 && len(jsonCode) != 0 {
  492. errorCode = restjson.SanitizeErrorCode(jsonCode)
  493. }
  494. if len(message) != 0 {
  495. errorMessage = message
  496. }
  497. switch {
  498. case strings.EqualFold("InternalServerException", errorCode):
  499. return awsRestjson1_deserializeErrorInternalServerException(response, errorBody)
  500. case strings.EqualFold("InvalidClientMetadataException", errorCode):
  501. return awsRestjson1_deserializeErrorInvalidClientMetadataException(response, errorBody)
  502. case strings.EqualFold("InvalidRedirectUriException", errorCode):
  503. return awsRestjson1_deserializeErrorInvalidRedirectUriException(response, errorBody)
  504. case strings.EqualFold("InvalidRequestException", errorCode):
  505. return awsRestjson1_deserializeErrorInvalidRequestException(response, errorBody)
  506. case strings.EqualFold("InvalidScopeException", errorCode):
  507. return awsRestjson1_deserializeErrorInvalidScopeException(response, errorBody)
  508. case strings.EqualFold("SlowDownException", errorCode):
  509. return awsRestjson1_deserializeErrorSlowDownException(response, errorBody)
  510. case strings.EqualFold("UnsupportedGrantTypeException", errorCode):
  511. return awsRestjson1_deserializeErrorUnsupportedGrantTypeException(response, errorBody)
  512. default:
  513. genericError := &smithy.GenericAPIError{
  514. Code: errorCode,
  515. Message: errorMessage,
  516. }
  517. return genericError
  518. }
  519. }
  520. func awsRestjson1_deserializeOpDocumentRegisterClientOutput(v **RegisterClientOutput, value interface{}) error {
  521. if v == nil {
  522. return fmt.Errorf("unexpected nil of type %T", v)
  523. }
  524. if value == nil {
  525. return nil
  526. }
  527. shape, ok := value.(map[string]interface{})
  528. if !ok {
  529. return fmt.Errorf("unexpected JSON type %v", value)
  530. }
  531. var sv *RegisterClientOutput
  532. if *v == nil {
  533. sv = &RegisterClientOutput{}
  534. } else {
  535. sv = *v
  536. }
  537. for key, value := range shape {
  538. switch key {
  539. case "authorizationEndpoint":
  540. if value != nil {
  541. jtv, ok := value.(string)
  542. if !ok {
  543. return fmt.Errorf("expected URI to be of type string, got %T instead", value)
  544. }
  545. sv.AuthorizationEndpoint = ptr.String(jtv)
  546. }
  547. case "clientId":
  548. if value != nil {
  549. jtv, ok := value.(string)
  550. if !ok {
  551. return fmt.Errorf("expected ClientId to be of type string, got %T instead", value)
  552. }
  553. sv.ClientId = ptr.String(jtv)
  554. }
  555. case "clientIdIssuedAt":
  556. if value != nil {
  557. jtv, ok := value.(json.Number)
  558. if !ok {
  559. return fmt.Errorf("expected LongTimeStampType to be json.Number, got %T instead", value)
  560. }
  561. i64, err := jtv.Int64()
  562. if err != nil {
  563. return err
  564. }
  565. sv.ClientIdIssuedAt = i64
  566. }
  567. case "clientSecret":
  568. if value != nil {
  569. jtv, ok := value.(string)
  570. if !ok {
  571. return fmt.Errorf("expected ClientSecret to be of type string, got %T instead", value)
  572. }
  573. sv.ClientSecret = ptr.String(jtv)
  574. }
  575. case "clientSecretExpiresAt":
  576. if value != nil {
  577. jtv, ok := value.(json.Number)
  578. if !ok {
  579. return fmt.Errorf("expected LongTimeStampType to be json.Number, got %T instead", value)
  580. }
  581. i64, err := jtv.Int64()
  582. if err != nil {
  583. return err
  584. }
  585. sv.ClientSecretExpiresAt = i64
  586. }
  587. case "tokenEndpoint":
  588. if value != nil {
  589. jtv, ok := value.(string)
  590. if !ok {
  591. return fmt.Errorf("expected URI to be of type string, got %T instead", value)
  592. }
  593. sv.TokenEndpoint = ptr.String(jtv)
  594. }
  595. default:
  596. _, _ = key, value
  597. }
  598. }
  599. *v = sv
  600. return nil
  601. }
  602. type awsRestjson1_deserializeOpStartDeviceAuthorization struct {
  603. }
  604. func (*awsRestjson1_deserializeOpStartDeviceAuthorization) ID() string {
  605. return "OperationDeserializer"
  606. }
  607. func (m *awsRestjson1_deserializeOpStartDeviceAuthorization) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
  608. out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
  609. ) {
  610. out, metadata, err = next.HandleDeserialize(ctx, in)
  611. if err != nil {
  612. return out, metadata, err
  613. }
  614. _, span := tracing.StartSpan(ctx, "OperationDeserializer")
  615. endTimer := startMetricTimer(ctx, "client.call.deserialization_duration")
  616. defer endTimer()
  617. defer span.End()
  618. response, ok := out.RawResponse.(*smithyhttp.Response)
  619. if !ok {
  620. return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
  621. }
  622. if response.StatusCode < 200 || response.StatusCode >= 300 {
  623. return out, metadata, awsRestjson1_deserializeOpErrorStartDeviceAuthorization(response, &metadata)
  624. }
  625. output := &StartDeviceAuthorizationOutput{}
  626. out.Result = output
  627. var buff [1024]byte
  628. ringBuffer := smithyio.NewRingBuffer(buff[:])
  629. body := io.TeeReader(response.Body, ringBuffer)
  630. decoder := json.NewDecoder(body)
  631. decoder.UseNumber()
  632. var shape interface{}
  633. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  634. var snapshot bytes.Buffer
  635. io.Copy(&snapshot, ringBuffer)
  636. err = &smithy.DeserializationError{
  637. Err: fmt.Errorf("failed to decode response body, %w", err),
  638. Snapshot: snapshot.Bytes(),
  639. }
  640. return out, metadata, err
  641. }
  642. err = awsRestjson1_deserializeOpDocumentStartDeviceAuthorizationOutput(&output, shape)
  643. if err != nil {
  644. var snapshot bytes.Buffer
  645. io.Copy(&snapshot, ringBuffer)
  646. return out, metadata, &smithy.DeserializationError{
  647. Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err),
  648. Snapshot: snapshot.Bytes(),
  649. }
  650. }
  651. span.End()
  652. return out, metadata, err
  653. }
  654. func awsRestjson1_deserializeOpErrorStartDeviceAuthorization(response *smithyhttp.Response, metadata *middleware.Metadata) error {
  655. var errorBuffer bytes.Buffer
  656. if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
  657. return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
  658. }
  659. errorBody := bytes.NewReader(errorBuffer.Bytes())
  660. errorCode := "UnknownError"
  661. errorMessage := errorCode
  662. headerCode := response.Header.Get("X-Amzn-ErrorType")
  663. if len(headerCode) != 0 {
  664. errorCode = restjson.SanitizeErrorCode(headerCode)
  665. }
  666. var buff [1024]byte
  667. ringBuffer := smithyio.NewRingBuffer(buff[:])
  668. body := io.TeeReader(errorBody, ringBuffer)
  669. decoder := json.NewDecoder(body)
  670. decoder.UseNumber()
  671. jsonCode, message, err := restjson.GetErrorInfo(decoder)
  672. if err != nil {
  673. var snapshot bytes.Buffer
  674. io.Copy(&snapshot, ringBuffer)
  675. err = &smithy.DeserializationError{
  676. Err: fmt.Errorf("failed to decode response body, %w", err),
  677. Snapshot: snapshot.Bytes(),
  678. }
  679. return err
  680. }
  681. errorBody.Seek(0, io.SeekStart)
  682. if len(headerCode) == 0 && len(jsonCode) != 0 {
  683. errorCode = restjson.SanitizeErrorCode(jsonCode)
  684. }
  685. if len(message) != 0 {
  686. errorMessage = message
  687. }
  688. switch {
  689. case strings.EqualFold("InternalServerException", errorCode):
  690. return awsRestjson1_deserializeErrorInternalServerException(response, errorBody)
  691. case strings.EqualFold("InvalidClientException", errorCode):
  692. return awsRestjson1_deserializeErrorInvalidClientException(response, errorBody)
  693. case strings.EqualFold("InvalidRequestException", errorCode):
  694. return awsRestjson1_deserializeErrorInvalidRequestException(response, errorBody)
  695. case strings.EqualFold("SlowDownException", errorCode):
  696. return awsRestjson1_deserializeErrorSlowDownException(response, errorBody)
  697. case strings.EqualFold("UnauthorizedClientException", errorCode):
  698. return awsRestjson1_deserializeErrorUnauthorizedClientException(response, errorBody)
  699. default:
  700. genericError := &smithy.GenericAPIError{
  701. Code: errorCode,
  702. Message: errorMessage,
  703. }
  704. return genericError
  705. }
  706. }
  707. func awsRestjson1_deserializeOpDocumentStartDeviceAuthorizationOutput(v **StartDeviceAuthorizationOutput, value interface{}) error {
  708. if v == nil {
  709. return fmt.Errorf("unexpected nil of type %T", v)
  710. }
  711. if value == nil {
  712. return nil
  713. }
  714. shape, ok := value.(map[string]interface{})
  715. if !ok {
  716. return fmt.Errorf("unexpected JSON type %v", value)
  717. }
  718. var sv *StartDeviceAuthorizationOutput
  719. if *v == nil {
  720. sv = &StartDeviceAuthorizationOutput{}
  721. } else {
  722. sv = *v
  723. }
  724. for key, value := range shape {
  725. switch key {
  726. case "deviceCode":
  727. if value != nil {
  728. jtv, ok := value.(string)
  729. if !ok {
  730. return fmt.Errorf("expected DeviceCode to be of type string, got %T instead", value)
  731. }
  732. sv.DeviceCode = ptr.String(jtv)
  733. }
  734. case "expiresIn":
  735. if value != nil {
  736. jtv, ok := value.(json.Number)
  737. if !ok {
  738. return fmt.Errorf("expected ExpirationInSeconds to be json.Number, got %T instead", value)
  739. }
  740. i64, err := jtv.Int64()
  741. if err != nil {
  742. return err
  743. }
  744. sv.ExpiresIn = int32(i64)
  745. }
  746. case "interval":
  747. if value != nil {
  748. jtv, ok := value.(json.Number)
  749. if !ok {
  750. return fmt.Errorf("expected IntervalInSeconds to be json.Number, got %T instead", value)
  751. }
  752. i64, err := jtv.Int64()
  753. if err != nil {
  754. return err
  755. }
  756. sv.Interval = int32(i64)
  757. }
  758. case "userCode":
  759. if value != nil {
  760. jtv, ok := value.(string)
  761. if !ok {
  762. return fmt.Errorf("expected UserCode to be of type string, got %T instead", value)
  763. }
  764. sv.UserCode = ptr.String(jtv)
  765. }
  766. case "verificationUri":
  767. if value != nil {
  768. jtv, ok := value.(string)
  769. if !ok {
  770. return fmt.Errorf("expected URI to be of type string, got %T instead", value)
  771. }
  772. sv.VerificationUri = ptr.String(jtv)
  773. }
  774. case "verificationUriComplete":
  775. if value != nil {
  776. jtv, ok := value.(string)
  777. if !ok {
  778. return fmt.Errorf("expected URI to be of type string, got %T instead", value)
  779. }
  780. sv.VerificationUriComplete = ptr.String(jtv)
  781. }
  782. default:
  783. _, _ = key, value
  784. }
  785. }
  786. *v = sv
  787. return nil
  788. }
  789. func awsRestjson1_deserializeErrorAccessDeniedException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
  790. output := &types.AccessDeniedException{}
  791. var buff [1024]byte
  792. ringBuffer := smithyio.NewRingBuffer(buff[:])
  793. body := io.TeeReader(errorBody, ringBuffer)
  794. decoder := json.NewDecoder(body)
  795. decoder.UseNumber()
  796. var shape interface{}
  797. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  798. var snapshot bytes.Buffer
  799. io.Copy(&snapshot, ringBuffer)
  800. err = &smithy.DeserializationError{
  801. Err: fmt.Errorf("failed to decode response body, %w", err),
  802. Snapshot: snapshot.Bytes(),
  803. }
  804. return err
  805. }
  806. err := awsRestjson1_deserializeDocumentAccessDeniedException(&output, shape)
  807. if err != nil {
  808. var snapshot bytes.Buffer
  809. io.Copy(&snapshot, ringBuffer)
  810. err = &smithy.DeserializationError{
  811. Err: fmt.Errorf("failed to decode response body, %w", err),
  812. Snapshot: snapshot.Bytes(),
  813. }
  814. return err
  815. }
  816. errorBody.Seek(0, io.SeekStart)
  817. return output
  818. }
  819. func awsRestjson1_deserializeErrorAuthorizationPendingException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
  820. output := &types.AuthorizationPendingException{}
  821. var buff [1024]byte
  822. ringBuffer := smithyio.NewRingBuffer(buff[:])
  823. body := io.TeeReader(errorBody, ringBuffer)
  824. decoder := json.NewDecoder(body)
  825. decoder.UseNumber()
  826. var shape interface{}
  827. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  828. var snapshot bytes.Buffer
  829. io.Copy(&snapshot, ringBuffer)
  830. err = &smithy.DeserializationError{
  831. Err: fmt.Errorf("failed to decode response body, %w", err),
  832. Snapshot: snapshot.Bytes(),
  833. }
  834. return err
  835. }
  836. err := awsRestjson1_deserializeDocumentAuthorizationPendingException(&output, shape)
  837. if err != nil {
  838. var snapshot bytes.Buffer
  839. io.Copy(&snapshot, ringBuffer)
  840. err = &smithy.DeserializationError{
  841. Err: fmt.Errorf("failed to decode response body, %w", err),
  842. Snapshot: snapshot.Bytes(),
  843. }
  844. return err
  845. }
  846. errorBody.Seek(0, io.SeekStart)
  847. return output
  848. }
  849. func awsRestjson1_deserializeErrorExpiredTokenException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
  850. output := &types.ExpiredTokenException{}
  851. var buff [1024]byte
  852. ringBuffer := smithyio.NewRingBuffer(buff[:])
  853. body := io.TeeReader(errorBody, ringBuffer)
  854. decoder := json.NewDecoder(body)
  855. decoder.UseNumber()
  856. var shape interface{}
  857. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  858. var snapshot bytes.Buffer
  859. io.Copy(&snapshot, ringBuffer)
  860. err = &smithy.DeserializationError{
  861. Err: fmt.Errorf("failed to decode response body, %w", err),
  862. Snapshot: snapshot.Bytes(),
  863. }
  864. return err
  865. }
  866. err := awsRestjson1_deserializeDocumentExpiredTokenException(&output, shape)
  867. if err != nil {
  868. var snapshot bytes.Buffer
  869. io.Copy(&snapshot, ringBuffer)
  870. err = &smithy.DeserializationError{
  871. Err: fmt.Errorf("failed to decode response body, %w", err),
  872. Snapshot: snapshot.Bytes(),
  873. }
  874. return err
  875. }
  876. errorBody.Seek(0, io.SeekStart)
  877. return output
  878. }
  879. func awsRestjson1_deserializeErrorInternalServerException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
  880. output := &types.InternalServerException{}
  881. var buff [1024]byte
  882. ringBuffer := smithyio.NewRingBuffer(buff[:])
  883. body := io.TeeReader(errorBody, ringBuffer)
  884. decoder := json.NewDecoder(body)
  885. decoder.UseNumber()
  886. var shape interface{}
  887. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  888. var snapshot bytes.Buffer
  889. io.Copy(&snapshot, ringBuffer)
  890. err = &smithy.DeserializationError{
  891. Err: fmt.Errorf("failed to decode response body, %w", err),
  892. Snapshot: snapshot.Bytes(),
  893. }
  894. return err
  895. }
  896. err := awsRestjson1_deserializeDocumentInternalServerException(&output, shape)
  897. if err != nil {
  898. var snapshot bytes.Buffer
  899. io.Copy(&snapshot, ringBuffer)
  900. err = &smithy.DeserializationError{
  901. Err: fmt.Errorf("failed to decode response body, %w", err),
  902. Snapshot: snapshot.Bytes(),
  903. }
  904. return err
  905. }
  906. errorBody.Seek(0, io.SeekStart)
  907. return output
  908. }
  909. func awsRestjson1_deserializeErrorInvalidClientException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
  910. output := &types.InvalidClientException{}
  911. var buff [1024]byte
  912. ringBuffer := smithyio.NewRingBuffer(buff[:])
  913. body := io.TeeReader(errorBody, ringBuffer)
  914. decoder := json.NewDecoder(body)
  915. decoder.UseNumber()
  916. var shape interface{}
  917. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  918. var snapshot bytes.Buffer
  919. io.Copy(&snapshot, ringBuffer)
  920. err = &smithy.DeserializationError{
  921. Err: fmt.Errorf("failed to decode response body, %w", err),
  922. Snapshot: snapshot.Bytes(),
  923. }
  924. return err
  925. }
  926. err := awsRestjson1_deserializeDocumentInvalidClientException(&output, shape)
  927. if err != nil {
  928. var snapshot bytes.Buffer
  929. io.Copy(&snapshot, ringBuffer)
  930. err = &smithy.DeserializationError{
  931. Err: fmt.Errorf("failed to decode response body, %w", err),
  932. Snapshot: snapshot.Bytes(),
  933. }
  934. return err
  935. }
  936. errorBody.Seek(0, io.SeekStart)
  937. return output
  938. }
  939. func awsRestjson1_deserializeErrorInvalidClientMetadataException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
  940. output := &types.InvalidClientMetadataException{}
  941. var buff [1024]byte
  942. ringBuffer := smithyio.NewRingBuffer(buff[:])
  943. body := io.TeeReader(errorBody, ringBuffer)
  944. decoder := json.NewDecoder(body)
  945. decoder.UseNumber()
  946. var shape interface{}
  947. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  948. var snapshot bytes.Buffer
  949. io.Copy(&snapshot, ringBuffer)
  950. err = &smithy.DeserializationError{
  951. Err: fmt.Errorf("failed to decode response body, %w", err),
  952. Snapshot: snapshot.Bytes(),
  953. }
  954. return err
  955. }
  956. err := awsRestjson1_deserializeDocumentInvalidClientMetadataException(&output, shape)
  957. if err != nil {
  958. var snapshot bytes.Buffer
  959. io.Copy(&snapshot, ringBuffer)
  960. err = &smithy.DeserializationError{
  961. Err: fmt.Errorf("failed to decode response body, %w", err),
  962. Snapshot: snapshot.Bytes(),
  963. }
  964. return err
  965. }
  966. errorBody.Seek(0, io.SeekStart)
  967. return output
  968. }
  969. func awsRestjson1_deserializeErrorInvalidGrantException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
  970. output := &types.InvalidGrantException{}
  971. var buff [1024]byte
  972. ringBuffer := smithyio.NewRingBuffer(buff[:])
  973. body := io.TeeReader(errorBody, ringBuffer)
  974. decoder := json.NewDecoder(body)
  975. decoder.UseNumber()
  976. var shape interface{}
  977. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  978. var snapshot bytes.Buffer
  979. io.Copy(&snapshot, ringBuffer)
  980. err = &smithy.DeserializationError{
  981. Err: fmt.Errorf("failed to decode response body, %w", err),
  982. Snapshot: snapshot.Bytes(),
  983. }
  984. return err
  985. }
  986. err := awsRestjson1_deserializeDocumentInvalidGrantException(&output, shape)
  987. if err != nil {
  988. var snapshot bytes.Buffer
  989. io.Copy(&snapshot, ringBuffer)
  990. err = &smithy.DeserializationError{
  991. Err: fmt.Errorf("failed to decode response body, %w", err),
  992. Snapshot: snapshot.Bytes(),
  993. }
  994. return err
  995. }
  996. errorBody.Seek(0, io.SeekStart)
  997. return output
  998. }
  999. func awsRestjson1_deserializeErrorInvalidRedirectUriException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
  1000. output := &types.InvalidRedirectUriException{}
  1001. var buff [1024]byte
  1002. ringBuffer := smithyio.NewRingBuffer(buff[:])
  1003. body := io.TeeReader(errorBody, ringBuffer)
  1004. decoder := json.NewDecoder(body)
  1005. decoder.UseNumber()
  1006. var shape interface{}
  1007. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  1008. var snapshot bytes.Buffer
  1009. io.Copy(&snapshot, ringBuffer)
  1010. err = &smithy.DeserializationError{
  1011. Err: fmt.Errorf("failed to decode response body, %w", err),
  1012. Snapshot: snapshot.Bytes(),
  1013. }
  1014. return err
  1015. }
  1016. err := awsRestjson1_deserializeDocumentInvalidRedirectUriException(&output, shape)
  1017. if err != nil {
  1018. var snapshot bytes.Buffer
  1019. io.Copy(&snapshot, ringBuffer)
  1020. err = &smithy.DeserializationError{
  1021. Err: fmt.Errorf("failed to decode response body, %w", err),
  1022. Snapshot: snapshot.Bytes(),
  1023. }
  1024. return err
  1025. }
  1026. errorBody.Seek(0, io.SeekStart)
  1027. return output
  1028. }
  1029. func awsRestjson1_deserializeErrorInvalidRequestException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
  1030. output := &types.InvalidRequestException{}
  1031. var buff [1024]byte
  1032. ringBuffer := smithyio.NewRingBuffer(buff[:])
  1033. body := io.TeeReader(errorBody, ringBuffer)
  1034. decoder := json.NewDecoder(body)
  1035. decoder.UseNumber()
  1036. var shape interface{}
  1037. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  1038. var snapshot bytes.Buffer
  1039. io.Copy(&snapshot, ringBuffer)
  1040. err = &smithy.DeserializationError{
  1041. Err: fmt.Errorf("failed to decode response body, %w", err),
  1042. Snapshot: snapshot.Bytes(),
  1043. }
  1044. return err
  1045. }
  1046. err := awsRestjson1_deserializeDocumentInvalidRequestException(&output, shape)
  1047. if err != nil {
  1048. var snapshot bytes.Buffer
  1049. io.Copy(&snapshot, ringBuffer)
  1050. err = &smithy.DeserializationError{
  1051. Err: fmt.Errorf("failed to decode response body, %w", err),
  1052. Snapshot: snapshot.Bytes(),
  1053. }
  1054. return err
  1055. }
  1056. errorBody.Seek(0, io.SeekStart)
  1057. return output
  1058. }
  1059. func awsRestjson1_deserializeErrorInvalidRequestRegionException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
  1060. output := &types.InvalidRequestRegionException{}
  1061. var buff [1024]byte
  1062. ringBuffer := smithyio.NewRingBuffer(buff[:])
  1063. body := io.TeeReader(errorBody, ringBuffer)
  1064. decoder := json.NewDecoder(body)
  1065. decoder.UseNumber()
  1066. var shape interface{}
  1067. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  1068. var snapshot bytes.Buffer
  1069. io.Copy(&snapshot, ringBuffer)
  1070. err = &smithy.DeserializationError{
  1071. Err: fmt.Errorf("failed to decode response body, %w", err),
  1072. Snapshot: snapshot.Bytes(),
  1073. }
  1074. return err
  1075. }
  1076. err := awsRestjson1_deserializeDocumentInvalidRequestRegionException(&output, shape)
  1077. if err != nil {
  1078. var snapshot bytes.Buffer
  1079. io.Copy(&snapshot, ringBuffer)
  1080. err = &smithy.DeserializationError{
  1081. Err: fmt.Errorf("failed to decode response body, %w", err),
  1082. Snapshot: snapshot.Bytes(),
  1083. }
  1084. return err
  1085. }
  1086. errorBody.Seek(0, io.SeekStart)
  1087. return output
  1088. }
  1089. func awsRestjson1_deserializeErrorInvalidScopeException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
  1090. output := &types.InvalidScopeException{}
  1091. var buff [1024]byte
  1092. ringBuffer := smithyio.NewRingBuffer(buff[:])
  1093. body := io.TeeReader(errorBody, ringBuffer)
  1094. decoder := json.NewDecoder(body)
  1095. decoder.UseNumber()
  1096. var shape interface{}
  1097. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  1098. var snapshot bytes.Buffer
  1099. io.Copy(&snapshot, ringBuffer)
  1100. err = &smithy.DeserializationError{
  1101. Err: fmt.Errorf("failed to decode response body, %w", err),
  1102. Snapshot: snapshot.Bytes(),
  1103. }
  1104. return err
  1105. }
  1106. err := awsRestjson1_deserializeDocumentInvalidScopeException(&output, shape)
  1107. if err != nil {
  1108. var snapshot bytes.Buffer
  1109. io.Copy(&snapshot, ringBuffer)
  1110. err = &smithy.DeserializationError{
  1111. Err: fmt.Errorf("failed to decode response body, %w", err),
  1112. Snapshot: snapshot.Bytes(),
  1113. }
  1114. return err
  1115. }
  1116. errorBody.Seek(0, io.SeekStart)
  1117. return output
  1118. }
  1119. func awsRestjson1_deserializeErrorSlowDownException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
  1120. output := &types.SlowDownException{}
  1121. var buff [1024]byte
  1122. ringBuffer := smithyio.NewRingBuffer(buff[:])
  1123. body := io.TeeReader(errorBody, ringBuffer)
  1124. decoder := json.NewDecoder(body)
  1125. decoder.UseNumber()
  1126. var shape interface{}
  1127. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  1128. var snapshot bytes.Buffer
  1129. io.Copy(&snapshot, ringBuffer)
  1130. err = &smithy.DeserializationError{
  1131. Err: fmt.Errorf("failed to decode response body, %w", err),
  1132. Snapshot: snapshot.Bytes(),
  1133. }
  1134. return err
  1135. }
  1136. err := awsRestjson1_deserializeDocumentSlowDownException(&output, shape)
  1137. if err != nil {
  1138. var snapshot bytes.Buffer
  1139. io.Copy(&snapshot, ringBuffer)
  1140. err = &smithy.DeserializationError{
  1141. Err: fmt.Errorf("failed to decode response body, %w", err),
  1142. Snapshot: snapshot.Bytes(),
  1143. }
  1144. return err
  1145. }
  1146. errorBody.Seek(0, io.SeekStart)
  1147. return output
  1148. }
  1149. func awsRestjson1_deserializeErrorUnauthorizedClientException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
  1150. output := &types.UnauthorizedClientException{}
  1151. var buff [1024]byte
  1152. ringBuffer := smithyio.NewRingBuffer(buff[:])
  1153. body := io.TeeReader(errorBody, ringBuffer)
  1154. decoder := json.NewDecoder(body)
  1155. decoder.UseNumber()
  1156. var shape interface{}
  1157. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  1158. var snapshot bytes.Buffer
  1159. io.Copy(&snapshot, ringBuffer)
  1160. err = &smithy.DeserializationError{
  1161. Err: fmt.Errorf("failed to decode response body, %w", err),
  1162. Snapshot: snapshot.Bytes(),
  1163. }
  1164. return err
  1165. }
  1166. err := awsRestjson1_deserializeDocumentUnauthorizedClientException(&output, shape)
  1167. if err != nil {
  1168. var snapshot bytes.Buffer
  1169. io.Copy(&snapshot, ringBuffer)
  1170. err = &smithy.DeserializationError{
  1171. Err: fmt.Errorf("failed to decode response body, %w", err),
  1172. Snapshot: snapshot.Bytes(),
  1173. }
  1174. return err
  1175. }
  1176. errorBody.Seek(0, io.SeekStart)
  1177. return output
  1178. }
  1179. func awsRestjson1_deserializeErrorUnsupportedGrantTypeException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
  1180. output := &types.UnsupportedGrantTypeException{}
  1181. var buff [1024]byte
  1182. ringBuffer := smithyio.NewRingBuffer(buff[:])
  1183. body := io.TeeReader(errorBody, ringBuffer)
  1184. decoder := json.NewDecoder(body)
  1185. decoder.UseNumber()
  1186. var shape interface{}
  1187. if err := decoder.Decode(&shape); err != nil && err != io.EOF {
  1188. var snapshot bytes.Buffer
  1189. io.Copy(&snapshot, ringBuffer)
  1190. err = &smithy.DeserializationError{
  1191. Err: fmt.Errorf("failed to decode response body, %w", err),
  1192. Snapshot: snapshot.Bytes(),
  1193. }
  1194. return err
  1195. }
  1196. err := awsRestjson1_deserializeDocumentUnsupportedGrantTypeException(&output, shape)
  1197. if err != nil {
  1198. var snapshot bytes.Buffer
  1199. io.Copy(&snapshot, ringBuffer)
  1200. err = &smithy.DeserializationError{
  1201. Err: fmt.Errorf("failed to decode response body, %w", err),
  1202. Snapshot: snapshot.Bytes(),
  1203. }
  1204. return err
  1205. }
  1206. errorBody.Seek(0, io.SeekStart)
  1207. return output
  1208. }
  1209. func awsRestjson1_deserializeDocumentAccessDeniedException(v **types.AccessDeniedException, value interface{}) error {
  1210. if v == nil {
  1211. return fmt.Errorf("unexpected nil of type %T", v)
  1212. }
  1213. if value == nil {
  1214. return nil
  1215. }
  1216. shape, ok := value.(map[string]interface{})
  1217. if !ok {
  1218. return fmt.Errorf("unexpected JSON type %v", value)
  1219. }
  1220. var sv *types.AccessDeniedException
  1221. if *v == nil {
  1222. sv = &types.AccessDeniedException{}
  1223. } else {
  1224. sv = *v
  1225. }
  1226. for key, value := range shape {
  1227. switch key {
  1228. case "error":
  1229. if value != nil {
  1230. jtv, ok := value.(string)
  1231. if !ok {
  1232. return fmt.Errorf("expected Error to be of type string, got %T instead", value)
  1233. }
  1234. sv.Error_ = ptr.String(jtv)
  1235. }
  1236. case "error_description":
  1237. if value != nil {
  1238. jtv, ok := value.(string)
  1239. if !ok {
  1240. return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
  1241. }
  1242. sv.Error_description = ptr.String(jtv)
  1243. }
  1244. case "reason":
  1245. if value != nil {
  1246. jtv, ok := value.(string)
  1247. if !ok {
  1248. return fmt.Errorf("expected AccessDeniedExceptionReason to be of type string, got %T instead", value)
  1249. }
  1250. sv.Reason = types.AccessDeniedExceptionReason(jtv)
  1251. }
  1252. default:
  1253. _, _ = key, value
  1254. }
  1255. }
  1256. *v = sv
  1257. return nil
  1258. }
  1259. func awsRestjson1_deserializeDocumentAuthorizationPendingException(v **types.AuthorizationPendingException, value interface{}) error {
  1260. if v == nil {
  1261. return fmt.Errorf("unexpected nil of type %T", v)
  1262. }
  1263. if value == nil {
  1264. return nil
  1265. }
  1266. shape, ok := value.(map[string]interface{})
  1267. if !ok {
  1268. return fmt.Errorf("unexpected JSON type %v", value)
  1269. }
  1270. var sv *types.AuthorizationPendingException
  1271. if *v == nil {
  1272. sv = &types.AuthorizationPendingException{}
  1273. } else {
  1274. sv = *v
  1275. }
  1276. for key, value := range shape {
  1277. switch key {
  1278. case "error":
  1279. if value != nil {
  1280. jtv, ok := value.(string)
  1281. if !ok {
  1282. return fmt.Errorf("expected Error to be of type string, got %T instead", value)
  1283. }
  1284. sv.Error_ = ptr.String(jtv)
  1285. }
  1286. case "error_description":
  1287. if value != nil {
  1288. jtv, ok := value.(string)
  1289. if !ok {
  1290. return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
  1291. }
  1292. sv.Error_description = ptr.String(jtv)
  1293. }
  1294. default:
  1295. _, _ = key, value
  1296. }
  1297. }
  1298. *v = sv
  1299. return nil
  1300. }
  1301. func awsRestjson1_deserializeDocumentAwsAdditionalDetails(v **types.AwsAdditionalDetails, value interface{}) error {
  1302. if v == nil {
  1303. return fmt.Errorf("unexpected nil of type %T", v)
  1304. }
  1305. if value == nil {
  1306. return nil
  1307. }
  1308. shape, ok := value.(map[string]interface{})
  1309. if !ok {
  1310. return fmt.Errorf("unexpected JSON type %v", value)
  1311. }
  1312. var sv *types.AwsAdditionalDetails
  1313. if *v == nil {
  1314. sv = &types.AwsAdditionalDetails{}
  1315. } else {
  1316. sv = *v
  1317. }
  1318. for key, value := range shape {
  1319. switch key {
  1320. case "identityContext":
  1321. if value != nil {
  1322. jtv, ok := value.(string)
  1323. if !ok {
  1324. return fmt.Errorf("expected IdentityContext to be of type string, got %T instead", value)
  1325. }
  1326. sv.IdentityContext = ptr.String(jtv)
  1327. }
  1328. default:
  1329. _, _ = key, value
  1330. }
  1331. }
  1332. *v = sv
  1333. return nil
  1334. }
  1335. func awsRestjson1_deserializeDocumentExpiredTokenException(v **types.ExpiredTokenException, value interface{}) error {
  1336. if v == nil {
  1337. return fmt.Errorf("unexpected nil of type %T", v)
  1338. }
  1339. if value == nil {
  1340. return nil
  1341. }
  1342. shape, ok := value.(map[string]interface{})
  1343. if !ok {
  1344. return fmt.Errorf("unexpected JSON type %v", value)
  1345. }
  1346. var sv *types.ExpiredTokenException
  1347. if *v == nil {
  1348. sv = &types.ExpiredTokenException{}
  1349. } else {
  1350. sv = *v
  1351. }
  1352. for key, value := range shape {
  1353. switch key {
  1354. case "error":
  1355. if value != nil {
  1356. jtv, ok := value.(string)
  1357. if !ok {
  1358. return fmt.Errorf("expected Error to be of type string, got %T instead", value)
  1359. }
  1360. sv.Error_ = ptr.String(jtv)
  1361. }
  1362. case "error_description":
  1363. if value != nil {
  1364. jtv, ok := value.(string)
  1365. if !ok {
  1366. return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
  1367. }
  1368. sv.Error_description = ptr.String(jtv)
  1369. }
  1370. default:
  1371. _, _ = key, value
  1372. }
  1373. }
  1374. *v = sv
  1375. return nil
  1376. }
  1377. func awsRestjson1_deserializeDocumentInternalServerException(v **types.InternalServerException, value interface{}) error {
  1378. if v == nil {
  1379. return fmt.Errorf("unexpected nil of type %T", v)
  1380. }
  1381. if value == nil {
  1382. return nil
  1383. }
  1384. shape, ok := value.(map[string]interface{})
  1385. if !ok {
  1386. return fmt.Errorf("unexpected JSON type %v", value)
  1387. }
  1388. var sv *types.InternalServerException
  1389. if *v == nil {
  1390. sv = &types.InternalServerException{}
  1391. } else {
  1392. sv = *v
  1393. }
  1394. for key, value := range shape {
  1395. switch key {
  1396. case "error":
  1397. if value != nil {
  1398. jtv, ok := value.(string)
  1399. if !ok {
  1400. return fmt.Errorf("expected Error to be of type string, got %T instead", value)
  1401. }
  1402. sv.Error_ = ptr.String(jtv)
  1403. }
  1404. case "error_description":
  1405. if value != nil {
  1406. jtv, ok := value.(string)
  1407. if !ok {
  1408. return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
  1409. }
  1410. sv.Error_description = ptr.String(jtv)
  1411. }
  1412. default:
  1413. _, _ = key, value
  1414. }
  1415. }
  1416. *v = sv
  1417. return nil
  1418. }
  1419. func awsRestjson1_deserializeDocumentInvalidClientException(v **types.InvalidClientException, value interface{}) error {
  1420. if v == nil {
  1421. return fmt.Errorf("unexpected nil of type %T", v)
  1422. }
  1423. if value == nil {
  1424. return nil
  1425. }
  1426. shape, ok := value.(map[string]interface{})
  1427. if !ok {
  1428. return fmt.Errorf("unexpected JSON type %v", value)
  1429. }
  1430. var sv *types.InvalidClientException
  1431. if *v == nil {
  1432. sv = &types.InvalidClientException{}
  1433. } else {
  1434. sv = *v
  1435. }
  1436. for key, value := range shape {
  1437. switch key {
  1438. case "error":
  1439. if value != nil {
  1440. jtv, ok := value.(string)
  1441. if !ok {
  1442. return fmt.Errorf("expected Error to be of type string, got %T instead", value)
  1443. }
  1444. sv.Error_ = ptr.String(jtv)
  1445. }
  1446. case "error_description":
  1447. if value != nil {
  1448. jtv, ok := value.(string)
  1449. if !ok {
  1450. return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
  1451. }
  1452. sv.Error_description = ptr.String(jtv)
  1453. }
  1454. default:
  1455. _, _ = key, value
  1456. }
  1457. }
  1458. *v = sv
  1459. return nil
  1460. }
  1461. func awsRestjson1_deserializeDocumentInvalidClientMetadataException(v **types.InvalidClientMetadataException, value interface{}) error {
  1462. if v == nil {
  1463. return fmt.Errorf("unexpected nil of type %T", v)
  1464. }
  1465. if value == nil {
  1466. return nil
  1467. }
  1468. shape, ok := value.(map[string]interface{})
  1469. if !ok {
  1470. return fmt.Errorf("unexpected JSON type %v", value)
  1471. }
  1472. var sv *types.InvalidClientMetadataException
  1473. if *v == nil {
  1474. sv = &types.InvalidClientMetadataException{}
  1475. } else {
  1476. sv = *v
  1477. }
  1478. for key, value := range shape {
  1479. switch key {
  1480. case "error":
  1481. if value != nil {
  1482. jtv, ok := value.(string)
  1483. if !ok {
  1484. return fmt.Errorf("expected Error to be of type string, got %T instead", value)
  1485. }
  1486. sv.Error_ = ptr.String(jtv)
  1487. }
  1488. case "error_description":
  1489. if value != nil {
  1490. jtv, ok := value.(string)
  1491. if !ok {
  1492. return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
  1493. }
  1494. sv.Error_description = ptr.String(jtv)
  1495. }
  1496. default:
  1497. _, _ = key, value
  1498. }
  1499. }
  1500. *v = sv
  1501. return nil
  1502. }
  1503. func awsRestjson1_deserializeDocumentInvalidGrantException(v **types.InvalidGrantException, value interface{}) error {
  1504. if v == nil {
  1505. return fmt.Errorf("unexpected nil of type %T", v)
  1506. }
  1507. if value == nil {
  1508. return nil
  1509. }
  1510. shape, ok := value.(map[string]interface{})
  1511. if !ok {
  1512. return fmt.Errorf("unexpected JSON type %v", value)
  1513. }
  1514. var sv *types.InvalidGrantException
  1515. if *v == nil {
  1516. sv = &types.InvalidGrantException{}
  1517. } else {
  1518. sv = *v
  1519. }
  1520. for key, value := range shape {
  1521. switch key {
  1522. case "error":
  1523. if value != nil {
  1524. jtv, ok := value.(string)
  1525. if !ok {
  1526. return fmt.Errorf("expected Error to be of type string, got %T instead", value)
  1527. }
  1528. sv.Error_ = ptr.String(jtv)
  1529. }
  1530. case "error_description":
  1531. if value != nil {
  1532. jtv, ok := value.(string)
  1533. if !ok {
  1534. return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
  1535. }
  1536. sv.Error_description = ptr.String(jtv)
  1537. }
  1538. default:
  1539. _, _ = key, value
  1540. }
  1541. }
  1542. *v = sv
  1543. return nil
  1544. }
  1545. func awsRestjson1_deserializeDocumentInvalidRedirectUriException(v **types.InvalidRedirectUriException, value interface{}) error {
  1546. if v == nil {
  1547. return fmt.Errorf("unexpected nil of type %T", v)
  1548. }
  1549. if value == nil {
  1550. return nil
  1551. }
  1552. shape, ok := value.(map[string]interface{})
  1553. if !ok {
  1554. return fmt.Errorf("unexpected JSON type %v", value)
  1555. }
  1556. var sv *types.InvalidRedirectUriException
  1557. if *v == nil {
  1558. sv = &types.InvalidRedirectUriException{}
  1559. } else {
  1560. sv = *v
  1561. }
  1562. for key, value := range shape {
  1563. switch key {
  1564. case "error":
  1565. if value != nil {
  1566. jtv, ok := value.(string)
  1567. if !ok {
  1568. return fmt.Errorf("expected Error to be of type string, got %T instead", value)
  1569. }
  1570. sv.Error_ = ptr.String(jtv)
  1571. }
  1572. case "error_description":
  1573. if value != nil {
  1574. jtv, ok := value.(string)
  1575. if !ok {
  1576. return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
  1577. }
  1578. sv.Error_description = ptr.String(jtv)
  1579. }
  1580. default:
  1581. _, _ = key, value
  1582. }
  1583. }
  1584. *v = sv
  1585. return nil
  1586. }
  1587. func awsRestjson1_deserializeDocumentInvalidRequestException(v **types.InvalidRequestException, value interface{}) error {
  1588. if v == nil {
  1589. return fmt.Errorf("unexpected nil of type %T", v)
  1590. }
  1591. if value == nil {
  1592. return nil
  1593. }
  1594. shape, ok := value.(map[string]interface{})
  1595. if !ok {
  1596. return fmt.Errorf("unexpected JSON type %v", value)
  1597. }
  1598. var sv *types.InvalidRequestException
  1599. if *v == nil {
  1600. sv = &types.InvalidRequestException{}
  1601. } else {
  1602. sv = *v
  1603. }
  1604. for key, value := range shape {
  1605. switch key {
  1606. case "error":
  1607. if value != nil {
  1608. jtv, ok := value.(string)
  1609. if !ok {
  1610. return fmt.Errorf("expected Error to be of type string, got %T instead", value)
  1611. }
  1612. sv.Error_ = ptr.String(jtv)
  1613. }
  1614. case "error_description":
  1615. if value != nil {
  1616. jtv, ok := value.(string)
  1617. if !ok {
  1618. return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
  1619. }
  1620. sv.Error_description = ptr.String(jtv)
  1621. }
  1622. case "reason":
  1623. if value != nil {
  1624. jtv, ok := value.(string)
  1625. if !ok {
  1626. return fmt.Errorf("expected InvalidRequestExceptionReason to be of type string, got %T instead", value)
  1627. }
  1628. sv.Reason = types.InvalidRequestExceptionReason(jtv)
  1629. }
  1630. default:
  1631. _, _ = key, value
  1632. }
  1633. }
  1634. *v = sv
  1635. return nil
  1636. }
  1637. func awsRestjson1_deserializeDocumentInvalidRequestRegionException(v **types.InvalidRequestRegionException, value interface{}) error {
  1638. if v == nil {
  1639. return fmt.Errorf("unexpected nil of type %T", v)
  1640. }
  1641. if value == nil {
  1642. return nil
  1643. }
  1644. shape, ok := value.(map[string]interface{})
  1645. if !ok {
  1646. return fmt.Errorf("unexpected JSON type %v", value)
  1647. }
  1648. var sv *types.InvalidRequestRegionException
  1649. if *v == nil {
  1650. sv = &types.InvalidRequestRegionException{}
  1651. } else {
  1652. sv = *v
  1653. }
  1654. for key, value := range shape {
  1655. switch key {
  1656. case "endpoint":
  1657. if value != nil {
  1658. jtv, ok := value.(string)
  1659. if !ok {
  1660. return fmt.Errorf("expected Location to be of type string, got %T instead", value)
  1661. }
  1662. sv.Endpoint = ptr.String(jtv)
  1663. }
  1664. case "error":
  1665. if value != nil {
  1666. jtv, ok := value.(string)
  1667. if !ok {
  1668. return fmt.Errorf("expected Error to be of type string, got %T instead", value)
  1669. }
  1670. sv.Error_ = ptr.String(jtv)
  1671. }
  1672. case "error_description":
  1673. if value != nil {
  1674. jtv, ok := value.(string)
  1675. if !ok {
  1676. return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
  1677. }
  1678. sv.Error_description = ptr.String(jtv)
  1679. }
  1680. case "region":
  1681. if value != nil {
  1682. jtv, ok := value.(string)
  1683. if !ok {
  1684. return fmt.Errorf("expected Region to be of type string, got %T instead", value)
  1685. }
  1686. sv.Region = ptr.String(jtv)
  1687. }
  1688. default:
  1689. _, _ = key, value
  1690. }
  1691. }
  1692. *v = sv
  1693. return nil
  1694. }
  1695. func awsRestjson1_deserializeDocumentInvalidScopeException(v **types.InvalidScopeException, value interface{}) error {
  1696. if v == nil {
  1697. return fmt.Errorf("unexpected nil of type %T", v)
  1698. }
  1699. if value == nil {
  1700. return nil
  1701. }
  1702. shape, ok := value.(map[string]interface{})
  1703. if !ok {
  1704. return fmt.Errorf("unexpected JSON type %v", value)
  1705. }
  1706. var sv *types.InvalidScopeException
  1707. if *v == nil {
  1708. sv = &types.InvalidScopeException{}
  1709. } else {
  1710. sv = *v
  1711. }
  1712. for key, value := range shape {
  1713. switch key {
  1714. case "error":
  1715. if value != nil {
  1716. jtv, ok := value.(string)
  1717. if !ok {
  1718. return fmt.Errorf("expected Error to be of type string, got %T instead", value)
  1719. }
  1720. sv.Error_ = ptr.String(jtv)
  1721. }
  1722. case "error_description":
  1723. if value != nil {
  1724. jtv, ok := value.(string)
  1725. if !ok {
  1726. return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
  1727. }
  1728. sv.Error_description = ptr.String(jtv)
  1729. }
  1730. default:
  1731. _, _ = key, value
  1732. }
  1733. }
  1734. *v = sv
  1735. return nil
  1736. }
  1737. func awsRestjson1_deserializeDocumentScopes(v *[]string, value interface{}) error {
  1738. if v == nil {
  1739. return fmt.Errorf("unexpected nil of type %T", v)
  1740. }
  1741. if value == nil {
  1742. return nil
  1743. }
  1744. shape, ok := value.([]interface{})
  1745. if !ok {
  1746. return fmt.Errorf("unexpected JSON type %v", value)
  1747. }
  1748. var cv []string
  1749. if *v == nil {
  1750. cv = []string{}
  1751. } else {
  1752. cv = *v
  1753. }
  1754. for _, value := range shape {
  1755. var col string
  1756. if value != nil {
  1757. jtv, ok := value.(string)
  1758. if !ok {
  1759. return fmt.Errorf("expected Scope to be of type string, got %T instead", value)
  1760. }
  1761. col = jtv
  1762. }
  1763. cv = append(cv, col)
  1764. }
  1765. *v = cv
  1766. return nil
  1767. }
  1768. func awsRestjson1_deserializeDocumentSlowDownException(v **types.SlowDownException, value interface{}) error {
  1769. if v == nil {
  1770. return fmt.Errorf("unexpected nil of type %T", v)
  1771. }
  1772. if value == nil {
  1773. return nil
  1774. }
  1775. shape, ok := value.(map[string]interface{})
  1776. if !ok {
  1777. return fmt.Errorf("unexpected JSON type %v", value)
  1778. }
  1779. var sv *types.SlowDownException
  1780. if *v == nil {
  1781. sv = &types.SlowDownException{}
  1782. } else {
  1783. sv = *v
  1784. }
  1785. for key, value := range shape {
  1786. switch key {
  1787. case "error":
  1788. if value != nil {
  1789. jtv, ok := value.(string)
  1790. if !ok {
  1791. return fmt.Errorf("expected Error to be of type string, got %T instead", value)
  1792. }
  1793. sv.Error_ = ptr.String(jtv)
  1794. }
  1795. case "error_description":
  1796. if value != nil {
  1797. jtv, ok := value.(string)
  1798. if !ok {
  1799. return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
  1800. }
  1801. sv.Error_description = ptr.String(jtv)
  1802. }
  1803. default:
  1804. _, _ = key, value
  1805. }
  1806. }
  1807. *v = sv
  1808. return nil
  1809. }
  1810. func awsRestjson1_deserializeDocumentUnauthorizedClientException(v **types.UnauthorizedClientException, value interface{}) error {
  1811. if v == nil {
  1812. return fmt.Errorf("unexpected nil of type %T", v)
  1813. }
  1814. if value == nil {
  1815. return nil
  1816. }
  1817. shape, ok := value.(map[string]interface{})
  1818. if !ok {
  1819. return fmt.Errorf("unexpected JSON type %v", value)
  1820. }
  1821. var sv *types.UnauthorizedClientException
  1822. if *v == nil {
  1823. sv = &types.UnauthorizedClientException{}
  1824. } else {
  1825. sv = *v
  1826. }
  1827. for key, value := range shape {
  1828. switch key {
  1829. case "error":
  1830. if value != nil {
  1831. jtv, ok := value.(string)
  1832. if !ok {
  1833. return fmt.Errorf("expected Error to be of type string, got %T instead", value)
  1834. }
  1835. sv.Error_ = ptr.String(jtv)
  1836. }
  1837. case "error_description":
  1838. if value != nil {
  1839. jtv, ok := value.(string)
  1840. if !ok {
  1841. return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
  1842. }
  1843. sv.Error_description = ptr.String(jtv)
  1844. }
  1845. default:
  1846. _, _ = key, value
  1847. }
  1848. }
  1849. *v = sv
  1850. return nil
  1851. }
  1852. func awsRestjson1_deserializeDocumentUnsupportedGrantTypeException(v **types.UnsupportedGrantTypeException, value interface{}) error {
  1853. if v == nil {
  1854. return fmt.Errorf("unexpected nil of type %T", v)
  1855. }
  1856. if value == nil {
  1857. return nil
  1858. }
  1859. shape, ok := value.(map[string]interface{})
  1860. if !ok {
  1861. return fmt.Errorf("unexpected JSON type %v", value)
  1862. }
  1863. var sv *types.UnsupportedGrantTypeException
  1864. if *v == nil {
  1865. sv = &types.UnsupportedGrantTypeException{}
  1866. } else {
  1867. sv = *v
  1868. }
  1869. for key, value := range shape {
  1870. switch key {
  1871. case "error":
  1872. if value != nil {
  1873. jtv, ok := value.(string)
  1874. if !ok {
  1875. return fmt.Errorf("expected Error to be of type string, got %T instead", value)
  1876. }
  1877. sv.Error_ = ptr.String(jtv)
  1878. }
  1879. case "error_description":
  1880. if value != nil {
  1881. jtv, ok := value.(string)
  1882. if !ok {
  1883. return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
  1884. }
  1885. sv.Error_description = ptr.String(jtv)
  1886. }
  1887. default:
  1888. _, _ = key, value
  1889. }
  1890. }
  1891. *v = sv
  1892. return nil
  1893. }