• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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