1{
2  "version":"2.0",
3  "metadata":{
4    "apiVersion":"2020-12-01",
5    "endpointPrefix":"fis",
6    "jsonVersion":"1.1",
7    "protocol":"rest-json",
8    "serviceAbbreviation":"FIS",
9    "serviceFullName":"AWS Fault Injection Simulator",
10    "serviceId":"fis",
11    "signatureVersion":"v4",
12    "signingName":"fis",
13    "uid":"fis-2020-12-01"
14  },
15  "operations":{
16    "CreateExperimentTemplate":{
17      "name":"CreateExperimentTemplate",
18      "http":{
19        "method":"POST",
20        "requestUri":"/experimentTemplates",
21        "responseCode":200
22      },
23      "input":{"shape":"CreateExperimentTemplateRequest"},
24      "output":{"shape":"CreateExperimentTemplateResponse"},
25      "errors":[
26        {"shape":"ValidationException"},
27        {"shape":"ConflictException"},
28        {"shape":"ResourceNotFoundException"},
29        {"shape":"ServiceQuotaExceededException"}
30      ]
31    },
32    "DeleteExperimentTemplate":{
33      "name":"DeleteExperimentTemplate",
34      "http":{
35        "method":"DELETE",
36        "requestUri":"/experimentTemplates/{id}",
37        "responseCode":200
38      },
39      "input":{"shape":"DeleteExperimentTemplateRequest"},
40      "output":{"shape":"DeleteExperimentTemplateResponse"},
41      "errors":[
42        {"shape":"ValidationException"},
43        {"shape":"ResourceNotFoundException"}
44      ]
45    },
46    "GetAction":{
47      "name":"GetAction",
48      "http":{
49        "method":"GET",
50        "requestUri":"/actions/{id}",
51        "responseCode":200
52      },
53      "input":{"shape":"GetActionRequest"},
54      "output":{"shape":"GetActionResponse"},
55      "errors":[
56        {"shape":"ValidationException"},
57        {"shape":"ResourceNotFoundException"}
58      ]
59    },
60    "GetExperiment":{
61      "name":"GetExperiment",
62      "http":{
63        "method":"GET",
64        "requestUri":"/experiments/{id}",
65        "responseCode":200
66      },
67      "input":{"shape":"GetExperimentRequest"},
68      "output":{"shape":"GetExperimentResponse"},
69      "errors":[
70        {"shape":"ValidationException"},
71        {"shape":"ResourceNotFoundException"}
72      ]
73    },
74    "GetExperimentTemplate":{
75      "name":"GetExperimentTemplate",
76      "http":{
77        "method":"GET",
78        "requestUri":"/experimentTemplates/{id}",
79        "responseCode":200
80      },
81      "input":{"shape":"GetExperimentTemplateRequest"},
82      "output":{"shape":"GetExperimentTemplateResponse"},
83      "errors":[
84        {"shape":"ValidationException"},
85        {"shape":"ResourceNotFoundException"}
86      ]
87    },
88    "ListActions":{
89      "name":"ListActions",
90      "http":{
91        "method":"GET",
92        "requestUri":"/actions",
93        "responseCode":200
94      },
95      "input":{"shape":"ListActionsRequest"},
96      "output":{"shape":"ListActionsResponse"},
97      "errors":[
98        {"shape":"ValidationException"}
99      ]
100    },
101    "ListExperimentTemplates":{
102      "name":"ListExperimentTemplates",
103      "http":{
104        "method":"GET",
105        "requestUri":"/experimentTemplates",
106        "responseCode":200
107      },
108      "input":{"shape":"ListExperimentTemplatesRequest"},
109      "output":{"shape":"ListExperimentTemplatesResponse"},
110      "errors":[
111        {"shape":"ValidationException"}
112      ]
113    },
114    "ListExperiments":{
115      "name":"ListExperiments",
116      "http":{
117        "method":"GET",
118        "requestUri":"/experiments",
119        "responseCode":200
120      },
121      "input":{"shape":"ListExperimentsRequest"},
122      "output":{"shape":"ListExperimentsResponse"},
123      "errors":[
124        {"shape":"ValidationException"}
125      ]
126    },
127    "ListTagsForResource":{
128      "name":"ListTagsForResource",
129      "http":{
130        "method":"GET",
131        "requestUri":"/tags/{resourceArn}",
132        "responseCode":200
133      },
134      "input":{"shape":"ListTagsForResourceRequest"},
135      "output":{"shape":"ListTagsForResourceResponse"}
136    },
137    "StartExperiment":{
138      "name":"StartExperiment",
139      "http":{
140        "method":"POST",
141        "requestUri":"/experiments",
142        "responseCode":200
143      },
144      "input":{"shape":"StartExperimentRequest"},
145      "output":{"shape":"StartExperimentResponse"},
146      "errors":[
147        {"shape":"ValidationException"},
148        {"shape":"ConflictException"},
149        {"shape":"ResourceNotFoundException"},
150        {"shape":"ServiceQuotaExceededException"}
151      ]
152    },
153    "StopExperiment":{
154      "name":"StopExperiment",
155      "http":{
156        "method":"DELETE",
157        "requestUri":"/experiments/{id}",
158        "responseCode":200
159      },
160      "input":{"shape":"StopExperimentRequest"},
161      "output":{"shape":"StopExperimentResponse"},
162      "errors":[
163        {"shape":"ValidationException"},
164        {"shape":"ResourceNotFoundException"}
165      ]
166    },
167    "TagResource":{
168      "name":"TagResource",
169      "http":{
170        "method":"POST",
171        "requestUri":"/tags/{resourceArn}",
172        "responseCode":200
173      },
174      "input":{"shape":"TagResourceRequest"},
175      "output":{"shape":"TagResourceResponse"}
176    },
177    "UntagResource":{
178      "name":"UntagResource",
179      "http":{
180        "method":"DELETE",
181        "requestUri":"/tags/{resourceArn}",
182        "responseCode":200
183      },
184      "input":{"shape":"UntagResourceRequest"},
185      "output":{"shape":"UntagResourceResponse"}
186    },
187    "UpdateExperimentTemplate":{
188      "name":"UpdateExperimentTemplate",
189      "http":{
190        "method":"PATCH",
191        "requestUri":"/experimentTemplates/{id}",
192        "responseCode":200
193      },
194      "input":{"shape":"UpdateExperimentTemplateRequest"},
195      "output":{"shape":"UpdateExperimentTemplateResponse"},
196      "errors":[
197        {"shape":"ValidationException"},
198        {"shape":"ResourceNotFoundException"},
199        {"shape":"ServiceQuotaExceededException"}
200      ]
201    }
202  },
203  "shapes":{
204    "Action":{
205      "type":"structure",
206      "members":{
207        "id":{"shape":"ActionId"},
208        "description":{"shape":"ActionDescription"},
209        "parameters":{"shape":"ActionParameterMap"},
210        "targets":{"shape":"ActionTargetMap"},
211        "tags":{"shape":"TagMap"}
212      }
213    },
214    "ActionDescription":{
215      "type":"string",
216      "max":512,
217      "pattern":"[\\s\\S]+"
218    },
219    "ActionId":{
220      "type":"string",
221      "max":128,
222      "pattern":"[\\S]+"
223    },
224    "ActionParameter":{
225      "type":"structure",
226      "members":{
227        "description":{"shape":"ActionParameterDescription"},
228        "required":{
229          "shape":"ActionParameterRequired",
230          "box":true
231        }
232      }
233    },
234    "ActionParameterDescription":{
235      "type":"string",
236      "max":512,
237      "pattern":"[\\s\\S]+"
238    },
239    "ActionParameterMap":{
240      "type":"map",
241      "key":{"shape":"ActionParameterName"},
242      "value":{"shape":"ActionParameter"}
243    },
244    "ActionParameterName":{
245      "type":"string",
246      "max":64,
247      "pattern":"[\\S]+"
248    },
249    "ActionParameterRequired":{"type":"boolean"},
250    "ActionSummary":{
251      "type":"structure",
252      "members":{
253        "id":{"shape":"ActionId"},
254        "description":{"shape":"ActionDescription"},
255        "targets":{"shape":"ActionTargetMap"},
256        "tags":{"shape":"TagMap"}
257      }
258    },
259    "ActionSummaryList":{
260      "type":"list",
261      "member":{"shape":"ActionSummary"}
262    },
263    "ActionTarget":{
264      "type":"structure",
265      "members":{
266        "resourceType":{"shape":"TargetResourceType"}
267      }
268    },
269    "ActionTargetMap":{
270      "type":"map",
271      "key":{"shape":"ActionTargetName"},
272      "value":{"shape":"ActionTarget"}
273    },
274    "ActionTargetName":{
275      "type":"string",
276      "max":64,
277      "pattern":"[\\S]+"
278    },
279    "ClientToken":{
280      "type":"string",
281      "max":1024,
282      "min":1,
283      "pattern":"[\\S]+"
284    },
285    "ConflictException":{
286      "type":"structure",
287      "members":{
288        "message":{"shape":"ExceptionMessage"}
289      },
290      "error":{"httpStatusCode":409},
291      "exception":true
292    },
293    "CreateExperimentTemplateActionInput":{
294      "type":"structure",
295      "required":["actionId"],
296      "members":{
297        "actionId":{"shape":"ActionId"},
298        "description":{"shape":"ExperimentTemplateActionDescription"},
299        "parameters":{"shape":"ExperimentTemplateActionParameterMap"},
300        "targets":{"shape":"ExperimentTemplateActionTargetMap"},
301        "startAfter":{"shape":"ExperimentTemplateActionStartAfterList"}
302      }
303    },
304    "CreateExperimentTemplateActionInputMap":{
305      "type":"map",
306      "key":{"shape":"ExperimentTemplateActionName"},
307      "value":{"shape":"CreateExperimentTemplateActionInput"}
308    },
309    "CreateExperimentTemplateRequest":{
310      "type":"structure",
311      "required":[
312        "clientToken",
313        "description",
314        "stopConditions",
315        "actions",
316        "roleArn"
317      ],
318      "members":{
319        "clientToken":{
320          "shape":"ClientToken",
321          "idempotencyToken":true
322        },
323        "description":{"shape":"ExperimentTemplateDescription"},
324        "stopConditions":{"shape":"CreateExperimentTemplateStopConditionInputList"},
325        "targets":{"shape":"CreateExperimentTemplateTargetInputMap"},
326        "actions":{"shape":"CreateExperimentTemplateActionInputMap"},
327        "roleArn":{"shape":"RoleArn"},
328        "tags":{"shape":"TagMap"}
329      }
330    },
331    "CreateExperimentTemplateResponse":{
332      "type":"structure",
333      "members":{
334        "experimentTemplate":{"shape":"ExperimentTemplate"}
335      }
336    },
337    "CreateExperimentTemplateStopConditionInput":{
338      "type":"structure",
339      "required":["source"],
340      "members":{
341        "source":{"shape":"StopConditionSource"},
342        "value":{"shape":"StopConditionValue"}
343      }
344    },
345    "CreateExperimentTemplateStopConditionInputList":{
346      "type":"list",
347      "member":{"shape":"CreateExperimentTemplateStopConditionInput"}
348    },
349    "CreateExperimentTemplateTargetInput":{
350      "type":"structure",
351      "required":[
352        "resourceType",
353        "selectionMode"
354      ],
355      "members":{
356        "resourceType":{"shape":"ResourceType"},
357        "resourceArns":{"shape":"ResourceArnList"},
358        "resourceTags":{"shape":"TagMap"},
359        "filters":{"shape":"ExperimentTemplateTargetFilterInputList"},
360        "selectionMode":{"shape":"ExperimentTemplateTargetSelectionMode"}
361      }
362    },
363    "CreateExperimentTemplateTargetInputMap":{
364      "type":"map",
365      "key":{"shape":"ExperimentTemplateTargetName"},
366      "value":{"shape":"CreateExperimentTemplateTargetInput"}
367    },
368    "CreationTime":{"type":"timestamp"},
369    "DeleteExperimentTemplateRequest":{
370      "type":"structure",
371      "required":["id"],
372      "members":{
373        "id":{
374          "shape":"ExperimentTemplateId",
375          "location":"uri",
376          "locationName":"id"
377        }
378      }
379    },
380    "DeleteExperimentTemplateResponse":{
381      "type":"structure",
382      "members":{
383        "experimentTemplate":{"shape":"ExperimentTemplate"}
384      }
385    },
386    "ExceptionMessage":{
387      "type":"string",
388      "max":1024,
389      "pattern":"[\\s\\S]+"
390    },
391    "Experiment":{
392      "type":"structure",
393      "members":{
394        "id":{"shape":"ExperimentId"},
395        "experimentTemplateId":{"shape":"ExperimentTemplateId"},
396        "roleArn":{"shape":"RoleArn"},
397        "state":{"shape":"ExperimentState"},
398        "targets":{"shape":"ExperimentTargetMap"},
399        "actions":{"shape":"ExperimentActionMap"},
400        "stopConditions":{"shape":"ExperimentStopConditionList"},
401        "creationTime":{"shape":"CreationTime"},
402        "startTime":{"shape":"ExperimentStartTime"},
403        "endTime":{"shape":"ExperimentEndTime"},
404        "tags":{"shape":"TagMap"}
405      }
406    },
407    "ExperimentAction":{
408      "type":"structure",
409      "members":{
410        "actionId":{"shape":"ActionId"},
411        "description":{"shape":"ExperimentActionDescription"},
412        "parameters":{"shape":"ExperimentActionParameterMap"},
413        "targets":{"shape":"ExperimentActionTargetMap"},
414        "startAfter":{"shape":"ExperimentActionStartAfterList"},
415        "state":{"shape":"ExperimentActionState"}
416      }
417    },
418    "ExperimentActionDescription":{
419      "type":"string",
420      "max":512,
421      "pattern":"[\\s\\S]+"
422    },
423    "ExperimentActionMap":{
424      "type":"map",
425      "key":{"shape":"ExperimentActionName"},
426      "value":{"shape":"ExperimentAction"}
427    },
428    "ExperimentActionName":{
429      "type":"string",
430      "max":64,
431      "pattern":"[\\S]+"
432    },
433    "ExperimentActionParameter":{
434      "type":"string",
435      "max":1024,
436      "pattern":"[\\S]+"
437    },
438    "ExperimentActionParameterMap":{
439      "type":"map",
440      "key":{"shape":"ExperimentActionParameterName"},
441      "value":{"shape":"ExperimentActionParameter"}
442    },
443    "ExperimentActionParameterName":{
444      "type":"string",
445      "max":64,
446      "pattern":"[\\S]+"
447    },
448    "ExperimentActionStartAfter":{
449      "type":"string",
450      "max":64,
451      "pattern":"[\\S]+"
452    },
453    "ExperimentActionStartAfterList":{
454      "type":"list",
455      "member":{"shape":"ExperimentActionStartAfter"}
456    },
457    "ExperimentActionState":{
458      "type":"structure",
459      "members":{
460        "status":{"shape":"ExperimentActionStatus"},
461        "reason":{"shape":"ExperimentActionStatusReason"}
462      }
463    },
464    "ExperimentActionStatus":{
465      "type":"string",
466      "enum":[
467        "pending",
468        "initiating",
469        "running",
470        "completed",
471        "cancelled",
472        "stopping",
473        "stopped",
474        "failed"
475      ]
476    },
477    "ExperimentActionStatusReason":{
478      "type":"string",
479      "max":512,
480      "pattern":"[\\s\\S]+"
481    },
482    "ExperimentActionTargetMap":{
483      "type":"map",
484      "key":{"shape":"ExperimentActionTargetName"},
485      "value":{"shape":"ExperimentTargetName"}
486    },
487    "ExperimentActionTargetName":{
488      "type":"string",
489      "max":64,
490      "pattern":"[\\S]+"
491    },
492    "ExperimentEndTime":{"type":"timestamp"},
493    "ExperimentId":{
494      "type":"string",
495      "max":64,
496      "pattern":"[\\S]+"
497    },
498    "ExperimentStartTime":{"type":"timestamp"},
499    "ExperimentState":{
500      "type":"structure",
501      "members":{
502        "status":{"shape":"ExperimentStatus"},
503        "reason":{"shape":"ExperimentStatusReason"}
504      }
505    },
506    "ExperimentStatus":{
507      "type":"string",
508      "enum":[
509        "pending",
510        "initiating",
511        "running",
512        "completed",
513        "stopping",
514        "stopped",
515        "failed"
516      ]
517    },
518    "ExperimentStatusReason":{
519      "type":"string",
520      "max":512,
521      "pattern":"[\\s\\S]+"
522    },
523    "ExperimentStopCondition":{
524      "type":"structure",
525      "members":{
526        "source":{"shape":"StopConditionSource"},
527        "value":{"shape":"StopConditionValue"}
528      }
529    },
530    "ExperimentStopConditionList":{
531      "type":"list",
532      "member":{"shape":"ExperimentStopCondition"}
533    },
534    "ExperimentSummary":{
535      "type":"structure",
536      "members":{
537        "id":{"shape":"ExperimentId"},
538        "experimentTemplateId":{"shape":"ExperimentTemplateId"},
539        "state":{"shape":"ExperimentState"},
540        "creationTime":{"shape":"CreationTime"},
541        "tags":{"shape":"TagMap"}
542      }
543    },
544    "ExperimentSummaryList":{
545      "type":"list",
546      "member":{"shape":"ExperimentSummary"}
547    },
548    "ExperimentTarget":{
549      "type":"structure",
550      "members":{
551        "resourceType":{"shape":"ResourceType"},
552        "resourceArns":{"shape":"ResourceArnList"},
553        "resourceTags":{"shape":"TagMap"},
554        "filters":{"shape":"ExperimentTargetFilterList"},
555        "selectionMode":{"shape":"ExperimentTargetSelectionMode"}
556      }
557    },
558    "ExperimentTargetFilter":{
559      "type":"structure",
560      "members":{
561        "path":{"shape":"ExperimentTargetFilterPath"},
562        "values":{"shape":"ExperimentTargetFilterValues"}
563      }
564    },
565    "ExperimentTargetFilterList":{
566      "type":"list",
567      "member":{"shape":"ExperimentTargetFilter"}
568    },
569    "ExperimentTargetFilterPath":{
570      "type":"string",
571      "max":256,
572      "pattern":"[\\S]+"
573    },
574    "ExperimentTargetFilterValue":{
575      "type":"string",
576      "max":128,
577      "pattern":"[\\S]+"
578    },
579    "ExperimentTargetFilterValues":{
580      "type":"list",
581      "member":{"shape":"ExperimentTargetFilterValue"}
582    },
583    "ExperimentTargetMap":{
584      "type":"map",
585      "key":{"shape":"ExperimentTargetName"},
586      "value":{"shape":"ExperimentTarget"}
587    },
588    "ExperimentTargetName":{
589      "type":"string",
590      "max":64,
591      "pattern":"[\\S]+"
592    },
593    "ExperimentTargetSelectionMode":{
594      "type":"string",
595      "max":64,
596      "pattern":"[\\S]+"
597    },
598    "ExperimentTemplate":{
599      "type":"structure",
600      "members":{
601        "id":{"shape":"ExperimentTemplateId"},
602        "description":{"shape":"ExperimentTemplateDescription"},
603        "targets":{"shape":"ExperimentTemplateTargetMap"},
604        "actions":{"shape":"ExperimentTemplateActionMap"},
605        "stopConditions":{"shape":"ExperimentTemplateStopConditionList"},
606        "creationTime":{"shape":"CreationTime"},
607        "lastUpdateTime":{"shape":"LastUpdateTime"},
608        "roleArn":{"shape":"RoleArn"},
609        "tags":{"shape":"TagMap"}
610      }
611    },
612    "ExperimentTemplateAction":{
613      "type":"structure",
614      "members":{
615        "actionId":{"shape":"ActionId"},
616        "description":{"shape":"ExperimentTemplateActionDescription"},
617        "parameters":{"shape":"ExperimentTemplateActionParameterMap"},
618        "targets":{"shape":"ExperimentTemplateActionTargetMap"},
619        "startAfter":{"shape":"ExperimentTemplateActionStartAfterList"}
620      }
621    },
622    "ExperimentTemplateActionDescription":{
623      "type":"string",
624      "max":512,
625      "pattern":"[\\s\\S]+"
626    },
627    "ExperimentTemplateActionMap":{
628      "type":"map",
629      "key":{"shape":"ExperimentTemplateActionName"},
630      "value":{"shape":"ExperimentTemplateAction"}
631    },
632    "ExperimentTemplateActionName":{
633      "type":"string",
634      "max":64,
635      "pattern":"[\\S]+"
636    },
637    "ExperimentTemplateActionParameter":{
638      "type":"string",
639      "max":1024,
640      "pattern":"[\\S]+"
641    },
642    "ExperimentTemplateActionParameterMap":{
643      "type":"map",
644      "key":{"shape":"ExperimentTemplateActionParameterName"},
645      "value":{"shape":"ExperimentTemplateActionParameter"}
646    },
647    "ExperimentTemplateActionParameterName":{
648      "type":"string",
649      "max":64,
650      "pattern":"[\\S]+"
651    },
652    "ExperimentTemplateActionStartAfter":{
653      "type":"string",
654      "max":64,
655      "pattern":"[\\S]+"
656    },
657    "ExperimentTemplateActionStartAfterList":{
658      "type":"list",
659      "member":{"shape":"ExperimentTemplateActionStartAfter"}
660    },
661    "ExperimentTemplateActionTargetMap":{
662      "type":"map",
663      "key":{"shape":"ExperimentTemplateActionTargetName"},
664      "value":{"shape":"ExperimentTemplateTargetName"}
665    },
666    "ExperimentTemplateActionTargetName":{
667      "type":"string",
668      "max":64,
669      "pattern":"[\\S]+"
670    },
671    "ExperimentTemplateDescription":{
672      "type":"string",
673      "max":512,
674      "pattern":"[\\s\\S]+"
675    },
676    "ExperimentTemplateId":{
677      "type":"string",
678      "max":64,
679      "pattern":"[\\S]+"
680    },
681    "ExperimentTemplateStopCondition":{
682      "type":"structure",
683      "members":{
684        "source":{"shape":"StopConditionSource"},
685        "value":{"shape":"StopConditionValue"}
686      }
687    },
688    "ExperimentTemplateStopConditionList":{
689      "type":"list",
690      "member":{"shape":"ExperimentTemplateStopCondition"}
691    },
692    "ExperimentTemplateSummary":{
693      "type":"structure",
694      "members":{
695        "id":{"shape":"ExperimentTemplateId"},
696        "description":{"shape":"ExperimentTemplateDescription"},
697        "creationTime":{"shape":"CreationTime"},
698        "lastUpdateTime":{"shape":"LastUpdateTime"},
699        "tags":{"shape":"TagMap"}
700      }
701    },
702    "ExperimentTemplateSummaryList":{
703      "type":"list",
704      "member":{"shape":"ExperimentTemplateSummary"}
705    },
706    "ExperimentTemplateTarget":{
707      "type":"structure",
708      "members":{
709        "resourceType":{"shape":"ResourceType"},
710        "resourceArns":{"shape":"ResourceArnList"},
711        "resourceTags":{"shape":"TagMap"},
712        "filters":{"shape":"ExperimentTemplateTargetFilterList"},
713        "selectionMode":{"shape":"ExperimentTemplateTargetSelectionMode"}
714      }
715    },
716    "ExperimentTemplateTargetFilter":{
717      "type":"structure",
718      "members":{
719        "path":{"shape":"ExperimentTemplateTargetFilterPath"},
720        "values":{"shape":"ExperimentTemplateTargetFilterValues"}
721      }
722    },
723    "ExperimentTemplateTargetFilterInputList":{
724      "type":"list",
725      "member":{"shape":"ExperimentTemplateTargetInputFilter"}
726    },
727    "ExperimentTemplateTargetFilterList":{
728      "type":"list",
729      "member":{"shape":"ExperimentTemplateTargetFilter"}
730    },
731    "ExperimentTemplateTargetFilterPath":{
732      "type":"string",
733      "max":256,
734      "pattern":"[\\S]+"
735    },
736    "ExperimentTemplateTargetFilterValue":{
737      "type":"string",
738      "max":128,
739      "pattern":"[\\S]+"
740    },
741    "ExperimentTemplateTargetFilterValues":{
742      "type":"list",
743      "member":{"shape":"ExperimentTemplateTargetFilterValue"}
744    },
745    "ExperimentTemplateTargetInputFilter":{
746      "type":"structure",
747      "required":[
748        "path",
749        "values"
750      ],
751      "members":{
752        "path":{"shape":"ExperimentTemplateTargetFilterPath"},
753        "values":{"shape":"ExperimentTemplateTargetFilterValues"}
754      }
755    },
756    "ExperimentTemplateTargetMap":{
757      "type":"map",
758      "key":{"shape":"ExperimentTemplateTargetName"},
759      "value":{"shape":"ExperimentTemplateTarget"}
760    },
761    "ExperimentTemplateTargetName":{
762      "type":"string",
763      "max":64,
764      "pattern":"[\\S]+"
765    },
766    "ExperimentTemplateTargetSelectionMode":{
767      "type":"string",
768      "max":64,
769      "pattern":"[\\S]+"
770    },
771    "GetActionRequest":{
772      "type":"structure",
773      "required":["id"],
774      "members":{
775        "id":{
776          "shape":"ActionId",
777          "location":"uri",
778          "locationName":"id"
779        }
780      }
781    },
782    "GetActionResponse":{
783      "type":"structure",
784      "members":{
785        "action":{"shape":"Action"}
786      }
787    },
788    "GetExperimentRequest":{
789      "type":"structure",
790      "required":["id"],
791      "members":{
792        "id":{
793          "shape":"ExperimentId",
794          "location":"uri",
795          "locationName":"id"
796        }
797      }
798    },
799    "GetExperimentResponse":{
800      "type":"structure",
801      "members":{
802        "experiment":{"shape":"Experiment"}
803      }
804    },
805    "GetExperimentTemplateRequest":{
806      "type":"structure",
807      "required":["id"],
808      "members":{
809        "id":{
810          "shape":"ExperimentTemplateId",
811          "location":"uri",
812          "locationName":"id"
813        }
814      }
815    },
816    "GetExperimentTemplateResponse":{
817      "type":"structure",
818      "members":{
819        "experimentTemplate":{"shape":"ExperimentTemplate"}
820      }
821    },
822    "LastUpdateTime":{"type":"timestamp"},
823    "ListActionsMaxResults":{
824      "type":"integer",
825      "max":100,
826      "min":1
827    },
828    "ListActionsRequest":{
829      "type":"structure",
830      "members":{
831        "maxResults":{
832          "shape":"ListActionsMaxResults",
833          "box":true,
834          "location":"querystring",
835          "locationName":"maxResults"
836        },
837        "nextToken":{
838          "shape":"NextToken",
839          "location":"querystring",
840          "locationName":"nextToken"
841        }
842      }
843    },
844    "ListActionsResponse":{
845      "type":"structure",
846      "members":{
847        "actions":{"shape":"ActionSummaryList"},
848        "nextToken":{"shape":"NextToken"}
849      }
850    },
851    "ListExperimentTemplatesMaxResults":{
852      "type":"integer",
853      "max":100,
854      "min":1
855    },
856    "ListExperimentTemplatesRequest":{
857      "type":"structure",
858      "members":{
859        "maxResults":{
860          "shape":"ListExperimentTemplatesMaxResults",
861          "box":true,
862          "location":"querystring",
863          "locationName":"maxResults"
864        },
865        "nextToken":{
866          "shape":"NextToken",
867          "location":"querystring",
868          "locationName":"nextToken"
869        }
870      }
871    },
872    "ListExperimentTemplatesResponse":{
873      "type":"structure",
874      "members":{
875        "experimentTemplates":{"shape":"ExperimentTemplateSummaryList"},
876        "nextToken":{"shape":"NextToken"}
877      }
878    },
879    "ListExperimentsMaxResults":{
880      "type":"integer",
881      "max":100,
882      "min":1
883    },
884    "ListExperimentsRequest":{
885      "type":"structure",
886      "members":{
887        "maxResults":{
888          "shape":"ListExperimentsMaxResults",
889          "box":true,
890          "location":"querystring",
891          "locationName":"maxResults"
892        },
893        "nextToken":{
894          "shape":"NextToken",
895          "location":"querystring",
896          "locationName":"nextToken"
897        }
898      }
899    },
900    "ListExperimentsResponse":{
901      "type":"structure",
902      "members":{
903        "experiments":{"shape":"ExperimentSummaryList"},
904        "nextToken":{"shape":"NextToken"}
905      }
906    },
907    "ListTagsForResourceRequest":{
908      "type":"structure",
909      "required":["resourceArn"],
910      "members":{
911        "resourceArn":{
912          "shape":"ResourceArn",
913          "location":"uri",
914          "locationName":"resourceArn"
915        }
916      }
917    },
918    "ListTagsForResourceResponse":{
919      "type":"structure",
920      "members":{
921        "tags":{"shape":"TagMap"}
922      }
923    },
924    "NextToken":{
925      "type":"string",
926      "max":1024,
927      "min":1,
928      "pattern":"[\\S]+"
929    },
930    "ResourceArn":{
931      "type":"string",
932      "max":2048,
933      "min":20,
934      "pattern":"[\\S]+"
935    },
936    "ResourceArnList":{
937      "type":"list",
938      "member":{"shape":"ResourceArn"},
939      "max":5
940    },
941    "ResourceNotFoundException":{
942      "type":"structure",
943      "members":{
944        "message":{"shape":"ExceptionMessage"}
945      },
946      "error":{"httpStatusCode":404},
947      "exception":true
948    },
949    "ResourceType":{
950      "type":"string",
951      "max":64,
952      "pattern":"[\\S]+"
953    },
954    "RoleArn":{
955      "type":"string",
956      "max":2048,
957      "min":20,
958      "pattern":"[\\S]+"
959    },
960    "ServiceQuotaExceededException":{
961      "type":"structure",
962      "members":{
963        "message":{"shape":"ExceptionMessage"}
964      },
965      "error":{"httpStatusCode":402},
966      "exception":true
967    },
968    "StartExperimentRequest":{
969      "type":"structure",
970      "required":[
971        "clientToken",
972        "experimentTemplateId"
973      ],
974      "members":{
975        "clientToken":{
976          "shape":"ClientToken",
977          "idempotencyToken":true
978        },
979        "experimentTemplateId":{"shape":"ExperimentTemplateId"},
980        "tags":{"shape":"TagMap"}
981      }
982    },
983    "StartExperimentResponse":{
984      "type":"structure",
985      "members":{
986        "experiment":{"shape":"Experiment"}
987      }
988    },
989    "StopConditionSource":{
990      "type":"string",
991      "max":64,
992      "pattern":"[\\S]+"
993    },
994    "StopConditionValue":{
995      "type":"string",
996      "max":2048,
997      "min":20,
998      "pattern":"[\\s\\S]+"
999    },
1000    "StopExperimentRequest":{
1001      "type":"structure",
1002      "required":["id"],
1003      "members":{
1004        "id":{
1005          "shape":"ExperimentId",
1006          "location":"uri",
1007          "locationName":"id"
1008        }
1009      }
1010    },
1011    "StopExperimentResponse":{
1012      "type":"structure",
1013      "members":{
1014        "experiment":{"shape":"Experiment"}
1015      }
1016    },
1017    "TagKey":{
1018      "type":"string",
1019      "max":128,
1020      "pattern":"[\\s\\S]+"
1021    },
1022    "TagKeyList":{
1023      "type":"list",
1024      "member":{"shape":"TagKey"}
1025    },
1026    "TagMap":{
1027      "type":"map",
1028      "key":{"shape":"TagKey"},
1029      "value":{"shape":"TagValue"},
1030      "max":50
1031    },
1032    "TagResourceRequest":{
1033      "type":"structure",
1034      "required":[
1035        "resourceArn",
1036        "tags"
1037      ],
1038      "members":{
1039        "resourceArn":{
1040          "shape":"ResourceArn",
1041          "location":"uri",
1042          "locationName":"resourceArn"
1043        },
1044        "tags":{"shape":"TagMap"}
1045      }
1046    },
1047    "TagResourceResponse":{
1048      "type":"structure",
1049      "members":{
1050      }
1051    },
1052    "TagValue":{
1053      "type":"string",
1054      "max":256,
1055      "pattern":"[\\s\\S]*"
1056    },
1057    "TargetResourceType":{
1058      "type":"string",
1059      "max":128,
1060      "pattern":"[\\S]+"
1061    },
1062    "UntagResourceRequest":{
1063      "type":"structure",
1064      "required":["resourceArn"],
1065      "members":{
1066        "resourceArn":{
1067          "shape":"ResourceArn",
1068          "location":"uri",
1069          "locationName":"resourceArn"
1070        },
1071        "tagKeys":{
1072          "shape":"TagKeyList",
1073          "location":"querystring",
1074          "locationName":"tagKeys"
1075        }
1076      }
1077    },
1078    "UntagResourceResponse":{
1079      "type":"structure",
1080      "members":{
1081      }
1082    },
1083    "UpdateExperimentTemplateActionInputItem":{
1084      "type":"structure",
1085      "members":{
1086        "actionId":{"shape":"ActionId"},
1087        "description":{"shape":"ExperimentTemplateActionDescription"},
1088        "parameters":{"shape":"ExperimentTemplateActionParameterMap"},
1089        "targets":{"shape":"ExperimentTemplateActionTargetMap"},
1090        "startAfter":{"shape":"ExperimentTemplateActionStartAfterList"}
1091      }
1092    },
1093    "UpdateExperimentTemplateActionInputMap":{
1094      "type":"map",
1095      "key":{"shape":"ExperimentTemplateActionName"},
1096      "value":{"shape":"UpdateExperimentTemplateActionInputItem"}
1097    },
1098    "UpdateExperimentTemplateRequest":{
1099      "type":"structure",
1100      "required":["id"],
1101      "members":{
1102        "id":{
1103          "shape":"ExperimentTemplateId",
1104          "location":"uri",
1105          "locationName":"id"
1106        },
1107        "description":{"shape":"ExperimentTemplateDescription"},
1108        "stopConditions":{"shape":"UpdateExperimentTemplateStopConditionInputList"},
1109        "targets":{"shape":"UpdateExperimentTemplateTargetInputMap"},
1110        "actions":{"shape":"UpdateExperimentTemplateActionInputMap"},
1111        "roleArn":{"shape":"RoleArn"}
1112      }
1113    },
1114    "UpdateExperimentTemplateResponse":{
1115      "type":"structure",
1116      "members":{
1117        "experimentTemplate":{"shape":"ExperimentTemplate"}
1118      }
1119    },
1120    "UpdateExperimentTemplateStopConditionInput":{
1121      "type":"structure",
1122      "required":["source"],
1123      "members":{
1124        "source":{"shape":"StopConditionSource"},
1125        "value":{"shape":"StopConditionValue"}
1126      }
1127    },
1128    "UpdateExperimentTemplateStopConditionInputList":{
1129      "type":"list",
1130      "member":{"shape":"UpdateExperimentTemplateStopConditionInput"}
1131    },
1132    "UpdateExperimentTemplateTargetInput":{
1133      "type":"structure",
1134      "required":[
1135        "resourceType",
1136        "selectionMode"
1137      ],
1138      "members":{
1139        "resourceType":{"shape":"ResourceType"},
1140        "resourceArns":{"shape":"ResourceArnList"},
1141        "resourceTags":{"shape":"TagMap"},
1142        "filters":{"shape":"ExperimentTemplateTargetFilterInputList"},
1143        "selectionMode":{"shape":"ExperimentTemplateTargetSelectionMode"}
1144      }
1145    },
1146    "UpdateExperimentTemplateTargetInputMap":{
1147      "type":"map",
1148      "key":{"shape":"ExperimentTemplateTargetName"},
1149      "value":{"shape":"UpdateExperimentTemplateTargetInput"}
1150    },
1151    "ValidationException":{
1152      "type":"structure",
1153      "members":{
1154        "message":{"shape":"ExceptionMessage"}
1155      },
1156      "error":{"httpStatusCode":400},
1157      "exception":true
1158    }
1159  }
1160}
1161