1{ 2 "version":"2.0", 3 "metadata":{ 4 "apiVersion":"2016-03-11", 5 "endpointPrefix":"jsonrpc", 6 "jsonVersion":"1.1", 7 "protocol":"json", 8 "serviceAbbreviation":"JsonProtocolTests", 9 "serviceFullName":"AWS DR Tools JSON Protocol Tests", 10 "serviceId":"ProtocolJsonRpc", 11 "signatureVersion":"v4", 12 "targetPrefix":"ProtocolTestsJsonRpcService", 13 "uid":"jsonrpc-2016-03-11" 14 }, 15 "operations":{ 16 "AllTypes":{ 17 "name":"AllTypes", 18 "http":{ 19 "method":"POST", 20 "requestUri":"/" 21 }, 22 "input":{"shape":"AllTypesStructure"}, 23 "output":{"shape":"AllTypesStructure"}, 24 "errors":[ 25 {"shape":"EmptyModeledException"}, 26 {"shape":"ImplicitPayloadException"} 27 ] 28 }, 29 "FurtherNestedContainers":{ 30 "name":"FurtherNestedContainers", 31 "http":{ 32 "method":"POST", 33 "requestUri":"/" 34 }, 35 "input":{"shape":"FurtherNestedContainersStructure"}, 36 "output":{"shape":"FurtherNestedContainersStructure"} 37 }, 38 "IdempotentOperation":{ 39 "name":"IdempotentOperation", 40 "http":{ 41 "method":"POST", 42 "requestUri":"/" 43 }, 44 "input":{"shape":"IdempotentOperationStructure"}, 45 "output":{"shape":"IdempotentOperationStructure"} 46 }, 47 "NestedContainers":{ 48 "name":"NestedContainers", 49 "http":{ 50 "method":"POST", 51 "requestUri":"/" 52 }, 53 "input":{"shape":"NestedContainersStructure"}, 54 "output":{"shape":"NestedContainersStructure"} 55 }, 56 "OperationWithNoInputOrOutput":{ 57 "name":"OperationWithNoInputOrOutput", 58 "http":{ 59 "method":"POST", 60 "requestUri":"/" 61 } 62 } 63 }, 64 "shapes":{ 65 "AllTypesStructure":{ 66 "type":"structure", 67 "members":{ 68 "StringMember":{"shape":"String"}, 69 "IntegerMember":{"shape":"Integer"}, 70 "BooleanMember":{"shape":"Boolean"}, 71 "FloatMember":{"shape":"Float"}, 72 "DoubleMember":{"shape":"Double"}, 73 "BigDecimalMember":{"shape":"NumericValue"}, 74 "LongMember":{"shape":"Long"}, 75 "ShortMember":{"shape":"Short"}, 76 "SimpleList":{"shape":"ListOfStrings"}, 77 "ListOfMaps":{"shape":"ListOfMapStringToString"}, 78 "ListOfStructs":{"shape":"ListOfSimpleStructs"}, 79 "MapOfStringToIntegerList":{"shape":"MapOfStringToIntegerList"}, 80 "MapOfStringToString":{"shape":"MapOfStringToString"}, 81 "MapOfStringToStruct":{"shape":"MapOfStringToSimpleStruct"}, 82 "TimestampMember":{"shape":"Timestamp"}, 83 "StructWithNestedTimestampMember":{"shape":"StructWithTimestamp"}, 84 "TimestampFormatMember":{"shape":"IsoTimestamp"}, 85 "BlobArg":{"shape":"BlobType"}, 86 "StructWithNestedBlob":{"shape":"StructWithNestedBlobType"}, 87 "BlobMap":{"shape":"BlobMapType"}, 88 "ListOfBlobs":{"shape":"ListOfBlobsType"}, 89 "RecursiveStruct":{"shape":"RecursiveStructType"}, 90 "PolymorphicTypeWithSubTypes":{"shape":"BaseType"}, 91 "PolymorphicTypeWithoutSubTypes":{"shape":"SubTypeOne"}, 92 "EnumMember":{"shape":"EnumType"}, 93 "ListOfEnums":{"shape":"ListOfEnums"}, 94 "MapOfEnumToEnum":{"shape":"MapOfEnumToEnum"}, 95 "ListOfTimeStamp":{"shape":"ListOfTimeStamp"}, 96 "MapOfTimeStamp":{"shape":"MapOfTimeStamp"}, 97 "MyDocument":{"shape":"MyDocument"}, 98 "UnionMember":{"shape":"AllTypesUnionStructure"} 99 } 100 }, 101 "BaseType":{ 102 "type":"structure", 103 "members":{ 104 "BaseMember":{"shape":"String"} 105 } 106 }, 107 "BlobMapType":{ 108 "type":"map", 109 "key":{"shape":"String"}, 110 "value":{"shape":"BlobType"} 111 }, 112 "BlobType":{"type":"blob"}, 113 "Boolean":{"type":"boolean"}, 114 "Double":{"type":"double"}, 115 "EmptyModeledException":{ 116 "type":"structure", 117 "members":{ 118 }, 119 "exception":true 120 }, 121 "EnumType":{ 122 "type":"string", 123 "enum":[ 124 "EnumValue1", 125 "EnumValue2" 126 ] 127 }, 128 "Float":{"type":"float"}, 129 "Short":{"type":"short"}, 130 "FurtherNestedContainersStructure":{ 131 "type":"structure", 132 "members":{ 133 "ListOfNested":{"shape":"ListOfNested"} 134 } 135 }, 136 "IdempotentOperationStructure":{ 137 "type":"structure", 138 "members":{ 139 "IdempotencyToken":{ 140 "shape":"String", 141 "idempotencyToken":true 142 } 143 } 144 }, 145 "ImplicitPayloadException":{ 146 "type":"structure", 147 "members":{ 148 "StringMember":{"shape":"String"}, 149 "IntegerMember":{"shape":"Integer"}, 150 "LongMember":{"shape":"Long"}, 151 "ShortMember":{"shape":"Short"}, 152 "DoubleMember":{"shape":"Double"}, 153 "FloatMember":{"shape":"Float"}, 154 "TimestampMember":{"shape":"Timestamp"}, 155 "BooleanMember":{"shape":"Boolean"}, 156 "BlobMember":{"shape":"BlobType"}, 157 "ListMember":{"shape":"ListOfStrings"}, 158 "MapMember":{"shape":"MapOfStringToString"}, 159 "SimpleStructMember":{"shape":"SimpleStruct"} 160 }, 161 "exception":true 162 }, 163 "Integer":{"type":"integer"}, 164 // Shape is customized to BigDecimal in customization.config 165 "NumericValue": { 166 "type": "string", 167 "pattern":"([0-9]*\\.)?[0-9]+" 168 }, 169 "IsoTimestamp":{ 170 "type":"timestamp", 171 "timestampFormat":"iso8601" 172 }, 173 "UnixTimestamp":{ 174 "type":"timestamp", 175 "timestampFormat":"unixTimestamp" 176 }, 177 "ListOfAllTypesStructs":{ 178 "type":"list", 179 "member":{"shape":"AllTypesStructure"} 180 }, 181 "ListOfBlobsType":{ 182 "type":"list", 183 "member":{"shape":"BlobType"} 184 }, 185 "ListOfEnums":{ 186 "type":"list", 187 "member":{"shape":"EnumType"} 188 }, 189 "ListOfIntegers":{ 190 "type":"list", 191 "member":{"shape":"Integer"} 192 }, 193 "ListOfListOfListsOfStrings":{ 194 "type":"list", 195 "member":{"shape":"ListOfListsOfStrings"} 196 }, 197 "ListOfListsOfAllTypesStructs":{ 198 "type":"list", 199 "member":{"shape":"ListOfAllTypesStructs"} 200 }, 201 "ListOfListsOfStrings":{ 202 "type":"list", 203 "member":{"shape":"ListOfStrings"} 204 }, 205 "ListOfListsOfStructs":{ 206 "type":"list", 207 "member":{"shape":"ListOfSimpleStructs"} 208 }, 209 "ListOfMapStringToString":{ 210 "type":"list", 211 "member":{"shape":"MapOfStringToString"} 212 }, 213 "ListOfNested":{ 214 "type":"list", 215 "member":{"shape":"NestedContainersStructure"} 216 }, 217 "ListOfSimpleStructs":{ 218 "type":"list", 219 "member":{"shape":"SimpleStruct"} 220 }, 221 "ListOfStrings":{ 222 "type":"list", 223 "member":{"shape":"String"} 224 }, 225 "Long":{"type":"long"}, 226 "MapOfEnumToEnum":{ 227 "type":"map", 228 "key":{"shape":"EnumType"}, 229 "value":{"shape":"EnumType"} 230 }, 231 "MapOfStringToIntegerList":{ 232 "type":"map", 233 "key":{"shape":"String"}, 234 "value":{"shape":"ListOfIntegers"} 235 }, 236 "MapOfStringToListOfListsOfStrings":{ 237 "type":"map", 238 "key":{"shape":"String"}, 239 "value":{"shape":"ListOfListsOfStrings"} 240 }, 241 "MapOfStringToSimpleStruct":{ 242 "type":"map", 243 "key":{"shape":"String"}, 244 "value":{"shape":"SimpleStruct"} 245 }, 246 "MapOfStringToString":{ 247 "type":"map", 248 "key":{"shape":"String"}, 249 "value":{"shape":"String"} 250 }, 251 "NestedContainersStructure":{ 252 "type":"structure", 253 "members":{ 254 "ListOfListsOfStrings":{"shape":"ListOfListsOfStrings"}, 255 "ListOfListsOfStructs":{"shape":"ListOfListsOfStructs"}, 256 "ListOfListsOfAllTypesStructs":{"shape":"ListOfListsOfAllTypesStructs"}, 257 "ListOfListOfListsOfStrings":{"shape":"ListOfListOfListsOfStrings"}, 258 "MapOfStringToListOfListsOfStrings":{"shape":"MapOfStringToListOfListsOfStrings"}, 259 "StringMember":{"shape":"String"} 260 } 261 }, 262 "RecursiveListType":{ 263 "type":"list", 264 "member":{"shape":"RecursiveStructType"} 265 }, 266 "RecursiveMapType":{ 267 "type":"map", 268 "key":{"shape":"String"}, 269 "value":{"shape":"RecursiveStructType"} 270 }, 271 "RecursiveStructType":{ 272 "type":"structure", 273 "members":{ 274 "NoRecurse":{"shape":"String"}, 275 "RecursiveStruct":{"shape":"RecursiveStructType"}, 276 "RecursiveList":{"shape":"RecursiveListType"}, 277 "RecursiveMap":{"shape":"RecursiveMapType"} 278 } 279 }, 280 "SimpleStruct":{ 281 "type":"structure", 282 "members":{ 283 "StringMember":{"shape":"String"} 284 } 285 }, 286 "String":{"type":"string"}, 287 "StructWithNestedBlobType":{ 288 "type":"structure", 289 "members":{ 290 "NestedBlob":{"shape":"BlobType"} 291 } 292 }, 293 "StructWithTimestamp":{ 294 "type":"structure", 295 "members":{ 296 "NestedTimestamp":{"shape":"Timestamp"} 297 } 298 }, 299 "SubTypeOne":{ 300 "type":"structure", 301 "members":{ 302 "SubTypeOneMember":{"shape":"String"} 303 } 304 }, 305 "Timestamp":{"type":"timestamp"}, 306 "ListOfTimeStamp":{ 307 "type":"list", 308 "member":{"shape":"UnixTimestamp"} 309 }, 310 "MapOfTimeStamp":{ 311 "type":"map", 312 "key":{"shape":"String"}, 313 "value":{"shape":"UnixTimestamp"} 314 }, 315 "MyDocument": { 316 "type": "structure", 317 "document": true 318 }, 319 "AllTypesUnionStructure": { 320 "type": "structure", 321 "union": true, 322 "members": { 323 "StringMember": { 324 "shape": "String" 325 }, 326 "IntegerMember": { 327 "shape": "Integer" 328 }, 329 "BooleanMember": { 330 "shape": "Boolean" 331 }, 332 "FloatMember": { 333 "shape": "Float" 334 }, 335 "DoubleMember": { 336 "shape": "Double" 337 }, 338 "LongMember": { 339 "shape": "Long" 340 }, 341 "ShortMember": { 342 "shape": "Short" 343 }, 344 "EnumMember": { 345 "shape": "EnumType" 346 }, 347 "SimpleList": { 348 "shape": "ListOfStrings" 349 }, 350 "ListOfEnums": { 351 "shape": "ListOfEnums" 352 }, 353 "ListOfMaps": { 354 "shape": "ListOfMapStringToString" 355 }, 356 "ListOfStructs": { 357 "shape": "ListOfSimpleStructs" 358 }, 359 "MapOfStringToIntegerList": { 360 "shape": "MapOfStringToIntegerList" 361 }, 362 "MapOfStringToString": { 363 "shape": "MapOfStringToString" 364 }, 365 "MapOfStringToStruct": { 366 "shape": "MapOfStringToSimpleStruct" 367 }, 368 "MapOfEnumToEnum": { 369 "shape": "MapOfEnumToEnum" 370 }, 371 "TimestampMember": { 372 "shape": "Timestamp" 373 }, 374 "StructWithNestedTimestampMember": { 375 "shape": "StructWithTimestamp" 376 }, 377 "BlobArg": { 378 "shape": "BlobType" 379 }, 380 "StructWithNestedBlob": { 381 "shape": "StructWithNestedBlobType" 382 }, 383 "BlobMap": { 384 "shape": "BlobMapType" 385 }, 386 "ListOfBlobs": { 387 "shape": "ListOfBlobsType" 388 }, 389 "RecursiveStruct": { 390 "shape": "RecursiveStructType" 391 }, 392 "PolymorphicTypeWithSubTypes": { 393 "shape": "BaseType" 394 }, 395 "PolymorphicTypeWithoutSubTypes": { 396 "shape": "SubTypeOne" 397 }, 398 "SetPrefixedMember": { 399 "shape": "String" 400 }, 401 "UnionMember": { 402 "shape": "AllTypesUnionStructure" 403 } 404 } 405 } 406 } 407} 408