github.com/aavshr/aws-sdk-go@v1.41.3/models/protocol_tests/output/json.json (about)

     1  [
     2    {
     3      "description": "Scalar members",
     4      "metadata": {
     5        "protocol": "json"
     6      },
     7      "shapes": {
     8        "OutputShape": {
     9          "type": "structure",
    10          "members": {
    11            "Str": {
    12              "shape": "StringType"
    13            },
    14            "Num": {
    15              "shape": "IntegerType"
    16            },
    17            "FalseBool": {
    18              "shape": "BooleanType"
    19            },
    20            "TrueBool": {
    21              "shape": "BooleanType"
    22            },
    23            "Float": {
    24              "shape": "FloatType"
    25            },
    26            "Double": {
    27              "shape": "DoubleType"
    28            },
    29            "Long": {
    30              "shape": "LongType"
    31            },
    32            "Char": {
    33              "shape": "CharType"
    34            }
    35          }
    36        },
    37        "StringType": {
    38          "type": "string"
    39        },
    40        "IntegerType": {
    41          "type": "integer"
    42        },
    43        "BooleanType": {
    44          "type": "boolean"
    45        },
    46        "FloatType": {
    47          "type": "float"
    48        },
    49        "DoubleType": {
    50          "type": "double"
    51        },
    52        "LongType": {
    53          "type": "long"
    54        },
    55        "CharType": {
    56          "type": "character"
    57        }
    58      },
    59      "cases": [
    60        {
    61          "given": {
    62            "output": {
    63              "shape": "OutputShape"
    64            },
    65            "name": "OperationName"
    66          },
    67          "result": {
    68            "Str": "myname",
    69            "Num": 123,
    70            "FalseBool": false,
    71            "TrueBool": true,
    72            "Float": 1.2,
    73            "Double": 1.3,
    74            "Long": 200,
    75            "Char": "a"
    76          },
    77          "response": {
    78            "status_code": 200,
    79            "headers": {},
    80            "body": "{\"Str\": \"myname\", \"Num\": 123, \"FalseBool\": false, \"TrueBool\": true, \"Float\": 1.2, \"Double\": 1.3, \"Long\": 200, \"Char\": \"a\"}"
    81          }
    82        }
    83      ]
    84    },
    85    {
    86      "description": "Blob members",
    87      "metadata": {
    88        "protocol": "json"
    89      },
    90      "shapes": {
    91        "OutputShape": {
    92          "type": "structure",
    93          "members": {
    94            "BlobMember": {
    95              "shape": "BlobType"
    96            },
    97            "StructMember": {
    98              "shape": "BlobContainer"
    99            }
   100          }
   101        },
   102        "BlobType": {
   103          "type": "blob"
   104        },
   105        "BlobContainer": {
   106          "type": "structure",
   107          "members": {
   108            "foo": {
   109              "shape": "BlobType"
   110            }
   111          }
   112        }
   113      },
   114      "cases": [
   115        {
   116          "given": {
   117            "output": {
   118              "shape": "OutputShape"
   119            },
   120            "name": "OperationName"
   121          },
   122          "result": {
   123            "BlobMember": "hi!",
   124            "StructMember": {
   125              "foo": "there!"
   126            }
   127          },
   128          "response": {
   129            "status_code": 200,
   130            "headers": {},
   131            "body": "{\"BlobMember\": \"aGkh\", \"StructMember\": {\"foo\": \"dGhlcmUh\"}}"
   132          }
   133        }
   134      ]
   135    },
   136    {
   137      "description": "Timestamp members",
   138      "metadata": {
   139        "protocol": "json"
   140      },
   141      "shapes": {
   142        "OutputShape": {
   143          "type": "structure",
   144          "members": {
   145            "TimeArg": {
   146              "shape": "TimestampType"
   147            },
   148            "TimeCustom": {
   149              "timestampFormat": "rfc822",
   150              "shape": "TimestampType"
   151            },
   152            "TimeFormat": {
   153              "shape": "TimestampFormatType"
   154            },
   155            "StructMember": {
   156              "shape": "TimeContainer"
   157            }
   158          }
   159        },
   160        "TimeContainer": {
   161          "type": "structure",
   162          "members": {
   163            "foo": {
   164              "shape": "TimestampType"
   165            },
   166            "bar": {
   167              "shape": "TimestampFormatType"
   168            }
   169          }
   170        },
   171        "TimestampFormatType": {
   172          "timestampFormat": "iso8601",
   173          "type": "timestamp"
   174        },
   175        "TimestampType": {
   176          "type": "timestamp"
   177        }
   178      },
   179      "cases": [
   180        {
   181          "given": {
   182            "output": {
   183              "shape": "OutputShape"
   184            },
   185            "name": "OperationName"
   186          },
   187          "result": {
   188            "TimeArg": 1398796238,
   189            "TimeCustom": 1398796238,
   190            "TimeFormat": 1398796238,
   191            "StructMember": {
   192              "foo": 1398796238,
   193              "bar": 1398796238
   194            }
   195          },
   196          "response": {
   197            "status_code": 200,
   198            "headers": {},
   199            "body": "{\"TimeArg\": 1398796238, \"TimeCustom\": \"Tue, 29 Apr 2014 18:30:38 GMT\", \"TimeFormat\": \"2014-04-29T18:30:38Z\", \"StructMember\": {\"foo\": 1398796238, \"bar\": \"2014-04-29T18:30:38Z\"}}"
   200          }
   201        }
   202      ]
   203    },
   204    {
   205      "description": "Lists",
   206      "metadata": {
   207        "protocol": "json"
   208      },
   209      "shapes": {
   210        "OutputShape": {
   211          "type": "structure",
   212          "members": {
   213            "ListMember": {
   214              "shape": "ListType"
   215            },
   216            "ListMemberMap": {
   217              "shape": "ListTypeMap"
   218            },
   219            "ListMemberStruct": {
   220              "shape": "ListTypeStruct"
   221            }
   222          }
   223        },
   224        "ListType": {
   225          "type": "list",
   226          "member": {
   227            "shape": "StringType"
   228          }
   229        },
   230        "ListTypeMap": {
   231          "type": "list",
   232          "member": {
   233            "shape": "MapType"
   234          }
   235        },
   236        "ListTypeStruct": {
   237          "type": "list",
   238          "member": {
   239            "shape": "StructType"
   240          }
   241        },
   242        "StringType": {
   243          "type": "string"
   244        },
   245        "StructType": {
   246          "type": "structure",
   247          "members": {
   248          }
   249        },
   250        "MapType": {
   251          "type": "map",
   252          "key": { "shape": "StringType" },
   253          "value": { "shape": "StringType" }
   254        }
   255      },
   256      "cases": [
   257        {
   258          "given": {
   259            "output": {
   260              "shape": "OutputShape"
   261            },
   262            "name": "OperationName"
   263          },
   264          "result": {
   265            "ListMember": ["a", "b"]
   266          },
   267          "response": {
   268            "status_code": 200,
   269            "headers": {},
   270            "body": "{\"ListMember\": [\"a\", \"b\"]}"
   271          }
   272        },
   273        {
   274          "given": {
   275            "output": {
   276              "shape": "OutputShape"
   277            },
   278            "name": "OperationName"
   279          },
   280          "result": {
   281            "ListMember": ["a", null],
   282            "ListMemberMap": [{}, null, null, {}],
   283            "ListMemberStruct": [{}, null, null, {}]
   284          },
   285          "response": {
   286            "status_code": 200,
   287            "headers": {},
   288            "body": "{\"ListMember\": [\"a\", null], \"ListMemberMap\": [{}, null, null, {}], \"ListMemberStruct\": [{}, null, null, {}]}"
   289          }
   290        }
   291      ]
   292    },
   293    {
   294      "description": "Maps",
   295      "metadata": {
   296        "protocol": "json"
   297      },
   298      "shapes": {
   299        "OutputShape": {
   300          "type": "structure",
   301          "members": {
   302            "MapMember": {
   303              "shape": "MapType"
   304            }
   305          }
   306        },
   307        "MapType": {
   308          "type": "map",
   309          "key": {
   310            "shape": "StringType"
   311          },
   312          "value": {
   313            "shape": "NumberList"
   314          }
   315        },
   316        "StringType": {
   317          "type": "string"
   318        },
   319        "NumberList": {
   320          "type": "list",
   321          "member": {
   322            "shape": "IntegerType"
   323          }
   324        },
   325        "IntegerType": {
   326          "type": "integer"
   327        }
   328      },
   329      "cases": [
   330        {
   331          "given": {
   332            "output": {
   333              "shape": "OutputShape"
   334            },
   335            "name": "OperationName"
   336          },
   337          "result": {
   338            "MapMember": {
   339              "a": [1, 2],
   340              "b": [3, 4]
   341            }
   342          },
   343          "response": {
   344            "status_code": 200,
   345            "headers": {},
   346            "body": "{\"MapMember\": {\"a\": [1, 2], \"b\": [3, 4]}}"
   347          }
   348        }
   349      ]
   350    },
   351    {
   352      "description": "Ignores extra data",
   353      "metadata": {
   354        "protocol": "json"
   355      },
   356      "shapes": {
   357        "OutputShape": {
   358          "type": "structure",
   359          "members": {
   360            "StrType": {
   361              "shape": "StrType"
   362            }
   363          }
   364        },
   365        "StrType": {
   366          "type": "string"
   367        }
   368      },
   369      "cases": [
   370        {
   371          "given": {
   372            "output": {
   373              "shape": "OutputShape"
   374            },
   375            "name": "OperationName"
   376          },
   377          "result": {},
   378          "response": {
   379            "status_code": 200,
   380            "headers": {},
   381            "body": "{\"foo\": \"bar\"}"
   382          }
   383        }
   384      ]
   385    },
   386    {
   387      "description": "Enum output",
   388      "metadata": {
   389        "protocol": "json"
   390      },
   391      "shapes": {
   392        "OutputShape": {
   393          "type": "structure",
   394          "members": {
   395            "FooEnum": {
   396              "shape": "JSONEnumType"
   397            },
   398            "ListEnums": {
   399              "shape": "JSONEnumList"
   400            }
   401          }
   402        },
   403        "JSONEnumType":{
   404          "type":"string",
   405          "enum":[
   406            "foo",
   407            "bar"
   408          ]
   409        },
   410        "JSONEnumList":{
   411          "type":"list",
   412          "member": {"shape": "JSONEnumType"}
   413        }
   414      },
   415      "cases": [
   416        {
   417          "given": {
   418            "output": {
   419              "shape": "OutputShape"
   420            },
   421            "name": "OperationName"
   422          },
   423          "result": {
   424            "FooEnum": "foo",
   425            "ListEnums": ["foo", "bar"]
   426          },
   427          "response": {
   428            "status_code": 200,
   429            "headers": {},
   430            "body": "{\"FooEnum\": \"foo\", \"ListEnums\": [\"foo\", \"bar\"]}"
   431          }
   432        }
   433      ]
   434    },
   435    {
   436      "description": "unmodeled non-json response payload",
   437      "metadata": {
   438        "protocol": "json"
   439      },
   440      "shapes": {
   441        "OutputShape": {
   442          "type": "structure",
   443          "members": {
   444          }
   445        }
   446      },
   447      "cases": [
   448        {
   449          "given": {
   450            "output": {
   451              "shape": "OutputShape"
   452            },
   453            "name": "OperationName"
   454          },
   455          "result": {
   456          },
   457          "response": {
   458            "status_code": 200,
   459            "headers": {},
   460            "body": "success"
   461          }
   462        },
   463        {
   464          "given": {
   465            "output": {
   466              "shape": "OutputShape"
   467            },
   468            "name": "OperationName"
   469          },
   470          "result": {
   471          },
   472          "response": {
   473            "status_code": 200,
   474            "headers": {},
   475            "body": "\"success\""
   476          }
   477        },
   478        {
   479          "given": {
   480            "output": {
   481              "shape": "OutputShape"
   482            },
   483            "name": "OperationName"
   484          },
   485          "result": {
   486          },
   487          "response": {
   488            "status_code": 200,
   489            "headers": {},
   490            "body": "{}"
   491          }
   492        }
   493      ]
   494    }
   495  ]